summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Ham <bob.ham@puri.sm>2019-04-24 13:39:51 +0000
committerBob Ham <bob.ham@puri.sm>2019-04-24 13:39:51 +0000
commita02a7146bd8ddf89fb8f48417daa0ef3e20af82d (patch)
treeede116b576900a95b2565ea9509a53953039b633
parent9268d4f9ef445ca7c9bf731fe125f432cf6385ac (diff)
Import Upstream version 1.10.0upstream/1.10.0
-rw-r--r--.gitignore178
-rw-r--r--ABOUT-NLS1379
-rw-r--r--ChangeLog83381
-rw-r--r--INSTALL368
-rw-r--r--Makefile.in947
-rw-r--r--aclocal.m41534
-rw-r--r--build-aux/Makefile.in529
-rw-r--r--cli/Makefile.in1117
-rwxr-xr-xcompile348
-rwxr-xr-xconfig.guess1476
-rw-r--r--config.h.in139
-rwxr-xr-xconfig.rpath684
-rwxr-xr-xconfig.sub1801
-rwxr-xr-xconfigure20283
-rw-r--r--data/Makefile.in969
-rw-r--r--data/ModemManager-icon.svg197
-rw-r--r--data/ModemManager-interface-initialization-sequence-subclassed.dia1083
-rw-r--r--data/ModemManager-interface-initialization-sequence.dia999
-rw-r--r--data/ModemManager-states.dia1210
-rw-r--r--data/org.freedesktop.ModemManager1.policy.in276
-rw-r--r--data/tests/Makefile.in525
-rwxr-xr-xdecode/analyze.py179
-rwxr-xr-xdecode/decode.py57
-rw-r--r--decode/defs.py20
-rw-r--r--decode/packet.py232
-rwxr-xr-xdecode/qmiprotgen.py596
-rw-r--r--decode/qmiprotocol.py2453
-rw-r--r--decode/qmux.py205
-rw-r--r--decode/wmc.py410
-rwxr-xr-xdecode/xml2ascii.py82
-rwxr-xr-xdepcomp791
-rw-r--r--docs/Makefile.in715
-rw-r--r--docs/man/Makefile.in647
-rw-r--r--docs/reference/Makefile.in702
-rw-r--r--docs/reference/api/Makefile.in934
-rw-r--r--docs/reference/api/ModemManager-overrides.txt0
-rw-r--r--docs/reference/api/html/ModemManager-API-break-replacements.html1101
-rw-r--r--docs/reference/api/html/ModemManager-Common-udev-tags.html276
-rw-r--r--docs/reference/api/html/ModemManager-Errors.html1187
-rw-r--r--docs/reference/api/html/ModemManager-Flags-and-Enumerations.html4455
-rw-r--r--docs/reference/api/html/ModemManager-Version-checks.html145
-rw-r--r--docs/reference/api/html/ModemManager-interface-initialization-sequence-subclassed.pngbin0 -> 31781 bytes
-rw-r--r--docs/reference/api/html/ModemManager-interface-initialization-sequence.pngbin0 -> 20059 bytes
-rw-r--r--docs/reference/api/html/ModemManager-logo-square.pngbin0 -> 11029 bytes
-rw-r--r--docs/reference/api/html/ModemManager-logo-wide-text.pngbin0 -> 18072 bytes
-rw-r--r--docs/reference/api/html/ModemManager-logo-wide.pngbin0 -> 11017 bytes
-rw-r--r--docs/reference/api/html/ModemManager-states.pngbin0 -> 38256 bytes
-rw-r--r--docs/reference/api/html/ModemManager.devhelp21039
-rw-r--r--docs/reference/api/html/ch02s02.html41
-rw-r--r--docs/reference/api/html/ch03s02.html156
-rw-r--r--docs/reference/api/html/ch04s02.html114
-rw-r--r--docs/reference/api/html/ch04s03.html100
-rw-r--r--docs/reference/api/html/ch04s04.html246
-rw-r--r--docs/reference/api/html/ch06s02.html82
-rw-r--r--docs/reference/api/html/ch06s03.html46
-rw-r--r--docs/reference/api/html/ch06s04.html86
-rw-r--r--docs/reference/api/html/ch16.html64
-rw-r--r--docs/reference/api/html/ch16s02.html51
-rw-r--r--docs/reference/api/html/ch16s03.html69
-rw-r--r--docs/reference/api/html/ch16s04.html60
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Bearer.html419
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Call.html278
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html290
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Location.html521
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html242
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html178
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html368
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html294
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html255
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html315
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html322
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Time.html162
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html198
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.html831
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sim.html205
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sms.html315
-rw-r--r--docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.html231
-rw-r--r--docs/reference/api/html/home.pngbin0 -> 256 bytes
-rw-r--r--docs/reference/api/html/index.html203
-rw-r--r--docs/reference/api/html/ix01.html715
-rw-r--r--docs/reference/api/html/left-insensitive.pngbin0 -> 395 bytes
-rw-r--r--docs/reference/api/html/left.pngbin0 -> 262 bytes
-rw-r--r--docs/reference/api/html/ref-common-types.html43
-rw-r--r--docs/reference/api/html/ref-compat.html35
-rw-r--r--docs/reference/api/html/ref-dbus-bus-name.html37
-rw-r--r--docs/reference/api/html/ref-dbus-object-bearer.html38
-rw-r--r--docs/reference/api/html/ref-dbus-object-call.html37
-rw-r--r--docs/reference/api/html/ref-dbus-object-manager.html45
-rw-r--r--docs/reference/api/html/ref-dbus-object-modem.html99
-rw-r--r--docs/reference/api/html/ref-dbus-object-sim.html38
-rw-r--r--docs/reference/api/html/ref-dbus-object-sms.html37
-rw-r--r--docs/reference/api/html/ref-dbus-standard-interfaces-introspectables.html42
-rw-r--r--docs/reference/api/html/ref-dbus-standard-interfaces-objectmanager.html41
-rw-r--r--docs/reference/api/html/ref-dbus-standard-interfaces.html58
-rw-r--r--docs/reference/api/html/ref-dbus.html100
-rw-r--r--docs/reference/api/html/ref-migrating.html54
-rw-r--r--docs/reference/api/html/ref-overview-introduction.html62
-rw-r--r--docs/reference/api/html/ref-overview-modem-detection.html49
-rw-r--r--docs/reference/api/html/ref-overview-modem-filter.html164
-rw-r--r--docs/reference/api/html/ref-overview-modem-object-creation.html39
-rw-r--r--docs/reference/api/html/ref-overview-modem-port-probing.html138
-rw-r--r--docs/reference/api/html/ref-overview-modem-state-machine.html122
-rw-r--r--docs/reference/api/html/ref-overview-plugin-specific-modems.html75
-rw-r--r--docs/reference/api/html/ref-overview.html61
-rw-r--r--docs/reference/api/html/ref-udev.html35
-rw-r--r--docs/reference/api/html/right-insensitive.pngbin0 -> 373 bytes
-rw-r--r--docs/reference/api/html/right.pngbin0 -> 261 bytes
-rw-r--r--docs/reference/api/html/style.css483
-rw-r--r--docs/reference/api/html/up-insensitive.pngbin0 -> 374 bytes
-rw-r--r--docs/reference/api/html/up.pngbin0 -> 260 bytes
-rw-r--r--docs/reference/libmm-glib/Makefile.in912
-rw-r--r--docs/reference/libmm-glib/html/MMBearer.html1016
-rw-r--r--docs/reference/libmm-glib/html/MMBearerIpConfig.html293
-rw-r--r--docs/reference/libmm-glib/html/MMBearerProperties.html700
-rw-r--r--docs/reference/libmm-glib/html/MMBearerStats.html189
-rw-r--r--docs/reference/libmm-glib/html/MMCall.html1134
-rw-r--r--docs/reference/libmm-glib/html/MMCallAudioFormat.html192
-rw-r--r--docs/reference/libmm-glib/html/MMCallProperties.html395
-rw-r--r--docs/reference/libmm-glib/html/MMCdmaManualActivationProperties.html835
-rw-r--r--docs/reference/libmm-glib/html/MMFirmwareProperties.html331
-rw-r--r--docs/reference/libmm-glib/html/MMFirmwareUpdateSettings.html229
-rw-r--r--docs/reference/libmm-glib/html/MMKernelEventProperties.html401
-rw-r--r--docs/reference/libmm-glib/html/MMLocation3gpp.html265
-rw-r--r--docs/reference/libmm-glib/html/MMLocationCdmaBs.html156
-rw-r--r--docs/reference/libmm-glib/html/MMLocationGpsNmea.html166
-rw-r--r--docs/reference/libmm-glib/html/MMLocationGpsRaw.html224
-rw-r--r--docs/reference/libmm-glib/html/MMManager.html1225
-rw-r--r--docs/reference/libmm-glib/html/MMModem.html4474
-rw-r--r--docs/reference/libmm-glib/html/MMModem3gpp.html1792
-rw-r--r--docs/reference/libmm-glib/html/MMModem3gppUssd.html843
-rw-r--r--docs/reference/libmm-glib/html/MMModemCdma.html853
-rw-r--r--docs/reference/libmm-glib/html/MMModemFirmware.html596
-rw-r--r--docs/reference/libmm-glib/html/MMModemLocation.html2052
-rw-r--r--docs/reference/libmm-glib/html/MMModemMessaging.html797
-rw-r--r--docs/reference/libmm-glib/html/MMModemOma.html1084
-rw-r--r--docs/reference/libmm-glib/html/MMModemSignal.html761
-rw-r--r--docs/reference/libmm-glib/html/MMModemSimple.html659
-rw-r--r--docs/reference/libmm-glib/html/MMModemTime.html400
-rw-r--r--docs/reference/libmm-glib/html/MMModemVoice.html657
-rw-r--r--docs/reference/libmm-glib/html/MMNetworkTimezone.html214
-rw-r--r--docs/reference/libmm-glib/html/MMObject.html1078
-rw-r--r--docs/reference/libmm-glib/html/MMPco.html272
-rw-r--r--docs/reference/libmm-glib/html/MMSignal.html376
-rw-r--r--docs/reference/libmm-glib/html/MMSim.html1316
-rw-r--r--docs/reference/libmm-glib/html/MMSimpleConnectProperties.html784
-rw-r--r--docs/reference/libmm-glib/html/MMSimpleStatus.html700
-rw-r--r--docs/reference/libmm-glib/html/MMSms.html1329
-rw-r--r--docs/reference/libmm-glib/html/MMSmsProperties.html923
-rw-r--r--docs/reference/libmm-glib/html/MMUnlockRetries.html236
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusBearer.html1312
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusBearerProxy.html469
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusBearerSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusCall.html1622
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusCallProxy.html468
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusCallSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModem.html5402
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModem3gpp.html1918
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModem3gppProxy.html469
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModem3gppSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModem3gppUssd.html1128
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModem3gppUssdProxy.html472
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModem3gppUssdSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemCdma.html1182
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemCdmaProxy.html469
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemCdmaSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemFirmware.html736
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemFirmwareProxy.html472
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemFirmwareSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemLocation.html1940
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemLocationProxy.html472
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemLocationSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemMessaging.html1239
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemMessagingProxy.html472
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemMessagingSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemOma.html1444
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemOmaProxy.html469
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemOmaSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemProxy.html468
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemSignal.html945
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemSignalProxy.html471
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemSignalSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemSimple.html857
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemSimpleProxy.html471
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemSimpleSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemTime.html542
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemTimeProxy.html469
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemTimeSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemVoice.html1071
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemVoiceProxy.html470
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusModemVoiceSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusObject.html1222
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusObjectManagerClient.html530
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusObjectProxy.html132
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusObjectSkeleton.html604
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1.html1205
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1Proxy.html472
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1Skeleton.html109
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusSim.html1541
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusSimProxy.html467
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusSimSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusSms.html1806
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusSmsProxy.html467
-rw-r--r--docs/reference/libmm-glib/html/MmGdbusSmsSkeleton.html108
-rw-r--r--docs/reference/libmm-glib/html/ModemManager-logo-square.pngbin0 -> 11029 bytes
-rw-r--r--docs/reference/libmm-glib/html/ModemManager-logo-wide-text.pngbin0 -> 18072 bytes
-rw-r--r--docs/reference/libmm-glib/html/ModemManager-logo-wide.pngbin0 -> 11017 bytes
-rw-r--r--docs/reference/libmm-glib/html/annotation-glossary.html69
-rw-r--r--docs/reference/libmm-glib/html/ch01.html32
-rw-r--r--docs/reference/libmm-glib/html/ch02.html37
-rw-r--r--docs/reference/libmm-glib/html/ch03.html133
-rw-r--r--docs/reference/libmm-glib/html/ch03s02.html27
-rw-r--r--docs/reference/libmm-glib/html/ch03s03.html27
-rw-r--r--docs/reference/libmm-glib/html/ch03s04.html27
-rw-r--r--docs/reference/libmm-glib/html/ch03s05.html27
-rw-r--r--docs/reference/libmm-glib/html/ch03s06.html27
-rw-r--r--docs/reference/libmm-glib/html/ch03s07.html27
-rw-r--r--docs/reference/libmm-glib/html/ch03s08.html27
-rw-r--r--docs/reference/libmm-glib/html/ch03s09.html27
-rw-r--r--docs/reference/libmm-glib/html/ch03s10.html27
-rw-r--r--docs/reference/libmm-glib/html/ch04.html43
-rw-r--r--docs/reference/libmm-glib/html/ch05.html32
-rw-r--r--docs/reference/libmm-glib/html/ch06.html37
-rw-r--r--docs/reference/libmm-glib/html/ch07.html40
-rw-r--r--docs/reference/libmm-glib/html/home.pngbin0 -> 256 bytes
-rw-r--r--docs/reference/libmm-glib/html/index.html393
-rw-r--r--docs/reference/libmm-glib/html/ix01.html5979
-rw-r--r--docs/reference/libmm-glib/html/left-insensitive.pngbin0 -> 395 bytes
-rw-r--r--docs/reference/libmm-glib/html/left.pngbin0 -> 262 bytes
-rw-r--r--docs/reference/libmm-glib/html/libmm-glib-Flags-and-Enumerations.html1563
-rw-r--r--docs/reference/libmm-glib/html/libmm-glib.devhelp21824
-rw-r--r--docs/reference/libmm-glib/html/object-tree.html131
-rw-r--r--docs/reference/libmm-glib/html/pt01.html190
-rw-r--r--docs/reference/libmm-glib/html/pt02.html199
-rw-r--r--docs/reference/libmm-glib/html/right-insensitive.pngbin0 -> 373 bytes
-rw-r--r--docs/reference/libmm-glib/html/right.pngbin0 -> 261 bytes
-rw-r--r--docs/reference/libmm-glib/html/style.css483
-rw-r--r--docs/reference/libmm-glib/html/up-insensitive.pngbin0 -> 374 bytes
-rw-r--r--docs/reference/libmm-glib/html/up.pngbin0 -> 260 bytes
-rw-r--r--docs/reference/libmm-glib/libmm-glib-overrides.txt0
-rw-r--r--docs/reference/libmm-glib/libmm-glib.types141
-rw-r--r--examples/Makefile.in702
-rw-r--r--examples/modem-watcher-javascript/Makefile.in526
-rw-r--r--examples/modem-watcher-python/Makefile.in525
-rw-r--r--examples/sms-python/Makefile.in525
-rw-r--r--include/Makefile.in666
-rw-r--r--include/ModemManager-names.h313
-rw-r--r--include/ModemManager-version.h69
-rwxr-xr-xinstall-sh518
-rw-r--r--introspection/Makefile.in785
-rw-r--r--introspection/tests/Makefile.in524
-rw-r--r--introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml177
-rw-r--r--libmm-glib/Makefile.in1625
-rw-r--r--libmm-glib/generated/Makefile.in1216
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Bearer.xml311
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml200
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml413
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Messaging.xml185
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml134
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml284
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml245
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Oma.xml194
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml248
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml237
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml111
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.xml691
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sim.xml154
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sms.xml264
-rw-r--r--libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml169
-rw-r--r--libmm-glib/generated/tests/Makefile.in731
-rw-r--r--libmm-glib/tests/Makefile.in817
-rw-r--r--libqcdm/Makefile.in702
-rwxr-xr-xlibqcdm/autogen.sh22
-rw-r--r--libqcdm/configure.ac48
-rw-r--r--libqcdm/src/Makefile.in800
-rw-r--r--libqcdm/tests/Makefile.in991
-rw-r--r--libwmc/Makefile.in702
-rwxr-xr-xlibwmc/autogen.sh22
-rw-r--r--libwmc/configure.ac48
-rw-r--r--libwmc/src/Makefile.in753
-rw-r--r--libwmc/tests/Makefile.in862
-rw-r--r--libwmc/uml290.txt206
-rw-r--r--ltmain.sh11369
-rw-r--r--m4/gettext.m4420
-rw-r--r--m4/iconv.m4271
-rw-r--r--m4/intlmacosx.m456
-rw-r--r--m4/lib-ld.m4119
-rw-r--r--m4/lib-link.m4777
-rw-r--r--m4/lib-prefix.m4224
-rw-r--r--m4/libtool.m48394
-rw-r--r--m4/ltoptions.m4437
-rw-r--r--m4/ltsugar.m4124
-rw-r--r--m4/ltversion.m423
-rw-r--r--m4/lt~obsolete.m499
-rw-r--r--m4/nls.m432
-rw-r--r--m4/po.m4453
-rw-r--r--m4/progtest.m491
-rwxr-xr-xmissing215
-rw-r--r--plugins/Makefile.in4709
-rw-r--r--plugins/ublox/README162
-rw-r--r--po/Makefile.in.in483
-rw-r--r--po/ModemManager.pot92
-rw-r--r--po/POTFILES.skip2
-rw-r--r--po/Rules-quot58
-rw-r--r--po/boldquot.sed10
-rw-r--r--po/cs.gmobin0 -> 3190 bytes
-rw-r--r--po/de.gmobin0 -> 2490 bytes
-rw-r--r--po/en@boldquot.header25
-rw-r--r--po/en@quot.header22
-rw-r--r--po/fr.gmobin0 -> 3102 bytes
-rw-r--r--po/fur.gmobin0 -> 3140 bytes
-rw-r--r--po/hu.gmobin0 -> 3215 bytes
-rw-r--r--po/id.gmobin0 -> 2869 bytes
-rw-r--r--po/insert-header.sin23
-rw-r--r--po/it.gmobin0 -> 3108 bytes
-rw-r--r--po/pl.gmobin0 -> 3191 bytes
-rw-r--r--po/pt_BR.gmobin0 -> 3098 bytes
-rw-r--r--po/quot.sed6
-rw-r--r--po/remove-potcdate.sin19
-rw-r--r--po/sk.gmobin0 -> 3172 bytes
-rw-r--r--po/stamp-po1
-rw-r--r--po/sv.gmobin0 -> 2976 bytes
-rw-r--r--po/tr.gmobin0 -> 2998 bytes
-rw-r--r--po/uk.gmobin0 -> 4268 bytes
-rw-r--r--src/Makefile.in2314
-rw-r--r--src/tests/Makefile.in886
-rw-r--r--test/Makefile.in795
-rw-r--r--uml290/Makefile.in698
-rw-r--r--vapi/Makefile.in592
-rwxr-xr-xvl600/atcom.py171
-rw-r--r--vl600/vl600.txt396
331 files changed, 269796 insertions, 9155 deletions
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 9846a32f..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,178 +0,0 @@
-*~
-*.o
-*.lo
-*.la
-*.loT
-*.gcno
-*.gcda
-*.tar.xz
-*.pyc
-*.dirstamp
-.deps
-.libs
-Makefile
-Makefile.in
-
-/INSTALL
-/aclocal.m4
-/autom4te.cache*
-/compile
-/config.*
-/configure
-/depcomp
-/install-sh
-/ltmain.sh
-/missing
-/stamp-h1
-/libtool
-/TAGS
-/ABOUT-NLS
-/ChangeLog
-
-/include/ModemManager-version.h
-/include/ModemManager-names.h
-
-/libmm-glib/generated/mm-gdbus-*.[ch]
-/libmm-glib/generated/mm-enums-types.[ch]
-/libmm-glib/generated/mm-errors-types.[ch]
-/libmm-glib/generated/mm-errors-quarks.c
-/libmm-glib/generated/*.xml
-/libmm-glib/generated/tests/mm-gdbus-*.[ch]
-/libmm-glib/tests/test-common-helpers
-/libmm-glib/tests/test-pco
-/libmm-glib/*.gir
-/libmm-glib/*.typelib
-
-/src/ModemManager
-/src/mm-daemon-enums-types.c
-/src/mm-daemon-enums-types.h
-/src/mm-port-enums-types.c
-/src/mm-port-enums-types.h
-/src/mm-helper-enums-types.c
-/src/mm-helper-enums-types.h
-/src/mm-marshal.[ch]
-/src/tests/test-modem-helpers
-/src/tests/test-modem-helpers-qmi
-/src/tests/test-charsets
-/src/tests/test-qcdm-serial-port
-/src/tests/test-at-serial-port
-/src/tests/test-sms-part-3gpp
-/src/tests/test-sms-part-cdma
-/src/tests/test-udev-rules
-
-/cli/mmcli
-
-/vapi/libmm-glib.vapi
-
-/libqcdm/tests/test-qcdm
-/libqcdm/tests/modepref
-/libqcdm/tests/ipv6pref
-/libqcdm/tests/reset
-
-/libwmc/tests/test-wmc
-
-/data/org.freedesktop.ModemManager1.conf
-/data/org.freedesktop.ModemManager1.service
-/data/org.freedesktop.ModemManager1.policy
-/data/org.freedesktop.ModemManager1.policy.in
-/data/ModemManager.service
-/data/ModemManager.pc
-/data/mm-common.pc
-/data/mm-glib.pc
-/data/tests/org.freedesktop.ModemManager1.service
-
-/po/Makefile.in.in
-/po/POTFILES
-/po/stamp-it
-/po/ModemManager.pot
-/po/Makevars.template
-/po/Rules-quot
-/po/boldquot.sed
-/po/en@boldquot.header
-/po/en@quot.header
-/po/insert-header.sin
-/po/quot.sed
-/po/remove-potcdate.sin
-/po/remove-potcdate.sed
-/po/stamp-po
-/po/*.gmo
-
-/docs/reference/api/version.xml
-/docs/reference/api/ModemManager.args
-/docs/reference/api/ModemManager.hierarchy
-/docs/reference/api/ModemManager.interfaces
-/docs/reference/api/ModemManager.prerequisites
-/docs/reference/api/ModemManager.signals
-/docs/reference/api/*.stamp
-/docs/reference/api/*.txt
-/docs/reference/api/html
-/docs/reference/api/tmpl
-/docs/reference/api/xml
-/docs/reference/api/*.png
-
-/docs/reference/libmm-glib/version.xml
-/docs/reference/libmm-glib/libmm-glib.args
-/docs/reference/libmm-glib/libmm-glib.hierarchy
-/docs/reference/libmm-glib/libmm-glib.interfaces
-/docs/reference/libmm-glib/libmm-glib.prerequisites
-/docs/reference/libmm-glib/libmm-glib.signals
-/docs/reference/libmm-glib/libmm-glib.types
-/docs/reference/libmm-glib/*.stamp
-/docs/reference/libmm-glib/*.txt
-/docs/reference/libmm-glib/html
-/docs/reference/libmm-glib/tmpl
-/docs/reference/libmm-glib/xml
-
-/m4/gtk-doc.m4
-/m4/libtool.m4
-/m4/lt*.m4
-/m4/codeset.m4
-/m4/gettext.m4
-/m4/glibc2.m4
-/m4/glibc21.m4
-/m4/iconv.m4
-/m4/intdiv0.m4
-/m4/intl.m4
-/m4/intldir.m4
-/m4/intlmacosx.m4
-/m4/intmax.m4
-/m4/inttypes-pri.m4
-/m4/inttypes_h.m4
-/m4/lcmessage.m4
-/m4/lib-ld.m4
-/m4/lib-link.m4
-/m4/lib-prefix.m4
-/m4/lock.m4
-/m4/longlong.m4
-/m4/nls.m4
-/m4/po.m4
-/m4/printf-posix.m4
-/m4/progtest.m4
-/m4/size_max.m4
-/m4/stdint_h.m4
-/m4/uintmax_t.m4
-/m4/visibility.m4
-/m4/wchar_t.m4
-/m4/wint_t.m4
-/m4/xsize.m4
-/m4/extern-inline.m4
-/m4/fcntl-o.m4
-/m4/threadlib.m4
-
-/uml290/uml290mode
-
-/plugins/test-suite.log
-/plugins/test-udev-rules
-/plugins/test-modem-helpers-*
-/plugins/test-service-*
-
-/plugins/ublox/mm-ublox-enums-types.[ch]
-
-/plugins/telit/mm-telit-enums-types.[ch]
-
-/test/lsudev
-/test/mmtty
-/test/mmrules
-
-/ModemManager-*-coverage.info
-/ModemManager-*-coverage/
diff --git a/ABOUT-NLS b/ABOUT-NLS
new file mode 100644
index 00000000..3cc82865
--- /dev/null
+++ b/ABOUT-NLS
@@ -0,0 +1,1379 @@
+1 Notes on the Free Translation Project
+***************************************
+
+Free software is going international! The Free Translation Project is a
+way to get maintainers of free software, translators, and users all
+together, so that free software will gradually become able to speak many
+languages. A few packages already provide translations for their
+messages.
+
+ If you found this 'ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU 'gettext' internally,
+itself available at your nearest GNU archive site. But you do _not_
+need to install GNU 'gettext' prior to configuring, installing or using
+this package with messages translated.
+
+ Installers will find here some useful hints. These notes also
+explain how users should proceed for getting the programs to use the
+available translations. They tell how people wanting to contribute and
+work on translations can contact the appropriate team.
+
+1.1 INSTALL Matters
+===================
+
+Some packages are "localizable" when properly installed; the programs
+they contain can be made to speak your own native language. Most such
+packages use GNU 'gettext'. Other packages have their own ways to
+internationalization, predating GNU 'gettext'.
+
+ By default, this package will be installed to allow translation of
+messages. It will automatically detect whether the system already
+provides the GNU 'gettext' functions. Installers may use special
+options at configuration time for changing the default behaviour. The
+command:
+
+ ./configure --disable-nls
+
+will _totally_ disable translation of messages.
+
+ When you already have GNU 'gettext' installed on your system and run
+configure without an option for your new package, 'configure' will
+probably detect the previously built and installed 'libintl' library and
+will decide to use it. If not, you may have to to use the
+'--with-libintl-prefix' option to tell 'configure' where to look for it.
+
+ Internationalized packages usually have many 'po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language. Unless
+translations have been forbidden at 'configure' time by using the
+'--disable-nls' switch, all available translations are installed
+together with the package. However, the environment variable 'LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+'LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+1.2 Using This Package
+======================
+
+As a user, if your language has been installed for this package, you
+only have to set the 'LANG' environment variable to the appropriate
+'LL_CC' combination. If you happen to have the 'LC_ALL' or some other
+'LC_xxx' environment variables set, you should unset them before setting
+'LANG', otherwise the setting of 'LANG' will not have the desired
+effect. Here 'LL' is an ISO 639 two-letter language code, and 'CC' is
+an ISO 3166 two-letter country code. For example, let's suppose that
+you speak German and live in Germany. At the shell prompt, merely
+execute 'setenv LANG de_DE' (in 'csh'), 'export LANG; LANG=de_DE' (in
+'sh') or 'export LANG=de_DE' (in 'bash'). This can be done from your
+'.login' or '.profile' file, once and for all.
+
+ You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries. For
+example, 'de_AT' is used for Austria, and 'pt_BR' for Brazil. The
+country code serves to distinguish the dialects.
+
+ The locale naming convention of 'LL_CC', with 'LL' denoting the
+language and 'CC' denoting the country, is the one use on systems based
+on GNU libc. On other systems, some variations of this scheme are used,
+such as 'LL' or 'LL_CC.ENCODING'. You can get the list of locales
+supported by your system for your language by running the command
+'locale -a | grep '^LL''.
+
+ Not all programs have translations for all languages. By default, an
+English message is shown in place of a nonexistent translation. If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+'LANGUAGE'. GNU 'gettext' gives preference to 'LANGUAGE' over 'LANG'
+for the purpose of message handling, but you still need to have 'LANG'
+set to the primary language; this is required by other parts of the
+system libraries. For example, some Swedish users who would rather read
+translations in German than English for when Swedish is not available,
+set 'LANGUAGE' to 'sv:de' while leaving 'LANG' to 'sv_SE'.
+
+ Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from 'no' to 'nb' recently (in 2003). During the
+transition period, while some message catalogs for this language are
+installed under 'nb' and some older ones under 'no', it's recommended
+for Norwegian users to set 'LANGUAGE' to 'nb:no' so that both newer and
+older translations are used.
+
+ In the 'LANGUAGE' environment variable, but not in the 'LANG'
+environment variable, 'LL_CC' combinations can be abbreviated as 'LL' to
+denote the language's main dialect. For example, 'de' is equivalent to
+'de_DE' (German as spoken in Germany), and 'pt' to 'pt_PT' (Portuguese
+as spoken in Portugal) in this context.
+
+1.3 Translating Teams
+=====================
+
+For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list. The up-to-date list of
+teams can be found at the Free Translation Project's homepage,
+'http://translationproject.org/', in the "Teams" area.
+
+ If you'd like to volunteer to _work_ at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is _not_ the same as the list itself, it has
+'-request' appended. For example, speakers of Swedish can send a
+message to 'sv-request@li.org', having this message body:
+
+ subscribe
+
+ Keep in mind that team members are expected to participate _actively_
+in translations, or at solving translational difficulties, rather than
+merely lurking around. If your team does not exist yet and you want to
+start one, or if you are unsure about what to do or how to get started,
+please write to 'coordinator@translationproject.org' to reach the
+coordinator for all translator teams.
+
+ The English team is special. It works at improving and uniformizing
+the terminology in use. Proven linguistic skills are praised more than
+programming skills, here.
+
+1.4 Available Packages
+======================
+
+Languages are not equally supported in all packages. The following
+matrix shows the current state of internationalization, as of Jun 2014.
+The matrix shows, in regard of each package, for which languages PO
+files have been submitted to translation coordination, with a
+translation percentage of at least 50%.
+
+ Ready PO files af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ +---------------------------------------------------+
+ a2ps | [] [] [] |
+ aegis | |
+ anubis | |
+ aspell | [] [] [] |
+ bash | [] [] [] |
+ bfd | |
+ binutils | [] |
+ bison | |
+ bison-runtime | [] |
+ buzztrax | [] |
+ ccd2cue | |
+ ccide | |
+ cflow | |
+ clisp | |
+ coreutils | [] [] |
+ cpio | |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] [] |
+ dfarc | [] |
+ dialog | [] [] [] |
+ dico | |
+ diffutils | [] |
+ dink | [] |
+ direvent | |
+ doodle | [] |
+ dos2unix | |
+ dos2unix-man | |
+ e2fsprogs | [] [] |
+ enscript | [] |
+ exif | [] |
+ fetchmail | [] [] |
+ findutils | [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | [] |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] [] |
+ gjay | |
+ glunarclock | [] [] [] |
+ gnubiff | [] |
+ gnubik | [] |
+ gnucash | () () [] |
+ gnuchess | |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] |
+ gprof | [] |
+ gramadoir | |
+ grep | [] [] [] |
+ grub | [] |
+ gsasl | |
+ gss | |
+ gst-plugins-bad | [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] |
+ gst-plugins-ugly | [] [] [] |
+ gstreamer | [] [] [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] |
+ help2man | |
+ help2man-texi | |
+ hylafax | |
+ idutils | |
+ iso_15924 | [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | |
+ iso_4217 | [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | |
+ kbd | [] |
+ klavaro | [] [] [] [] [] |
+ ld | [] |
+ leafpad | [] [] [] [] |
+ libc | [] [] [] |
+ libexif | () |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] [] |
+ lilypond | [] [] |
+ lordsawar | [] |
+ lprng | |
+ lynx | [] [] |
+ m4 | [] |
+ mailfromd | |
+ mailutils | |
+ make | [] |
+ man-db | [] [] |
+ man-db-manpages | |
+ midi-instruments | [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
+ myserver | [] |
+ nano | [] [] [] |
+ opcodes | |
+ parted | [] |
+ pies | |
+ pnmixer | |
+ popt | [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] |
+ pushover | [] |
+ pwdutils | |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] |
+ recutils | |
+ rpm | |
+ rush | |
+ sarg | |
+ sed | [] [] [] [] |
+ sharutils | [] |
+ shishi | |
+ skribilo | |
+ solfege | [] [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] |
+ sudoers | [] [] |
+ sysstat | [] |
+ tar | [] [] [] |
+ texinfo | [] [] |
+ texinfo_document | [] [] |
+ tigervnc | [] |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | |
+ trader | |
+ util-linux | [] |
+ ve | |
+ vice | |
+ vmm | |
+ vorbis-tools | [] |
+ wastesedge | |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] |
+ wget | [] |
+ wyslij-po | |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +---------------------------------------------------+
+ af am an ar as ast az be bg bn bn_IN bs ca crh cs
+ 4 0 2 5 3 11 0 8 25 3 3 1 55 4 74
+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ +--------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] [] [] |
+ aegis | [] [] [] [] |
+ anubis | [] [] [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] |
+ bfd | [] [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | [] [] [] [] |
+ ccd2cue | [] [] [] [] |
+ ccide | [] [] [] [] [] [] |
+ cflow | [] [] [] [] [] |
+ clisp | [] [] [] [] [] |
+ coreutils | [] [] [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] [] [] [] [] |
+ cryptsetup | [] [] [] [] [] |
+ datamash | [] [] [] [] |
+ denemo | [] |
+ dfarc | [] [] [] [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] |
+ dico | [] [] [] [] |
+ diffutils | [] [] [] [] [] [] |
+ dink | [] [] [] [] [] [] |
+ direvent | [] [] [] [] |
+ doodle | [] [] [] [] |
+ dos2unix | [] [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] () [] [] [] [] [] |
+ findutils | [] [] [] [] [] [] [] [] |
+ flex | [] [] [] [] [] [] |
+ freedink | [] [] [] [] [] [] [] [] |
+ fusionforge | [] [] [] |
+ gas | [] [] [] |
+ gawk | [] [] [] [] [] |
+ gcal | [] [] [] [] |
+ gcc | [] |
+ gdbm | [] [] [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] [] [] |
+ glunarclock | [] [] [] [] [] |
+ gnubiff | () [] [] () |
+ gnubik | [] [] [] [] [] |
+ gnucash | [] () () () () () () |
+ gnuchess | [] [] [] [] |
+ gnulib | [] [] [] [] [] [] [] |
+ gnunet | [] |
+ gnunet-gtk | [] |
+ gold | [] [] [] |
+ gphoto2 | [] () [] [] |
+ gprof | [] [] [] [] [] [] |
+ gramadoir | [] [] [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] () [] [] [] |
+ gtkam | [] () [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] |
+ guix | [] [] |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] [] [] |
+ help2man | [] [] [] [] [] [] [] |
+ help2man-texi | [] [] [] |
+ hylafax | [] [] |
+ idutils | [] [] [] [] [] |
+ iso_15924 | [] () [] [] () [] () |
+ iso_3166 | [] () [] [] [] [] () [] () |
+ iso_3166_2 | [] () () () |
+ iso_4217 | [] () [] [] [] () [] () |
+ iso_639 | [] () [] [] () [] () |
+ iso_639_3 | () () () |
+ iso_639_5 | () () () |
+ jwhois | [] [] [] [] [] |
+ kbd | [] [] [] [] [] [] |
+ klavaro | [] [] [] [] [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] [] () [] [] |
+ libextractor | [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] () [] |
+ libgphoto2_port | [] () [] [] [] [] |
+ libgsasl | [] [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] [] |
+ liferea | [] () [] [] [] [] [] |
+ lilypond | [] [] [] [] [] [] |
+ lordsawar | [] [] |
+ lprng | |
+ lynx | [] [] [] [] [] [] |
+ m4 | [] [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] [] [] [] |
+ make | [] [] [] [] [] |
+ man-db | [] [] [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] [] [] |
+ nano | [] [] [] [] [] [] [] |
+ opcodes | [] [] [] [] [] |
+ parted | [] [] [] |
+ pies | [] |
+ pnmixer | [] [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] [] |
+ psmisc | [] [] [] [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | () [] [] [] |
+ pwdutils | [] [] [] |
+ pyspread | [] [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | [] [] [] [] |
+ rpm | [] [] [] [] [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] [] [] |
+ skribilo | [] [] [] |
+ solfege | [] [] [] [] [] [] [] [] |
+ solfege-manual | [] [] [] [] [] |
+ spotmachine | [] [] [] [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] [] [] |
+ sysstat | [] [] [] [] [] [] |
+ tar | [] [] [] [] [] [] [] |
+ texinfo | [] [] [] [] [] |
+ texinfo_document | [] [] [] [] |
+ tigervnc | [] [] [] [] [] [] |
+ tin | [] [] [] [] |
+ tin-man | [] |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] [] [] [] [] [] |
+ util-linux | [] [] [] [] |
+ ve | [] [] [] [] [] |
+ vice | () () () |
+ vmm | [] [] |
+ vorbis-tools | [] [] [] [] |
+ wastesedge | [] |
+ wcd | [] [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] [] [] [] |
+ wget | [] [] [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] [] |
+ +--------------------------------------------------+
+ da de el en en_GB en_ZA eo es et eu fa fi fr
+ 119 131 32 1 6 0 94 95 22 13 4 102 139
+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ +-------------------------------------------------+
+ a2ps | [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] [] |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | [] |
+ ccide | [] [] |
+ cflow | [] [] [] |
+ clisp | |
+ coreutils | [] [] |
+ cpio | [] [] [] [] [] [] |
+ cppi | [] [] [] [] [] |
+ cpplib | [] [] |
+ cryptsetup | [] |
+ datamash | |
+ denemo | [] |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] [] |
+ dos2unix | [] [] |
+ dos2unix-man | |
+ e2fsprogs | [] [] |
+ enscript | [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] [] [] |
+ flex | [] |
+ freedink | [] [] [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] () [] |
+ gcal | |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] [] () |
+ gnubik | [] [] [] |
+ gnucash | () () () () () |
+ gnuchess | |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] [] [] |
+ grub | [] [] [] |
+ gsasl | [] [] [] [] [] |
+ gss | [] [] [] [] [] |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] [] |
+ hello | [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] [] |
+ iso_15924 | [] [] [] [] [] [] |
+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] [] |
+ iso_4217 | [] [] [] [] [] [] |
+ iso_639 | [] [] [] [] [] [] [] [] [] |
+ iso_639_3 | [] [] |
+ iso_639_5 | |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] |
+ klavaro | [] [] [] [] [] |
+ ld | [] [] [] [] |
+ leafpad | [] [] [] [] [] [] [] () |
+ libc | [] [] [] [] [] |
+ libexif | [] |
+ libextractor | |
+ libgnutls | [] |
+ libgphoto2 | [] [] |
+ libgphoto2_port | [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] [] [] |
+ libidn | [] [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] [] [] |
+ man-db | [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] |
+ mkisofs | [] [] |
+ myserver | [] |
+ nano | [] [] [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] [] |
+ pies | |
+ pnmixer | [] [] |
+ popt | [] [] [] [] [] [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | [] |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] [] [] [] [] [] |
+ recutils | |
+ rpm | [] |
+ rush | [] |
+ sarg | |
+ sed | [] [] [] [] [] [] [] |
+ sharutils | |
+ shishi | |
+ skribilo | [] |
+ solfege | [] [] |
+ solfege-manual | |
+ spotmachine | |
+ sudo | [] [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] [] [] |
+ tar | [] [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] [] |
+ tigervnc | |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] [] |
+ util-linux | [] |
+ ve | [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | [] |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] |
+ wget | [] [] [] [] |
+ wyslij-po | [] [] [] |
+ xboard | |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] [] [] |
+ +-------------------------------------------------+
+ ga gd gl gu he hi hr hu hy ia id is it ja ka kk
+ 35 2 47 4 8 2 60 71 2 6 81 11 87 57 0 3
+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+ +--------------------------------------------------+
+ a2ps | [] [] |
+ aegis | [] |
+ anubis | [] [] [] |
+ aspell | [] [] |
+ bash | [] [] |
+ bfd | |
+ binutils | |
+ bison | [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | |
+ ccd2cue | |
+ ccide | [] [] |
+ cflow | [] |
+ clisp | [] |
+ coreutils | [] [] |
+ cpio | [] |
+ cppi | |
+ cpplib | [] |
+ cryptsetup | [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] |
+ dialog | [] [] [] [] [] [] |
+ dico | |
+ diffutils | [] [] [] |
+ dink | [] |
+ direvent | [] |
+ doodle | [] |
+ dos2unix | [] [] |
+ dos2unix-man | [] |
+ e2fsprogs | [] |
+ enscript | [] |
+ exif | [] [] [] |
+ fetchmail | [] |
+ findutils | [] [] |
+ flex | [] |
+ freedink | [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gdbm | |
+ gettext-examples | [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] |
+ gettext-tools | [] |
+ gjay | |
+ glunarclock | [] [] |
+ gnubiff | [] |
+ gnubik | [] [] |
+ gnucash | () () () () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] |
+ gprof | [] [] |
+ gramadoir | [] |
+ grep | [] [] |
+ grub | [] [] [] |
+ gsasl | [] |
+ gss | |
+ gst-plugins-bad | [] [] [] |
+ gst-plugins-base | [] [] [] |
+ gst-plugins-good | [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] [] |
+ gtick | [] |
+ gtkam | [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] |
+ hello | [] [] [] |
+ help2man | [] |
+ help2man-texi | |
+ hylafax | [] |
+ idutils | [] |
+ iso_15924 | () [] [] |
+ iso_3166 | [] [] [] () [] [] [] [] [] [] |
+ iso_3166_2 | () [] |
+ iso_4217 | () [] [] [] |
+ iso_639 | [] [] () [] [] [] [] |
+ iso_639_3 | [] () [] |
+ iso_639_5 | () |
+ jwhois | [] [] |
+ kbd | [] |
+ klavaro | [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] |
+ libc | [] [] |
+ libexif | [] |
+ libextractor | [] |
+ libgnutls | [] [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] |
+ libgsasl | [] |
+ libiconv | [] [] |
+ libidn | [] |
+ liferea | [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | |
+ lynx | [] |
+ m4 | [] |
+ mailfromd | |
+ mailutils | |
+ make | [] [] |
+ man-db | [] |
+ man-db-manpages | [] |
+ midi-instruments | [] [] [] [] [] [] [] |
+ minicom | [] |
+ mkisofs | [] |
+ myserver | |
+ nano | [] [] [] |
+ opcodes | [] |
+ parted | [] [] |
+ pies | |
+ pnmixer | [] |
+ popt | [] [] [] [] [] |
+ procps-ng | |
+ procps-ng-man | |
+ psmisc | [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | |
+ radius | [] |
+ recode | [] [] |
+ recutils | [] |
+ rpm | [] |
+ rush | [] |
+ sarg | |
+ sed | [] [] |
+ sharutils | [] |
+ shishi | |
+ skribilo | |
+ solfege | [] [] |
+ solfege-manual | [] |
+ spotmachine | [] |
+ sudo | [] [] [] |
+ sudoers | [] [] [] |
+ sysstat | [] [] |
+ tar | [] [] [] |
+ texinfo | [] |
+ texinfo_document | [] |
+ tigervnc | [] |
+ tin | |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] |
+ trader | [] |
+ util-linux | [] |
+ ve | [] |
+ vice | [] |
+ vmm | [] |
+ vorbis-tools | [] |
+ wastesedge | [] |
+ wcd | [] |
+ wcd-man | [] |
+ wdiff | [] |
+ wget | [] [] |
+ wyslij-po | [] |
+ xboard | [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] |
+ +--------------------------------------------------+
+ kn ko ku ky lg lt lv mk ml mn mr ms mt nb ne nl
+ 5 15 4 6 0 13 23 3 3 3 4 11 2 42 1 125
+
+ nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ +------------------------------------------------+
+ a2ps | [] [] [] [] [] [] [] |
+ aegis | [] [] |
+ anubis | [] [] [] |
+ aspell | [] [] [] [] [] [] [] |
+ bash | [] [] [] [] [] [] |
+ bfd | [] [] |
+ binutils | [] [] |
+ bison | [] [] [] |
+ bison-runtime | [] [] [] [] [] [] [] [] |
+ buzztrax | [] |
+ ccd2cue | [] [] |
+ ccide | [] [] [] |
+ cflow | [] [] [] |
+ clisp | [] |
+ coreutils | [] [] [] [] |
+ cpio | [] [] [] |
+ cppi | [] [] [] |
+ cpplib | [] [] [] |
+ cryptsetup | [] [] [] |
+ datamash | [] [] |
+ denemo | |
+ dfarc | [] [] [] |
+ dialog | [] [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] |
+ dink | |
+ direvent | [] [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] |
+ e2fsprogs | [] |
+ enscript | [] [] [] [] [] [] |
+ exif | [] [] [] [] [] [] |
+ fetchmail | [] [] [] |
+ findutils | [] [] [] [] [] [] |
+ flex | [] [] [] [] [] |
+ freedink | [] [] [] [] [] |
+ fusionforge | |
+ gas | |
+ gawk | [] |
+ gcal | |
+ gcc | |
+ gdbm | [] [] [] |
+ gettext-examples | [] [] [] [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] [] [] |
+ gjay | [] |
+ glunarclock | [] [] [] [] [] [] |
+ gnubiff | [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () () [] |
+ gnuchess | [] [] |
+ gnulib | [] [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | |
+ gphoto2 | [] [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] |
+ grep | [] [] [] [] [] [] |
+ grub | [] [] [] [] [] |
+ gsasl | [] [] [] |
+ gss | [] [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] [] [] |
+ gtick | [] [] [] [] [] |
+ gtkam | [] [] [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] [] |
+ help2man-texi | [] |
+ hylafax | |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] [] [] |
+ iso_3166 | [] [] [] [] () [] [] [] [] [] [] [] [] |
+ iso_3166_2 | [] () [] |
+ iso_4217 | [] [] () [] [] [] [] [] |
+ iso_639 | [] [] [] () [] [] [] [] [] [] |
+ iso_639_3 | [] () |
+ iso_639_5 | () [] |
+ jwhois | [] [] [] [] |
+ kbd | [] [] |
+ klavaro | [] [] [] [] [] |
+ ld | |
+ leafpad | [] [] [] [] [] [] [] [] |
+ libc | [] [] [] |
+ libexif | [] () [] |
+ libextractor | [] |
+ libgnutls | [] |
+ libgphoto2 | [] |
+ libgphoto2_port | [] [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | [] [] [] |
+ liferea | [] [] [] [] () [] [] |
+ lilypond | |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] |
+ m4 | [] [] [] [] [] |
+ mailfromd | [] |
+ mailutils | [] |
+ make | [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] [] |
+ midi-instruments | [] [] [] [] [] [] [] [] |
+ minicom | [] [] [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] [] |
+ nano | [] [] [] [] [] [] |
+ opcodes | |
+ parted | [] [] [] [] [] [] |
+ pies | [] |
+ pnmixer | [] |
+ popt | [] [] [] [] [] [] |
+ procps-ng | [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] |
+ pushover | |
+ pwdutils | [] |
+ pyspread | [] [] |
+ radius | [] [] |
+ recode | [] [] [] [] [] [] [] [] |
+ recutils | [] [] |
+ rpm | [] |
+ rush | [] [] [] |
+ sarg | [] [] |
+ sed | [] [] [] [] [] [] [] [] |
+ sharutils | [] [] [] |
+ shishi | [] [] |
+ skribilo | [] |
+ solfege | [] [] [] |
+ solfege-manual | [] [] |
+ spotmachine | [] [] |
+ sudo | [] [] [] [] [] [] |
+ sudoers | [] [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] [] |
+ tigervnc | [] [] [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] |
+ trader | [] [] |
+ util-linux | [] [] |
+ ve | [] [] [] |
+ vice | |
+ vmm | |
+ vorbis-tools | [] [] [] |
+ wastesedge | |
+ wcd | |
+ wcd-man | |
+ wdiff | [] [] [] [] [] |
+ wget | [] [] [] [] [] |
+ wyslij-po | [] [] [] [] |
+ xboard | [] [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ +------------------------------------------------+
+ nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr
+ 7 3 6 114 1 12 88 32 82 3 40 45 7 101
+
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN
+ +----------------------------------------------+
+ a2ps | [] [] [] [] [] |
+ aegis | [] |
+ anubis | [] [] [] [] |
+ aspell | [] [] [] [] [] |
+ bash | [] [] [] [] |
+ bfd | [] [] [] |
+ binutils | [] [] [] |
+ bison | [] [] [] [] |
+ bison-runtime | [] [] [] [] [] [] |
+ buzztrax | [] [] [] |
+ ccd2cue | [] [] [] |
+ ccide | [] [] [] [] |
+ cflow | [] [] [] [] |
+ clisp | |
+ coreutils | [] [] [] |
+ cpio | [] [] [] [] [] |
+ cppi | [] [] [] [] |
+ cpplib | [] [] [] [] [] |
+ cryptsetup | [] [] [] |
+ datamash | [] [] [] |
+ denemo | [] |
+ dfarc | [] [] |
+ dialog | [] [] [] [] [] [] |
+ dico | [] |
+ diffutils | [] [] [] [] [] |
+ dink | [] |
+ direvent | [] [] |
+ doodle | [] [] |
+ dos2unix | [] [] [] [] |
+ dos2unix-man | [] [] [] |
+ e2fsprogs | [] [] [] [] |
+ enscript | [] [] [] [] |
+ exif | [] [] [] [] [] |
+ fetchmail | [] [] [] [] |
+ findutils | [] [] [] [] [] |
+ flex | [] [] [] [] |
+ freedink | [] [] [] |
+ fusionforge | |
+ gas | [] |
+ gawk | [] [] [] |
+ gcal | [] [] [] |
+ gcc | [] |
+ gdbm | [] [] |
+ gettext-examples | [] [] [] [] [] |
+ gettext-runtime | [] [] [] [] [] |
+ gettext-tools | [] [] [] [] [] |
+ gjay | [] [] [] |
+ glunarclock | [] [] [] [] |
+ gnubiff | [] [] |
+ gnubik | [] [] [] [] |
+ gnucash | () () () () [] |
+ gnuchess | [] [] [] |
+ gnulib | [] [] [] [] |
+ gnunet | |
+ gnunet-gtk | |
+ gold | [] [] |
+ gphoto2 | [] [] [] [] |
+ gprof | [] [] [] [] |
+ gramadoir | [] [] [] |
+ grep | [] [] [] [] [] |
+ grub | [] [] [] [] |
+ gsasl | [] [] [] [] |
+ gss | [] [] [] |
+ gst-plugins-bad | [] [] [] [] [] |
+ gst-plugins-base | [] [] [] [] [] |
+ gst-plugins-good | [] [] [] [] [] |
+ gst-plugins-ugly | [] [] [] [] [] |
+ gstreamer | [] [] [] [] [] |
+ gtick | [] [] [] |
+ gtkam | [] [] [] [] |
+ gtkspell | [] [] [] [] [] [] [] |
+ guix | |
+ guix-packages | |
+ gutenprint | [] [] [] [] |
+ hello | [] [] [] [] [] [] |
+ help2man | [] [] [] |
+ help2man-texi | [] |
+ hylafax | [] |
+ idutils | [] [] [] |
+ iso_15924 | [] () [] [] () [] |
+ iso_3166 | [] [] () [] [] () [] [] |
+ iso_3166_2 | () [] [] () [] |
+ iso_4217 | [] () [] [] () [] |
+ iso_639 | [] [] [] () [] [] () [] [] |
+ iso_639_3 | [] () [] [] () |
+ iso_639_5 | () [] () |
+ jwhois | [] [] [] [] |
+ kbd | [] [] [] [] |
+ klavaro | [] [] [] [] [] [] |
+ ld | [] [] [] [] [] |
+ leafpad | [] [] [] [] [] [] |
+ libc | [] [] [] [] [] |
+ libexif | [] [] () |
+ libextractor | [] [] |
+ libgnutls | [] [] [] [] |
+ libgphoto2 | [] [] [] |
+ libgphoto2_port | [] [] [] [] |
+ libgsasl | [] [] [] [] |
+ libiconv | [] [] [] [] [] |
+ libidn | () [] [] [] |
+ liferea | [] [] [] [] [] |
+ lilypond | [] |
+ lordsawar | |
+ lprng | [] |
+ lynx | [] [] [] [] |
+ m4 | [] [] [] |
+ mailfromd | [] [] |
+ mailutils | [] |
+ make | [] [] [] [] |
+ man-db | [] [] [] |
+ man-db-manpages | [] [] |
+ midi-instruments | [] [] [] [] [] [] |
+ minicom | [] [] |
+ mkisofs | [] [] [] |
+ myserver | [] |
+ nano | [] [] [] [] |
+ opcodes | [] [] [] |
+ parted | [] [] [] [] [] |
+ pies | [] [] |
+ pnmixer | [] [] [] |
+ popt | [] [] [] [] [] [] [] |
+ procps-ng | [] [] |
+ procps-ng-man | [] |
+ psmisc | [] [] [] [] |
+ pspp | [] [] [] |
+ pushover | [] |
+ pwdutils | [] [] |
+ pyspread | [] |
+ radius | [] [] |
+ recode | [] [] [] [] |
+ recutils | [] [] [] |
+ rpm | [] [] [] [] |
+ rush | [] [] |
+ sarg | |
+ sed | [] [] [] [] [] |
+ sharutils | [] [] [] [] |
+ shishi | [] [] |
+ skribilo | [] [] |
+ solfege | [] [] [] [] |
+ solfege-manual | [] |
+ spotmachine | [] [] [] |
+ sudo | [] [] [] [] [] |
+ sudoers | [] [] [] [] |
+ sysstat | [] [] [] [] [] |
+ tar | [] [] [] [] [] |
+ texinfo | [] [] [] |
+ texinfo_document | [] |
+ tigervnc | [] [] [] |
+ tin | [] |
+ tin-man | |
+ tracgoogleappsa... | [] [] [] [] [] |
+ trader | [] |
+ util-linux | [] [] [] [] |
+ ve | [] [] [] [] |
+ vice | () () |
+ vmm | |
+ vorbis-tools | [] [] |
+ wastesedge | |
+ wcd | [] [] [] |
+ wcd-man | [] |
+ wdiff | [] [] [] [] |
+ wget | [] [] [] |
+ wyslij-po | [] [] |
+ xboard | [] [] |
+ xdg-user-dirs | [] [] [] [] [] [] [] [] |
+ xkeyboard-config | [] [] [] [] |
+ +----------------------------------------------+
+ sv sw ta te tg th tr uk ur vi wa wo zh_CN
+ 106 1 4 3 0 13 51 115 1 125 7 1 100
+
+ zh_HK zh_TW
+ +-------------+
+ a2ps | | 30
+ aegis | | 9
+ anubis | | 19
+ aspell | | 29
+ bash | [] | 23
+ bfd | | 11
+ binutils | | 12
+ bison | [] | 18
+ bison-runtime | [] | 38
+ buzztrax | | 9
+ ccd2cue | | 10
+ ccide | | 17
+ cflow | | 16
+ clisp | | 10
+ coreutils | | 18
+ cpio | | 20
+ cppi | | 17
+ cpplib | [] | 19
+ cryptsetup | | 14
+ datamash | | 11
+ denemo | | 5
+ dfarc | | 17
+ dialog | [] | 42
+ dico | | 6
+ diffutils | | 22
+ dink | | 10
+ direvent | | 11
+ doodle | | 12
+ dos2unix | [] | 18
+ dos2unix-man | | 9
+ e2fsprogs | | 15
+ enscript | | 21
+ exif | | 27
+ fetchmail | | 19
+ findutils | | 29
+ flex | [] | 19
+ freedink | | 24
+ fusionforge | | 3
+ gas | | 5
+ gawk | | 13
+ gcal | | 8
+ gcc | | 2
+ gdbm | | 10
+ gettext-examples | [] [] | 40
+ gettext-runtime | [] [] | 35
+ gettext-tools | [] | 24
+ gjay | | 9
+ glunarclock | [] | 27
+ gnubiff | | 9
+ gnubik | | 19
+ gnucash | () | 6
+ gnuchess | | 11
+ gnulib | | 23
+ gnunet | | 1
+ gnunet-gtk | | 1
+ gold | | 7
+ gphoto2 | [] | 19
+ gprof | | 21
+ gramadoir | | 14
+ grep | [] | 31
+ grub | | 21
+ gsasl | [] | 19
+ gss | | 17
+ gst-plugins-bad | | 21
+ gst-plugins-base | | 27
+ gst-plugins-good | | 32
+ gst-plugins-ugly | | 34
+ gstreamer | [] | 32
+ gtick | | 19
+ gtkam | | 24
+ gtkspell | [] [] | 48
+ guix | | 2
+ guix-packages | | 0
+ gutenprint | | 15
+ hello | [] | 30
+ help2man | | 18
+ help2man-texi | | 5
+ hylafax | | 5
+ idutils | | 14
+ iso_15924 | [] | 23
+ iso_3166 | [] [] | 58
+ iso_3166_2 | | 9
+ iso_4217 | [] [] | 28
+ iso_639 | [] [] | 46
+ iso_639_3 | | 10
+ iso_639_5 | | 2
+ jwhois | [] | 20
+ kbd | | 17
+ klavaro | | 30
+ ld | [] | 15
+ leafpad | [] | 39
+ libc | [] | 24
+ libexif | | 10
+ libextractor | | 5
+ libgnutls | | 13
+ libgphoto2 | | 10
+ libgphoto2_port | [] | 19
+ libgsasl | | 18
+ libiconv | [] | 29
+ libidn | | 17
+ liferea | | 29
+ lilypond | | 11
+ lordsawar | | 3
+ lprng | | 3
+ lynx | | 19
+ m4 | [] | 22
+ mailfromd | | 4
+ mailutils | | 6
+ make | | 19
+ man-db | | 15
+ man-db-manpages | | 10
+ midi-instruments | [] | 43
+ minicom | [] | 17
+ mkisofs | | 13
+ myserver | | 9
+ nano | [] | 30
+ opcodes | | 12
+ parted | [] | 23
+ pies | | 4
+ pnmixer | | 9
+ popt | [] | 36
+ procps-ng | | 5
+ procps-ng-man | | 4
+ psmisc | [] | 22
+ pspp | | 13
+ pushover | | 6
+ pwdutils | | 8
+ pyspread | | 6
+ radius | | 9
+ recode | | 31
+ recutils | | 10
+ rpm | [] | 13
+ rush | | 10
+ sarg | | 4
+ sed | [] | 35
+ sharutils | | 13
+ shishi | | 7
+ skribilo | | 7
+ solfege | | 21
+ solfege-manual | | 9
+ spotmachine | | 11
+ sudo | | 26
+ sudoers | | 22
+ sysstat | | 23
+ tar | [] | 30
+ texinfo | | 17
+ texinfo_document | | 13
+ tigervnc | | 14
+ tin | [] | 7
+ tin-man | | 1
+ tracgoogleappsa... | [] | 22
+ trader | | 12
+ util-linux | | 13
+ ve | | 14
+ vice | | 1
+ vmm | | 3
+ vorbis-tools | | 13
+ wastesedge | | 3
+ wcd | | 8
+ wcd-man | | 3
+ wdiff | [] | 23
+ wget | | 21
+ wyslij-po | | 14
+ xboard | | 10
+ xdg-user-dirs | [] [] | 68
+ xkeyboard-config | [] | 28
+ +-------------+
+ 89 teams zh_HK zh_TW
+ 166 domains 7 42 2809
+
+ Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect. This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+ For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and distributed
+as such by its maintainer. There might be an observable lag between the
+mere existence a PO file and its wide availability in a distribution.
+
+ If Jun 2014 seems to be old, you may fetch a more recent copy of this
+'ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix
+with full percentage details can be found at
+'http://translationproject.org/extra/matrix.html'.
+
+1.5 Using 'gettext' in new packages
+===================================
+
+If you are writing a freely available program and want to
+internationalize it you are welcome to use GNU 'gettext' in your
+package. Of course you have to respect the GNU Lesser General Public
+License which covers the use of the GNU 'gettext' library. This means
+in particular that even non-free programs can use 'libintl' as a shared
+library, whereas only free software can use 'libintl' as a static
+library or use modified versions of 'libintl'.
+
+ Once the sources are changed appropriately and the setup can handle
+the use of 'gettext' the only thing missing are the translations. The
+Free Translation Project is also available for packages which are not
+developed inside the GNU project. Therefore the information given above
+applies also for every other Free Software Project. Contact
+'coordinator@translationproject.org' to make the '.pot' files available
+to the translation teams.
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 00000000..b40f923a
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,83381 @@
+commit 9268d4f9ef445ca7c9bf731fe125f432cf6385ac
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 17 16:14:25 2019 +0100
+
+ release: bump version to 1.10.0
+
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit f49f325715b8bc8078bafa3339f1d77dbe35392e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jan 16 15:56:59 2019 +0100
+
+ libmm-glib,firmware-update-settings: skip dictionary if method is NONE
+
+ No need to process the detailed dictionary if no explicit method is
+ reported as supported. Avoids unnecessary warnings:
+
+ $ mmcli -m 1 --firmware-status
+ ** (mmcli:6887): WARNING **: 15:52:54.664: Invalid initial update
+ settings: Missing required 'device-ids' setting
+ error: firmware status unsupported
+
+ libmm-glib/mm-firmware-update-settings.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6dd8876124aab1873a40abadcf40e8271dfc9f6b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jan 15 17:42:50 2019 +0100
+
+ NEWS: update for MM 1.10
+
+ NEWS | 119
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 119 insertions(+)
+
+commit 5123add8601e012944e7ea9e1cf28ce17b2f03bd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jan 15 15:40:10 2019 +0100
+
+ api,doc: add note about when each modem interface is available
+
+ introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml |
+ 5 ++++-
+ introspection/org.freedesktop.ModemManager1.Modem.Location.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.Oma.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.Signal.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.Simple.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.Time.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.Voice.xml |
+ 5 +++++
+ introspection/org.freedesktop.ModemManager1.Modem.xml |
+ 3 +++
+ 12 files changed, 57 insertions(+), 1 deletion(-)
+
+commit 478a076d30b8ad44821e24652a4ebad5a8b3a6bb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 13 18:11:41 2019 +0100
+
+ libmm-glib,manager: use g_async_initable_new_finish() explicitly
+
+ We're running g_async_initable_new_async() ourselves in
+ mm_manager_new(), so our finish() method should call
+ g_async_initable_new_finish() explicitly.
+
+ There's no change in the logic here, as the generated
+ mm_gdbus_object_manager_client_new_finish() was already doing this
+ implicitly.
+
+ libmm-glib/mm-manager.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 495a466aaaa3b5c42d1b22f3447cb36eb89fa7a6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 13 18:02:22 2019 +0100
+
+ libmm-glib,manager: simplify object creation
+
+ The G_OBJECT() casts accept NULL safely.
+
+ libmm-glib/mm-manager.c | 27 ++++++++++-----------------
+ 1 file changed, 10 insertions(+), 17 deletions(-)
+
+commit 3eb3854fcb19529b7e82f224419d177fa56c569c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 13 18:01:54 2019 +0100
+
+ libmm-glib,manager: cleanup internal proxy on name owner updates
+
+ The MMManager object keeps an internal proxy object for the Manager
+ interface, and we must make sure we cleanup this object any time
+ the MM
+ daemon is restarted. Otherwise, the MMManager may end up trying to use
+ a stale proxy associated to a previous run of the daemon, and e.g. not
+ showing properly the runtime version info.
+
+ E.g., in this sequence with the example python tester, the runtime
+ version of the daemon was valid only for the first time the daemon
+ runs, and if the daemon is restarted, mm_manager_get_version()
+ would keep returning NULL.
+
+ $ ./modem-watcher-python
+ [ModemWatcher] ModemManager service not available in bus
+ [ModemWatcher] ModemManager 1.9.990 service is available in bus
+ [ModemWatcher] Dell Inc. (DW5821e Snapdragon
+ X20 LTE) modem managed by ModemManager [None]:
+ /org/freedesktop/ModemManager1/Modem/0
+ [ModemWatcher] ModemManager service not available in bus
+ [ModemWatcher] ModemManager None service is available in bus
+ [ModemWatcher] Dell Inc. (DW5821e Snapdragon
+ X20 LTE) modem managed by ModemManager [None]:
+ /org/freedesktop/ModemManager1/Modem/0
+ [ModemWatcher] ModemManager service not available in bus
+ [ModemWatcher] ModemManager None service is available in bus
+ [ModemWatcher] Dell Inc. (DW5821e Snapdragon
+ X20 LTE) modem managed by ModemManager [None]:
+ /org/freedesktop/ModemManager1/Modem/0
+
+ libmm-glib/mm-manager.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit 479590412e6b746365645eb9bbc9c605c20ab8bc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 13 17:33:05 2019 +0100
+
+ examples,watcher: print runtime MM version
+
+ examples/modem-watcher-javascript/modemWatcher.js | 2 +-
+ examples/modem-watcher-python/ModemWatcher.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit bb0820d012112bbf609fe56c55a74a4791687766
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 13 14:37:45 2019 +0100
+
+ port-mbim: do not clear the progress flag until really finished
+ opening
+
+ When the MBIM port open involved transparently trying to open a QMI
+ device as well, we were clearing the progress flag before the full
+ operation had finished, and so the port could have been closed by
+ the time we really finish the open operation, leading to a crash:
+
+ ModemManager[28824]: <info> [1547386038.726136]
+ (usbmisc/cdc-wdm3): released by device
+ '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
+ ModemManager[28824]: <info> [1547386038.728084]
+ (tty/ttyUSB0): released by device
+ '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
+ ModemManager[28824]: <info> [1547386038.728738]
+ (tty/ttyUSB1): released by device
+ '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
+ ModemManager[28824]: <info> [1547386038.730769]
+ (tty/ttyUSB2): released by device
+ '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
+ ModemManager[28824]: <info> [1547386038.731256]
+ (tty/ttyUSB3): released by device
+ '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
+ ModemManager[28824]: <debug>
+ [1547386038.731301] Removing empty device
+ '/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/usb3/3-2/3-2.3'
+ ModemManager[28824]: <debug> [1547386038.731445] (ttyUSB0)
+ forced to close port
+ ModemManager[28824]: <debug> [1547386038.731547] (ttyUSB1)
+ forced to close port
+ ModemManager[28824]: <debug> [1547386038.731638] (ttyUSB2)
+ forced to close port
+ ModemManager[28824]: <debug> [1547386038.731715] (ttyUSB3)
+ forced to close port
+ ModemManager[28824]: <debug> [1547386039.580136] [cdc-wdm3]
+ error: couldn't open QmiDevice: MBIM error: Transaction timed out
+ ModemManager[28824]: <info> [1547386039.580190] [cdc-wdm3]
+ MBIM device is not QMI capable
+ **
+ ERROR:mm-broadband-modem-mbim.c:2119:track_mbim_device_removed:
+ assertion failed: (device)
+
+ Thread 1 "ModemManager" received signal SIGABRT, Aborted.
+ 0x00007ffff7390d7f in raise () from /usr/lib/libc.so.6
+
+ (gdb) bt
+ #0 0x00007ffff7390d7f in raise () at /usr/lib/libc.so.6
+ #1 0x00007ffff737b672 in abort () at /usr/lib/libc.so.6
+ #2 0x00007ffff7559042 in () at /usr/lib/libglib-2.0.so.0
+ #3 0x00007ffff75865dc in g_assertion_message_expr () at
+ /usr/lib/libglib-2.0.so.0
+ #4 0x00005555556407f9 in track_mbim_device_removed
+ (self=0x5555557a2830, mbim=0x5555557ea190) at
+ mm-broadband-modem-mbim.c:2119
+ #5 0x000055555564093e in mbim_port_open_ready
+ (mbim=0x5555557ea190, res=0x55555573fcf0, task=0x5555557d29d0)
+ at mm-broadband-modem-mbim.c:2161
+ #6 0x00007ffff77742f4 in () at /usr/lib/libgio-2.0.so.0
+ #7 0x00007ffff7776cd7 in () at /usr/lib/libgio-2.0.so.0
+ #8 0x000055555565fcd5 in qmi_device_open_ready
+ (dev=0x55555578f250, res=0x55555573fb50, task=0x55555573fcf0)
+ at mm-port-mbim.c:191
+ #9 0x00007ffff77742f4 in () at /usr/lib/libgio-2.0.so.0
+ #10 0x00007ffff7776cd7 in () at /usr/lib/libgio-2.0.so.0
+ #11 0x00007ffff7c03fe6 in open_version_info_ready
+ (client_ctl=0x7fffe8010c20, res=0x555555739e80,
+ task=0x55555573fb50) at qmi-device.c:2050
+ #12 0x00007ffff77742f4 in () at /usr/lib/libgio-2.0.so.0
+ #13 0x00007ffff7776cd7 in () at /usr/lib/libgio-2.0.so.0
+ #14 0x00007ffff7c2034f in get_version_info_ready
+ (device=0x55555578f250, res=0x5555557ea2a0, task=0x555555739e80)
+ at qmi-ctl.c:3746
+ #15 0x00007ffff778ebcf in g_simple_async_result_complete ()
+ at /usr/lib/libgio-2.0.so.0
+ #16 0x00007ffff778ec5a in () at /usr/lib/libgio-2.0.so.0
+ #17 0x00007ffff75a98d1 in g_main_context_dispatch () at
+ /usr/lib/libglib-2.0.so.0
+ #18 0x00007ffff75ab5e9 in () at /usr/lib/libglib-2.0.so.0
+ #19 0x00007ffff75ac5c2 in g_main_loop_run () at
+ /usr/lib/libglib-2.0.so.0
+ #20 0x0000555555599eb0 in main (argc=2, argv=0x7fffffffe4c8)
+ at main.c:181
+
+ src/mm-port-mbim.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 0f588888080140f35bf67991af2dc20ac612d1a0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 12 16:07:18 2019 +0100
+
+ cli,firmware: fix reporting fastboot AT command
+
+ The update method is a bitmask, so check for the flag.
+
+ cli/mmcli-modem-firmware.c | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+commit 3ba89881cc19ff94860c12909acd3cdc01ece7fc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 12 16:06:23 2019 +0100
+
+ cli,firmware: fix reporting firmware update methods in key-value
+ output
+
+ It's a bitmask, so we report a list of strings.
+
+ cli/mmcli-modem-firmware.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 251ca4a847792262e28a3476f9a4ca99d5d5a883
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 11 15:57:36 2019 +0100
+
+ build: update copyright years to 2019
+
+ cli/mmcli.c | 2 +-
+ docs/reference/api/ModemManager-docs.xml | 1 +
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ src/mm-context.c | 2 +-
+ 4 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 5869efff7277e3154e01fec64ae4183020590033
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 11 15:54:14 2019 +0100
+
+ man,mmcli: update for MM 1.10
+
+ docs/man/mmcli.1 | 395
+ +++++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 299 insertions(+), 96 deletions(-)
+
+commit 4ae62ace7f62be94b3ae2d114be33916bd11cc48
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jan 8 15:42:14 2019 +0100
+
+ build: bump version to 1.9.990 (1.10-rc1)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 86c0ed814aa0f1f45ee3e9f9fd03b161551acb34
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jan 8 15:48:40 2019 +0100
+
+ api,firmware: fix html generation
+
+ introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit e826a24e440e90696e4db6dddf576f2c4c70f737
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jan 8 15:35:16 2019 +0100
+
+ build: require libmbim 1.18.0 and libqmi 1.22.0
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 09c5ac061b35ed26f0cf14488c20d8bffddff8ed
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 17 14:10:26 2018 +0100
+
+ mmcli,modem: new `--inhibit` action on the modem object
+
+ Modem device inhibition is really a manager action for which we
+ provide the full modem device 'uid'.
+
+ This new operation allows to perform device inhibition using the modem
+ object as reference, which is more handy than first looking at the
+ device 'uid' and then running the manager action.
+
+ $ sudo mmcli -m 0 --inhibit
+ successfully inhibited device with uid
+ '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12.2'
+ type Ctrl+C to abort this program and remove the inhibition
+ ^C cancelling the operation...
+ successfully uninhibited device with uid
+ '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12.2'
+
+ cli/mmcli-modem.c | 63
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 60 insertions(+), 3 deletions(-)
+
+commit 2212d3e054fbe218c64fa76eeac8480f82d9f623
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Dec 7 16:12:35 2018 +0100
+
+ api,manager: new InhibitDevice() method
+
+ This new method allows users of the ModemManager API to take full
+ control of a given device.
+
+ Unlike other operations in the API, the inhibition is maintained as
+ long as the caller exists in the bus, or until the same caller
+ uninhibits the device.
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/98
+
+ cli/mmcli-manager.c | 54 ++-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 10 +
+ introspection/org.freedesktop.ModemManager1.xml | 21 ++
+ libmm-glib/mm-manager.c | 236 +++++++++++++
+ libmm-glib/mm-manager.h | 26 ++
+ src/mm-base-manager.c | 383
+ +++++++++++++++++++++-
+ src/mm-device.c | 103 ++++++
+ src/mm-device.h | 13 +
+ 8 files changed, 829 insertions(+), 17 deletions(-)
+
+commit e3766aef5d93d6cfec27432c81da3548bdd18ea6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Dec 28 13:03:52 2018 +0100
+
+ dell,dw5821e: also report QMI PDC based update available
+
+ include/ModemManager-enums.h | 2 ++
+ plugins/dell/mm-broadband-modem-dell-dw5821e.c | 3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+commit 87712c27f5868e2f05c03d4fdc2ee79f0ac1c243
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Dec 28 12:59:55 2018 +0100
+
+ api,firmware: MMModemFirmwareUpdateMethod as flags, not enum
+
+ Devices may require/support more than one update method, so instead of
+ reporting the method as a single enum value, use a set of flags
+ instead.
+
+ cli/mmcli-modem-firmware.c | 8 ++---
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 4 +--
+ include/ModemManager-enums.h | 6 ++--
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 25 +++++++++++-----
+ libmm-glib/mm-firmware-update-settings.c | 34
+ +++++++++-------------
+ plugins/quectel/mm-shared-quectel.c | 2 +-
+ 6 files changed, 41 insertions(+), 38 deletions(-)
+
+commit f35d64a8992a06e75585c774090e407ae21f24fe
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Dec 18 15:50:53 2018 +0100
+
+ api,firmware: expose firmware version
+
+ cli/mmcli-modem-firmware.c | 5 +-
+ cli/mmcli-output.c | 1 +
+ cli/mmcli-output.h | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 2 +
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 10 ++++
+ libmm-glib/mm-firmware-update-settings.c | 52
+ +++++++++++++++++++--
+ libmm-glib/mm-firmware-update-settings.h | 3 ++
+ src/mm-iface-modem-firmware.c | 53
+ +++++++++++++++++-----
+ src/mm-iface-modem.c | 18 ++++++++
+ src/mm-iface-modem.h | 5 +-
+ 10 files changed, 133 insertions(+), 17 deletions(-)
+
+commit 67b3b830c87e79827a9934362e673e1a23116026
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 17 17:37:36 2018 +0100
+
+ api,firmware: expose device ids
+
+ cli/mmcli-modem-firmware.c | 16 +++--
+ cli/mmcli-output.c | 1 +
+ cli/mmcli-output.h | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 2 +
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 8 +++
+ libmm-glib/mm-firmware-update-settings.c | 74
+ ++++++++++++++++------
+ libmm-glib/mm-firmware-update-settings.h | 7 ++
+ src/mm-iface-modem-firmware.c | 56 +++++++++++++++-
+ 8 files changed, 139 insertions(+), 26 deletions(-)
+
+commit bc39201f761bd667bcd0c5eb53643a180ce53327
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 17 16:32:57 2018 +0100
+
+ kerneldevice: allow loading device revision
+
+ src/kerneldevice/mm-kernel-device-generic.c | 34
+ ++++++++++++++++++++++++++
+ src/kerneldevice/mm-kernel-device-udev.c | 37
+ ++++++++++++++++++++++++++---
+ src/kerneldevice/mm-kernel-device.c | 10 ++++++++
+ src/kerneldevice/mm-kernel-device.h | 2 ++
+ 4 files changed, 80 insertions(+), 3 deletions(-)
+
+commit dcd49dee8899bfb4ccae7a0bbc200a0a62aeeb04
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 17 14:58:09 2018 +0100
+
+ mmcli,firmware: avoid empty output if firmware status unsupported
+
+ cli/mmcli-modem-firmware.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+commit f69098819b58a6f2f7012376e34035503daa876c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 17 13:53:55 2018 +0100
+
+ iface-modem-firmware: List() and Select() are now optional
+
+ Since the Firmware interface now contains more actions and properties
+ apart from List() and Select(), these two actions are now optional.
+
+ Not all modems implementing the Firmware interface must implement
+ these two methods.
+
+ src/mm-iface-modem-firmware.c | 31 +++++++++++++++++++++++--------
+ 1 file changed, 23 insertions(+), 8 deletions(-)
+
+commit fc02b1320c91367be8f1b9d073fc0da473538647
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 9 15:54:38 2018 +0100
+
+ quectel: report fastboot-based firmware update method and settings
+
+ We'll check for AT+QFASTBOOT support during runtime.
+
+ plugins/Makefile.am | 10 +++
+ plugins/quectel/mm-broadband-modem-qmi-quectel.c | 67 ++++++++++++++++
+ plugins/quectel/mm-broadband-modem-qmi-quectel.h | 47 ++++++++++++
+ plugins/quectel/mm-broadband-modem-quectel.c | 67 ++++++++++++++++
+ plugins/quectel/mm-broadband-modem-quectel.h | 47 ++++++++++++
+ plugins/quectel/mm-plugin-quectel.c | 24 +++---
+ plugins/quectel/mm-shared-quectel.c | 98
+ ++++++++++++++++++++++++
+ plugins/quectel/mm-shared-quectel.h | 49 ++++++++++++
+ 8 files changed, 397 insertions(+), 12 deletions(-)
+
+commit 4b21546f532991dceddab8e573ae6fbb87b28576
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 9 15:31:21 2018 +0100
+
+ dell,dw5821e: report fastboot-based firmware update method and
+ settings
+
+ The DW5821e uses the AT^FASTBOOT command to reset the module in
+ fastboot mode, ready to download new firmware.
+
+ Note: we cannot use AT^FASTBOOT=? to query for support, as that
+ command also triggers the reset :/
+
+ plugins/dell/mm-broadband-modem-dell-dw5821e.c | 40
+ +++++++++++++++++++++++++-
+ 1 file changed, 39 insertions(+), 1 deletion(-)
+
+commit 3c7437d791cf4e805d989ef940aa805f9ecc3848
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 9 15:20:12 2018 +0100
+
+ iface-modem-firmware: make the interface always available
+
+ We no longer "check for support" of this interface, it will always be
+ available for all modem objects.
+
+ The only implementation that used this interface was the QMI one, and
+ only for a very small subset of devices (those supporting the "QMI DMS
+ List Stored Images" operation). The logic was changed so that the list
+ of stored images wasn't preloaded during the support check; it will
+ now instead be preloaded during the first call to List().
+
+ src/mm-broadband-modem-qmi.c | 109 ++++++++++++++++++++++--------------
+ src/mm-iface-modem-firmware.c | 126
+ ++++++------------------------------------
+ src/mm-iface-modem-firmware.h | 8 ---
+ 3 files changed, 87 insertions(+), 156 deletions(-)
+
+commit 8e342cf1204379a11bfe55941d4e722575cb364f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 9 13:54:31 2018 +0100
+
+ api,firmware: new UpdateSettings property
+
+ cli/mmcli-modem-firmware.c | 49 ++-
+ cli/mmcli-output.c | 415
+ +++++++++++----------
+ cli/mmcli-output.h | 5 +-
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 34 ++
+ include/ModemManager-enums.h | 12 +
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 168 +++++----
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-firmware-update-settings.c | 259 +++++++++++++
+ libmm-glib/mm-firmware-update-settings.h | 89 +++++
+ libmm-glib/mm-modem-firmware.c | 145 +++++++
+ libmm-glib/mm-modem-firmware.h | 8 +-
+ src/mm-iface-modem-firmware.c | 44 +++
+ src/mm-iface-modem-firmware.h | 8 +
+ 16 files changed, 967 insertions(+), 275 deletions(-)
+
+commit edf8d349390ec5be8d35f6e7105cde483849aae0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 9 11:27:33 2018 +0100
+
+ api,firmware: remove unimplemented Install() method details
+
+ .../org.freedesktop.ModemManager1.Modem.Firmware.xml | 20
+ --------------------
+ 1 file changed, 20 deletions(-)
+
+commit 55c3026643ee6c75c0a68171abd884edf035b9ba
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 13 10:46:58 2018 +0100
+
+ api: deprecate 'number' in bearer properties
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/99
+
+ cli/mmcli-bearer.c | 3 ---
+ libmm-glib/mm-bearer-properties.c | 44
+ +++++++++++++++----------------
+ libmm-glib/mm-bearer-properties.h | 11 +++++---
+ libmm-glib/mm-simple-connect-properties.c | 16 ++++++++---
+ libmm-glib/mm-simple-connect-properties.h | 11 +++++---
+ src/mm-broadband-bearer.c | 17 ++----------
+ src/mm-iface-modem-simple.c | 2 --
+ 7 files changed, 53 insertions(+), 51 deletions(-)
+
+commit 5dc79ce6069a388db8c94a9fbe35cfee07445bb0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 17 15:18:07 2018 +0100
+
+ libmm-glib: add autoptr cleanup functions for all types
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/100
+
+ libmm-glib/mm-bearer-ip-config.h | 4 ++++
+ libmm-glib/mm-bearer-properties.h | 4 ++++
+ libmm-glib/mm-bearer-stats.h | 4 ++++
+ libmm-glib/mm-bearer.h | 4 ++++
+ libmm-glib/mm-call-audio-format.h | 4 ++++
+ libmm-glib/mm-call-properties.h | 4 ++++
+ libmm-glib/mm-call.h | 4 ++++
+ libmm-glib/mm-cdma-manual-activation-properties.h | 4 ++++
+ libmm-glib/mm-firmware-properties.h | 4 ++++
+ libmm-glib/mm-kernel-event-properties.h | 4 ++++
+ libmm-glib/mm-location-3gpp.h | 4 ++++
+ libmm-glib/mm-location-cdma-bs.h | 4 ++++
+ libmm-glib/mm-location-gps-nmea.h | 4 ++++
+ libmm-glib/mm-location-gps-raw.h | 4 ++++
+ libmm-glib/mm-manager.h | 4 ++++
+ libmm-glib/mm-modem-3gpp-ussd.h | 4 ++++
+ libmm-glib/mm-modem-3gpp.h | 4 ++++
+ libmm-glib/mm-modem-cdma.h | 4 ++++
+ libmm-glib/mm-modem-firmware.h | 4 ++++
+ libmm-glib/mm-modem-location.h | 4 ++++
+ libmm-glib/mm-modem-messaging.h | 4 ++++
+ libmm-glib/mm-modem-oma.h | 4 ++++
+ libmm-glib/mm-modem-signal.h | 4 ++++
+ libmm-glib/mm-modem-simple.h | 4 ++++
+ libmm-glib/mm-modem-time.h | 4 ++++
+ libmm-glib/mm-modem-voice.h | 4 ++++
+ libmm-glib/mm-modem.h | 4 ++++
+ libmm-glib/mm-network-timezone.h | 4 ++++
+ libmm-glib/mm-object.h | 4 ++++
+ libmm-glib/mm-pco.h | 3 +++
+ libmm-glib/mm-signal.h | 4 ++++
+ libmm-glib/mm-sim.h | 4 ++++
+ libmm-glib/mm-simple-connect-properties.h | 4 ++++
+ libmm-glib/mm-simple-status.h | 3 +++
+ libmm-glib/mm-sms-properties.h | 4 ++++
+ libmm-glib/mm-sms.h | 4 ++++
+ libmm-glib/mm-unlock-retries.h | 4 ++++
+ 37 files changed, 146 insertions(+)
+
+commit 2b18af89b4b46bdf1dc8701ba96c48a76d706336
+Author: Khem Raj <raj.khem@gmail.com>
+Date: Tue Dec 18 23:10:44 2018 -0800
+
+ Do not pass null string to %s printf formatted string
+
+ Here the string is already decided to be NULL and passing
+ a null pointer to %s will not work
+
+ Fixes
+ error: '%s' directive argument is null
+
+ Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+ plugins/mtk/mm-broadband-modem-mtk.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ef942ca56442ecac3a22803cc87b18ce9b8cd97c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 17 15:04:25 2018 +0100
+
+ iface-modem-firmware: fix reporting empty firmware list
+
+ ModemManager[2804]: <warn> [1545055222.508649] No valid firmware
+ images listed. Assuming firmware unsupported.
+ ModemManager[2804]: <debug> [1545055222.508665] firmware list
+ loading failed: unsupported
+ ModemManager[2804]: <debug> [1545055222.508683] Couldn't load
+ firmware image list: firmware list unknown
+ ModemManager[2804]: <debug> [1545055222.508728] Couldn't load
+ current firmware image: current firmware unknown
+
+ (ModemManager:2804): GLib-CRITICAL **:
+ 15:00:22.508: g_variant_builder_end: assertion
+ '!GVSB(builder)->uniform_item_types ||
+ GVSB(builder)->prev_item_type != NULL ||
+ g_variant_type_is_definite (GVSB(builder)->type)' failed
+
+ Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint
+ trap.
+ 0x00007ffff75b39b6 in ?? () from /usr/lib/libglib-2.0.so.0
+ (gdb) bt
+ #0 0x00007ffff75b39b6 in () at /usr/lib/libglib-2.0.so.0
+ #1 0x00007ffff75b4363 in g_logv () at /usr/lib/libglib-2.0.so.0
+ #2 0x00007ffff75b4560 in g_log () at /usr/lib/libglib-2.0.so.0
+ #3 0x00007ffff758867d in g_variant_builder_end () at
+ /usr/lib/libglib-2.0.so.0
+ #4 0x00005555555e4d12 in load_current_ready
+ (self=0x55555579c330, res=0x5555557388e0, ctx=0x5555557d6d80)
+ at mm-iface-modem-firmware.c:84
+ #5 0x00007ffff778f194 in () at /usr/lib/libgio-2.0.so.0
+ #6 0x00007ffff778f1c9 in () at /usr/lib/libgio-2.0.so.0
+ #7 0x00007ffff75c4271 in g_main_context_dispatch () at
+ /usr/lib/libglib-2.0.so.0
+ #8 0x00007ffff75c5f89 in () at /usr/lib/libglib-2.0.so.0
+ #9 0x00007ffff75c6f62 in g_main_loop_run () at
+ /usr/lib/libglib-2.0.so.0
+ #10 0x0000555555597aa0 in main (argc=2, argv=0x7fffffffe488)
+ at main.c:181
+
+ src/mm-iface-modem-firmware.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 85ac6f12f5ebd54e3865d72e7c968310fabebd85
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 17 14:32:48 2018 +0100
+
+ docs,libmm-glib: update copyright
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1a14b687deb717ad1ea51075f0d92a0a9e35d2d8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 16 09:20:35 2018 +0100
+
+ ublox,tests: avoid using deprecated band symbols
+
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 7d9c7e0bf440f7d0cc03ea06fb24d30bd0379406
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 16 09:20:25 2018 +0100
+
+ telit: avoid using deprecated band symbols
+
+ plugins/telit/mm-modem-helpers-telit.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 04720d079520e5a71a52845c9ebe156744cba894
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 13 15:27:28 2018 +0100
+
+ libmm-glib,modem-3gpp: add guards around deprecated symbols
+
+ libmm-glib/mm-modem-3gpp.c | 4 ++++
+ libmm-glib/mm-modem-3gpp.h | 5 ++++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+commit 0d6e2dc9f57888e72ee3433e702e469c58022651
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Dec 12 16:58:46 2018 -0800
+
+ altair-lte: use mm_autoptr instead of g_autoptr
+
+ commit 397faef3c5ce ("mm-common-helpers: add mm_autoptr helpers for
+ GRegex and GMatchInfo") introduces mm_autoptr(), which implements
+ g_autoptr() that isn't available before glib 2.44. This patch
+ fixes the
+ code to consistently uses mm_autoptr().
+
+ plugins/altair/mm-modem-helpers-altair-lte.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 1cee215f83461b0d141ce68abddb093d870c2ea8
+Author: Bob Ham <bob.ham@puri.sm>
+Date: Wed Sep 26 06:59:42 2018 +0000
+
+ base-call: Increase incoming call timeout to ten seconds
+
+ The standard says a RING or CRING should be emitted whenever the
+ network sends an incoming call notification, which is nation-specific:
+
+ "Interpretation of indications from the network to determine what
+ constitutes a "ring" is defined by national regulations. This
+ result code should be repeated each time the network repeats the
+ incoming call indication." -- ITU-T Rec. V.250, p. 42
+
+ On the giffgaff (O2) network in the UK, a SIMCom SIM7100E modem emits
+ RING indicators every six seconds. The current timeout is only five
+ seconds resulting in a stream of timed-out ModemManager call objects
+ whenever there is an incoming call. To fix this, we increase the
+ timeout to ten seconds.
+
+ src/mm-base-call.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 318d45353231c778d157ea3a4693eab0dcb51756
+Author: Bob Ham <bob.ham@puri.sm>
+Date: Wed Dec 12 11:13:02 2018 +0000
+
+ base-call: Fix in-call URC regex to match handler logic
+
+ The handler assumes the regex sub-expressions each have the same index
+ so they need to be within the same set of parentheses rather than each
+ individually parenthesised. Without this fix, call state changes are
+ missed.
+
+ src/mm-base-call.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6d273839e961734fd8e9b042205c68c738fd89f8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 9 10:12:57 2018 +0100
+
+ docs,libmm-glib: add missing methods for the Version property
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 26e269ec70fbd986ae2818254c6cd5131e94b985
+Author: LiuQiFeng <liuqf@fibocom.com>
+Date: Mon Dec 10 13:13:53 2018 +0100
+
+ dell: support XMM-based devices
+
+ plugins/Makefile.am | 19 ++++++++++++++++---
+ plugins/dell/mm-plugin-dell.c | 38 ++++++++++++++++++++++++++++++--------
+ 2 files changed, 46 insertions(+), 11 deletions(-)
+
+commit e198ec7f2ada7b2b3a92a9661c3218852aa6b47a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Dec 8 10:08:39 2018 +0100
+
+ base-manager: load subsys/name once in device_added()
+
+ src/mm-base-manager.c | 25 ++++++++++---------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+commit e34699cc9e3a66bd6316479f3c5ee86da4cd71e3
+Author: Bob Ham <bob.ham@puri.sm>
+Date: Fri Dec 7 15:19:05 2018 +0000
+
+ policy: Call method name should be SendDtmf rather than SendTone
+
+ The method on MMBaseCall is send_tone but the D-Bus method call is
+ SendDtmf. Without this patch, calls return
+ org.freedesktop.DBus.Error.AccessDenied.
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cae7377a61db232c2cc0ccc0ad6bbdd1c709712b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 6 14:54:19 2018 +0100
+
+ iface-modem: always connect all method handlers, even in failed state
+
+ So that the returned error is much more descriptive.
+
+ E.g. instead of this:
+ $ sudo mmcli -m 0 -e
+ error: couldn't enable the modem:
+ 'GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod:
+ Method Enable is not implemented on interface
+ org.freedesktop.ModemManager1.Modem'
+ We'll get this:
+ $ sudo mmcli -m 0 -e
+ error: couldn't enable the modem:
+ 'GDBus.Error:org.freedesktop.ModemManager1.Error.Core.WrongState:
+ modem in failed state'
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/96
+
+ src/mm-iface-modem.c | 157
+ +++++++++++++++++++++++----------------------------
+ 1 file changed, 72 insertions(+), 85 deletions(-)
+
+commit 27276bf8626894b3814791d0e170ee56c177e3f0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 6 14:14:58 2018 +0100
+
+ iface-modem: remove redundant logic to update failed state
+
+ When the MMIfaceModem initialization returns with the SIM_NOT_INSERTED
+ error, the base logic is already updating the modem failed reason to
+ SIM_MISSING. There is no need to do that explicitly for the case where
+ SIM hot swap is supported.
+
+ src/mm-iface-modem.c | 16 +---------------
+ 1 file changed, 1 insertion(+), 15 deletions(-)
+
+commit f4941ede665bffbf1cd25266781da6625fb09fb0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 6 14:06:56 2018 +0100
+
+ xmm,dell: add defaults for MBIM-derived objects
+
+ For subclasses of MMBroadbandModemMbim, also apply the same property
+ defaults. E.g. we want to avoid peridic signal quality polling and we
+ also want to report that SIM hot swap is supported.
+
+ plugins/dell/mm-broadband-modem-dell-dw5821e.c | 4 ++++
+ plugins/xmm/mm-broadband-modem-mbim-xmm.c | 3 +++
+ 2 files changed, 7 insertions(+)
+
+commit 88e4c0492ddf89f76fb700816fe0c421601d354d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 6 15:11:49 2018 +0100
+
+ cli,modem: output should include all 3GPP EPS fields always
+
+ Even if some fields wouldn't apply to some modem, we're always
+ including all in the output so that clients can assume the fields are
+ always given.
+
+ Fix adding the 3GPP EPS related fields unconditionally.
+
+ cli/mmcli-modem.c | 50 +++++++++++++++++++++++---------------------------
+ 1 file changed, 23 insertions(+), 27 deletions(-)
+
+commit c12b5fa0271cc5a38dd437078c0c3d44ff484687
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 20 10:17:44 2018 +0100
+
+ broadband-modem-mbim: implement initial EPS bearer settings updating
+
+ We use the "LTE attach config" extension defined by Microsoft
+ to update
+ the initial EPS bearer settings.
+
+ https://docs.microsoft.com/en-us/windows-hardware/drivers/network/mb-lte-attach-operations
+
+ src/mm-broadband-modem-mbim.c | 171
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 171 insertions(+)
+
+commit 2b25673f3460821cf9294f6feda9faffcb0e85ef
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 6 08:06:57 2018 +0100
+
+ broadband-modem-mbim: implement initial EPS bearer settings loading
+
+ We use the "LTE attach config" extension defined by Microsoft to query
+ the initial EPS bearer settings.
+
+ https://docs.microsoft.com/en-us/windows-hardware/drivers/network/mb-lte-attach-operations
+
+ src/mm-broadband-modem-mbim.c | 122
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 122 insertions(+)
+
+commit 1e09b586a72bf4d7ff8ea6badc65289f57ade760
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 20 10:17:38 2018 +0100
+
+ broadband-modem-mbim: implement initial EPS bearer status support
+
+ We use the "LTE attach status" extension defined by Microsoft to query
+ and monitor the initial EPS bearer settings.
+
+ https://docs.microsoft.com/en-us/windows-hardware/drivers/network/mb-lte-attach-operations
+
+ src/mm-broadband-modem-mbim.c | 181
+ +++++++++++++++++++++++++++++++++++++++---
+ src/mm-iface-modem-3gpp.c | 30 +++----
+ 2 files changed, 185 insertions(+), 26 deletions(-)
+
+commit 48ba504f4e7e59cde380954fba84a790d34eaef4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 14 18:00:38 2018 +0100
+
+ helpers-mbim: new method to convert IP type settings to/from MM
+
+ src/mm-bearer-mbim.c | 26 +++------------------
+ src/mm-modem-helpers-mbim.c | 56
+ ++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-helpers-mbim.h | 3 +++
+ 3 files changed, 61 insertions(+), 24 deletions(-)
+
+commit d6e2c69129900f50dd8c0ed6cb9a7a17c141a85e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 14 17:46:38 2018 +0100
+
+ helpers-mbim: new method to convert auth settings to/from MM
+
+ src/mm-bearer-mbim.c | 26 ++++-------------------
+ src/mm-modem-helpers-mbim.c | 50
+ +++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-mbim.h | 4 ++++
+ 3 files changed, 58 insertions(+), 22 deletions(-)
+
+commit 4cb6751dafc20a55192b61eb8a6ab97d3c95c398
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 6 08:04:13 2018 +0100
+
+ api,modem-3gpp: new 'SetInitialEpsBearerSettings' method
+
+ This method allows users to modify the settings used during the
+ initial LTE attach procedure.
+
+ cli/mmcli-modem-3gpp.c | 76 ++++++++++
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 7 +
+ ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 28 ++++
+ libmm-glib/mm-modem-3gpp.c | 86 +++++++++++
+ libmm-glib/mm-modem-3gpp.h | 13 ++
+ src/mm-iface-modem-3gpp.c | 161
+ +++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 9 ++
+ 7 files changed, 380 insertions(+)
+
+commit 8281b5048bc002dd2b049fdad041a35b7175eca7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 6 07:55:58 2018 +0100
+
+ api,modem-3gpp: new 'InitialEpsBearerSettings' property
+
+ This property shows the settings stored in the device to be used
+ during the initial LTE attach procedure.
+
+ cli/mmcli-modem.c | 21 ++
+ cli/mmcli-output.c | 316
+ +++++++++++----------
+ cli/mmcli-output.h | 4 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 5 +
+ ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 13 +
+ libmm-glib/mm-modem-3gpp.c | 147 ++++++++++
+ libmm-glib/mm-modem-3gpp.h | 8 +-
+ src/mm-iface-modem-3gpp.c | 44 +++
+ src/mm-iface-modem-3gpp.h | 8 +
+ 9 files changed, 408 insertions(+), 158 deletions(-)
+
+commit 9c3ac2fb6023b87d065221f845969b0f06e26363
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 13 12:31:47 2018 +0100
+
+ api,modem-3gpp: new 'InitialEpsBearer' property
+
+ This property contains the DBus path of a Bearer object of type
+ MM_BEARER_TYPE_DEFAULT_ATTACH, which is automatically exposed by the
+ modem when registered in the LTE network.
+
+ Unlike standard bearer objects created by the user, this bearer won't
+ allow any connection/disconnection request, as its status is bound to
+ the LTE registration exclusively.
+
+ The bearer settings exposed by the object include the APN details that
+ have been used during the initial packet network attach, which may be
+ defined by modem settings (e.g. if previously configured in the
+ firmware which APN to use for the given SIM card operator) or by the
+ network itself (e.g. if none configured, or if a network override is
+ required as when roaming).
+
+ The bearer object will be created as soon as the LTE attach status
+ details are known, and only while the modem is enabled. The
+ implementation allows modems to update the LTE attach status details
+ during runtime, so the bearer object with the settings may be
+ recreated during runtime as well.
+
+ cli/mmcli-bearer.c | 8 +-
+ cli/mmcli-common.c | 129 +++++++--
+ cli/mmcli-modem.c | 8 +-
+ cli/mmcli-output.c | 312
+ +++++++++++----------
+ cli/mmcli-output.h | 5 +-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 11 +-
+ ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 7 +
+ .../org.freedesktop.ModemManager1.Modem.xml | 5 +-
+ libmm-glib/mm-modem-3gpp.c | 179 ++++++++++++
+ libmm-glib/mm-modem-3gpp.h | 17 +-
+ src/mm-base-bearer.c | 28 +-
+ src/mm-broadband-modem.c | 37 +++
+ src/mm-iface-modem-3gpp.c | 107 +++++++
+ src/mm-iface-modem-3gpp.h | 16 ++
+ 14 files changed, 675 insertions(+), 194 deletions(-)
+
+commit dc154cf005bbcb2f0bd1123093f6ac3c402c4de8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 11 14:46:53 2018 +0100
+
+ api,bearer: new 'BearerType' property
+
+ Until now we have only allowed to use and setup 'default bearers' (in
+ 4G) or 'primary contexts' (in 2G/3G).
+
+ We can define a couple of additional bearer types, though:
+
+ * The 'dedicated bearers' (in 4G) or 'secondary contexts' (in 2G/3G),
+ which are associated to a specific default/primary one, but which
+ provide specific QoS settings configured via traffic flow templates.
+
+ * The 'initial default EPS bearer', which is a special case of default
+ bearer in LTE, which is automatically created and connected when the
+ modem is registered in the LTE network.
+
+ This commit introduces a new 'MMBearerType' enumeration that will be
+ associated to each bearer through a 'BearerType' property in the
+ org.freedesktop.ModemManager1.Bearer interface, showing what kind of
+ bearer/context this is.
+
+ By default, right now, all bearer objects created are 'default'
+ bearers.
+
+ cli/mmcli-bearer.c | 1 +
+ cli/mmcli-output.c | 1 +
+ cli/mmcli-output.h | 1 +
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 7 +++++++
+ include/ModemManager-enums.h | 22
+ ++++++++++++++++++++++
+ .../org.freedesktop.ModemManager1.Bearer.xml | 7 +++++++
+ .../org.freedesktop.ModemManager1.Modem.xml | 4 +++-
+ libmm-glib/mm-bearer.c | 18
+ ++++++++++++++++++
+ libmm-glib/mm-bearer.h | 16 +++++++++-------
+ src/mm-base-bearer.c | 19
+ ++++++++++---------
+ 11 files changed, 80 insertions(+), 17 deletions(-)
+
+commit 46d627ff831b7d4d609060d77cd852f42cfcfa83
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Dec 7 17:00:36 2018 +0100
+
+ libmm-glib: fix mm_manager_scan() operation
+
+ The reporting of the operation result was reversed in the async
+ method.
+
+ libmm-glib/mm-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1ef58be792e992f0c4fee3e2f8ac274d2b832a40
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Dec 7 16:58:35 2018 +0100
+
+ libmm-glib: fix mm_manager_set_logging() operation
+
+ The reporting of the operation result was reversed in the async
+ method.
+
+ libmm-glib/mm-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 397faef3c5ce9eb5274adc73d31bd8002dd28c21
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 3 11:40:43 2018 -0600
+
+ mm-common-helpers: add mm_autoptr helpers for GRegex and GMatchInfo
+
+ Alias them to g_autoptr() on glib >= 2.44, otherwise re-implement.
+
+ libmm-glib/mm-common-helpers.h | 23 +++++++++++++++++++++++
+ plugins/altair/mm-modem-helpers-altair-lte.c | 27
+ ++++++---------------------
+ 2 files changed, 29 insertions(+), 21 deletions(-)
+
+commit 9c15579347c0e8adfafbc11aeaccdfebaa8ac626
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Dec 4 14:18:23 2018 +0100
+
+ build: version bump to flag existence of new API (runtime version
+ reporting)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c7af14cc80509fd05500c747bda379f93a62582d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 3 15:21:29 2018 +0100
+
+ api,manager: new 'Version' property
+
+ This string shows the runtime version of the ModemManager daemon.
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/94
+
+ cli/mmcli-manager.c | 18 ++++++++++++--
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 1 +
+ introspection/org.freedesktop.ModemManager1.xml | 7 ++++++
+ libmm-glib/mm-manager.c | 29
+ ++++++++++++++++++++---
+ libmm-glib/mm-manager.h | 2 ++
+ src/mm-base-manager.c | 2 ++
+ 6 files changed, 54 insertions(+), 5 deletions(-)
+
+commit d0bb8d1d503f2ce01ea85625294c238aa831d298
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Dec 4 09:55:58 2018 +0100
+
+ libmm-glib,manager: fix manager interface proxy creation
+
+ We were re-using the GDBusObjectManagerClientFlags set in the
+ MMManager object as GDBusProxyFlags for the Manager1 interface proxy
+ object, and that was completely broken.
+
+ Instead of setting "DO_NOT_AUTO_START" in the proxy, we were actually
+ setting "DO_NOT_LOAD_PROPERTIES"...
+
+ libmm-glib/mm-manager.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit 3b743dcc362c0859958d4be5a52abb453222b3c2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Dec 1 18:02:17 2018 +0100
+
+ helpers-qmi: fix UTRAN band 6 vs band 19 mapping
+
+ Looks like the original band 6 mapping was ok, and the mismatch was
+ introduced when adding support for band 19.
+
+ https://forum.sierrawireless.com/t/utran-19-band-configuration-in-sdk/14625
+
+ Fixes 518d62e731534cb4834a10e86f32ee31300de98b.
+
+ src/mm-modem-helpers-qmi.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 03fdb33e1c2e39cab2629ed3f16ddbc05b7752d8
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Nov 29 16:37:58 2018 -0800
+
+ cli,output: include string.h for strlen()
+
+ This patch fixes the following compiler warning:
+
+ mmcli-output.c:783:19: error: implicitly declaring library
+ function 'strlen' with type 'unsigned long (const char *)'
+ [-Werror,-Wimplicit-function-declaration]
+ aux = strlen
+ (section_infos[field_infos[item_l->field].section].name);
+ ^
+
+ cli/mmcli-output.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 9389265bababbacab0ab73388ed74db66e29cc26
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Nov 29 16:35:44 2018 -0800
+
+ cli,call: fix incorrect string conversion of MMCallStateReason enum
+
+ This patch fixes the following issue with string conversion of a
+ MMCallStateReason enum:
+
+ mmcli-call.c:160:88: error: implicit conversion from enumeration
+ type 'MMCallStateReason' to different enumeration type 'MMCallState'
+ [-Werror,-Wenum-conversion]
+ mmcli_output_string (MMC_F_CALL_PROPERTIES_STATE_REASON,
+ mm_call_state_get_string (mm_call_get_state_reason (call)));
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ cli/mmcli-call.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7510b3355d7c1a670ab1eff373ef04bc5a8ad282
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 28 11:58:33 2018 +0100
+
+ base-modem: fix segfault when disposing modem
+
+ If we have a modem reference around during an ongoing operation but
+ the modem has already been disposed after getting removed from the
+ system, we were trying to iterate a NULL hash table, which led to a
+ crash.
+
+ https://lists.freedesktop.org/archives/modemmanager-devel/2018-November/006915.html
+
+ Reported by Sebastien Fabre <sebastien.fabre@sigfox.com>
+
+ src/mm-base-modem.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit b0fba14b1e122522a1db2581779ffb94ee7cfa37
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Oct 27 14:46:38 2018 +0200
+
+ cli: allow multiple output format types
+
+ In addition to the standard human-friendly output, we now allow a
+ machine-friendly key-value pair output, much easier to parse and use
+ by programs that look at the mmcli output.
+
+ This new key-value pair output should be treated as API from now
+ on, so
+ third-party programs can assume the output is compatible from one
+ release to another.
+
+ cli/Makefile.am | 4 +-
+ cli/mmcli-bearer.c | 248 +++++-----
+ cli/mmcli-call.c | 51 +-
+ cli/mmcli-manager.c | 66 +--
+ cli/mmcli-modem-3gpp.c | 68 +--
+ cli/mmcli-modem-firmware.c | 46 +-
+ cli/mmcli-modem-location.c | 185 +++-----
+ cli/mmcli-modem-messaging.c | 63 +--
+ cli/mmcli-modem-oma.c | 50 +-
+ cli/mmcli-modem-signal.c | 106 +++--
+ cli/mmcli-modem-time.c | 36 +-
+ cli/mmcli-modem-voice.c | 40 +-
+ cli/mmcli-modem.c | 358 +++++---------
+ cli/mmcli-output.c | 1099
+ +++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli-output.h | 324 +++++++++++++
+ cli/mmcli-sim.c | 25 +-
+ cli/mmcli-sms.c | 117 ++---
+ cli/mmcli.c | 16 +
+ 18 files changed, 1994 insertions(+), 908 deletions(-)
+
+commit cafc40245d2007ad3a9a33875fc6b71d25e6a254
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Nov 3 12:04:01 2018 +0100
+
+ cli,location: remove redundant --location-get-XXX actions
+
+ The --location-get action provides full location information from all
+ sources, which is better than per-source actions, as those were anyway
+ using the same API method to load location information as the global
+ one.
+
+ cli/mmcli-modem-location.c | 221
+ +++++++++++++++------------------------------
+ 1 file changed, 71 insertions(+), 150 deletions(-)
+
+commit 613aceabda4bbcfd037be746567e568339a37ed0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 2 21:24:01 2018 +0100
+
+ cli,simple: remove redundant --simple-status action
+
+ The Simple.GetStatus() method is useful for simple DBus clients that
+ don't need all the information associated to the modem, just the most
+ important bits. But, in our case, the information provided by this
+ method is already given by the standard modem info output, so it is
+ totally redundant.
+
+ cli/mmcli-modem-simple.c | 168
+ +----------------------------------------------
+ 1 file changed, 1 insertion(+), 167 deletions(-)
+
+commit 72674225caf25e680003fb52fa805bf4615ad18f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 1 21:46:37 2018 +0100
+
+ api,modem: deprecate ListBearers() method
+
+ This method is completely unnecessary as we have the readable Bearers
+ property already in place, so let's deprecate it.
+
+ Worth noting that the mm_modem_list_bearers() async/sync methods in
+ libmm-glib were not really using the ListBearers() method anyway, they
+ are using the property directly. These methods are NOT deprecated,
+ because they allow us to get a list of MMBearer objects, instead of
+ just the list of DBus paths that we get when reading the Bearers
+ property directly.
+
+ We also remove --list-bearers from the mmcli operation list as we have
+ already the same information in the standard modem output.
+
+ cli/mmcli-modem.c | 68
+ ----------------------
+ .../org.freedesktop.ModemManager1.Modem.xml | 3 +
+ 2 files changed, 3 insertions(+), 68 deletions(-)
+
+commit a15193b7ca7c1b18f3aa6ee290f1c2866ab40a8c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Oct 19 15:55:21 2018 +0200
+
+ broadband-modem: enable and handle +CGEV indications
+
+ The +CGEV indications allow us to get notified of packet domain
+ events like network-initiated or ME-initiated disconnections on
+ specific connected contexts, as well as full PS detach events (all
+ contexts disconnected). If the modem supports these indications, we
+ will enable them with +CGEREP and will then process them when they are
+ emitted by the modem.
+
+ If a full PS detach event happens, we will explicitly disconnect all
+ connected bearers.
+
+ If a deactivation inidication is received for a single context, we
+ will look for the associated bearer by CID and explicitly disconnect
+ it.
+
+ src/mm-broadband-modem.c | 548
+ +++++++++++++++++++++++++++++++++--------
+ src/mm-modem-helpers.c | 315 +++++++++++++++++++++++
+ src/mm-modem-helpers.h | 42 ++++
+ src/tests/test-modem-helpers.c | 157 ++++++++++++
+ 4 files changed, 953 insertions(+), 109 deletions(-)
+
+commit 73df7087fd218e9d95fb72c00fbcdf0cc5ccf1ac
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 19 13:17:29 2018 +0100
+
+ cli,signal: fix missing separator in GSM block
+
+ Each group of items should have a separator.
+
+ cli/mmcli-modem-signal.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit b98accf66022fe104d113190a54cefbe8cd29d82
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 19 12:11:52 2018 +0100
+
+ cli,signal: fix unknown value reporting
+
+ At this point we want the values enclosed between single quotes,
+ e.g. so that the fields are parsed easier by scripts.
+
+ This issue will not have any practical relevance as soon as the
+ key-value pair output support is merged.
+
+ cli/mmcli-modem-signal.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cc6a286cc43bc2718e287f730b30ef0bbdce87a5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 12 12:25:33 2018 +0100
+
+ dell: don't ignore ttyUSB1 in the DW5821e
+
+ This port was ignored because it was non-functional in early
+ development firmware images, and made device probing very slow.
+
+ This has been solved in the first production images of the DW5821e
+ module.
+
+ plugins/dell/77-mm-dell-port-types.rules | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ce945dc15f147e0287c40a6d84bf2553d6568738
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 11 14:34:40 2018 +0100
+
+ doc,libmm-glib: mm_pco_new() is not part of public API
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 270d3318eaa239dc594e87f9525a41f30f512736
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 11 14:33:15 2018 +0100
+
+ docs,libmm-glib: flag as private the mm_location_3gpp_reset() method
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 8b8bc0773f70961807d0208449a132b9fd673aab
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 11 14:30:33 2018 +0100
+
+ libmm-glib,bearer-properties: don't document non-public API
+
+ To avoid gtk-doc complaining about that.
+
+ libmm-glib/mm-bearer-properties.c | 19 -------------------
+ 1 file changed, 19 deletions(-)
+
+commit e9fd90a70c8bf9b4d58387607ab52c294efbec2e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 11 14:27:34 2018 +0100
+
+ libmm-glib,3gpp: add missing set_eps_ue_mode_operation() API docs
+
+ libmm-glib/mm-modem-3gpp.c | 43
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+commit ae84e3faf48fdb235d40f59d2f449d47dd1a1967
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 11 14:21:50 2018 +0100
+
+ docs: remove duplicated mm-call-audio-format section
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 28
+ -----------------------
+ 1 file changed, 28 deletions(-)
+
+commit bf1b396596f2bbe9bc47c4ee5fb6176c3f14711e
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Nov 7 10:26:23 2018 -0800
+
+ tests: use memcmp() instead of g_assert_cmpmem() for now
+
+ g_assert_cmpmem() isn't available until glib 2.46, while the minimum
+ glib version required by ModemManager is 2.36. This patch replaces the
+ uses of g_assert_cmpmem() with memcmp() instead.
+
+ libmm-glib/tests/test-pco.c | 3 +--
+ plugins/altair/tests/test-modem-helpers-altair-lte.c | 3 +--
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+commit 2522efb35964154cc5607f37941a7381c3eb0d09
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Nov 6 13:40:43 2018 -0800
+
+ broadband-modem-mbim: update ms-basic-connect-extensions naming
+
+ libmbim 1.17.4 (commit 3eeaa4248b98 "ms-basic-connect-extensions:
+ rename
+ service") added a MS prefix to the Basic Connectivity Extensions
+ service. This patch updates the MMBroadbandModemMbim code accordingly.
+
+ configure.ac | 2 +-
+ src/mm-broadband-modem-mbim.c | 22 +++++++++++-----------
+ 2 files changed, 12 insertions(+), 12 deletions(-)
+
+commit 98fbc7a8b39aa84c905a7ce3c7b412ee04566f26
+Author: Sven Schwermer <sven.schwermer@disruptive-technologies.com>
+Date: Wed Oct 31 08:26:11 2018 +0100
+
+ ublox: Add CDC-ECM support for SARA/LISA-U2xx
+
+ The SARA-U2xx and LISA-U20x require the PDP context to be activated
+ via
+ +UCEDATA instead of +CGACT=1 when using the CDC-ECM USB profile.
+ Furthermore, they expect the DHCP discover packet from the TE
+ while the
+ command is running, i.e. while the modem has not replied yet. In order
+ to achieve that, the bearer is marked as connected as soon as the
+ command is issued. This makes the NetworkManager start the DHCP
+ process.
+ If the modem replies with an error, the bearer will be marked
+ disconnected later on.
+
+ Signed-off-by: Sven Schwermer
+ <sven.schwermer@disruptive-technologies.com>
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 106
+ +++++++++++++++++++++++++++---
+ 1 file changed, 96 insertions(+), 10 deletions(-)
+
+commit 668d6af408ef45bda75e43b269625385635ec1de
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Oct 27 11:18:47 2018 +0200
+
+ docs: add missing MMCallAudioFormat reference in docs
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a32883d358834d2c2aea8b75fcfb46078e76a54f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Oct 27 10:13:50 2018 +0200
+
+ doc: fix multiple missing references
+
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 55
+ +++++++++++++++++++++--
+ 2 files changed, 52 insertions(+), 4 deletions(-)
+
+commit 864679543b2a858d2066b77edc53737cd96f39ec
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 26 21:42:11 2018 -0700
+
+ build: ignore generated ChangeLog
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit aa85aeae3d5659f7f14fb7facd4bfe078587c463
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 26 23:00:06 2018 -0700
+
+ libqcdm: remove useless checks on always true condition
+
+ result.c: In function ‘qcdm_result_add_u8_array’:
+ result.c:338:36: error: comparison of unsigned expression >= 0 is
+ always true [-Werror=type-limits]
+ qcdm_return_if_fail (array_len >= 0);
+
+ result.c: In function ‘qcdm_result_add_u16_array’:
+ result.c:418:36: error: comparison of unsigned expression >= 0 is
+ always true [-Werror=type-limits]
+ qcdm_return_if_fail (array_len >= 0);
+ ^
+
+ libqcdm/src/result.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 737eff557dd1231db11249fcbb8106803ca86272
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 26 23:00:05 2018 -0700
+
+ modem-helpers: remove useless checks on always true condition
+
+ mm-modem-helpers.c:3075:31: error: comparison of unsigned expression
+ >= 0 is always true [-Werror=type-limits]
+ g_return_val_if_fail (idx >= 0, NULL);
+ ^
+
+ src/mm-modem-helpers.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit b76db60313139126c6d932da89479a5ed1d5074f
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 26 10:56:57 2018 -0700
+
+ ublox: fix username and password passed to +UAUTHREQ
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit be81f7e5a21cd42b708ab3b5af5c56cd4fdff35c
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 11 11:36:00 2018 -0700
+
+ sim-qmi: use QMI UIM service to read IMSI if needed
+
+ If a QMI modem doesn't support the deprecated DMS_UIM_GET_IMSI
+ command,
+ use the UIM_READ_TRANSPARENT command to read EFimsi on the SIM to
+ determine the IMSI.
+
+ src/mm-sim-qmi.c | 77
+ ++++++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 70 insertions(+), 7 deletions(-)
+
+commit 055177fdf0b9cc461920bf0c488fab461d1ced06
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 11 11:36:00 2018 -0700
+
+ sim-qmi: use QMI UIM service to read ICCID if needed
+
+ If a QMI modem doesn't support the deprecated DMS_UIM_GET_ICCID
+ command,
+ use the UIM_READ_TRANSPARENT command to read EFiccid on the SIM to
+ determine the ICCID.
+
+ src/mm-sim-qmi.c | 166
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 159 insertions(+), 7 deletions(-)
+
+commit 942bdeaec26eb587f39e9709dff0174bc4bfdd42
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Oct 20 20:20:54 2018 -0700
+
+ modem-helpers: new helper to convert binary-coded decimals
+
+ This patch adds a mm_bcd_to_string() helper function to convert a byte
+ array representing a binary-coded decimal (BCD) number to a string
+ representing the equivalent decimal number.
+
+ src/mm-modem-helpers.c | 20 ++++++++++++++++++++
+ src/mm-modem-helpers.h | 2 ++
+ src/tests/test-modem-helpers.c | 38
+ ++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 60 insertions(+)
+
+commit 025fcb7e92dde84c45085a1087375413c23d8ab7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jul 28 22:34:00 2018 +0200
+
+ api: deprecate SubscriptionState property
+
+ ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 4 ++
+ libmm-glib/mm-modem-3gpp.c | 12 +++-
+ libmm-glib/mm-modem-3gpp.h | 5 +-
+ src/mm-broadband-modem.c | 33 ---------
+ src/mm-iface-modem-3gpp.c | 80
+ ----------------------
+ src/mm-iface-modem-3gpp.h | 8 ---
+ 6 files changed, 17 insertions(+), 125 deletions(-)
+
+commit 408a2a9c6cef91e11a3ed5e09c140e175534822d
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 18 16:37:19 2018 -0700
+
+ altair-lte: migrate from SubscriptionState to Pco property
+
+ In preparation of deprecating the SubscriptionState property in the
+ Modem3gpp interface, this CL updates the altair-lte plugin to
+ update the
+ Pco property in the Modem3gpp interface upon receiving %PCOINFO
+ notification.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 186
+ +++++----------------
+ plugins/altair/mm-modem-helpers-altair-lte.c | 123 +++++++-------
+ plugins/altair/mm-modem-helpers-altair-lte.h | 5 +-
+ .../altair/tests/test-modem-helpers-altair-lte.c | 109 ++++++++----
+ 4 files changed, 183 insertions(+), 240 deletions(-)
+
+commit beb1aab17885bd2577964790986c5a79b6c120d7
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Oct 20 11:15:36 2018 -0700
+
+ sierra: remove unused 'self' variable in scact_periodic_query_ready()
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 55e011b5da14ee611f6ea21d89d48e429da7a1bb
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Oct 20 11:15:23 2018 -0700
+
+ broadband-bearer: remove unused 'self' variables
+
+ src/mm-broadband-bearer.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 14ca3efb7f1291075a55f85cd8d6df61db270d65
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Oct 20 00:47:19 2018 -0700
+
+ xmm: remove unused 'priv' variable in xact_query_bands_ready()
+
+ plugins/xmm/mm-shared-xmm.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 9c03ce033c558302ec65f7a2858feb715f672682
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Oct 20 00:46:44 2018 -0700
+
+ base-call: remove unused 'self' variables
+
+ src/mm-base-call.c | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+commit 436f9ef7e6d5f04ef1c01e595831a7ae9a4f2cbf
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Oct 17 23:06:49 2018 -0700
+
+ core: use g_clear_pointer() to avoid explicitly checking and
+ resetting pointers
+
+ src/mm-base-sms.c | 10 ++--------
+ src/mm-broadband-modem-mbim.c | 10 ++--------
+ 2 files changed, 4 insertions(+), 16 deletions(-)
+
+commit 7de6b6f2e176ed60f1f74d0d8704f73e39585891
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Oct 17 23:06:48 2018 -0700
+
+ core: remove unnecessary NULL checks for g_match_info_free()
+
+ g_match_info_free() already check if the given pointer is NULL
+ and does
+ nothing on a NULL pointer.
+
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 12 ++++--------
+ plugins/huawei/mm-modem-helpers-huawei.c | 21 +++++++--------------
+ plugins/mbm/mm-modem-helpers-mbm.c | 3 +--
+ plugins/mtk/mm-broadband-modem-mtk.c | 13 ++++---------
+ plugins/novatel/mm-broadband-modem-novatel.c | 3 +--
+ plugins/sierra/mm-broadband-modem-sierra.c | 6 ++----
+ plugins/sierra/mm-modem-helpers-sierra.c | 3 +--
+ plugins/ublox/mm-modem-helpers-ublox.c | 24
+ ++++++++----------------
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 3 +--
+ plugins/xmm/mm-modem-helpers-xmm.c | 10 +++-------
+ plugins/zte/mm-broadband-modem-zte.c | 3 +--
+ src/mm-modem-helpers.c | 24
+ +++++++-----------------
+ 12 files changed, 40 insertions(+), 85 deletions(-)
+
+commit 749b806c30b41512dec4901808976425cdf3e56b
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Oct 17 23:06:47 2018 -0700
+
+ core: remove unnecessary NULL checks for g_free()
+
+ g_free() already check if the given pointer is NULL and does
+ nothing on
+ a NULL pointer.
+
+ libmm-glib/mm-location-gps-raw.c | 3 +--
+ src/mm-base-sms.c | 6 ++----
+ src/mm-broadband-bearer.c | 3 +--
+ 3 files changed, 4 insertions(+), 8 deletions(-)
+
+commit 4156fd27186a517fcae938aaf23783000f6f34aa
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 10 15:54:23 2018 +0200
+
+ xmm: implement A-GPS support
+
+ plugins/xmm/mm-broadband-modem-mbim-xmm.c | 4 +
+ plugins/xmm/mm-broadband-modem-xmm.c | 4 +
+ plugins/xmm/mm-modem-helpers-xmm.c | 85 +++++++++++++-
+ plugins/xmm/mm-modem-helpers-xmm.h | 7 ++
+ plugins/xmm/mm-shared-xmm.c | 178
+ ++++++++++++++++++++++++++---
+ plugins/xmm/mm-shared-xmm.h | 13 +++
+ plugins/xmm/tests/test-modem-helpers-xmm.c | 64 +++++++++--
+ 7 files changed, 333 insertions(+), 22 deletions(-)
+
+commit fe05383fe5bfda64b873869d84a660b6d795325f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 10 15:54:02 2018 +0200
+
+ libmm-glib,gps-raw: prefer $GNGGA over $GPGGA
+
+ The $GNGGA traces provide "combined" values when multiple satellite
+ constellations are used (e.g. GPS+GLONASS). Prefer these values over
+ the GPS-only $GPGGA traces if both are received.
+
+ libmm-glib/mm-location-gps-raw.c | 36
+ +++++++++++++++++++++++++-----------
+ 1 file changed, 25 insertions(+), 11 deletions(-)
+
+commit 2ffd0adf05616854dbd3fc49af589175a2e21650
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 10 15:53:55 2018 +0200
+
+ xmm: implement XLCSLSR based GPS management and report
+
+ plugins/xmm/mm-broadband-modem-mbim-xmm.c | 39 +-
+ plugins/xmm/mm-broadband-modem-xmm.c | 37 ++
+ plugins/xmm/mm-modem-helpers-xmm.c | 122 ++++++
+ plugins/xmm/mm-modem-helpers-xmm.h | 8 +
+ plugins/xmm/mm-shared-xmm.c | 638
+ +++++++++++++++++++++++++++++
+ plugins/xmm/mm-shared-xmm.h | 33 ++
+ plugins/xmm/tests/test-modem-helpers-xmm.c | 57 +++
+ 7 files changed, 932 insertions(+), 2 deletions(-)
+
+commit 04ca18c01ffde15c33f1fcbdbcd8f3a0fa556112
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Oct 16 15:42:44 2018 -0700
+
+ modem-helpers-qmi: include string.h for memset()
+
+ This patch fixes the following compiler warning:
+
+ mm-modem-helpers-qmi.c:568:5: error: implicitly declaring library
+ function 'memset' with type 'void *(void *, int, unsigned int)'
+ [-Werror,-Wimplicit-function-declaration]
+ memset (extended_qmi_lte_bands, 0, extended_qmi_lte_bands_size *
+ sizeof (guint64));
+ ^
+
+ src/mm-modem-helpers-qmi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit b1342725322aa39aab26f5a2d8613b117819ebd7
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Oct 10 22:06:46 2018 -0700
+
+ sim-qmi: avoid unnecessary MM_SIM_QMI() call on MMSimQmi object
+
+ src/mm-sim-qmi.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit c9a56605cae68501b99252707e1731353567b92a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 10 15:03:11 2018 +0200
+
+ huawei,call: check for ^CVOICE support and enable audio streaming
+
+ USB sticks only support voice if ^CVOICE returns 0. And to enable
+ audio
+ streaming on the "Application" port (whatever is returned by
+ AT^DDSETEX=?)
+ we need to send AT^DDSETEX=<port> after starting the call. After that
+ the serial port will send and accept signed 16-bit 8000hz PCM
+ audio, or
+ whatever format is returned by ^CVOICE?.
+
+ This patch is a rework of the original implementation by:
+ Dan Williams <dcbw@redhat.com>
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 95 ++++++++++++-
+ plugins/huawei/mm-call-huawei.c | 208
+ +++++++++++++++++++++++++++--
+ plugins/huawei/mm-call-huawei.h | 7 +-
+ plugins/huawei/mm-modem-helpers-huawei.c | 63 +++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 8 ++
+ 5 files changed, 369 insertions(+), 12 deletions(-)
+
+commit e5f65d1b277cc8e26d3ba291643fa81af63381f6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 17 00:19:09 2017 -0500
+
+ port-serial: don't allow opens when a port is connected
+
+ src/mm-port-serial.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 329caff84f1a3918b17f04b457afbc4a43c771c7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 10 13:52:06 2018 +0200
+
+ base-call: implement generic audio channel setup/cleanup handlers
+
+ Modems that require specific commands to setup or cleanup the audio
+ channel as soon as a call is ongoing can subclass these two new
+ methods.
+
+ The setup() method is considered part of the call start/accept
+ process, and so if it fails, the whole operation will fail.
+
+ The failures in the cleanup() method will be reported in the log, but
+ otherwise ignored, as this operation may be executed without any
+ user intervention (e.g. if the remote party hangs up).
+
+ src/mm-base-call.c | 196
+ +++++++++++++++++++++++++++++++++++++++++++----------
+ src/mm-base-call.h | 21 ++++--
+ 2 files changed, 175 insertions(+), 42 deletions(-)
+
+commit 17c511ec6955d07af431bf2012e274c9b3ce3d48
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 10 13:51:39 2018 +0200
+
+ api,call: new state reason to report audio setup failures
+
+ include/ModemManager-enums.h | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 627303a748cce7274b05a6861a1dc0c779d9263a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 6 20:53:39 2017 -0600
+
+ api/libmm-glib/cli: add AudioPort and AudioFormat properties to the
+ Call object
+
+ cli/mmcli-call.c | 23 ++
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 32 +++
+ .../org.freedesktop.ModemManager1.Call.xml | 39 +++
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/mm-call-audio-format.c | 276
+ +++++++++++++++++++++
+ libmm-glib/mm-call-audio-format.h | 88 +++++++
+ libmm-glib/mm-call.c | 188 ++++++++++++++
+ libmm-glib/mm-call.h | 10 +-
+ src/mm-base-call.c | 15 ++
+ src/mm-base-call.h | 6 +
+ 10 files changed, 678 insertions(+), 2 deletions(-)
+
+commit 16162a5033593e017775eab640a3b9bf1b805c39
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 3 15:05:14 2018 +0200
+
+ ublox: implement detailed call state transitions with +UCALLSTAT
+
+ Among other things, we now support:
+ * Dialing to Ringing Out transition.
+ * Ringing Out to Active transition.
+
+ plugins/Makefile.am | 2 +
+ plugins/ublox/mm-broadband-modem-ublox.c | 152 +++++++++++++++++++++++-
+ plugins/ublox/mm-call-ublox.c | 194
+ +++++++++++++++++++++++++++++++
+ plugins/ublox/mm-call-ublox.h | 50 ++++++++
+ 4 files changed, 396 insertions(+), 2 deletions(-)
+
+commit 89218a087499a6f5a39fe1a71a66241c28432357
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 3 15:04:32 2018 +0200
+
+ iface-modem-voice: remove unused declaration
+
+ src/mm-iface-modem-voice.h | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 2b85d27fc00ccbe34a2dc9e2c679fa273967c7cb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 3 15:03:31 2018 +0200
+
+ iface-modem-voice: simplify reporting new incoming calls
+
+ Allow creating a new incoming call object also when we receive +CLIP,
+ so that we can have the remote caller number as soon as the object is
+ created.
+
+ src/mm-broadband-modem.c | 22 ++++------------------
+ src/mm-iface-modem-voice.c | 44
+ ++++++--------------------------------------
+ src/mm-iface-modem-voice.h | 9 +++------
+ 3 files changed, 13 insertions(+), 62 deletions(-)
+
+commit b2d859e37084099295cb96725e7e9f03b81dc84f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 3 15:00:14 2018 +0200
+
+ base-call: treat 'ringing-in' as an in-call state
+
+ So that we setup in-call events as soon as we get the incoming call
+ ringing in. This allows us to have plugin-specific implementations
+ e.g. reporting call termination when the remote caller hangs up.
+
+ src/mm-base-call.c | 1 +
+ src/mm-iface-modem-voice.c | 7 +++----
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 887376fe4467da7a18b8e008537493512adb9fcb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 3 14:56:52 2018 +0200
+
+ mm-iface-mode: provide direction and number when creating calls
+
+ Calls created from property bundles are always outgoing, while calls
+ created as input events from URCs during runtime are always incoming.
+
+ This change makes it mandatory to provide at least direction of the
+ call when the object is created, leaving the number as an optional
+ property that may or may not be known in advance (e.g. it would be
+ optional only for incoming calls).
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 6 ++++--
+ plugins/huawei/mm-call-huawei.c | 6 +++++-
+ plugins/huawei/mm-call-huawei.h | 4 +++-
+ src/mm-base-call.c | 6 +++++-
+ src/mm-base-call.h | 4 +++-
+ src/mm-broadband-modem.c | 6 ++++--
+ src/mm-iface-modem-voice.c | 30
+ +++++++++++-------------------
+ src/mm-iface-modem-voice.h | 4 +++-
+ 8 files changed, 38 insertions(+), 28 deletions(-)
+
+commit 44413308b295bd52c1b24eba69bc8e9eed6b4fb5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 3 14:49:40 2018 +0200
+
+ iface-modem-voice: always create plugin-specified call objects
+
+ The Voice interface logic must always use the create_call() object
+ from its own interface to create call objects, as that is the method
+ that plugins can subclass to provide plugin-specific call objects.
+
+ This applies to both incoming and outgoing calls.
+
+ src/mm-base-call.c | 42
+ ------------------------------------------
+ src/mm-base-call.h | 7 ++-----
+ src/mm-iface-modem-voice.c | 45
+ ++++++++++++++++++++++++++++++++++++++-------
+ src/mm-iface-modem-voice.h | 1 -
+ 4 files changed, 40 insertions(+), 55 deletions(-)
+
+commit fc0feee65481f7edf1118e8dd74a5352901f677f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 15 00:04:15 2018 +0200
+
+ huawei,call: handle in-call URCs in the call object itself
+
+ Instead of handling the URCs in the modem object and using the
+ MMIfaceModem as a bridge to report the status read from the URC to a
+ call obtained from the MMCallList... just handle the URCs in the call
+ object itself.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 243
+ +----------------------------
+ plugins/huawei/mm-broadband-modem-huawei.h | 1 +
+ plugins/huawei/mm-call-huawei.c | 196 ++++++++++++++++++++++-
+ plugins/huawei/mm-call-huawei.h | 2 +
+ src/mm-call-list.c | 93 -----------
+ src/mm-call-list.h | 7 +-
+ src/mm-iface-modem-voice.c | 93 -----------
+ src/mm-iface-modem-voice.h | 5 -
+ 8 files changed, 205 insertions(+), 435 deletions(-)
+
+commit f71e120fb7e120c615e83a3803f20a0bd69b659e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 23:12:39 2018 +0200
+
+ huawei: ignore voice origination info URCs
+
+ These are not used for anything, so just simplify code.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 36
+ ++++++------------------------
+ 1 file changed, 7 insertions(+), 29 deletions(-)
+
+commit ae917d03fd69b36e55d1c56dcedc4d0091d01016
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 23:04:31 2018 +0200
+
+ huawei: if URCs fully ignored always, don't treat them as
+ voice-specific
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 41
+ ++++++++++--------------------
+ 1 file changed, 14 insertions(+), 27 deletions(-)
+
+commit 65ae18118e9da4fc3da24df1022febeaf6c164a0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 22:59:32 2018 +0200
+
+ huawei,call: remove custom start() method
+
+ Totally equivalent to the default one in the MMBaseCall object.
+
+ plugins/huawei/mm-call-huawei.c | 88
+ -----------------------------------------
+ 1 file changed, 88 deletions(-)
+
+commit 638c5b49f1a93e659e6fb7a67cab3a45a7745f31
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 16:06:33 2018 +0200
+
+ base-call: improve logging
+
+ src/mm-base-call.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 0478e88b4ffbcd502a07a59fc01263b5a225ba3c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 21:39:25 2018 +0200
+
+ base-call: listen for connection error URCs in-call
+
+ In order to detect state changes while we're in-call, we have to
+ monitor the standard connection errors we're used to, but have them
+ processed as URCs instead of as responses to ATD requests.
+
+ plugins/huawei/mm-call-huawei.c | 4 +-
+ src/mm-base-call.c | 95
+ +++++++++++++++++++++++++++++++++++++----
+ 2 files changed, 90 insertions(+), 9 deletions(-)
+
+commit bd3b5aca01a3d3102c607b7ca6fab310963ec77c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 15:36:06 2018 +0200
+
+ base-call: automatically terminate unanswered incoming calls
+
+ Try to automatically detect when the caller finishes the attempt to
+ establish the call.
+
+ src/mm-base-call.c | 45 ++++++++++++++++++++++++++++++++++++++-
+ src/mm-base-call.h | 20 ++++++++++-------
+ src/mm-broadband-modem.c | 4 ++--
+ src/mm-call-list.c | 29 ++++++++++++-------------
+ src/mm-call-list.h | 12 +++++------
+ src/mm-iface-modem-voice.c | 53
+ ++++++++++++++++++++++++++--------------------
+ src/mm-iface-modem-voice.h | 2 +-
+ 7 files changed, 108 insertions(+), 57 deletions(-)
+
+commit 0090124ec0d0d28fa78f5a0dd153e36584a0f171
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 14:58:28 2018 +0200
+
+ base-call: ACTIVE after start() if detailed transitions unavailable
+
+ The most detailed call state transition flow for a new outgoing call
+ would be:
+
+ UNKNOWN -> DIALING -> RINGING -> ACTIVE
+
+ But, if the modem doesn't support reporting intermediate states
+ (e.g. DIALING or RINGING) then a successful start() should imply
+ getting into ACTIVE state right away.
+
+ For now, only the Huawei plugin implements the detailed transition
+ support, so make them configurable via call object properties.
+
+ plugins/huawei/mm-call-huawei.c | 2 ++
+ src/mm-base-call.c | 47
+ +++++++++++++++++++++++++++++++++++++----
+ src/mm-base-call.h | 8 ++++---
+ 3 files changed, 50 insertions(+), 7 deletions(-)
+
+commit 7c10db26c20cd39862059e08ddd237e6eeb406d0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 14:43:10 2018 +0200
+
+ base-call: setup/cleanup custom events when transitioning to/from
+ in-call
+
+ src/mm-base-call.c | 32 ++++++++++++++++++++++++++++----
+ src/mm-base-call.h | 6 ++++++
+ 2 files changed, 34 insertions(+), 4 deletions(-)
+
+commit cfdd6ffc95e611452281fc74bd403bdab9d2c79c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 14:34:05 2018 +0200
+
+ base-call: don't update state twice
+
+ The mm_gdbus_call_set_() methods update the properties in the same way
+ as via g_object_set(), no need to do it twice.
+
+ src/mm-base-call.c | 11 +----------
+ src/mm-iface-modem-voice.c | 1 -
+ 2 files changed, 1 insertion(+), 11 deletions(-)
+
+commit 4409ccffccf781bf50f354b7ba193432e4cf8b73
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 14:31:02 2018 +0200
+
+ base-call: call state updates only in the interface logic
+
+ Don't do any call state update on the generic implementation of the
+ commands, do it in the common interface logic exclusively.
+
+ We were doing the state updates in both places.
+
+ src/mm-base-call.c | 112
+ +++++++++++++++++------------------------------------
+ 1 file changed, 35 insertions(+), 77 deletions(-)
+
+commit 9a69e5363ab1c0200e31f6f061490cd350ce4a43
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 13:10:38 2018 +0200
+
+ base-call: don't notify a state change if it didn't change
+
+ src/mm-base-call.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 60d42de68e3a359d2eb0af3d3ca01ca48f3c53c6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 12:19:26 2018 +0200
+
+ base-call: no need to delete call info from the device
+
+ Call information only lives in the ModemManager logic, there is no
+ associated date stored within the device itself. Therefore, simplify
+ everything by assuming there is nothing to remove.
+
+ Looks like this logic was implemented because it was originally based
+ on the SMS management logic, but for SMS we do have to remove
+ them (the stored PDU parts) from the device.
+
+ src/mm-base-call.c | 61 -------------------------------
+ src/mm-base-call.h | 15 --------
+ src/mm-call-list.c | 90
+ ++++++++++------------------------------------
+ src/mm-call-list.h | 10 ++----
+ src/mm-iface-modem-voice.c | 29 +++++----------
+ 5 files changed, 30 insertions(+), 175 deletions(-)
+
+commit 9503af95e2d22b828c3dcf89c1d63e3dd823cbc2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 12:06:55 2018 +0200
+
+ base-call: fix logic when rejecting calls
+
+ Make sure the async task is always finished, even when
+ mm_base_modem_at_command_finish() returns an error which is not
+ MM_SERIAL_ERROR_RESPONSE_TIMEOUT.
+
+ src/mm-base-call.c | 42 +++++++++++++-----------------------------
+ 1 file changed, 13 insertions(+), 29 deletions(-)
+
+commit 0ac15f6e229a57c7ebefc9731d11bdba3f151c77
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 14 11:59:04 2018 +0200
+
+ base-call: fix logic when accepting calls
+
+ Don't return FALSE when call is successfully accepted, otherwise the
+ caller will get very confused:
+
+ ModemManager[19952]: <debug> [1528968478.344338] (ttyACM2): -->
+ 'ATA<CR>'
+ ModemManager[19952]: <debug> [1528968478.361986] (ttyACM2): <--
+ '<CR><LF>OK<CR><LF>'
+
+ (ModemManager:19952): GLib-GIO-CRITICAL **: 11:27:58.387:
+ g_dbus_method_invocation_take_error: assertion 'error != NULL'
+ failed
+
+ And also, make sure the async task is always finished, even when
+ mm_base_modem_at_command_finish() returns an error which is not
+ MM_SERIAL_ERROR_RESPONSE_TIMEOUT.
+
+ src/mm-base-call.c | 52
+ ++++++++++++++++------------------------------------
+ 1 file changed, 16 insertions(+), 36 deletions(-)
+
+commit fa67a4f9bb014c947a9bb1c5f207ea787c8976b7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 9 10:50:03 2018 +0200
+
+ sierra-legacy: implement connection status monitoring with !SCACT?
+
+ Devices like the Netgear AC313U require explicit context monitoring,
+ otherwise the device may end up disconnected internally and MM would
+ still think that the connection is ongoing.
+
+ plugins/Makefile.am | 22 ++++
+ plugins/sierra/mm-broadband-bearer-sierra.c | 122 +++++++++++++++++-
+ plugins/sierra/mm-modem-helpers-sierra.c | 84 +++++++++++++
+ plugins/sierra/mm-modem-helpers-sierra.h | 26 ++++
+ plugins/sierra/tests/test-modem-helpers-sierra.c | 150
+ +++++++++++++++++++++++
+ src/mm-modem-helpers.c | 2 +-
+ src/mm-modem-helpers.h | 2 +
+ 7 files changed, 405 insertions(+), 3 deletions(-)
+
+commit c7d5902c15957d1487c83f13614b155a18b5f2b6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Oct 5 13:17:28 2018 +0200
+
+ shared-qmi: implement support for the 'extended' LTE band list
+
+ This will allow us to configure via mmcli devices that support LTE
+ bands that would not fit in the standard TLVs (e.g. band 66 below)
+ or bands which aren't really reported in the standard TLVs (e.g. bands
+ 46 and 48 below).
+
+ $ sudo qmicli -d /dev/cdc-wdm0 -p --dms-get-band-capabilities
+ [/dev/cdc-wdm0] Device band capabilities retrieved:
+ Bands: 'wcdma-2100, wcdma-pcs-1900, wcdma-1700-us, wcdma-850-us,
+ wcdma-800, wcdma-900, wcdma-1700-japan, wcdma-850-japan'
+ LTE bands: '1, 2, 3, 4, 5, 7, 8, 12, 13, 14, 17, 18, 19, 20,
+ 25, 38, 39, 40, 41, 42, 43'
+ LTE bands (extended): '1, 2, 3, 4, 5, 7, 8, 12, 13, 14, 17,
+ 18, 19, 20, 25, 26, 28, 29, 30, 32, 38, 39, 40, 41, 42, 43,
+ 46, 48, 66'
+
+ src/mm-modem-helpers-qmi.c | 131
+ +++++++++++++++++++++++++++++++++++++++------
+ src/mm-modem-helpers-qmi.h | 11 ++--
+ src/mm-shared-qmi.c | 58 +++++++++++++++++---
+ 3 files changed, 173 insertions(+), 27 deletions(-)
+
+commit c906da415ced0b8bd2ca99e7624f2fe2b0dc63d5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 9 14:13:15 2018 +0200
+
+ broadband-modem-mbim: plug leaks when using the ATDS service
+
+ src/mm-broadband-modem-mbim.c | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+commit 1ac79ccdfd82af5277c6baac7760d3a9588a0bd4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Oct 6 14:57:58 2018 +0200
+
+ cli,modem: print PCO as 'n/a' if not available
+
+ cli/mmcli-modem.c | 45 +++++++++++++++++++++++++--------------------
+ 1 file changed, 25 insertions(+), 20 deletions(-)
+
+commit 24454b2775cfcaa77429cf5d3a72ac82bd92084f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Oct 6 14:52:18 2018 +0200
+
+ cli,bearer: normalize n/a reporting
+
+ Use always small letters.
+
+ cli/mmcli-bearer.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f7cb84788e6b07e2c937dcf4e0512233ca48f6f2
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 5 10:49:05 2018 -0700
+
+ base-modem: remove explicit GDestroyNotify cast on g_object_unref
+
+ g_object_unref is in form of `void (*)(gpointer)`, which matches the
+ GDestroyNotify signature. An explicit GDestroyNotify cast on
+ g_object_unref is thus not needed.
+
+ src/mm-base-modem.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8bde29c9e2484d32d3a85b51b2c59d164b22d9f0
+Author: Thomas Haller <thaller@redhat.com>
+Date: Thu Oct 4 09:30:42 2018 +0200
+
+ libmm-glib: use helper function to convert enum/flags from string
+
+ libmm-glib/mm-common-helpers.c | 284
+ +++++++++++++----------------------------
+ 1 file changed, 92 insertions(+), 192 deletions(-)
+
+commit d83f50794dd3525c0c3aedf565066a6ba8fd6d73
+Author: Thomas Haller <thaller@redhat.com>
+Date: Thu Oct 4 01:09:10 2018 +0200
+
+ libmm-glib, modem-helpers: unref enum/flags GType classes in enum
+ getters
+
+ libmm-glib/mm-common-helpers.c | 60
+ +++++++++++++++++++++++++++++++++++-------
+ src/mm-modem-helpers.c | 10 +++++--
+ 2 files changed, 58 insertions(+), 12 deletions(-)
+
+commit a68bbbc1b98b5c2ec90969a7f70196352617c03d
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Sep 27 00:27:51 2018 -0700
+
+ port-serial: port mm_port_serial_flash to use GTask
+
+ src/mm-port-serial.c | 92
+ +++++++++++++++++++++++++---------------------------
+ 1 file changed, 44 insertions(+), 48 deletions(-)
+
+commit f3e1e699cfa2d0279144778f05eed6e2f0274a95
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Sep 27 00:27:50 2018 -0700
+
+ port-serial: port mm_port_serial_reopen to use GTask
+
+ src/mm-port-serial.c | 84
+ +++++++++++++++++++++++++---------------------------
+ 1 file changed, 40 insertions(+), 44 deletions(-)
+
+commit 2a1a0b88fbaafbe3862e1b9130a9a484e84d752f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 13 11:47:10 2018 +0200
+
+ udev: define all generic tags as symbols
+
+ This prevents errors due to nasty typos in the strings.
+
+ We define all symbols in a single header file that is NOT considered
+ part of the API, as there is no need for MM clients to know about
+ these tags code-wise. These tags are only meaningful when associated
+ to devices in udev.
+
+ Information of each tag is included in the general API documentation.
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/88
+
+ docs/reference/api/ModemManager-docs.xml | 6 +
+ docs/reference/api/ModemManager-sections.txt | 19 +++
+ include/Makefile.am | 1 +
+ include/ModemManager-tags.h | 210
+ +++++++++++++++++++++++++++
+ src/kerneldevice/mm-kernel-device-generic.c | 4 +-
+ src/kerneldevice/mm-kernel-device-udev.c | 4 +-
+ src/mm-base-manager.c | 6 +-
+ src/mm-base-modem.c | 14 +-
+ src/mm-filter.c | 13 +-
+ src/mm-port-probe.c | 20 +--
+ 10 files changed, 273 insertions(+), 24 deletions(-)
+
+commit a2705abb247f0f141d41ad8f34d99ce6133073af
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 13 22:00:58 2018 +0200
+
+ iface-modem-messaging: if only one storage supported, select it
+ right away
+
+ Some plugins or implementations (e.g. notably MBIM) may report a
+ single storage as supported and no way to update the current default
+ storage. In this specific case, we will initialize the default storage
+ to that single one supported right away, regardless of whether
+ selecting others is implemented or not.
+
+ src/mm-iface-modem-messaging.c | 60
+ +++++++++++++++++++++++++++++-------------
+ 1 file changed, 42 insertions(+), 18 deletions(-)
+
+commit 0ca95254ae507caddebe45f6ee6e230a99e82bfc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Sep 25 16:06:38 2018 +0200
+
+ libmm-glib,location-3gpp: don't ignore location updates when MNC is 0
+
+ E.g. China Mobile (MCC 460, MNC 0).
+
+ $ mmcli -m toby --location-get
+
+ /org/freedesktop/ModemManager1/Modem/0
+ -------------------------
+ 3GPP location | Mobile country code: '460'
+ | Mobile network code: '0'
+ | Location area code: '6188'
+ | Cell ID: '40955'
+ -------------------------
+ GPS NMEA traces | Not available
+ -------------------------
+ Raw GPS | Not available
+ -------------------------
+ CDMA BS | Not available
+
+ libmm-glib/mm-location-3gpp.c | 38 ++++++++++++++++++++++++++++++++++++--
+ libmm-glib/mm-location-3gpp.h | 1 +
+ src/mm-iface-modem-location.c | 9 +--------
+ 3 files changed, 38 insertions(+), 10 deletions(-)
+
+commit 4d16eec5fbbe16e92dd25bea420fb8c503e520ec
+Author: Ulrich Ölmann <u.oelmann@pengutronix.de>
+Date: Fri Sep 21 12:21:05 2018 +0200
+
+ mmcli,location: fix doubled variable declaration
+
+ Remove the redundant declaration of which slipped into the code
+ in commit
+ 091bf4dbd811 ("api: support location assistance data").
+
+ Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
+
+ cli/mmcli-modem-location.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 8ef6d397c70313bdc511319c707e0ae825eacc96
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Sep 21 15:02:03 2018 +0200
+
+ cli,signal: add generic fields in its own group
+
+ This is just to consolidate the output w.r.t. similar fields in
+ e.g. the Messaging or Location interfaces.
+
+ cli/mmcli-modem-signal.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 77387cf604c8033a44d62253cf685493cc5d556d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 13 15:17:15 2018 +0200
+
+ xmm: increase AT command timeout when updating bands/modes
+
+ Looks like sometimes it may take a bit more than 3s.
+
+ plugins/xmm/mm-shared-xmm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e75063d80a8b18a28a89116beb78e42fe85c0d56
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 13 09:35:42 2018 +0200
+
+ po: minor updates in fr and it translation files
+
+ po/fr.po | 17 ++++++++---------
+ po/it.po | 7 +++----
+ 2 files changed, 11 insertions(+), 13 deletions(-)
+
+commit 45a8fccb03ddcc35080f746bbe00b481bdbfb43e
+Author: Milo Casagrande <milo@milo.name>
+Date: Tue Sep 11 11:36:38 2018 +0200
+
+ [l10n] Add Italian translation
+
+ Signed-off-by: Milo Casagrande <milo@milo.name>
+
+ po/LINGUAS | 1 +
+ po/it.po | 108
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 109 insertions(+)
+
+commit 2f140123995642b5c186b1bab203b4d16380563a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 13 09:29:52 2018 +0200
+
+ xmm: minor alignment fixes
+
+ plugins/xmm/mm-modem-helpers-xmm.c | 34
+ +++++++++++++++++-----------------
+ plugins/xmm/mm-modem-helpers-xmm.h | 10 +++++-----
+ plugins/xmm/mm-shared-xmm.c | 27 ++++++++++++---------------
+ 3 files changed, 34 insertions(+), 37 deletions(-)
+
+commit 823aa46a148725e9e1bf4f38517230f384dc0f9a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 13 09:26:19 2018 +0200
+
+ xmm: ensure outputs in load_values_finish() are always set if success
+
+ plugins/xmm/mm-modem-helpers-xmm.c | 6 +++---
+ plugins/xmm/mm-shared-xmm.c | 5 +++++
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+commit 6b30f552a91ec0478f6a06fdc4e3d6740064bc0a
+Author: Paul Bartell <p.bartell@temperednetworks.com>
+Date: Mon Sep 10 15:25:15 2018 -0700
+
+ xmm: implement signal interface with +XCESQ polling
+
+ plugins/xmm/mm-broadband-modem-xmm.c | 11 +++++++
+ plugins/xmm/mm-shared-xmm.c | 64
+ ++++++++++++++++++++++++++++++++++++
+ plugins/xmm/mm-shared-xmm.h | 21 ++++++++++++
+ 3 files changed, 96 insertions(+)
+
+commit 73045e931bd0cdef99c89ee56639850430430f41
+Author: Paul Bartell <p.bartell@temperednetworks.com>
+Date: Mon Sep 10 15:17:22 2018 -0700
+
+ xmm: add +XCESQ parser
+
+ plugins/xmm/mm-modem-helpers-xmm.c | 215
+ +++++++++++++++++++++++++++++
+ plugins/xmm/mm-modem-helpers-xmm.h | 16 +++
+ plugins/xmm/tests/test-modem-helpers-xmm.c | 144 +++++++++++++++++++
+ 3 files changed, 375 insertions(+)
+
+commit 3dc4106f0da30a31af040cb7c38cc1df6a1a177c
+Author: Paul Bartell <p.bartell@temperednetworks.com>
+Date: Mon Sep 18 19:24:38 2017 -0700
+
+ broadband-modem: Call signal shutdown function when modem is disabled
+
+ src/mm-broadband-modem.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit fe3665b18ed79f6de759718959154d5cbee4382a
+Author: Paul Bartell <p.bartell@temperednetworks.com>
+Date: Mon Sep 18 19:23:33 2017 -0700
+
+ iface-modem-signal: Tear down refresh context upon shutdown.
+
+ src/mm-iface-modem-signal.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 04bf69c276ef0ced566e5d5b183c9995c5015516
+Author: Paul Bartell <p.bartell@temperednetworks.com>
+Date: Thu Sep 7 09:43:58 2017 -0700
+
+ modem-helpers: Make 3gpp signal quality functions public
+
+ src/mm-modem-helpers.c | 52
+ +++++++++++++++++++++++++-------------------------
+ src/mm-modem-helpers.h | 24 +++++++++++++++++++++++
+ 2 files changed, 50 insertions(+), 26 deletions(-)
+
+commit 6e5ea39cbab5d84dea8fe31d760bc79ac3412052
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 27 09:25:53 2018 +0200
+
+ dell: implement Unmanaged GPS support for the DW5821e
+
+ The DW5821E module is managed in MBIM mode by default, and exposes a
+ NMEA capable tty in USB interface #4.
+
+ Enabling/disabling the NMEA output via the TTY is done with AT
+ commands, so this implementation requires also a valid AT port in the
+ system.
+
+ Given that the AT commands used to enable/disable this feature are
+ based on modifying non-volatile memory through AT^NV, this
+ implementation is very specific to the DW5821E. If we're able to do
+ the same on other Dell modules in the future, we'll just rename the
+ new object to a more generic one.
+
+ plugins/Makefile.am | 8 +
+ plugins/dell/mm-broadband-modem-dell-dw5821e.c | 317
+ +++++++++++++++++++++++++
+ plugins/dell/mm-broadband-modem-dell-dw5821e.h | 49 ++++
+ plugins/dell/mm-plugin-dell.c | 18 +-
+ 4 files changed, 388 insertions(+), 4 deletions(-)
+
+commit 02f9b5b0857af45a6726846d3e74840477be66bb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 27 10:56:56 2018 +0200
+
+ dell: port type hints for the Dell DW5821e
+
+ Include port type hints to make probing quicker, and ignore the
+ secondary AT port as it may not be fully functional.
+
+ plugins/dell/77-mm-dell-port-types.rules | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit d1744c76630b655c174e8b0f577889c9ccf73071
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 26 13:02:12 2018 +0200
+
+ shared-qmi: reuse band management logic in MBIM whenever possible
+
+ src/mm-broadband-modem-mbim.c | 9 ++
+ src/mm-broadband-modem-qmi.c | 347
+ +-----------------------------------------
+ src/mm-shared-qmi.c | 258 +++++++++++++++++++++++++++++++
+ src/mm-shared-qmi.h | 19 +++
+ 4 files changed, 292 insertions(+), 341 deletions(-)
+
+commit 7f18a9370a11e4913db72659aa1c92b12f3f7044
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 15 23:07:23 2018 +0200
+
+ broadband-modem-mbim: use QMI-based mode/capability switching if
+ supported
+
+ The implementation available in the shared QMI logic can be used
+ as-is, with one important note: if the QMI-based mode/capability
+ switching is used, we MUST also use QMI-based "3GPP network
+ registration" logic. This is needed because the MBIM command used to
+ select which 3GPP network to connect to allows specifying the mask of
+ access technologies desired, and that would overwrite whatever we had
+ previously set with QMI-based mode/capability switching commands.
+
+ src/mm-broadband-modem-mbim.c | 411
+ +++++++++++++++++++++++++++++++++++++-----
+ src/mm-modem-helpers-mbim.c | 22 +++
+ src/mm-modem-helpers-mbim.h | 3 +
+ 3 files changed, 387 insertions(+), 49 deletions(-)
+
+commit ac69466c9da7c553c7f4c4a4197614af560abc83
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 16 00:04:20 2018 +0200
+
+ shared-qmi: implement 3GPP network registration logic
+
+ Ported from the broadband modem QMI implementation, keeping the logic
+ in place. We will need this to integrate mode/capability switching in
+ MBIM devices, for nothing else really (as MBIM already supports this
+ operation).
+
+ src/mm-broadband-modem-qmi.c | 110
+ +------------------------------------------
+ src/mm-shared-qmi.c | 103
+ ++++++++++++++++++++++++++++++++++++++++
+ src/mm-shared-qmi.h | 12 +++++
+ 3 files changed, 117 insertions(+), 108 deletions(-)
+
+commit 692d076ba68e09bcad146d78109d4a59e1563918
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 15 22:54:18 2018 +0200
+
+ shared-qmi: implement reworked mode and capabilities management
+
+ This commit introduces several improvements and changes in the way
+ modes and capabilities are managed in QMI capable devices. It is
+ organized into a single commit, as all changes in all 6 operations
+ (load current capabilities, load supported capabilities, set current
+ capabilities, load supported modes, load current modes, set current
+ modes) are related one to the other (given that the same QMI commands
+ are used for both capabilities and mode management).
+
+ The primary change is related to which capabilities are reported as
+ supported for a given device. In the previous implementation we
+ allowed switching between every combination possible for GSM/UMTS+LTE,
+ CDMA/EVDO+LTE or GSM/UMTS+CDMA/EVDO+LTE devices. E.g. we would allow
+ "LTE only" and "GSM/UMTS only" capabilities for GSM/UMTS+LTE devices,
+ even if they would both be managed in exactly the same way. That setup
+ wasn't ideal, because it meant that switching to a "LTE only"
+ configuration would require a power cycle, as capability switching
+ requires a power cycle, even if no change was expected in the exposed
+ DBus interfaces (which is why we require the power cycle). So, instead
+ of allowing every possible capability combination, we use capability
+ switching logic exclusively for configuring GSM/UMTS+CDMA/EVDO devices
+ (regardless of whether it has LTE or not) to add or remove the
+ GSM/UMTS and CDMA/EVDO capabilities. E.g. for a GSM/UMTS+CDMA/EVDO+LTE
+ device we would allow 3 combinatios: "GSM/UMTS+LTE", "CDMA/EVDO+LTE"
+ and "GSM/UMTS+CDMA/EVDO+LTE".
+
+ The "GSM/UMTS+CDMA/EVDO+LTE" is a special case because for this one we
+ allow switching to "LTE only" capabilities while we forbid switching
+ to "4G only" mode. As the same commands are used for mode and
+ capability switching, if we didn't have "LTE only" and we allowed "4G
+ only" mode instead and rebooted the device, we would end up not being
+ able to know which other capabilities (GSM/UMTS or CDMA/EVDO or both)
+ were also enabled.
+
+ Now that we have capability switching confined to a very subset of
+ combinations, we can use the mode switching logic to e.g. allow "4G
+ only" configurations in all non multimode devices, as well as masks of
+ allowed modes with one being preferred, which we didn't allow before.
+ In the previous implementation all mode switching logic was disabled
+ for LTE capable QMI devices. In the new implementation, we use the
+ "Acquisition Order Preference" TLV in NAS Set System Selection
+ Preference to define the full list of mode preferences for all
+ supported modes.
+
+ We also no longer just assume that NAS Technology Preference is always
+ available and NAS System Selection Preference only after NAS >= 1.1.
+ This logic is flawed, instead we're going to probe for those features
+ once when loading current capabilities, and we then just implement the
+ capabilities/mode switching logic based on that.
+
+ configure.ac | 2 +-
+ src/mm-broadband-modem-qmi.c | 4350
+ +++++++++++++++---------------------------
+ src/mm-modem-helpers-qmi.c | 131 +-
+ src/mm-modem-helpers-qmi.h | 8 +
+ src/mm-shared-qmi.c | 1267 ++++++++++++
+ src/mm-shared-qmi.h | 67 +-
+ 6 files changed, 3026 insertions(+), 2799 deletions(-)
+
+commit 6026c99f2ec99e2721356ee645472d8403676bf6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 8 14:27:35 2018 +0200
+
+ shared-qmi: reuse device factory reset logic in MBIM whenever possible
+
+ src/mm-broadband-modem-mbim.c | 2 ++
+ src/mm-broadband-modem-qmi.c | 78
+ ++-----------------------------------------
+ src/mm-shared-qmi.c | 73
+ ++++++++++++++++++++++++++++++++++++++++
+ src/mm-shared-qmi.h | 19 +++++++----
+ 4 files changed, 90 insertions(+), 82 deletions(-)
+
+commit 9dc26cc44d79f18789a510e050fc899b680587ec
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 8 14:17:34 2018 +0200
+
+ shared-qmi: reuse device reset logic in MBIM whenever possible
+
+ src/mm-broadband-modem-mbim.c | 6 ++
+ src/mm-broadband-modem-qmi.c | 195
+ ++++++------------------------------------
+ src/mm-shared-qmi.c | 99 +++++++++++++++++++++
+ src/mm-shared-qmi.h | 9 ++
+ 4 files changed, 142 insertions(+), 167 deletions(-)
+
+commit 32aa8333c62296c7c9c918b161e35355821e7615
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 24 18:44:36 2018 +0200
+
+ helpers,tests: update ICCID related unit tests
+
+ Fix the test for invalid characters, because now I allow hex chars in
+ the account number.
+
+ And add new tests with real China Mobile ICCIDs that contain hex chars
+ in the account number.
+
+ src/tests/test-modem-helpers.c | 32 +++++++++++++++++++++++++++++++-
+ 1 file changed, 31 insertions(+), 1 deletion(-)
+
+commit 099d54a4bcaf7d71ccda1d42424d5b73ec286911
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 21 16:31:35 2018 +0200
+
+ helpers: allow [A-F] range in operator-specific ICCID account number
+
+ There are operators (e.g. the Chinese CMCC operator) that abuse the
+ fact that 4 bits are used to store the BCD encoded numbers, and also
+ use the [A-F] range as valid characters for the ICCID in the operator
+ specific account number part. Haven't seen any documentation where
+ this format with [A-F] characters is explicitly allowed, but I have
+ seen multiple real cases where it happens. E.g.:
+
+ 898602F9091830030220
+ 898602C0123456789012
+
+ This patch also removes the 'last F' validation, used when reading
+ 19-digit ICCIDs with +CRSM, as it no longer applies.
+
+ src/mm-modem-helpers.c | 41 ++++++++++++++++++++++-------------------
+ 1 file changed, 22 insertions(+), 19 deletions(-)
+
+commit eb01914bd0cada5d2ed144d5f3f45fd17722e97c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 21 16:26:45 2018 +0200
+
+ ublox: implement custom ICCID loading
+
+ Use AT+CCID to query the SIM ICCID, and fallback to parent's +CRSM
+ based method otherwise.
+
+ plugins/Makefile.am | 2 +
+ plugins/ublox/mm-broadband-modem-ublox.c | 25 +++++
+ plugins/ublox/mm-sim-ublox.c | 162
+ +++++++++++++++++++++++++++++++
+ plugins/ublox/mm-sim-ublox.h | 51 ++++++++++
+ 4 files changed, 240 insertions(+)
+
+commit 02821232878d2a12bf248b7f2594c48076593810
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jan 8 13:37:24 2018 +0100
+
+ helpers: allow 19-digit reported ICCIDs
+
+ The mm_3gpp_parse_iccid() method does validation of the ICCID string
+ and was originally implemented to handle +CRSM reported values. The
+ implementation was looking for 20-digit strings, even for 19-digit
+ ICCIDs (those finished with a trailing 'F').
+
+ We now extend the logic to also validate ICCID strings reported as
+ 19-digit values directly, and when that happens we won't allow
+ swapping of the digits (a +CRSM specific requirement) or trailing 'F'
+ characters (as that is only required when reporting 19-digit ICCIDs
+ with 20-digit strings).
+
+ This change allows us to e.g. use the u-blox specific AT+CCID command
+ and validate the returned ICCID with the same helper method, which
+ currently fails:
+
+ (ttyACM2): --> 'AT+CCID<CR>'
+ (ttyACM2): <-- '<CR><LF>+CCID:
+ 8934077700015848638<CR><LF><CR><LF>OK<CR><LF>'
+ couldn't load SIM identifier: 'Invalid ICCID response size (was 19,
+ expected 20)'
+
+ src/mm-modem-helpers.c | 25 +++++++++++++++++--------
+ src/tests/test-modem-helpers.c | 15 +++++++++++++++
+ 2 files changed, 32 insertions(+), 8 deletions(-)
+
+commit 4c669d3bf46da3b4f924968e43fc2edfbfa0b5d7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 23:36:45 2018 +0200
+
+ modem-helpers: reuse nicknames for the flow control tags
+
+ And check that the string given in the tag is actually a valid one.
+
+ src/mm-base-modem.c | 20 ++++++++++++-----
+ src/mm-modem-helpers.c | 30 ++++++++++++++-----------
+ src/mm-modem-helpers.h | 3 ++-
+ src/mm-port-probe.c | 60
+ ++++++++++++++++++++++++++++++--------------------
+ 4 files changed, 70 insertions(+), 43 deletions(-)
+
+commit fc1beefe927adb8d9bed3f554ddfb73a09593630
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 23:15:26 2018 +0200
+
+ port-serial: improve logging in mm_port_serial_set_flow_control()
+
+ src/mm-port-serial.c | 32 ++++++++++++++++++++++++++------
+ 1 file changed, 26 insertions(+), 6 deletions(-)
+
+commit 727567cf581f9126b5af6aff2944f3734877d999
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 23:03:12 2018 +0200
+
+ broadband-bearer: no need for explicit flow control cleanup on
+ disconnect
+
+ We're already configuring the flow control we expect when running
+ mm_port_serial_reopen(), which will keep the udev-selected flow
+ control or will otherwise reset to no flow control when the TTY is in
+ command mode.
+
+ src/mm-broadband-bearer.c | 20 --------------------
+ 1 file changed, 20 deletions(-)
+
+commit a19be8952f3d1587c32b63d0410530d5ae806e46
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 11:56:41 2018 +0200
+
+ cinterion: report selected RTS/CTS flow control to modem
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5f3c415722c26eafe3d5e02c02e3b692d9c47930
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 11:56:15 2018 +0200
+
+ iridium: report selected RTS/CTS flow control to modem
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit cd762addfd87e3b90c5a644f8bdaca3be01d5a3a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 13:46:03 2018 +0200
+
+ broadband-modem: allow subclasses to modify the flow control settings
+
+ If a subclass implements a custom setup_flow_control() logic, e.g. to
+ select a very specific setting explicitly, let it also configure the
+ flow control settings modem-wide via the modem object property, so
+ that bearer objects can later on use the same settings when preparing
+ for a new connection.
+
+ src/mm-broadband-modem.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit a9f871805b8e9b8c16a60b46ccdc525c78352f6c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 11:44:54 2018 +0200
+
+ broadband-modem: rework flow control selection logic
+
+ Try to simplify a bit the logic that selects the flow control to be
+ used during connectivity:
+
+ * We detect early if the requested flow control (via udev tags) is
+ actually supported by the modem (as eported by AT+IFC=?), and if it
+ isn't, we error out directly.
+
+ * We try to set in a single place the AT commands to be used to setup
+ the flow control, once we have decided which one we're going to
+ use.
+
+ * Use the string builder helpers to log the flow control values.
+
+ src/mm-broadband-modem.c | 111
+ ++++++++++++++++++++++++-----------------------
+ 1 file changed, 56 insertions(+), 55 deletions(-)
+
+commit b773e610eb68901624928b4dadb456d595a5d37c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 11:14:26 2018 +0200
+
+ port-serial,broadband-modem: minor coding style fixes
+
+ src/mm-base-modem.c | 7 ++++---
+ src/mm-port-serial.c | 3 ++-
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+commit f253c15c1ffaba3767ce021e267df8ad079db6d2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 11:06:15 2018 +0200
+
+ port-serial: improve logging of device-level flow control settings
+
+ src/mm-port-serial.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+commit 48d2fa399ac55ff5a59224b3ab5e475f1ddc394b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 10 10:56:52 2018 +0200
+
+ port-serial: Flow Control property is flags, not enum
+
+ MMFlowControl is a flags enumeration, so change the property type to
+ match that, or we'll end up with nasty criticals during runtime.
+
+ (ModemManager:30758): GLib-GObject-CRITICAL **: 10:54:26.435:
+ g_param_spec_enum: assertion 'G_TYPE_IS_ENUM (enum_type)' failed
+
+ Thread 1 "ModemManager" received signal SIGTRAP, Trace/breakpoint
+ trap.
+ 0x00007ffff71f2a96 in ?? () from /usr/lib/libglib-2.0.so.0
+ (gdb) bt
+ #0 0x00007ffff71f2a96 in () at /usr/lib/libglib-2.0.so.0
+ #1 0x00007ffff71f3def in g_logv () at /usr/lib/libglib-2.0.so.0
+ #2 0x00007ffff71f3fe0 in g_log () at /usr/lib/libglib-2.0.so.0
+ #3 0x00007ffff72d90ac in g_param_spec_enum () at
+ /usr/lib/libgobject-2.0.so.0
+ #4 0x000055555564caf2 in mm_port_serial_class_init
+ (klass=0x5555557607c0) at mm-port-serial.c:2101
+ #5 0x000055555564759a in mm_port_serial_class_intern_init
+ (klass=0x5555557607c0) at mm-port-serial.c:49
+ #6 0x00007ffff72ea9b4 in g_type_class_ref () at
+ /usr/lib/libgobject-2.0.so.0
+ #7 0x00007ffff72eab5a in g_type_class_ref () at
+ /usr/lib/libgobject-2.0.so.0
+ #8 0x00007ffff72d0f53 in g_object_new_valist () at
+ /usr/lib/libgobject-2.0.so.0
+ #9 0x00007ffff72d103a in g_object_new () at
+ /usr/lib/libgobject-2.0.so.0
+ #10 0x000055555564e187 in mm_port_serial_at_new
+ (name=0x55555576e280 "ttyUSB4", subsys=MM_PORT_SUBSYS_TTY)
+ at mm-port-serial-at.c:533
+ #11 0x0000555555602512 in serial_open_at (self=0x555555715390)
+ at mm-port-probe.c:1285
+ #12 0x00007ffff71ecb49 in g_main_context_dispatch () at
+ /usr/lib/libglib-2.0.so.0
+ #13 0x00007ffff71ecf59 in () at /usr/lib/libglib-2.0.so.0
+ #14 0x00007ffff71ed272 in g_main_loop_run () at
+ /usr/lib/libglib-2.0.so.0
+ #15 0x00005555555957e0 in main (argc=3, argv=0x7fffffffe458) at
+ main.c:181
+
+ Also, rename the property to match the naming convention of other
+ properties in the same object.
+
+ src/mm-port-serial.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit e3c2f0e9cccd26794e4fa54dcd8663d97e129414
+Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
+Date: Mon Sep 3 09:09:17 2018 +0200
+
+ broadband-modem: set flow control from port
+
+ Set the flow control used in the data connection from the one
+ set in the port.
+
+ src/mm-broadband-modem.c | 81
+ ++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 65 insertions(+), 16 deletions(-)
+
+commit 94879ce1ce7c04060d74e6dcca610e2f239b5820
+Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
+Date: Mon Sep 3 09:06:27 2018 +0200
+
+ base-modem,port-probe: set serial port flow control from udev tag
+
+ Set the serial port flow control from the udev tag
+ ID_MM_TTY_FLOW_CONTROL before accessing the port.
+
+ src/mm-base-modem.c | 10 +++++++++-
+ src/mm-port-probe.c | 16 ++++++++++++++++
+ 2 files changed, 25 insertions(+), 1 deletion(-)
+
+commit 4e69c10c2dd1409eb8e1b82051e758ff13164f35
+Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
+Date: Mon Sep 3 09:03:56 2018 +0200
+
+ port-serial: add flow control property
+
+ Add flow control property to the MMPortSerial class, and use it when
+ setting the port flow control.
+
+ src/mm-port-serial.c | 104
+ +++++++++++++++++++++++++++++++++++++--------------
+ src/mm-port-serial.h | 2 +
+ 2 files changed, 77 insertions(+), 29 deletions(-)
+
+commit a1c27bf89d8f238509479f7223de7bb8677c005e
+Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
+Date: Mon Sep 3 09:01:47 2018 +0200
+
+ modem-helpers: add flow control udev tag parser
+
+ Add function for parsing the content of the udev tag
+ ID_MM_TTY_FLOW_CONTROL.
+
+ src/mm-modem-helpers.c | 19 +++++++++++++++++++
+ src/mm-modem-helpers.h | 2 ++
+ 2 files changed, 21 insertions(+)
+
+commit bc407a38d63708298798440ce70acf7a14c4320c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 14 17:16:33 2018 +0200
+
+ mmcli,location: print LAC/TAC/CID in hex
+
+ All these values are usually specified in hex, not in dec.
+
+ cli/mmcli-modem-location.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 6e84f3d45934e4f1e334c4bfd0d9a43d88889039
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 14 15:36:44 2018 +0200
+
+ iface-modem-location: validate SUPL server address
+
+ Devices will expect SUPL server given as either IP:PORT or FQDN:PORT,
+ so just avoid saying we require a 'URL' because it's not true.
+
+ We will use a new helper method to parse and validate user-provided
+ SUPL server address.
+
+ cli/mmcli-modem-location.c | 2 +-
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 4 +-
+ src/mm-iface-modem-location.c | 8 +++
+ src/mm-modem-helpers.c | 58
+ ++++++++++++++++++++++
+ src/mm-modem-helpers.h | 6 +++
+ src/mm-shared-qmi.c | 40 ++-------------
+ 6 files changed, 80 insertions(+), 38 deletions(-)
+
+commit 47ed19d5be68f139d4fbb00c997cd2805488ace7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Sep 8 10:04:58 2018 +0200
+
+ broadband-bearer: don't do connection checks on CDMA
+
+ On CDMA-only connections we won't have a CID defined, so instead of
+ getting in a loop of warnings reporting "cid not defined", early error
+ out with an UNSUPPORTED error so that the connection check isn't tried
+ any more.
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/83
+
+ src/mm-broadband-bearer.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 21420e450db9c688859e7fd7fd71cd452f075f12
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 30 13:11:35 2018 -0700
+
+ broadband-modem: port modem_cdma_register_in_network to use GTask
+
+ src/mm-broadband-modem.c | 48
+ ++++++++++++++++++++++++------------------------
+ 1 file changed, 24 insertions(+), 24 deletions(-)
+
+commit fcec3b3355f62e0accccd8b84df8aca2b16181dd
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 30 13:00:38 2018 -0700
+
+ broadband-modem: port modem_cdma_setup_registration_checks to
+ use GTask
+
+ src/mm-broadband-modem.c | 79
+ ++++++++++++++++++++++++++++--------------------
+ 1 file changed, 46 insertions(+), 33 deletions(-)
+
+commit c0607ede9b9743ef20798b34b9257fab2a48a490
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 30 12:53:17 2018 -0700
+
+ broadband-modem: port modem_cdma_setup_cleanup_unsolicited_events
+ to use GTask
+
+ src/mm-broadband-modem.c | 67
+ ++++++++++++++++++++++++------------------------
+ 1 file changed, 34 insertions(+), 33 deletions(-)
+
+commit a51a0ba23ebd098e22b3db31a59e7433ed4d1f67
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 30 11:29:58 2018 -0700
+
+ broadband-modem: port modem_load_access_technologies to use GTask
+
+ src/mm-broadband-modem.c | 140
+ ++++++++++++++++++++++++-----------------------
+ 1 file changed, 73 insertions(+), 67 deletions(-)
+
+commit 2d7bf65093a70ee5894eb9a08d31568aec2d8ed3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 6 10:40:47 2018 +0200
+
+ broadband-modem-qmi: avoid completing the GTask twice when loading
+ capabilities
+
+ src/mm-broadband-modem-qmi.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit e953d285c18a90f09df4b5d23b6649dbe3fafc55
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 6 10:40:01 2018 +0200
+
+ broadband-modem-qmi: add missing task unref when loading signal values
+
+ src/mm-broadband-modem-qmi.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 38de53b19536e8878c294ace678f43b2f6366230
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 6 10:38:27 2018 +0200
+
+ broadband-modem-qmi: make sure result values are not in context
+ when completing
+
+ In order to avoid having the result values in 2 places (context and
+ result) when the GTask is completed, we will steal the pointer from
+ the context before it's set as result of the GTask.
+
+ src/mm-broadband-modem-qmi.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit 6e8aab2c4ed38d24c008ae4de36cb7c8bc8e3ca6
+Author: Paul Bartell <p.bartell@temperednetworks.com>
+Date: Tue Sep 4 14:10:26 2018 -0700
+
+ broadband-modem-qmi: Pass signal values_result directly rather than
+ duplicating with g_memdup
+
+ corrects segfault introduced in
+ 7d8f0600e6de32721112949b65d48108ea640b51
+
+ Signed-off-by: Paul Bartell <p.bartell@temperednetworks.com>
+
+ src/mm-broadband-modem-qmi.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 1b3b2e26a7ff4faf536074b8b82d6e4eec11b36c
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 28 13:10:24 2018 -0700
+
+ test,modem-helpers: remove unnecessary NULL check for g_free()
+
+ g_free() handles a NULL pointer properly, so there is no need to
+ have a
+ NULL check before calling g_free().
+
+ src/tests/test-modem-helpers.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 8e98922880b54c2bad8e515be18cbc94c4544dc3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 28 10:50:18 2018 +0200
+
+ libmm-glib,pco: add some more missing documentation for MMPco
+
+ libmm-glib/mm-pco.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+commit c49f60db029624095b9b3d4f43399866211a5399
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Aug 27 12:55:24 2018 -0700
+
+ libmm-glib,pco: add missing documentation for MMPco
+
+ libmm-glib/mm-modem-3gpp.c | 2 +-
+ libmm-glib/mm-pco.c | 25 +++++++++++++++++++++++++
+ 2 files changed, 26 insertions(+), 1 deletion(-)
+
+commit 28c1acf2e134a395dfda28860db37e4bf9650e16
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 28 09:25:25 2018 +0200
+
+ port-probe: fix build when QMI over MBIM is unsupported
+
+ src/mm-port-probe.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f24d8279bcfac4f9945c2e47bf60e6dfc5a686f5
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Mon Aug 27 16:51:28 2018 +0200
+
+ docs: mm_modem_get_sim is async
+
+ Signed-off-by: Guido Günther <guido.gunther@puri.sm>
+
+ libmm-glib/mm-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0520836afa8bf976d3f32f226c8b939e1551bb0b
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 22 13:26:24 2018 -0700
+
+ mbim: fix inconsistency in WITH_QMI guards
+
+ src/mm-broadband-modem-mbim.c | 4 ++--
+ src/mm-port-mbim.c | 4 ++--
+ src/mm-port-mbim.h | 2 +-
+ src/mm-port-probe.c | 2 +-
+ 4 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 6530683cfb03c4dc31b1b96cfd16cf64c192a30b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 21 17:38:15 2018 -0700
+
+ broadband-modem-mbim: add missing guard for shared_qmi_init()
+
+ Fixes: 9e42a19742de55cf5c0ba4d68069c1845e9392e6
+
+ src/mm-broadband-modem-mbim.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 2729b08696860ac790d8a5f726dcf8fa86fb51eb
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 21 17:27:48 2018 -0700
+
+ port-mbim: add missing guard for try_qmi_over_mbim in
+ mm_port_mbim_open()
+
+ Fixes: c0cc694c67d9e71f200fb23e20473cc9b31d9ec0
+
+ src/mm-port-mbim.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 7c5cfa13a19c2c59d003c938283652f071e7004d
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 21 14:03:53 2018 -0700
+
+ xmm: include string.h for strlen()
+
+ This patch fixes the following compiler warning:
+
+ xmm/mm-modem-helpers-xmm.c:388:38: error: implicitly declaring
+ library function 'strlen' with type 'unsigned long (const char *)'
+ [-Werror,-Wimplicit-function-declaration]
+ g_regex_match_full (r, response, strlen (response), 0, 0,
+ &match_info, &inner_error);
+ ^
+
+ plugins/xmm/mm-modem-helpers-xmm.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f6c310ba82849f160b180678e6a7110aa210784b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 21 14:02:20 2018 -0700
+
+ shared-qmi: include string.h for memset()
+
+ This patch fixes the following compiler warning:
+
+ mm-shared-qmi.c:447:9: error: implicitly declaring library
+ function 'memset' with type 'void *(void *, int, unsigned long)'
+ [-Werror,-Wimplicit-function-declaration]
+ memset (buf, 0, sizeof (buf));
+ ^
+
+ src/mm-shared-qmi.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 59e79c996b4863448f68a262bf8be053416a1344
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 13 19:14:30 2018 +0200
+
+ cinterion: new 'MMSharedCinterion' interface
+
+ Implement a new interface to keep the code shared between the QMI and
+ non-QMI modem implementations.
+
+ While doing that, also fix the parent interface pointer handling, so
+ that it isn't a static pointer applicable to all modems, and make it a
+ per-modem specific pointer. Without this fix, ModemManager would crash
+ if e.g. running with both a QMI and non-QMI Cinterion modem at the
+ same time.
+
+ The new shared Cinterion logic will be in charge of managing all GPS
+ sources not already managed by the parent interface. E.g. if the
+ parent implementation already supports QMI-based GPS location (using
+ the LOC service for example) prefer that to the custom AT-based
+ logic.
+
+ plugins/Makefile.am | 4 +-
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 43 +-
+ .../cinterion/mm-broadband-modem-qmi-cinterion.c | 34 +-
+ ...mm-common-cinterion.c => mm-shared-cinterion.c} | 498
+ +++++++++++----------
+ ...mm-common-cinterion.h => mm-shared-cinterion.h} | 46 +-
+ 5 files changed, 343 insertions(+), 282 deletions(-)
+
+commit 6e9bf39ecf97aedd8474577811c147b62d37585e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:54 2018 +0200
+
+ xmm: implement power management operations
+
+ plugins/xmm/mm-broadband-modem-mbim-xmm.c | 6 ++
+ plugins/xmm/mm-broadband-modem-xmm.c | 11 +++
+ plugins/xmm/mm-shared-xmm.c | 152
+ ++++++++++++++++++++++++++++++
+ plugins/xmm/mm-shared-xmm.h | 31 ++++++
+ 4 files changed, 200 insertions(+)
+
+commit 36e09ef44160bb9d864b9a0eebd700b1273a1a7f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:51 2018 +0200
+
+ fibocom: include udev rules tests
+
+ plugins/Makefile.am | 6 ++++--
+ plugins/tests/test-udev-rules.c | 7 +++++++
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit 475e1828195ab12b3e1e8be127995328575edbb4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:48 2018 +0200
+
+ fibocom: support XMM-based devices
+
+ plugins/Makefile.am | 3 ++-
+ plugins/fibocom/mm-plugin-fibocom.c | 21 +++++++++++++++++++++
+ 2 files changed, 23 insertions(+), 1 deletion(-)
+
+commit da046fe566295a50b00d235843640cf403b1319f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:46 2018 +0200
+
+ plugin: new properties to support Intel XMM capability probing
+
+ src/mm-plugin.c | 77
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-plugin.h | 3 +++
+ 2 files changed, 80 insertions(+)
+
+commit 82262117e66fc43f88908cada5bc9d25d102ee40
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:43 2018 +0200
+
+ port-probe: support probing for Intel XMM capabilities
+
+ Same thing as we do for Icera.
+
+ src/mm-port-probe.c | 90
+ ++++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-port-probe.h | 14 ++++++---
+ 2 files changed, 96 insertions(+), 8 deletions(-)
+
+commit f2c508f8b9932a11fc30552fdf3a36f2f763665a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:40 2018 +0200
+
+ xmm: new 'MMBroadbandModemMbimXmm' modem object
+
+ plugins/Makefile.am | 8 +++
+ plugins/xmm/mm-broadband-modem-mbim-xmm.c | 86
+ +++++++++++++++++++++++++++++++
+ plugins/xmm/mm-broadband-modem-mbim-xmm.h | 47 +++++++++++++++++
+ 3 files changed, 141 insertions(+)
+
+commit 656102633cb5ccde1d1869dd51a177c70a57f58c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:37 2018 +0200
+
+ xmm: new 'MMBroadbandModemXmm' modem object
+
+ plugins/Makefile.am | 2 +
+ plugins/xmm/mm-broadband-modem-xmm.c | 86
+ ++++++++++++++++++++++++++++++++++++
+ plugins/xmm/mm-broadband-modem-xmm.h | 47 ++++++++++++++++++++
+ 3 files changed, 135 insertions(+)
+
+commit 917b23bbc71c22a2f9f374fa6433507c599a62b2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:35 2018 +0200
+
+ xmm: new 'MMSharedXmm' modem interface
+
+ With support for managing bands and modes.
+
+ plugins/Makefile.am | 11 +-
+ plugins/xmm/mm-shared-xmm.c | 562
+ ++++++++++++++++++++++++++++++++++++++++++++
+ plugins/xmm/mm-shared-xmm.h | 85 +++++++
+ 3 files changed, 657 insertions(+), 1 deletion(-)
+
+commit 2e0471fe6a51a686f870547cdb5d7c4608a1a18a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:32 2018 +0200
+
+ libmm-glib: new common helpers to check band types
+
+ libmm-glib/mm-common-helpers.c | 26 ++++++++++++++++++++++++++
+ libmm-glib/mm-common-helpers.h | 5 +++++
+ 2 files changed, 31 insertions(+)
+
+commit 6262e844f5a8cde8554f12292611118ff85cc145
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:29 2018 +0200
+
+ xmm: new helper to get 'any' allowed mode combination
+
+ plugins/xmm/mm-modem-helpers-xmm.c | 31 +++++++++++++++++++++++++++++++
+ plugins/xmm/mm-modem-helpers-xmm.h | 3 +++
+ 2 files changed, 34 insertions(+)
+
+commit d6b1c321ef75bc4dfda065231f04cfb2b2e932ed
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:26 2018 +0200
+
+ xmm: new common XACT=X builder for Intel XMM based devices
+
+ plugins/xmm/mm-modem-helpers-xmm.c | 102 ++++++++++++
+ plugins/xmm/mm-modem-helpers-xmm.h | 5 +
+ plugins/xmm/tests/test-modem-helpers-xmm.c | 239
+ +++++++++++++++++++++++++++++
+ 3 files changed, 346 insertions(+)
+
+commit 023ba97d9cfeafb47fc4273647601e5650bfe689
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:24 2018 +0200
+
+ xmm: new common XACT? parser for Intel XMM based devices
+
+ plugins/xmm/mm-modem-helpers-xmm.c | 120
+ +++++++++++++++++++++++++++++
+ plugins/xmm/mm-modem-helpers-xmm.h | 6 ++
+ plugins/xmm/tests/test-modem-helpers-xmm.c | 99 ++++++++++++++++++++++++
+ 3 files changed, 225 insertions(+)
+
+commit 142f1d0360860ebecaa441b0431e37b1adf63751
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:21 2018 +0200
+
+ xmm: new common XACT=? parser for Intel XMM based devices
+
+ plugins/Makefile.am | 26 +++
+ plugins/xmm/mm-modem-helpers-xmm.c | 340
+ +++++++++++++++++++++++++++++
+ plugins/xmm/mm-modem-helpers-xmm.h | 28 +++
+ plugins/xmm/tests/test-modem-helpers-xmm.c | 210 ++++++++++++++++++
+ 4 files changed, 604 insertions(+)
+
+commit 69ca442dd42bdc56ba664153afd630f91513c98e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 14:05:18 2018 +0200
+
+ api: define E-UTRAN bands 49 to 64
+
+ include/ModemManager-enums.h | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+commit 1b002a3584f84b8181827d19f59916d6c9897649
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 18 15:02:27 2018 +0200
+
+ fibocom: ignore intel trace port in the L850-GL
+
+ plugins/Makefile.am | 2 ++
+ plugins/fibocom/77-mm-fibocom-port-types.rules | 16 ++++++++++++++++
+ 2 files changed, 18 insertions(+)
+
+commit af8adcc756c7a5e456e3742ab1883908c4896c95
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 18 14:52:52 2018 +0200
+
+ fibocom: new plugin with support for MBIM devices
+
+ plugins/Makefile.am | 12 +++++
+ plugins/fibocom/mm-plugin-fibocom.c | 95
+ +++++++++++++++++++++++++++++++++++++
+ plugins/fibocom/mm-plugin-fibocom.h | 40 ++++++++++++++++
+ 3 files changed, 147 insertions(+)
+
+commit 532ff24101259856887943fc3b406ccc1c08bb0d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 7 00:35:14 2018 +0200
+
+ broadband-modem-mbim: implement 3GPP USSD support
+
+ src/mm-broadband-modem-mbim.c | 622
+ +++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 617 insertions(+), 5 deletions(-)
+
+commit eda46d05cf9ed1a8f9aac460a55509b510b02c0b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 7 00:23:41 2018 +0200
+
+ charsets: new helper to convert binary input data to UTF-8
+
+ Most of all the other APIs we have are expecting binary data (e.g.
+ UCS-2 encoded strings) in ASCII hex format, because they were going
+ to be used in text AT commands. For binary protocols allowing binary
+ data, we need use a more generic API that provides an explicit data
+ size.
+
+ src/mm-charsets.c | 25 +++++++++++++++++++++++++
+ src/mm-charsets.h | 5 +++++
+ 2 files changed, 30 insertions(+)
+
+commit e90ced5e0f5691113abb20fb5a22e312a2bc9b68
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 7 00:23:25 2018 +0200
+
+ iface-modem-3gpp-ussd: new helper to get current state
+
+ src/mm-iface-modem-3gpp-ussd.c | 18 ++++++++++++++++++
+ src/mm-iface-modem-3gpp-ussd.h | 2 ++
+ 2 files changed, 20 insertions(+)
+
+commit d16a1711fd9e6400f45ed7419670ef54b5cea4ed
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 7 09:12:47 2018 +0200
+
+ iface-modem-3gpp-ussd: prefer 'events' naming to 'result codes'
+
+ The 'result codes' naming is much more AT-protocol specific, 'events'
+ is more generic.
+
+ src/mm-broadband-modem.c | 52 +++++++++++++--------------
+ src/mm-iface-modem-3gpp-ussd.c | 80
+ +++++++++++++++++++-----------------------
+ src/mm-iface-modem-3gpp-ussd.h | 76
+ +++++++++++++++++++--------------------
+ 3 files changed, 100 insertions(+), 108 deletions(-)
+
+commit 3bc9a2dbe2b2dd4eca1572eac5a34135d9f26cf4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 11:29:11 2018 +0200
+
+ broadband-modem,ussd: explain encoding/decoding logic
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 7 ++++++-
+ src/mm-broadband-modem.c | 13 ++++++++++---
+ 2 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 6838a3f715279831cd8667f78996c9f6891062ea
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 6 22:17:11 2018 +0200
+
+ broadband-modem,ussd: port to GTask
+
+ src/mm-broadband-modem.c | 429
+ ++++++++++++++++++++++-------------------------
+ 1 file changed, 203 insertions(+), 226 deletions(-)
+
+commit fc41c167ce018ed1ec20c0969b6bd4536113d395
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 6 21:58:22 2018 +0200
+
+ iface-modem-3gpp,ussd: let send_finish() return a newly allocated
+ string
+
+ GTask integration will benefit from this change.
+
+ src/mm-broadband-modem.c | 5 +----
+ src/mm-iface-modem-3gpp-ussd.c | 14 +++++++++-----
+ src/mm-iface-modem-3gpp-ussd.h | 6 +++---
+ 3 files changed, 13 insertions(+), 12 deletions(-)
+
+commit 4ef3623e6396d5e592410b0ce136a9acf559542d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 21 16:56:02 2018 +0200
+
+ shared-qmi: refactor parse_as_utf16_url()
+
+ Let it return a GArray directly. We don't expect this method to ever
+ fail, as it's converting from UTF-8 to UTF-16.
+
+ src/mm-shared-qmi.c | 23 +++++++++++------------
+ 1 file changed, 11 insertions(+), 12 deletions(-)
+
+commit 63420884581852dda21f40ff88f81c49bae7680c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 21 16:53:38 2018 +0200
+
+ shared-qmi: fix context type in GPS operation mode timeout handler
+
+ src/mm-shared-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c9d1d0572a6bc3dc9fda3244832ae73b197170c6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jul 28 12:37:00 2018 +0200
+
+ shared-qmi: inject "xtra data" if "predicted orbits data" unsupported
+
+ src/mm-shared-qmi.c | 170
+ +++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 155 insertions(+), 15 deletions(-)
+
+commit efa14947b489e170ed09b3563840fe789061273f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 9 12:00:42 2018 +0200
+
+ shared-qmi,loc: setup reports every 5s may be broken
+
+ Configuring reports every 5s may lead to GPGGA traces reported
+ like this:
+
+ $GPGGA,211645.00,,,,,0,,,,,,,,*4D
+ $GPGGA,211646.00,4030.003988,N,00330.761876,W,1,07,1.0,691.6,M,53.0,M,,*74
+ $GPGGA,211650.00,,,,,0,,,,,,,,*49
+ $GPGGA,211651.00,4030.005405,N,00330.763540,W,1,07,1.0,688.9,M,53.0,M,,*71
+ $GPGGA,211655.00,,,,,0,,,,,,,,*4C
+ $GPGGA,211656.00,4030.008074,N,00330.765338,W,1,07,0.9,679.9,M,53.0,M,,*70
+ $GPGGA,211700.00,,,,,0,,,,,,,,*4D
+ $GPGGA,211701.00,4030.009258,N,00330.765510,W,1,07,1.0,678.3,M,53.0,M,,*71
+ $GPGGA,211705.00,,,,,0,,,,,,,,*48
+
+ Which is totally undesirable, as the GPS location would be flapping
+ between set and unset.
+
+ Use the default of 1s explicitly, which behaves properly.
+
+ src/mm-shared-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 666622b4d4abb701cba753132302bdb31fc4c7b9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 8 16:05:28 2018 +0200
+
+ broadband-modem-mbim: report Unsupported if QMI over MBIM not
+ available
+
+ For non-Qualcomm MBIM devices, report a generic "Unsupported" error if
+ we try to do an operation that would otherwise be only available with
+ QMI-over-MBIM.
+
+ src/mm-broadband-modem-mbim.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit d3b43bd0a6d80493703b7fa85e751981c101fe36
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 2 00:31:50 2018 +0200
+
+ shared-qmi: support for Qualcomm gpsOneXTRA assistance data
+
+ The gpsOneXTRA assistance data provides a convenient way to inject
+ predicted orbit information into the module, without requiring to have
+ an Internet connection in the module itself.
+
+ src/mm-broadband-modem-mbim.c | 6 +
+ src/mm-broadband-modem-qmi.c | 6 +
+ src/mm-shared-qmi.c | 463
+ +++++++++++++++++++++++++++++++++++++++++-
+ src/mm-shared-qmi.h | 86 +++++---
+ 4 files changed, 522 insertions(+), 39 deletions(-)
+
+commit 091bf4dbd811a7e556613397cd0efa7b8998a2cd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 2 00:25:54 2018 +0200
+
+ api: support location assistance data
+
+ Sometimes SUPL-server based A-GPS is not possible, e.g. if the module
+ doesn't have Internet connectivity. In such cases, the modem may
+ support injecting additional "assistance data" that may be downloaded
+ from the Internet using external means (e.g. WiFi), in order to keep
+ having a quick time to first fix.
+
+ We now support using this location assistance data, with the following
+ new API elements:
+
+ * A new mask of supported assistance data types is provided in the
+ SupportedAssistanceData property.
+
+ * A new list of URLs from where the aassistance data may be
+ downloaded is also provided in a new AssistanceDataServers
+ property.
+
+ * A new InjectAssistanceData() method is provided, to perform the
+ data injection in the module once it's been downloaded to the host
+ system.
+
+ cli/mmcli-modem-location.c | 162
+ ++++++++++++++++--
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 14 ++
+ include/ModemManager-enums.h | 12 ++
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 34 ++++
+ libmm-glib/mm-modem-location.c | 153
+ +++++++++++++++++
+ libmm-glib/mm-modem-location.h | 20 +++
+ src/mm-iface-modem-location.c | 188
+ +++++++++++++++++++++
+ src/mm-iface-modem-location.h | 26 +++
+ 9 files changed, 596 insertions(+), 14 deletions(-)
+
+commit 0798f32362f0a9664e65de13c66d3767fc7ddf6d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jun 30 17:26:41 2018 +0200
+
+ shared-qmi: implement LOC-based GPS/A-GPS support
+
+ src/mm-broadband-modem-mbim.c | 3 +-
+ src/mm-broadband-modem-qmi.c | 3 +-
+ src/mm-shared-qmi.c | 948
+ ++++++++++++++++++++++++++++++++++++++----
+ 3 files changed, 874 insertions(+), 80 deletions(-)
+
+commit 8bc51d3ed14bba4e1ccc6f365a2ebf4a11ac8658
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jun 30 17:25:18 2018 +0200
+
+ shared-qmi: decouple low-level GPS operations from source management
+ logic
+
+ Just to make room for the LOC based integration.
+
+ src/mm-shared-qmi.c | 746
+ +++++++++++++++++++++++++++-------------------------
+ 1 file changed, 390 insertions(+), 356 deletions(-)
+
+commit fc520eb0732019ca310324f3ec5232021d90c64a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jun 30 17:12:50 2018 +0200
+
+ modem-helpers-qmi: new helper to transform QmiLocIndicationStatus
+ into a GError
+
+ src/mm-modem-helpers-qmi.c | 37 ++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-helpers-qmi.h | 6 ++++++
+ 2 files changed, 42 insertions(+), 1 deletion(-)
+
+commit 9e42a19742de55cf5c0ba4d68069c1845e9392e6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jun 27 17:35:31 2018 +0200
+
+ broadband-modem-mbim: support for QMI PDS based GPS location
+
+ src/mm-broadband-modem-mbim.c | 102
+ +++++++++++++++++++++++++++++-------------
+ 1 file changed, 72 insertions(+), 30 deletions(-)
+
+commit e93b698c7b20a2c4e63abbc9d58bf3b6f891d467
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jun 27 17:18:55 2018 +0200
+
+ port-mbim: when opening QMI over MBIM support, request indications
+
+ We do want to receive QMI indications, as they will be needed for
+ different features (e.g. LOC based GNSS support).
+
+ src/mm-port-mbim.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 098897778bd6525e4b1b2e1aac67064136f2cae9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jun 27 17:12:53 2018 +0200
+
+ shared-qmi: import PDS-based GPS location support
+
+ src/mm-broadband-modem-qmi.c | 952
+ +++-----------------------------------
+ src/mm-shared-qmi.c | 1045
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-shared-qmi.h | 39 ++
+ 3 files changed, 1156 insertions(+), 880 deletions(-)
+
+commit 811a80e5ead636a933f5be1318f80e1b72059f7a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jun 27 12:41:19 2018 +0200
+
+ shared-qmi: new interface to handle common QMI implementations
+
+ This new interface will include implementations that are shared
+ between the MMBroadbandModemQmi and the MMBroadbandModemMbim.
+
+ For now, it just provides a way to implement the common client
+ allocation methods.
+
+ src/Makefile.am | 2 +
+ src/mm-broadband-modem-qmi.c | 412
+ ++++++++++++++++++++++---------------------
+ src/mm-shared-qmi.c | 84 +++++++++
+ src/mm-shared-qmi.h | 60 +++++++
+ 4 files changed, 354 insertions(+), 204 deletions(-)
+
+commit f9cbe045e5ac50234cd608f1ffbae520b52dc525
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jun 19 17:44:17 2018 +0200
+
+ broadband-modem-mbim: use the preallocated DMS client for FCC Auth
+
+ src/mm-broadband-modem-mbim.c | 271
+ ++++++++++--------------------------------
+ 1 file changed, 66 insertions(+), 205 deletions(-)
+
+commit 5e6980c7fc6216dc920e2df1f06b76cd611ce7a9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jun 19 12:50:34 2018 +0200
+
+ broadband-modem-mbim: preallocate QMI clients if QMI over MBIM
+ supported
+
+ src/mm-broadband-modem-mbim.c | 95
+ +++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 78 insertions(+), 17 deletions(-)
+
+commit 8a364c4dfd910d5679b070b1f574539008028872
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jun 19 12:23:47 2018 +0200
+
+ port-mbim: implement QMI client allocation logic
+
+ src/mm-port-mbim.c | 116
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-port-mbim.h | 22 ++++++++++
+ 2 files changed, 138 insertions(+)
+
+commit c0cc694c67d9e71f200fb23e20473cc9b31d9ec0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jun 19 11:55:10 2018 +0200
+
+ port-mbim: automatically try to open a QMI over MBIM device
+
+ Most Qualcomm-based MBIM devices also support QMI over MBIM. We will
+ try to check in runtime whether the MBIM device supports QMI over
+ MBIM, and if so, setup a QmiDevice within the MMPortMbim.
+
+ src/mm-broadband-modem-mbim.c | 3 +
+ src/mm-port-mbim.c | 158
+ +++++++++++++++++++++++++++++++++++++-----
+ src/mm-port-mbim.h | 3 +
+ src/mm-port-probe.c | 3 +
+ 4 files changed, 150 insertions(+), 17 deletions(-)
+
+commit f6a2d01c7ee99204644db030a09fbd71566b7af7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 10 23:12:56 2018 +0200
+
+ build: require libqmi 1.21.3 with QMI LOC support
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fc3ca42734ee2b608a03fecc8ad4e037f9836a6a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 20 16:53:49 2018 +0200
+
+ build: ignore test-pco built file
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit cc0c76d87564aacee774644a3422d7854f0090bb
+Author: Claude Paroz <claude@2xlibre.net>
+Date: Sat Aug 18 18:36:03 2018 +0200
+
+ Add French translation
+
+ po/LINGUAS | 1 +
+ po/fr.po | 106
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 107 insertions(+)
+
+commit b8ab4736621db5ebc91e6fccc7195d192a01372b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 14 18:12:36 2018 -0700
+
+ cli: print 'Pco' property in Modem3gpp interface
+
+ cli/mmcli-modem.c | 23 ++++++++++++++++++++++-
+ 1 file changed, 22 insertions(+), 1 deletion(-)
+
+commit 930a5879d4735cf9ab934905b209a3ec158a02a2
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 14 14:55:43 2018 -0700
+
+ broadband-modem-mbim: update 'Pco' property in Modem3gpp interface
+
+ This patch changes MMBroadbandModemMbim to update the 'Pco'
+ property in
+ the Modem3gpp interface upon receiving a MBIM_CID_PCO notification.
+
+ src/mm-broadband-modem-mbim.c | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
+
+commit d46aa0c36a8543857e28f151e134f88462369fc4
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 14 14:54:14 2018 -0700
+
+ modem-3gpp: add 'Pco' property to Modem3gpp interface
+
+ This patch adds a 'Pco' property to the Modem3gpp interface for
+ tracking
+ PCOs that the modem has received from the network.
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 4 +++
+ ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 7 ++++
+ libmm-glib/mm-modem-3gpp.c | 40
+ ++++++++++++++++++++++
+ libmm-glib/mm-modem-3gpp.h | 2 ++
+ src/mm-iface-modem-3gpp.c | 29 ++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 2 ++
+ 6 files changed, 84 insertions(+)
+
+commit eb327b4203601a6c09f6369927325767391b86e7
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 14 14:53:04 2018 -0700
+
+ libmm-glib,pco: add helpers for managing a list of MMPco
+
+ libmm-glib/mm-pco.c | 36 +++++++++++++++++
+ libmm-glib/mm-pco.h | 4 ++
+ libmm-glib/tests/Makefile.am | 23 +++++++----
+ libmm-glib/tests/test-pco.c | 95
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 150 insertions(+), 8 deletions(-)
+
+commit 28e64d00181c83fd6cd420c46b6040f7b1afe5fb
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Aug 13 12:27:37 2018 -0700
+
+ libmm-glib: add MMPco for handling raw PCO data
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 4 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 28 +++
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-pco.c | 259
+ ++++++++++++++++++++++
+ libmm-glib/mm-pco.h | 87 ++++++++
+ 6 files changed, 382 insertions(+)
+
+commit 89ffcbdd8db4164a4a1cbea0224b0cc14a3f57b0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 14 10:59:53 2018 +0200
+
+ po: add Turkish translation
+
+ From: Emin Tufan Çetin <etcetin@gmail.com>
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/80
+
+ po/LINGUAS | 1 +
+ po/tr.po | 105
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 106 insertions(+)
+
+commit b7e5ca62c5eca1118e0c5cbda3d769f2c756c92c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 14 10:33:49 2018 +0200
+
+ broadband-modem-mbim: explicitly ignore SMS storage initialization
+
+ The MBIM protocol hides to the user the concept of SMS storages, so we
+ should explicitly ignore the initialization step so that it isn't run
+ with the parent AT-based implementation.
+
+ src/mm-broadband-modem-mbim.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit d21dd6cf1fe93030baa4b8fffe9b7e84d781f186
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 9 17:00:27 2018 -0700
+
+ broadband-modem: initialize 'tac' in registration_status_check_ready()
+
+ mm-broadband-modem.c:4395:13: error: variable 'tac'
+ is used uninitialized whenever 'if' condition is false
+ [-Werror,-Wsometimes-uninitialized]
+ if (act == MM_MODEM_ACCESS_TECHNOLOGY_LTE) {
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ mm-broadband-modem.c:4407:75: note: uninitialized use occurs here
+ mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self),
+ lac, tac, cid);
+ ^~~
+ mm-broadband-modem.c:4395:9: note: remove the 'if' if its condition
+ is always true
+ if (act == MM_MODEM_ACCESS_TECHNOLOGY_LTE) {
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ mm-broadband-modem.c:4380:9: error: variable 'tac'
+ is used uninitialized whenever 'if' condition is true
+ [-Werror,-Wsometimes-uninitialized]
+ if (cgreg) {
+ ^~~~~
+ mm-broadband-modem.c:4407:75: note: uninitialized use occurs here
+ mm_iface_modem_3gpp_update_location (MM_IFACE_MODEM_3GPP (self),
+ lac, tac, cid);
+ ^~~
+ mm-broadband-modem.c:4380:5: note: remove the 'if' if its condition
+ is always false
+ if (cgreg) {
+ ^~~~~~~~~~~~
+ mm-broadband-modem.c:4280:15: note: initialize the variable 'tac'
+ to silence this warning
+ gulong tac;
+ ^
+ = 0
+
+ src/mm-broadband-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b378be0f0d0e433e423f004c5a09db64ed94bb54
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Aug 9 17:07:30 2018 +0200
+
+ broadband-modem-mbim: fallback to trying AT+CESQ if ATDS signal
+ unsupported
+
+ src/mm-broadband-modem-mbim.c | 81
+ +++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 71 insertions(+), 10 deletions(-)
+
+commit ab9130682c0b529d68d4281fcf52bcf51f5dc43e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Aug 9 11:59:25 2018 +0200
+
+ broadband-modem-mbim: implement extended signal support with ATDS
+
+ src/mm-broadband-modem-mbim.c | 202
+ ++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 197 insertions(+), 5 deletions(-)
+
+commit 7a941466c29342b1ebb30fbd54f41f4f7005d0b0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Aug 9 10:45:48 2018 +0200
+
+ broadband-modem-mbim: implement 3GPP location support with ATDS
+
+ src/mm-broadband-modem-mbim.c | 119
+ ++++++++++++++++++++++++++++++------------
+ 1 file changed, 86 insertions(+), 33 deletions(-)
+
+commit ff6a82f5b754366db042cc602e1ffbbf46682749
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 16:32:35 2018 +0200
+
+ broadband-modem: check if modem implements MBIM_CID_USSD
+
+ src/mm-broadband-modem-mbim.c | 35 ++++++++++++++++++++++++-----------
+ 1 file changed, 24 insertions(+), 11 deletions(-)
+
+commit cf500014b6db4ab9548d9f6fde35c21ab4c05697
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 27 12:08:27 2018 +0200
+
+ port-probe: no AT probing on possible QCDM port
+
+ Ports flagged as being QCDM will not be probed for AT. QCDM probing
+ will be performed normally, the udev tags only give hints, we still
+ need to know whether the TTYs are QCDM-capable or not.
+
+ src/mm-port-probe.c | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+commit 548b7f88473827954a389d96dac298fa6b6453a6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 27 11:43:48 2018 +0200
+
+ base-modem: load AT port type hints when adding port
+
+ We keep the pflags input in mm_base_modem_grab_port() so that plugins
+ can use other methods to gather port type hints (e.g. querying with AT
+ commands as in Huawei/Telit or looking at sysfs properties as in HSO).
+
+ For standard udev tag port type hints, it will be the base modem
+ looking them up.
+
+ Note that there is no longer any need to ignore non-flagged ports for
+ those modems that require primary/secondary flags. They will be
+ implicitly ignored when mm_base_modem_organize_ports() decides which
+ ports to use, as the flagged ones are preferred over the non-flagged
+ ones.
+
+ plugins/haier/mm-plugin-haier.c | 27 -------------------
+ plugins/huawei/mm-plugin-huawei.c | 18 +++----------
+ plugins/longcheer/mm-plugin-longcheer.c | 43
+ ------------------------------
+ plugins/mtk/mm-plugin-mtk.c | 35 ------------------------
+ plugins/nokia/mm-plugin-nokia-icera.c | 34 ------------------------
+ plugins/simtech/mm-plugin-simtech.c | 47
+ ---------------------------------
+ plugins/telit/mm-common-telit.c | 37 ++------------------------
+ plugins/x22x/mm-plugin-x22x.c | 45
+ -------------------------------
+ plugins/zte/mm-plugin-zte.c | 18 +------------
+ src/mm-base-modem.c | 14 +++++++++-
+ 10 files changed, 20 insertions(+), 298 deletions(-)
+
+commit aff633b1b002ecfecc51d589d580e963c931cb6d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 27 11:33:30 2018 +0200
+
+ port-probe: no QCDM probing on possible AT port
+
+ Ports flagged with one of the common AT port type hints will not be
+ probed for QCDM.
+
+ AT probing will be performed normally, the udev tags only give hints,
+ we still need to know whether the TTYs are AT-capable or not.
+
+ src/mm-port-probe.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 6b0424cfac1c41d5aee3f734993077077f161325
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 27 10:55:48 2018 +0200
+
+ plugins: consolidate ID_MM_PORT_TYPE_AT_* flag names
+
+ We define 3 common udev tag ids to be used by all plugins:
+
+ * ID_MM_PORT_TYPE_AT_PRIMARY: the primary modem port. It will be used
+ for AT control and also as PPP if there is no other port flagged
+ explicitly to do PPP.
+
+ * ID_MM_PORT_TYPE_AT_SECONDARY: the secondary modem port. It will be
+ used when/if the primary port gets connected to do PPP.
+
+ * ID_MM_PORT_TYPE_PPP: the port to be used to do PPP only. This tag
+ makes sense only when the primary port shouldn't be used for PPP,
+ i.e. when there is a port dedicated to do PPP and one port
+ dedicated for control.
+
+ plugins/haier/77-mm-haier-port-types.rules | 2 +-
+ plugins/haier/mm-plugin-haier.c | 2 +-
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 8 +-
+ plugins/huawei/mm-plugin-huawei.c | 4 +-
+ plugins/longcheer/77-mm-longcheer-port-types.rules | 166 +++++++-------
+ plugins/longcheer/mm-plugin-longcheer.c | 4 +-
+ plugins/mtk/77-mm-mtk-port-types.rules | 28 +--
+ plugins/mtk/mm-plugin-mtk.c | 4 +-
+ plugins/nokia/77-mm-nokia-port-types.rules | 26 +--
+ plugins/nokia/mm-plugin-nokia-icera.c | 4 +-
+ plugins/simtech/77-mm-simtech-port-types.rules | 14 +-
+ plugins/simtech/mm-plugin-simtech.c | 4 +-
+ plugins/telit/77-mm-telit-port-types.rules | 22 +-
+ plugins/telit/mm-common-telit.c | 4 +-
+ plugins/x22x/77-mm-x22x-port-types.rules | 36 +--
+ plugins/x22x/mm-plugin-x22x.c | 4 +-
+ plugins/zte/77-mm-zte-port-types.rules | 244
+ ++++++++++-----------
+ plugins/zte/mm-plugin-zte.c | 4 +-
+ 18 files changed, 290 insertions(+), 290 deletions(-)
+
+commit 86f840d97bbc458adf6f2217783ca9bc6b81d5d0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 27 10:20:09 2018 +0200
+
+ port-probe: explicitly report GPS port type if port flagged
+
+ And remove all custom logic from all plugins that were doing just
+ that.
+
+ plugins/cinterion/mm-plugin-cinterion.c | 8 --------
+ plugins/huawei/mm-plugin-huawei.c | 5 -----
+ plugins/mbm/mm-plugin-mbm.c | 29
+ -----------------------------
+ plugins/telit/mm-common-telit.c | 5 -----
+ src/mm-port-probe.c | 3 +++
+ 5 files changed, 3 insertions(+), 47 deletions(-)
+
+commit 9c0a557f918abd3e94702753ed0479494bcd2f90
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 27 10:19:48 2018 +0200
+
+ port-probe: don't do AT or QCDM probing on ports flagged as GPS
+
+ src/mm-port-probe.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 85adbdbdd15794ab55112f8721ab5ae278f1b3bf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 27 10:02:54 2018 +0200
+
+ plugins: consolidate ID_MM_PORT_TYPE_GPS flag name
+
+ Use the same flag name across all plugins with support for
+ NMEA-capable TTYs.
+
+ plugins/cinterion/77-mm-cinterion-port-types.rules | 4 +--
+ plugins/cinterion/mm-plugin-cinterion.c | 2 +-
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 4 +--
+ plugins/huawei/mm-plugin-huawei.c | 2 +-
+ plugins/mbm/77-mm-ericsson-mbm.rules | 38
+ +++++++++++-----------
+ plugins/mbm/mm-plugin-mbm.c | 2 +-
+ plugins/telit/77-mm-telit-port-types.rules | 6 ++--
+ plugins/telit/mm-common-telit.c | 2 +-
+ 8 files changed, 30 insertions(+), 30 deletions(-)
+
+commit 342abd7f6303ccd7f9a519c766ea53f3aa924b2d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Aug 9 13:29:32 2018 +0200
+
+ cli,signal: print unset signal values as n/a
+
+ cli/mmcli-modem-signal.c | 74
+ ++++++++++++++++++++++++------------------------
+ 1 file changed, 37 insertions(+), 37 deletions(-)
+
+commit fe66bdf65e57fa7dee3dcb8dea068fb3fc7aec34
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Aug 9 11:59:40 2018 +0200
+
+ libmm-glib,signal: fix MM_SIGNAL_UNKNOWN symbol value
+
+ Unfortunately, G_MINDOUBLE is basically 0.0, so MM_SIGNAL_UNKNOWN ends
+ up giving us a value that may fall in the range of expected values for
+ the signal component.
+
+ Update the MM_SIGNAL_UNKNOWN symbol to match a value which is
+ definitely out any other possible valid range, so that we can easily
+ detect which values are set and which aren't.
+
+ While API is maintained, this fix is introducing an ABI break. Not a
+ big deal anyway, as the purpose of the value is just to detect unset
+ fields.
+
+ libmm-glib/mm-signal.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2773475f438e3979bcd3c597467019209a685891
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 8 13:27:33 2018 -0700
+
+ build: require libmbim 1.17.3
+
+ libmbim 1.17.3 adds the support for MBIM_CID_PCO, which is used by
+ commit d68078b2ce0f ("broadband-modem-mbim: check if modem implements
+ MBIM_CID_PCO").
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5a2f3cce95d21e565528a47e5dda17d8ec9e5dc9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Aug 9 10:45:28 2018 +0200
+
+ iface-modem-3gpp: fix location update when LAC=0 but TAC given
+
+ src/mm-iface-modem-3gpp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7e6b4d7aa942dfff996a12ccdc769085058056d0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 15:14:28 2018 +0200
+
+ api,location: give Tracking Area Code field in 3GPP location info
+
+ The "location area code" field is given in GSM/UMTS networks
+ exclusively. LTE networks use the concept of "tracking area code"
+ instead.
+
+ This patch updates the Location interface to Provide separate fields
+ for LAC and TAC, instead of giving TAC values in the LAC field.
+
+ cli/mmcli-modem-location.c | 2 +
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 18 ++++++--
+ libmm-glib/mm-location-3gpp.c | 45
+ ++++++++++++++++--
+ libmm-glib/mm-location-3gpp.h | 3 ++
+ src/mm-broadband-modem-qmi.c | 53
+ ++++++++++++++++------
+ src/mm-broadband-modem.c | 36 ++++++++++++---
+ src/mm-iface-modem-3gpp.c | 12 +++--
+ src/mm-iface-modem-3gpp.h | 1 +
+ src/mm-iface-modem-location.c | 18 ++++----
+ src/mm-iface-modem-location.h | 7 +--
+ 10 files changed, 148 insertions(+), 47 deletions(-)
+
+commit f58a652578812809e14f0cc9fb82d6b2633a331e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 8 21:37:48 2018 +0200
+
+ broadband-modem-qmi: fix build using WITH_NEWEST_QMI_COMMANDS
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 59a5af9771b942ea6878e2f428635daae624f229
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Aug 4 17:27:53 2018 +0200
+
+ iface-modem: reload current bands after setting
+
+ Setting bands is a very device-specific operation. Sometimes the
+ device requires specific band combinations, or sometimes the 'any'
+ specific logic doesn't apply to all supported bands (e.g. may apply
+ only to the currently selected modes, as in XMM based devices).
+
+ So, don't assume that if the set command succeeds we have set all
+ expected bands. Instead, do an explicit loading of the current bands
+ after the set operation, same thing as we do when setting modes.
+
+ src/mm-iface-modem.c | 90
+ ++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 66 insertions(+), 24 deletions(-)
+
+commit 518d62e731534cb4834a10e86f32ee31300de98b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 26 13:53:26 2018 +0200
+
+ helpers-qmi: fix UMTS band 6 and 19 definitions
+
+ Also bump required libqmi version, as this change uses flags from the
+ latest available API.
+
+ UMTS B19 is NTT DoCoMo's 800MHz band.
+ UMTS B6 is NTT DoCoMo's 850MHz band
+
+ configure.ac | 2 +-
+ src/mm-modem-helpers-qmi.c | 11 +++++------
+ 2 files changed, 6 insertions(+), 7 deletions(-)
+
+commit 24e31dc2b86ade753a0c5853ae568f2312e19072
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 24 00:04:13 2018 +0200
+
+ dell: don't ignore TTYs in QMI/MBIM modems
+
+ When we detect that the modem is QMI-capable or MBIM-capable, we still
+ want to be able to use TTYs, for features unsupported by the main
+ protocols.
+
+ So, don't flag all the TTYs as non-AT non-QCDM, let them probe as
+ usual instead.
+
+ plugins/dell/mm-plugin-dell.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 8430b051139cc4ca5711345f6244ca5cf160c7e6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 6 10:15:36 2018 +0200
+
+ broadband-modem: allow Enable() if disabling or initializing
+
+ The first step in the Enable() processing is to wait for a final
+ state, so we can definitely wait for the ongoing disabling or
+ initializing states to finish before we go on with the enable
+ operation, there is no need to early fail if the disabling or
+ initializing intermediate states are detected.
+
+ src/mm-broadband-modem.c | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+commit c4766122476b53a89c606bd0c0cbbd0ec6d9826b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 6 10:12:01 2018 +0200
+
+ base-modem: allow parallel Enable() and Disable() requests
+
+ If additional Enable() requests are received while one is already
+ ongoing, we queue them and will end up completing all with the same
+ result once the first one finishes.
+
+ Same logic also for Disable().
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/8
+
+ src/mm-base-modem.c | 117
+ +++++++++++++++++++++++++++++++++++++++--------
+ src/mm-broadband-modem.c | 6 +--
+ 2 files changed, 100 insertions(+), 23 deletions(-)
+
+commit 30eef126a1fd0dbd5ae531103c88923d8a20ca2f
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 7 15:16:48 2018 -0700
+
+ broadband-modem-mbim: subscribe to MBIM_CID_PCO notifications
+
+ This patch changes MMBroadbandModem to subscribe to MBIM_CID_PCO
+ notifications if the modem supports that.
+
+ src/mm-broadband-modem-mbim.c | 76
+ ++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 71 insertions(+), 5 deletions(-)
+
+commit d68078b2ce0fba0074e791ddcf6fdae0d06dcd6a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 7 15:16:47 2018 -0700
+
+ broadband-modem-mbim: check if modem implements MBIM_CID_PCO
+
+ Being a part of a series that adds PCO support for MBIM modems that
+ implement the MBIM_CID_PCO extension, this patch issues a
+ MBIM_CID_DEVICE_SERVICES query during the modem initialization
+ to check
+ if a modem implements MBIM_CID_PCO. If the modem does, ModemManager
+ will
+ subscribe to MBIM_CID_PCO notifications to get PCO updates.
+
+ src/mm-broadband-modem-mbim.c | 83
+ +++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 81 insertions(+), 2 deletions(-)
+
+commit dbfc03d9ac5f0ab78d5447b0541cb459ab15c32c
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Mon Aug 6 13:48:05 2018 +0200
+
+ docs/ModemManager.8: document --filter-policy option
+
+ docs/man/ModemManager.8 | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit b56cd74ab57edc024eefbcfa0bf0e5ffbabe32eb
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Mon Aug 6 13:34:09 2018 +0200
+
+ docs: move mmcli(8) to section 1
+
+ Section (8) is for tools that require root privileges.
+
+ docs/man/Makefile.am | 2 +-
+ docs/man/ModemManager.8 | 2 +-
+ docs/man/{mmcli.8 => mmcli.1} | 4 ++--
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+commit ae9efa05c855c94122ef25ab6ee43dee13c1a64c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 5 14:24:25 2018 +0200
+
+ signal: cleanup previous extended info if no new one given
+
+ E.g. if the modem switches from 4G to 3G while the extended signal
+ information is enabled, we should no longer expose LTE specific signal
+ quality values, only the UMTS specific ones.
+
+ E.g. to avoid this:
+
+ $ mmcli -m 1 --signal-get
+ -------------------------
+ UMTS | RSSI: '0,00' dBm
+ | RSCP: '-92,00' dBm
+ | EcIo: '-13,00' dB
+ -------------------------
+ LTE | RSSI: '0,00' dBm
+ | RSRQ: '-6,50' dB
+ | RSRP: '-96,00' dBm
+ | SNR: '0,00' dB
+
+ src/mm-iface-modem-signal.c | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+commit ab0133445c67091bc494f01bfaea663d5298c568
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 3 17:24:27 2018 +0200
+
+ build: ignore all tester programs for plugin-specific modem helpers
+
+ .gitignore | 10 +---------
+ 1 file changed, 1 insertion(+), 9 deletions(-)
+
+commit b8c7773a74f0c460ff19742a29dbf0060119e584
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 31 00:21:05 2018 +0200
+
+ cinterion: fix band related unit tests
+
+ The sort_band() method used in the tester was totally wrong, it was
+ comparing the addresses of the variables instead of the MMModemBand
+ values.
+
+ Use the common mm_common_bands_garray_sort() instead, which works as
+ expected.
+
+ plugins/cinterion/tests/test-modem-helpers-cinterion.c | 14
+ ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+
+commit 3a4a137de31cf1513c5fba4685b3de34eaa8713a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 30 23:30:43 2018 +0200
+
+ broadband-modem-mbim: avoid use of uninitialized variable
+
+ src/mm-broadband-modem-mbim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ebe9fcd57445460c3a37f7a82dc67843fb07a5cb
+Author: Reinhard Speyerer <rspmn@arcor.de>
+Date: Mon Jul 30 17:26:46 2018 +0200
+
+ mm-modem-helpers-cinterion: update band table for PLS8-J
+
+ The default AT^SCFG="Radio/Band" value for Cinterion PLS8-J devices is
+ "16819472". Add UMTS band 19 and LTE band 19 entries based on the
+ information given in the PLS8 datasheet.
+
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit a160832fced9c1e944e119ffdb47ff6460abc8aa
+Author: Bob Ham <bob.ham@puri.sm>
+Date: Wed Jul 25 09:50:41 2018 +0100
+
+ iface-modem-voice: fix ordering of D-Bus signals for call
+ addition/deletion
+
+ To have proper ordering in the D-Bus signals, the skeleton's property
+ changes must be flushed before the Call{Add,Delet}ed signals are
+ emitted. Without this flush, the emission of the PropertiesChanged
+ signal is delayed until the main loop is idle. This causes problems
+ on the client side, for example the CallAdded signal being received
+ before the Calls property contains the call.
+
+ Closes: #81
+
+ src/mm-iface-modem-voice.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 95cee88ccd7a87147ef8222ed575eb12c73320ee
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 27 17:46:01 2018 +0200
+
+ man,mmcli: fix documentation for --set-current-bands
+
+ Reported by: Matthew Stanger <stangerm2@gmail.com>
+
+ docs/man/mmcli.8 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7913fe4fafb583d517ca21ab6ea59d9a1d8c773d
+Author: mstanger <matthew_stanger@trimble.com>
+Date: Wed Jul 25 14:44:27 2018 -0600
+
+ mm-modem-helpers-cinterion: update freq/band table
+
+ This info comes from PLS8-X/E/J/V/US, HC25 & PHS8 references, the
+ last two can be found publicly via Google search.
+
+ Swapped bit-mask locations for G850 & PCS bands as they may have
+ changed with FW or where accidently put in the wrong place.
+
+ Updated many 3G & 4G bit-mask fields.
+
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 32
+ ++++++++++++++++++--------
+ 1 file changed, 22 insertions(+), 10 deletions(-)
+
+commit 8ea8d4e7747d469e93c6a0c31a7b023e0f5633d1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 18 12:54:49 2018 +0200
+
+ broadband-modem-mbim: show USB product attribute as model
+
+ src/mm-broadband-modem-mbim.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+commit 0a2060cc78150039bfd07d875016a52672dfe7bd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 18 12:53:44 2018 +0200
+
+ kerneldevice: allow loading physdev product string
+
+ src/kerneldevice/mm-kernel-device-generic.c | 9 +++++++++
+ src/kerneldevice/mm-kernel-device-udev.c | 16 ++++++++++++++++
+ src/kerneldevice/mm-kernel-device.c | 10 ++++++++++
+ src/kerneldevice/mm-kernel-device.h | 2 ++
+ 4 files changed, 37 insertions(+)
+
+commit df8ead4808095fe1d0bd079234ddfd56e591fc4b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 19 15:56:40 2018 +0200
+
+ blacklist: include all devices from Prusa Research
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit d3bc04676444b26991dd08426422079f541ba8f4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 8 14:25:01 2018 +0200
+
+ broadband-modem-qmi: plug memleak when processing a factory reset
+
+ src/mm-broadband-modem-qmi.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit fff3f0ff7130f291cbaf530d1aa3c31168e5e5db
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 15 17:04:39 2018 +0200
+
+ broadband-modem: skip concatenated AT commands
+
+ Not all modems support AT command concatenation (e.g. u-blox TOBY-L4
+ doesn't, according to a specific note about it in the AT command
+ reference). So just skip concatenation in the few places where it's
+ used.
+
+ src/mm-broadband-modem.c | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+commit d134402efc49eb5e51ee7db33c8aef785837ef16
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 15 16:48:18 2018 +0200
+
+ ublox: always send user/pass strings, even if no authentication
+ requested
+
+ The TOBY-L2 allowed to skup the user/pass string fields when no
+ authentication was requested, but according to the AT command
+ reference, all the remaining u-blox modules do require these two
+ fields given always (e.g. just as empty strings).
+
+ As per this sequence in a TOBY-L4:
+
+ (ttyACM2): --> 'AT+UAUTHREQ=?<CR>'
+ (ttyACM2): <-- '<CR><LF>+UAUTHREQ:
+ (1-4),(0-2),,<CR><LF><CR><LF>OK<CR><LF>'
+ (ttyACM2): --> 'AT+UAUTHREQ=1,0<CR>'
+ (ttyACM2): <-- '<CR><LF>+CME ERROR: 4<CR><LF>'
+
+ It should have been: AT+UAUTHREQ=1,0,"",""
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3570604bc4005e36e506c896bdb8cfc6a026df96
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon May 14 21:38:07 2018 +0200
+
+ iface-modem-simple: no need for an extra 'self' reference when
+ using GTask
+
+ src/mm-iface-modem-simple.c | 19 ++++++++-----------
+ 1 file changed, 8 insertions(+), 11 deletions(-)
+
+commit a77beaa271cad696f74579f4b409916606b16b6a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 5 22:53:28 2018 +0200
+
+ iface-modem-time: make sure timezone context is cleaned up properly
+
+ If we're going to overwrite the timezone context, make sure everything
+ is cleaned up, including the signal handler. Otherwise, we may end up
+ running the signal handler without a context attached:
+
+ (gdb) bt
+ #0 network_timezone_state_changed (self=0x6aa1e8) at
+ mm-iface-modem-time.c:266
+ #1 0x76a8d418 in g_closure_invoke (closure=0x6c9810,
+ return_value=0x0, return_value@entry=0x1, n_param_values=2,
+ param_values=0x7edb58c0, param_values@entry=0x6cdab8,
+ invocation_hint=invocation_hint@entry=0x7edb585c) at
+ gclosure.c:804
+ #2 0x76a9e674 in signal_emit_unlocked_R
+ (node=node@entry=0x6794d0, detail=0, detail@entry=391,
+ instance=instance@entry=0x6aa1e8, emission_return=0x6794a8,
+ emission_return@entry=0x0,
+ instance_and_params=instance_and_params@entry=0x7edb58c0)
+ at gsignal.c:3629
+ #3 0x76aa31f4 in g_signal_emit_valist
+ (instance=instance@entry=0x6aa1e8, signal_id=signal_id@entry=1,
+ detail=detail@entry=6767564, var_args=..., var_args@entry=...) at
+ gsignal.c:3385
+ #4 0x76aa34ec in g_signal_emit (instance=instance@entry=0x6aa1e8,
+ signal_id=signal_id@entry=1, detail=391) at gsignal.c:3441
+ #5 0x76a91698 in g_object_dispatch_properties_changed
+ (object=0x6aa1e8, n_pspecs=1, pspecs=<optimized out>) at
+ gobject.c:1062
+ #6 0x76a90e7c in g_object_notify_queue_thaw
+ (object=object@entry=0x6aa1e8, nqueue=nqueue@entry=0x75409418)
+ at gobject.c:296
+ #7 0x76a9470c in g_object_set_valist
+ (object=object@entry=0x6aa1e8,
+ first_property_name=first_property_name@entry=0xad566
+ "iface-modem-state", var_args=..., var_args@entry=...) at
+ gobject.c:2171
+ #8 0x76a94b18 in g_object_set (_object=_object@entry=0x6aa1e8,
+ first_property_name=0xad566 "iface-modem-state") at gobject.c:2275
+ #9 0x0004b8a4 in __iface_modem_update_state_internal
+ (self=0x6aa1e8, new_state=MM_MODEM_STATE_DISABLED,
+ reason=MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED,
+ failed_reason=MM_MODEM_STATE_FAILED_REASON_NONE)
+ at mm-iface-modem.c:1487
+ #10 0x0007047c in disabling_context_free (ctx=0x6ba850) at
+ mm-broadband-modem.c:9053
+ #11 0x76b4e538 in g_task_finalize (object=0x682488) at gtask.c:636
+ #12 0x76a92800 in g_object_unref (_object=0x682488) at
+ gobject.c:3183
+ #13 0x00072154 in iface_modem_disable_ready (self=0x6aa1e8,
+ result=0x7011b0, task=0x682488) at mm-broadband-modem.c:9101
+ #14 0x76b4e6ec in g_task_return_now (task=0x7011b0) at
+ gtask.c:1107
+ #15 0x76b4e720 in complete_in_idle_cb (task=0x7011b0) at
+ gtask.c:1121
+ #16 0x7694d144 in g_main_dispatch (context=0x6765a8) at
+ gmain.c:3154
+ #17 g_main_context_dispatch (context=context@entry=0x6765a8)
+ at gmain.c:3769
+ #18 0x7694d40c in g_main_context_iterate (context=0x6765a8,
+ block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized
+ out>) at gmain.c:3840
+ #19 0x7694d838 in g_main_loop_run (loop=0x6750d0) at gmain.c:4034
+ #20 0x0002bec0 in main (argc=<optimized out>, argv=<optimized
+ out>) at main.c:181
+
+ src/mm-iface-modem-time.c | 35 +++++++++++++++++++----------------
+ 1 file changed, 19 insertions(+), 16 deletions(-)
+
+commit 62334b60a24c06a9e699c7b1dde56f52c30729f8
+Author: Alexander Couzens <lynxis@fe80.eu>
+Date: Tue Jul 10 16:03:10 2018 +0200
+
+ blacklist: remove OpenMoko Hubs from the blacklist
+
+ The problem of full vendor blacklist are hubs.
+ Because ATTRS{} matches all devices in the tree,
+ a modem connected to a OpenMoko hub will be blacklisted as well.
+
+ src/77-mm-usb-device-blacklist.rules | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f01d88bf914303257d420d66146ac10575805e83
+Author: Enrico Mioso <mrkiko.rs@gmail.com>
+Date: Fri Jun 29 08:50:36 2018 +0200
+
+ libmm-glib: reference dup_equipment_identifier instead of dup_plugin
+
+ Fix the comment.
+
+ libmm-glib/mm-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 066c9c1e403a156e5d8da593cd0861646a7ae1d9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 28 00:07:32 2018 +0200
+
+ libmm-glib,location-gps-raw: plug memleak
+
+ ==8663== 1 bytes in 1 blocks are definitely lost in loss record
+ 5 of 4,864
+ ==8663== at 0x4C2CEDF: malloc (vg_replace_malloc.c:299)
+ ==8663== by 0x669FAC9: g_malloc (in
+ /usr/lib/libglib-2.0.so.0.5600.1)
+ ==8663== by 0x66B9AEA: g_strndup (in
+ /usr/lib/libglib-2.0.so.0.5600.1)
+ ==8663== by 0x66ACE52: g_match_info_fetch (in
+ /usr/lib/libglib-2.0.so.0.5600.1)
+ ==8663== by 0x4E96DD2: mm_location_gps_raw_add_trace
+ (mm-location-gps-raw.c:208)
+ ==8663== by 0x18721E: mm_iface_modem_location_gps_update
+ (mm-iface-modem-location.c:264)
+ ==8663== by 0x1B9C7F: loc_location_nmea_indication_cb
+ (mm-shared-qmi.c:712)
+ ==8663== by 0x640C9E7: g_cclosure_marshal_VOID__BOXEDv (in
+ /usr/lib/libgobject-2.0.so.0.5600.1)
+ ==8663== by 0x6409C95: ??? (in
+ /usr/lib/libgobject-2.0.so.0.5600.1)
+ ==8663== by 0x64259E8: g_signal_emit_valist (in
+ /usr/lib/libgobject-2.0.so.0.5600.1)
+ ==8663== by 0x642612F: g_signal_emit (in
+ /usr/lib/libgobject-2.0.so.0.5600.1)
+ ==8663== by 0x54AAB2D: process_indication (qmi-loc.c:7454)
+
+ Reported by: Thomas Weißschuh <thomas@weissschuh.net>
+
+ libmm-glib/mm-location-gps-raw.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 746cf54b112b223b9712453fe9b154c04acb8c4b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jun 26 16:36:11 2018 +0200
+
+ broadband-modem-qmi: fix segfault due to NULL task context
+
+ ModemManager[18223]: <debug> [1530023432.028473] Modem has 3GPP
+ capabilities, enabling the Modem 3GPP interface...
+
+ Thread 1 "ModemManager" received signal SIGSEGV, Segmentation
+ fault.
+ 0x0000555555618baa in
+ common_enable_disable_unsolicited_events_signal_strength
+ (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545
+ 6545 if (ctx->enable)
+ (gdb) bt
+ #0 0x0000555555618baa in
+ common_enable_disable_unsolicited_events_signal_strength
+ (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545
+ #1 0x0000555555618d70 in common_enable_disable_unsolicited_events
+ (self=0x55555597a3f0, enable=1, callback=0x5555555c8c20
+ <enable_unsolicited_events_ready>, user_data=0x5555559779b0)
+ at mm-broadband-modem-qmi.c:6719
+ #2 0x0000555555618e5b in modem_3gpp_enable_unsolicited_events
+ (self=0x55555597a3f0, callback=0x5555555c8c20
+ <enable_unsolicited_events_ready>, user_data=0x5555559779b0)
+ at mm-broadband-modem-qmi.c:6749
+ #3 0x00005555555c9095 in interface_enabling_step
+ (task=0x5555559779b0) at mm-iface-modem-3gpp.c:1907
+ #4 0x00005555555c8c0a in setup_unsolicited_events_ready
+ (self=0x55555597a3f0, res=0x5555558efad0, task=0x5555559779b0)
+ at mm-iface-modem-3gpp.c:1795
+ #5 0x00007ffff681e204 in () at /usr/lib/libgio-2.0.so.0
+ #6 0x00007ffff681e239 in () at /usr/lib/libgio-2.0.so.0
+ #7 0x00007ffff62731d6 in g_main_context_dispatch () at
+ /usr/lib/libglib-2.0.so.0
+ #8 0x00007ffff62735b1 in () at /usr/lib/libglib-2.0.so.0
+ #9 0x00007ffff62738e2 in g_main_loop_run () at
+ /usr/lib/libglib-2.0.so.0
+ #10 0x000055555559182c in main (argc=2, argv=0x7fffffffe4a8)
+ at main.c:181
+
+ Fixes: baefe53ab9c0ea0612d2bf7da64b6f6cf9753bcd
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bb9e9a92a325b955ee839565618f13a2a0bf4cf0
+Author: Brian, Sam <Samuel.Brian@digi.com>
+Date: Fri Jun 22 01:50:20 2018 +0000
+
+ port-serial: don't close tty file descriptor twice
+
+ After the tty is opened, the fd is passed off to a GIOChannel which
+ manages it. When the serial port is closed with _close_internal(),
+ g_io_channel_shutdown() is called which then calls g_io_unix_close()
+ which
+ in turn close()s the fd.
+ _close_internal() performs a second explicit close() after the
+ g_io_channel_shutdown() which *in the best case scenario* will
+ fail with
+ EBADF.
+ This is a race condition that can result in other file descriptors
+ being
+ closed.
+
+ This change avoids double closing the serial port fd -- the shutdown()
+ call
+ is removed in favour of the explicit close().
+
+ src/mm-port-serial.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit efd57e8d5b2e0ced4ab857d72af0e86ae0bbf3f8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jun 19 18:01:50 2018 +0200
+
+ po: add Friulian translation
+
+ From: Fabio Tomat <f.t.public@gmail.com>
+
+ https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/42
+
+ po/LINGUAS | 1 +
+ po/fur.po | 108
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 109 insertions(+)
+
+commit 105e321951e3303ddf0c9c1df83bc673c92eb7de
+Author: Baruch Siach <baruch@tkos.co.il>
+Date: Fri Jun 15 06:30:17 2018 +0300
+
+ kerneldevice: fix build with musl libc
+
+ musl libc does not implement the canonicalize_file_name() GNU
+ extension.
+ Use the POSIX standard realpath() instead.
+
+ src/kerneldevice/mm-kernel-device-generic.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit cf3f3ffcd0da1ef5512bf4a2dce4e0e1861acbc7
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Thu Jan 25 17:23:14 2018 +0100
+
+ service: set User=root so that gio doesn't have to look into
+ /etc/passwd
+
+ GVfs' libgvfsdbus.so GIo module, when automatically loaded,
+ attempts to
+ discover if there's a session D-Bus instance to use. It tries
+ real hard
+ to get the socket name it would use -- in absence of XDG_RUNTIME_DIR
+ it
+ decides to make it up with user's home directory. When HOME is unset
+ too, it just tries to figure it out by looking into /etc/passwd. Which
+ upsets SELinux that would better not see us looking into it.
+
+ We trigger the load of the GIo modules, by using the GFile API
+ to access
+ the the ports in /dev. They're utterly uesless to us, but there
+ doesn't
+ seem to be a way to disable their load. Oh well.
+
+ For now, let's just ensure HOME is set and the problematic path
+ in glib
+ is not taken.
+
+ data/ModemManager.service.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 6169d3d14fdb10b3b2537ebfd29d7f2d10965b2a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jun 11 18:09:49 2018 +0200
+
+ iface-modem-voice: plug memleak when creating new incoming call
+
+ The mm_call_list_add_call() takes a full reference to the call, so we
+ can unref the original one safely.
+
+ src/mm-iface-modem-voice.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit a6101a85323fb366cc95fb6e16bd0d991de1e866
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jun 11 18:06:38 2018 +0200
+
+ call-list: coding style fixes
+
+ src/mm-base-call.c | 2 +-
+ src/mm-base-call.h | 2 +-
+ src/mm-call-list.c | 110
+ ++++++++++++++++++++++++++---------------------------
+ src/mm-call-list.h | 34 ++++++++---------
+ 4 files changed, 73 insertions(+), 75 deletions(-)
+
+commit 588d6144a7c1da461d70abad05f4c56fd6dc667f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jun 10 14:47:39 2018 +0200
+
+ doc: fix explanation of MM_CALL_STATE_RINGING_{IN|OUT}
+
+ They were reversed; ringing in applies to incoming calls, ringing out
+ applies to outgoing calls.
+
+ include/ModemManager-enums.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 91757f65da40054e6912c19b5984f12cac6809ab
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jun 9 11:28:09 2018 +0200
+
+ introspection: minor indentation fixes in SMS interface
+
+ introspection/org.freedesktop.ModemManager1.Sms.xml | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 1990d9e9820aeffd847d4f7998c06819748a7155
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 1 22:16:14 2018 -0700
+
+ modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentError
+
+ Commit 2a97e39cdd in libmim ("libmbim-glib: add additional cause codes
+ to MbimNwError") added additional cause codes to MbimNwError. This
+ patch maps some of those MbimNwError to MMMobileEquipmentError.
+
+ This patch requires libmbim >= 1.17.1
+
+ configure.ac | 2 +-
+ src/mm-modem-helpers-mbim.c | 28 ++++++++++++++++++++++++++++
+ 2 files changed, 29 insertions(+), 1 deletion(-)
+
+commit cf86b6ab98f829050abf197a32d94e10c4ab75a6
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 18:21:13 2018 -0700
+
+ broadband-modem-qmi: replace ensure_qmi_client with GTask
+ implementation
+
+ assure_qmi_client() was created to help migrating MMBroadbandModemQmi
+ code
+ to use GTask. Now that all MMBroadbandModemQmi code has been
+ migrated to
+ use GTask, this patch removes the old ensure_qmi_client() and rename
+ assure_qmi_client() as ensure_qmi_client().
+
+ src/mm-broadband-modem-qmi.c | 126
+ ++++++++++++++++++-------------------------
+ 1 file changed, 51 insertions(+), 75 deletions(-)
+
+commit bf4af8b82ad852c1e4a0114f1764c44ff2af620a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 18:19:06 2018 -0700
+
+ broadband-modem-qmi: port modem_cdma_{activate,activate_manual}
+ to use GTask
+
+ src/mm-broadband-modem-qmi.c | 201
+ ++++++++++++++++++++++---------------------
+ 1 file changed, 105 insertions(+), 96 deletions(-)
+
+commit 856d931a7eebcec195a8795acaa8b8fd2c9fbf72
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 17:50:26 2018 -0700
+
+ broadband-modem-qmi: port load_initial_sms_parts to use GTask
+
+ src/mm-broadband-modem-qmi.c | 81
+ ++++++++++++++++++++++++--------------------
+ 1 file changed, 45 insertions(+), 36 deletions(-)
+
+commit 3cd9ae6321ce853ce3cbf23d02770d21d216472b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 17:42:40 2018 -0700
+
+ broadband-modem-qmi: port messaging_set_default_storage to use GTask
+
+ src/mm-broadband-modem-qmi.c | 28 ++++++++++------------------
+ 1 file changed, 10 insertions(+), 18 deletions(-)
+
+commit 216fb6bbe81059c169ae599956d7c5d3a96307dc
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 14:57:03 2018 -0700
+
+ broadband-modem-qmi: port
+ messaging_{enable,disable}_unsolicited_events to use GTask
+
+ src/mm-broadband-modem-qmi.c | 69
+ +++++++++++++++++---------------------------
+ 1 file changed, 26 insertions(+), 43 deletions(-)
+
+commit 52d0f9760bc0051972b0f50387394bbc1a87a767
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 14:37:56 2018 -0700
+
+ broadband-modem-qmi: port location_load_supl_server to use GTask
+
+ src/mm-broadband-modem-qmi.c | 43
+ +++++++++++++++----------------------------
+ 1 file changed, 15 insertions(+), 28 deletions(-)
+
+commit 6f44554b21a28acdeb6d971d57435c85b5a0429b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 14:32:39 2018 -0700
+
+ broadband-modem-qmi: port location_set_supl_server to use GTask
+
+ src/mm-broadband-modem-qmi.c | 29 ++++++++++-------------------
+ 1 file changed, 10 insertions(+), 19 deletions(-)
+
+commit 44c3cceb5ee5d6b43631fe1183d74cb8be0ea905
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 14:02:56 2018 -0700
+
+ broadband-modem-qmi: port disable_location_gathering to use GTask
+
+ src/mm-broadband-modem-qmi.c | 117
+ +++++++++++++++++++++++--------------------
+ 1 file changed, 62 insertions(+), 55 deletions(-)
+
+commit 84a3ea766136104aec981b658058feb249ca9313
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 13:09:20 2018 -0700
+
+ broadband-modem-qmi: port firmware_change_current to use GTask
+
+ src/mm-broadband-modem-qmi.c | 94
+ +++++++++++++++++++++-----------------------
+ 1 file changed, 45 insertions(+), 49 deletions(-)
+
+commit 65767c1c884f274dca825ce9294a18ec7001873f
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 16:20:19 2018 -0700
+
+ broadband-modem-qmi: port firmware_check_support to use GTask
+
+ src/mm-broadband-modem-qmi.c | 82
+ ++++++++++++++++++++++++--------------------
+ 1 file changed, 45 insertions(+), 37 deletions(-)
+
+commit f933b967bedbdeb1ddf38f42c748c6a2cb73ac24
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 16:12:38 2018 -0700
+
+ broadband-modem-qmi: port common_enable_disable_oma_unsolicited_events
+ to use GTask
+
+ src/mm-broadband-modem-qmi.c | 53
+ +++++++++++++++++---------------------------
+ 1 file changed, 20 insertions(+), 33 deletions(-)
+
+commit fe46d2c7db6849eee045abcb9743afa61fb61c6f
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 15:58:55 2018 -0700
+
+ broadband-modem-qmi: port common_setup_cleanup_oma_unsolicited_events
+ to use GTask
+
+ src/mm-broadband-modem-qmi.c | 21 ++++++++-------------
+ 1 file changed, 8 insertions(+), 13 deletions(-)
+
+commit 456a09c6551f21a92441fcd69a48718a08f1324c
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 15:52:52 2018 -0700
+
+ broadband-modem-qmi: port oma_cancel_session to use GTask
+
+ src/mm-broadband-modem-qmi.c | 20 ++++++++------------
+ 1 file changed, 8 insertions(+), 12 deletions(-)
+
+commit ce7b3a7bb0911bc51472df3302be64365939ab48
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 16:04:02 2018 -0700
+
+ broadband-modem-qmi: port oma_start_client_initiated_session to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 29 ++++++++++++-----------------
+ 1 file changed, 12 insertions(+), 17 deletions(-)
+
+commit 311859d60f61ff157f1c6e25d31d618cef3868ed
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 15:55:05 2018 -0700
+
+ broadband-modem-qmi: port oma_accept_network_initiated_session to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 19 +++++++------------
+ 1 file changed, 7 insertions(+), 12 deletions(-)
+
+commit 76bdaaba3e0d6e058d0d84b2c61e5581d3c143c1
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 16:01:39 2018 -0700
+
+ broadband-modem-qmi: port oma_load_features to use GTask
+
+ src/mm-broadband-modem-qmi.c | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+commit f330ffdaa993880260ed8c2d48eac5fee5dba11a
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 16:07:48 2018 -0700
+
+ broadband-modem-qmi: port oma_setup to use GTask
+
+ src/mm-broadband-modem-qmi.c | 20 ++++++++------------
+ 1 file changed, 8 insertions(+), 12 deletions(-)
+
+commit 3455b01b573d51d0cba9cd4c5221bd3b597b9589
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 14:25:03 2018 -0700
+
+ broadband-modem-qmi: port modem_cdma_load_activation_state to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 60
+ +++++++++++++-------------------------------
+ 1 file changed, 18 insertions(+), 42 deletions(-)
+
+commit e09e4692dcbc4a298457b1a8e92fa8db61a863ef
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 14:18:02 2018 -0700
+
+ broadband-modem-qmi: port modem_cdma_run_registration_checks to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 53
+ +++++++++++++-------------------------------
+ 1 file changed, 15 insertions(+), 38 deletions(-)
+
+commit d73f431987f6c715d6e8993988dc254458d4111d
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 14:13:01 2018 -0700
+
+ broadband-modem-qmi: port
+ modem_3gpp_{enable,disable}_unsolicited_registration_events to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 116
+ +++++++++++++++++++++++--------------------
+ 1 file changed, 61 insertions(+), 55 deletions(-)
+
+commit 478232dc05a4aa6404f82924a316440eaba44d03
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 13:46:40 2018 -0700
+
+ broadband-modem-qmi: port modem_3gpp_run_registration_checks to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 76
+ +++++++++++++++++---------------------------
+ 1 file changed, 30 insertions(+), 46 deletions(-)
+
+commit b6de1ad22ef6ca341aeddd76b1a2ab1369d9d35a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 13:39:27 2018 -0700
+
+ broadband-modem-qmi: port modem_3gpp_register_in_network to use GTask
+
+ src/mm-broadband-modem-qmi.c | 32 +++++++++++++++-----------------
+ 1 file changed, 15 insertions(+), 17 deletions(-)
+
+commit a3123cadd8188aba0b490c5d88d3d110a9089067
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 15:49:43 2018 -0700
+
+ broadband-modem-qmi: port modem_3gpp_scan_networks to use GTask
+
+ src/mm-broadband-modem-qmi.c | 29 ++++++++---------------------
+ 1 file changed, 8 insertions(+), 21 deletions(-)
+
+commit f3b2deaddac8ef628fc6d7d82ee3a5aeded7fbe9
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 12:46:48 2018 -0700
+
+ broadband-modem-qmi: port modem_3gpp_load_enabled_facility_locks to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 69
+ +++++++++++++++++++++++++-------------------
+ 1 file changed, 39 insertions(+), 30 deletions(-)
+
+commit 8ad01d31accf4446c49a7edd5f1e2ca14ff37374
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 17:40:14 2018 -0700
+
+ broadband-modem-qmi: port
+ common_setup_cleanup_unsolicited_registration_events to use GTask
+
+ src/mm-broadband-modem-qmi.c | 21 ++++++++-------------
+ 1 file changed, 8 insertions(+), 13 deletions(-)
+
+commit df0d2f955255fd7249efb68165b6e208768337af
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 17:35:13 2018 -0700
+
+ broadband-modem-qmi: port
+ common_setup_cleanup_messaging_unsolicited_events to use GTask
+
+ src/mm-broadband-modem-qmi.c | 23 +++++++++--------------
+ 1 file changed, 9 insertions(+), 14 deletions(-)
+
+commit 85eb5bdcbdc6bc6df1ea20b1e4e553f51fa6db73
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 16:47:05 2018 -0700
+
+ broadband-modem-qmi: port common_setup_cleanup_unsolicited_events
+ to use GTask
+
+ src/mm-broadband-modem-qmi.c | 21 ++++++++-------------
+ 1 file changed, 8 insertions(+), 13 deletions(-)
+
+commit baefe53ab9c0ea0612d2bf7da64b6f6cf9753bcd
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 16:38:29 2018 -0700
+
+ broadband-modem-qmi: port common_enable_disable_unsolicited_events
+ to use GTask
+
+ src/mm-broadband-modem-qmi.c | 82
+ ++++++++++++++++++++++++--------------------
+ 1 file changed, 45 insertions(+), 37 deletions(-)
+
+commit c0669e98ae012b7f7d6dbf06bf8c3651f8c2afdf
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 26 18:37:27 2018 -0700
+
+ broadband-modem-qmi: port set_current_capabilities to use GTask
+
+ src/mm-broadband-modem-qmi.c | 105
+ +++++++++++++++++++++++--------------------
+ 1 file changed, 56 insertions(+), 49 deletions(-)
+
+commit bdc3729cbadf1a704ecacf8d8cb71fc8210fa607
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 11:13:49 2018 -0700
+
+ broadband-modem-qmi: port set_current_bands to use GTask
+
+ src/mm-broadband-modem-qmi.c | 35 +++++++++++++++--------------------
+ 1 file changed, 15 insertions(+), 20 deletions(-)
+
+commit 4a53e7cc39295a3bcfd454d30e360e70147045e1
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 1 12:41:22 2018 -0700
+
+ broadband-modem-qmi: port set_current_modes to use GTask
+
+ src/mm-broadband-modem-qmi.c | 111
+ ++++++++++++++++++++++---------------------
+ 1 file changed, 58 insertions(+), 53 deletions(-)
+
+commit 7d8f0600e6de32721112949b65d48108ea640b51
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 26 18:03:30 2018 -0700
+
+ broadband-modem-qmi: port signal_load_values to use GTask
+
+ src/mm-broadband-modem-qmi.c | 70
+ +++++++++++++++++++++++---------------------
+ 1 file changed, 36 insertions(+), 34 deletions(-)
+
+commit 8047f54083371288c4dcf6a089d667fb2d2964d6
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 15:25:49 2018 -0700
+
+ broadband-modem-qmi: port load_power_state to use GTask
+
+ src/mm-broadband-modem-qmi.c | 48
+ +++++++++++++++++++++-----------------------
+ 1 file changed, 23 insertions(+), 25 deletions(-)
+
+commit 0502fe042be105f4ed8cec211622ac3c7301625f
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 11:28:33 2018 -0700
+
+ broadband-modem-qmi: port load_signal_quality to use GTask
+
+ src/mm-broadband-modem-qmi.c | 118
+ ++++++++++++++++++-------------------------
+ 1 file changed, 50 insertions(+), 68 deletions(-)
+
+commit 77a875a1b0c8fef5c67a5832dcf97112ca4a42d8
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 15:39:27 2018 -0700
+
+ broadband-modem-qmi: port load_current_modes to use GTask
+
+ src/mm-broadband-modem-qmi.c | 78
+ ++++++++++++++++++++++----------------------
+ 1 file changed, 39 insertions(+), 39 deletions(-)
+
+commit 51ede979bf3fd989698b044cd6c4514168fa9f96
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 11:21:28 2018 -0700
+
+ broadband-modem-qmi: port modem_load_equipment_identifier to use GTask
+
+ src/mm-broadband-modem-qmi.c | 83
+ ++++++++++++++------------------------------
+ 1 file changed, 26 insertions(+), 57 deletions(-)
+
+commit 6b14a1cf1be373b8e95151775b8e0ed1cddb1ec1
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 11:10:37 2018 -0700
+
+ broadband-modem-qmi: port modem_load_current_bands to use GTask
+
+ src/mm-broadband-modem-qmi.c | 61
+ +++++++++++++++++---------------------------
+ 1 file changed, 24 insertions(+), 37 deletions(-)
+
+commit 834674b21c8c63ae2d50a432d39bee9f190aebe9
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Apr 27 11:03:30 2018 -0700
+
+ broadband-modem-qmi: port modem_load_supported_bands to use GTask
+
+ src/mm-broadband-modem-qmi.c | 52
+ ++++++++++++++++++--------------------------
+ 1 file changed, 21 insertions(+), 31 deletions(-)
+
+commit 59c8ba86428b89986464d6bad942b448b012127c
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Apr 27 10:57:25 2018 -0700
+
+ broadband-modem-qmi: port modem_load_own_numbers to use GTask
+
+ src/mm-broadband-modem-qmi.c | 36 +++++++++++-------------------------
+ 1 file changed, 11 insertions(+), 25 deletions(-)
+
+commit 4dc56525205d0940c5eaff2a4e317739ce97a0a9
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Apr 27 10:48:33 2018 -0700
+
+ broadband-modem-qmi: port modem_load_hardware_revision to use GTask
+
+ src/mm-broadband-modem-qmi.c | 32 ++++++++------------------------
+ 1 file changed, 8 insertions(+), 24 deletions(-)
+
+commit 2f8a041122a8f3e30f2be619cc6444c95343ab12
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Apr 27 10:46:34 2018 -0700
+
+ broadband-modem-qmi: port modem_load_revision to use GTask
+
+ src/mm-broadband-modem-qmi.c | 32 ++++++++------------------------
+ 1 file changed, 8 insertions(+), 24 deletions(-)
+
+commit 3c1706563620492bca10cf2f3263b966108ff04d
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 26 18:47:05 2018 -0700
+
+ broadband-modem-qmi: port modem_load_model to use GTask
+
+ src/mm-broadband-modem-qmi.c | 32 ++++++++------------------------
+ 1 file changed, 8 insertions(+), 24 deletions(-)
+
+commit 0bf2800d054a602fd5e67e969b1ab7a82ce472e9
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 26 18:42:23 2018 -0700
+
+ broadband-modem-qmi: port modem_load_manufacturer to use GTask
+
+ src/mm-broadband-modem-qmi.c | 32 ++++++++------------------------
+ 1 file changed, 8 insertions(+), 24 deletions(-)
+
+commit dba870295229e55ec0971cfc66d5f0c437e50f36
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 26 18:22:24 2018 -0700
+
+ broadband-modem-qmi: port modem_load_supported_capabilities to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 54
+ +++++++++++++-------------------------------
+ 1 file changed, 16 insertions(+), 38 deletions(-)
+
+commit 3e374e228a5daa62129b1fd032b41104f3acce23
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 26 18:14:28 2018 -0700
+
+ broadband-modem-qmi: port modem_load_current_capabilities to use GTask
+
+ src/mm-broadband-modem-qmi.c | 79
+ +++++++++++++++++++++++---------------------
+ 1 file changed, 42 insertions(+), 37 deletions(-)
+
+commit 31c0da2825a090f8359f0955af0478d4456da021
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 15:22:19 2018 -0700
+
+ broadband-modem-qmi: port common_power_up_down_off to use GTask
+
+ src/mm-broadband-modem-qmi.c | 68
+ ++++++++++++++++++++++++--------------------
+ 1 file changed, 37 insertions(+), 31 deletions(-)
+
+commit 71d21cba02664db47c03f86ffd1d14ef39b479bd
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 26 18:07:26 2018 -0700
+
+ broadband-modem-qmi: port power_cycle to use GTask
+
+ src/mm-broadband-modem-qmi.c | 36 +++++++++++++++---------------------
+ 1 file changed, 15 insertions(+), 21 deletions(-)
+
+commit f52264d78adf9bac7b46f471d818a8423e0e4a14
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 15:27:31 2018 -0700
+
+ broadband-modem-qmi: port modem_reset to use GTask
+
+ src/mm-broadband-modem-qmi.c | 20 ++++++--------------
+ 1 file changed, 6 insertions(+), 14 deletions(-)
+
+commit 15ffa69d72cafab8d129bd375c70c1693d3c1d26
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 15:32:49 2018 -0700
+
+ broadband-modem-qmi: port modem_factory_reset to use GTask
+
+ src/mm-broadband-modem-qmi.c | 32 +++++++++++++-------------------
+ 1 file changed, 13 insertions(+), 19 deletions(-)
+
+commit 641e1b8a43c253c0df94e1ecfbfb13e0e4af2513
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 26 17:37:55 2018 -0700
+
+ broadband-modem-qmi: add a temporary assure_qmi_client() helper
+
+ ensure_qmi_client() uses g_simple_async_report_take_gerror_in_idle(),
+ which can't be mixed with GTask. To allow migrating remaining
+ MMBroadbandModemQmi code to use GTask in a series of smaller patches,
+ this patch adds a temporary assure_qmi_client() helper, which mimics
+ ensure_qmi_client() but uses g_task_report_new_error(). Once all the
+ MMBroadbandModemQmi code is migrated to use GTask, we will drop
+ the old
+ ensure_qmi_client() and renames assure_qmi_client() back to
+ ensure_qmi_client().
+
+ src/mm-broadband-modem-qmi.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 0e770b13f8967d19f29784f72698f405f85c4d15
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Apr 30 13:11:39 2018 +0200
+
+ base-modem: setup a maximum number of timeouts also for USB modems
+
+ We have a maximum number of timeouts that could be enabled for TTY
+ modems, e.g. to detect whether the modem is available in the RS232
+ port or has been unplugged. This was required because RS232 modems
+ aren't notified via udev, so there was no other way to check presence
+ of the modem.
+
+ But, the same kind of checks may be used in order to detect failed
+ broken modems. If we have a modem that gets into an unstable state
+ where no AT port command goes through and all get timed out, we can
+ definitely flag the modem as invalid and get rid of it. If we don't do
+ this, we would end up leaving the modem exposed and available for
+ users of the API, but in a non-working state.
+
+ ....
+ <info> Modem /org/freedesktop/ModemManager1/Modem/0: state
+ changed (registered -> connecting)
+ <debug> Launching 3GPP connection attempt with APN 'telefonica.es'
+ <debug> Looking for best CID...
+ <debug> (ttyACM2) device open count is 2 (open)
+ <debug> (ttyACM2): --> 'AT+CGDCONT?<CR>'
+ <debug> Unexpected +CGDCONT? error: 'Serial command timed out'
+ <warn> (tty/ttyACM2) at port timed out 9 consecutive times
+ <debug> Using empty CID 1 with PDP type 'ipv4'
+ <debug> (ttyACM2) device open count is 3 (open)
+ <debug> (ttyACM2) device open count is 2 (close)
+ <debug> (ttyACM2): --> 'AT+CGDCONT=1,"IP","telefonica.es"<CR>'
+ <warn> Couldn't initialize PDP context with our APN: 'Serial
+ command timed out'
+ <debug> Couldn't connect bearer
+ '/org/freedesktop/ModemManager1/Bearer/0': 'Serial command
+ timed out'
+ <info> Modem /org/freedesktop/ModemManager1/Modem/0: state
+ changed (connecting -> registered)
+ <debug> Couldn't connect bearer: 'Serial command timed out'
+ <debug> (ttyACM2) device open count is 1 (close)
+ <error> (tty/ttyACM2) at port timed out 10 consecutive times,
+ marking modem '/org/freedesktop/ModemManager1/Modem/0' as invalid
+ <debug> Removing from DBus bearer at
+ '/org/freedesktop/ModemManager1/Bearer/0'
+ <debug> [device
+ /sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.5] unexported
+ modem from path '/org/freedesktop/ModemManager1/Modem/0'
+ <debug> Periodic signal checks disabled
+ <debug> (ttyACM2) device open count is 0 (close)
+ <debug> (ttyACM2) closing serial port...
+ <debug> (ttyACM2) serial port closed
+ <debug> (ttyACM2) forced to close port
+ <debug> Modem (u-blox)
+ '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.5' completely
+ disposed
+
+ src/mm-base-modem.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit b4748ba674d014e639df83583d2e3544aabbafdf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jun 2 17:46:48 2018 +0200
+
+ build: post release version bump to 1.9.0
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c187c5fef5e3ffa456b73367afb8d3c888599437
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jun 2 16:59:17 2018 +0200
+
+ release: bump version to 1.8.0
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 01a5d8a294c1022c99e5e82ab96460f630c6a420
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jun 2 17:30:53 2018 +0200
+
+ NEWS: update for 1.8
+
+ NEWS | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit c07382a486f53e1b3cf729b41518d2a0ba528f5a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 27 16:39:17 2018 +0200
+
+ udev: add tags also on bind action
+
+ When a new USB device is hotplugged, e.g. a USB<->RS232 converter that
+ exposes a single ttyUSB0, these udev events happen:
+
+ add /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb/usb-device)
+ add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0
+ (usb/usb-interface)
+ add /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/ttyUSB0
+ (usb-serial)
+ add
+ /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/ttyUSB0/tty/ttyUSB0
+ (tty)
+ bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/ttyUSB0
+ (usb-serial)
+ bind /devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0
+ (usb/usb-interface)
+ bind /devices/pci0000:00/0000:00:14.0/usb2/2-1 (usb/usb-device)
+
+ Our udev rules in MM only added tags in the 'add' events, and it looks
+ like the only ones 'persistent' after this sequence are those of the
+ last event happening on the specific path.
+
+ This meant that all TTY subsystem rules (e.g. ID_MM_CANDIDATE) would
+ be stored for later check (e.g. if ModemManager is started after these
+ rules have been applied), which was ok. "udevadm info -p ..." would
+ show these tags correctly always.
+
+ But this also meant that the 'bind' udev event happening for the USB
+ device didn't get any of our device-specific tags, and so we would be
+ missing them (e.g. ID_MM_DEVICE_MANUAL_SCAN_ONLY) if MM is started
+ after the last event has happened. "udevadm info -p ..." would
+ not show these tags.
+
+ Modify all our rules to also run at the 'bind' events.
+
+ See, for context:
+ https://github.com/systemd/systemd/issues/8221
+
+ plugins/cinterion/77-mm-cinterion-port-types.rules | 2 +-
+ plugins/dell/77-mm-dell-port-types.rules | 2 +-
+ plugins/haier/77-mm-haier-port-types.rules | 2 +-
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 2 +-
+ plugins/longcheer/77-mm-longcheer-port-types.rules | 2 +-
+ plugins/mbm/77-mm-ericsson-mbm.rules | 2 +-
+ plugins/mtk/77-mm-mtk-port-types.rules | 2 +-
+ plugins/nokia/77-mm-nokia-port-types.rules | 2 +-
+ plugins/sierra/77-mm-sierra.rules | 2 +-
+ plugins/simtech/77-mm-simtech-port-types.rules | 2 +-
+ plugins/telit/77-mm-telit-port-types.rules | 2 +-
+ plugins/ublox/77-mm-ublox-port-types.rules | 2 +-
+ plugins/x22x/77-mm-x22x-port-types.rules | 2 +-
+ plugins/zte/77-mm-zte-port-types.rules | 2 +-
+ src/77-mm-pcmcia-device-blacklist.rules | 2 +-
+ src/77-mm-usb-device-blacklist.rules | 2 +-
+ src/77-mm-usb-serial-adapters-greylist.rules | 2 +-
+ src/80-mm-candidate.rules | 2 +-
+ 18 files changed, 18 insertions(+), 18 deletions(-)
+
+commit 4bc7d6862d3b908476e8bddd70cfc9e571dc9622
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jun 2 16:48:07 2018 +0200
+
+ u-blox: wait 20s before probing TOBY-L200 ports
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=106623
+
+ plugins/ublox/77-mm-ublox-port-types.rules | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 6c37488d4ebbbb2afdefce193e6fb4070cde8ab3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 27 11:23:54 2018 +0200
+
+ broadband-modem-mbim: minor function renames for SMS read logic
+
+ There are two ways to report new received SMS messages:
+ * For class 0 (flash) messages, MBIM_CID_SMS_READ are sent. The SMS
+ comes in the MBIM indication itself.
+ * For non-class 0 (standard) messages, a
+ MBIM_CID_SMS_MESSAGE_STORE_STATUS notifications are sent, the SMS is
+ stored and must be read with an additional MBIM request specifying
+ storage index.
+
+ The names of the functions we had implied the opposite, we were
+ assuming flash/alert messages were reported via
+ MBIM_CID_SMS_MESSAGE_STORE_STATUS, not via MBIM_CID_SMS_READ.
+
+ src/mm-broadband-modem-mbim.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit fd3a4d8d8beecc8b58cd6602cc8ee7207c1bf268
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 22 12:31:04 2018 +0200
+
+ filter: pci and sdio ports under the platform driver filter
+
+ Do not automatically probe serial ports under the 'pci' or 'sdio'
+ platform drivers unless explicitly tagged with
+ ID_MM_PLATFORM_DRIVER_PROBE.
+
+ $ realpath /sys/class/tty/ttyS0/
+ /sys/devices/pci0000:00/0000:00:16.3/tty/ttyS0
+ $ basename $(realpath
+ /sys/devices/pci0000:00/0000:00:16.3/subsystem)
+ pci
+
+ src/mm-filter.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 38f9510a9893b12cd6746c3daeeb2c84166746b1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 15 11:27:42 2018 +0200
+
+ iface-modem-time: don't hold a ref while waiting to be registered
+
+ The logic implementing the network timezone loading was holding a
+ strong reference to the modem (inside the GTask) while waiting to
+ be registered.
+
+ This was triggering some possible memory leaks as the modem object
+ could have been left around even after the modem was disconnected.
+ E.g. if the modem booted without antennas plugged in, it was never
+ getting registered, and if we unplugged it right away in that state,
+ the network timezone logic would have left a modem reference around
+ without disposing it.
+
+ This issue, combined with e.g. other interfaces relying on disposing
+ its own logic with the last object reference (e.g. Signal interface
+ sets up its logic in a context bound to the lifetime of the object)
+ would mean that a lot of different logic blocks were kept running even
+ after the modem device was unplugged from the system.
+
+ We avoid this issue by making sure that no new additional reference is
+ taken by the logic in charge of updating the network timezone. We just
+ make the timezone update context be bound to the lifetime of the
+ object, as other interfaces do.
+
+ While doing this, we also remove the logic in charge of "cancelling"
+ the context, as it isn't needed. If the logic needs to be cancelled,
+ we would just remove any configured timeout, which is enough.
+
+ As part of the changes, the logic has also been improved so that the
+ network timezone isn't only updated the first time the modem gets
+ registered. If the modem gets unregistered and re-registered, we would
+ reload the network timezone information.
+
+ src/mm-iface-modem-time.c | 334
+ +++++++++++++++++-----------------------------
+ 1 file changed, 122 insertions(+), 212 deletions(-)
+
+commit 67ecad51e163b131a1331ffcb09af18269c39025
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu May 24 09:54:42 2018 -0500
+
+ filter: add 'nozomi' and 'qcaux' drivers to MM_FILTER_RULE_TTY_DRIVER
+
+ nozomi and qcaux only drive modems and thus should be included
+ in this filter rule. Allows nozomi/qcaux devices to work
+ automatically with strict filter mode.
+
+ src/mm-filter.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit aecc3e99a029d037245d85f0e734aa997d2b06fd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu May 24 09:59:47 2018 -0500
+
+ include: fix up whitespace
+
+ include/ModemManager-errors.h | 160
+ +++++++++++++++++++++---------------------
+ 1 file changed, 80 insertions(+), 80 deletions(-)
+
+commit b074a2b4a421b9a468a59896c94f701456bb85d4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 22 12:01:30 2018 -0500
+
+ include: add more 3GPP errors
+
+ From 3GPP TS 27.007 version 11.6.0 Release 11, sections 9.2.1,
+ 9.2.2.1, 9.2.2.2, and 9.2.2.3.
+
+ include/ModemManager-errors.h | 50
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 50 insertions(+)
+
+commit ac5d068e377352c208b792229fe4ab96a239b4b3
+Author: Matthew Stanger <matthew_stanger@trimble.com>
+Date: Sun May 20 08:44:09 2018 +0200
+
+ broadband-modem: increase signal_quality_cind() poll CIND timeout
+
+ Gemalto's PLS8 may timeout on 3 second CIND query. Debug log shows
+ 5 seconds should suffice.
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 051b15cca89670d943459f734e20117ca1b8afcf
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed May 16 12:45:57 2018 -0700
+
+ iface-modem-3gpp: ignore initial registration check result when
+ enabling
+
+ This patch extends commit c9e85b671 ("iface-modem-3gpp: ignore initial
+ registration check result when appropriate") to handle the situation
+ where a registration check update may prematurely transition the modem
+ to the 'enabled' state while the modem is still being enabled.
+
+ The issue is identified by Dan Williams <dcbw@redhat.com>. More
+ details
+ can be found in https://bugs.freedesktop.org/show_bug.cgi?id=106468
+
+ src/mm-iface-modem-3gpp.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 3e469e7b8055a0a11abc8304ec44c3df39e74d3d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 8 09:49:11 2018 +0200
+
+ u-blox: don't run quick AT procedure if READY_DELAY not configured
+
+ The quick AT probe procedure is only meaningful to avoid waiting the
+ +READY URC delay. If there is no such delay configured, we shouldn't
+ run the quick AT probe (as a failure in the AT probe may also
+ trigger a +READY URC delay).
+
+ Just read the udev tag value early and complete the task if the delay
+ is not configured.
+
+ plugins/ublox/mm-plugin-ublox.c | 25 ++++++++++++-------------
+ 1 file changed, 12 insertions(+), 13 deletions(-)
+
+commit 1a56b97061252fa4605bd0b58de491bbe43a6685
+Author: Matthew Starr <mstarr@hedonline.com>
+Date: Mon May 7 22:26:48 2018 +0000
+
+ ublox: use ID_MM_UBLOX_PORT_READY_DELAY udev flag as init delay
+
+ Added reading the ID_MM_UBLOX_PORT_READY_DELAY udev flag value
+ and using
+ it as an init delay when a value is set.
+
+ The 20 second delay for the TOBY-L4 +READ URC has been reimplemented
+ using the new ID_MM_UBLOX_PORT_READY_DELAY udev value.
+
+ plugins/ublox/77-mm-ublox-port-types.rules | 2 ++
+ plugins/ublox/mm-plugin-ublox.c | 26
+ ++++++++++++++++++++------
+ 2 files changed, 22 insertions(+), 6 deletions(-)
+
+commit 6be6aa474f238f771579adbba800ab0408c7f0d9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon May 7 18:27:26 2018 +0200
+
+ filter: fix option1 driver name
+
+ This was preventing TTY-only ZTE and Huawei modules from being grabbed
+ in STRICT mode.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=106253
+ https://bugs.freedesktop.org/show_bug.cgi?id=106234
+
+ src/mm-filter.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4895577597f6cadb9c791ef0483a95ba85aa27f5
+Author: Matthew Starr <mstarr@hedonline.com>
+Date: Tue Apr 10 17:30:32 2018 +0000
+
+ u-blox: ignore non-AT ttyACM interfaces
+
+ For the TOBY-R2, LISA-R2, and LARA-R2, the only valid AT ports are
+ ttyACM0, ttyACM1, and ttyACM2. All other ttyACM ports cause MM to
+ wait 20-30 seconds probing the port on startup.
+
+ Ignoring the non-AT ttyACM ports allows MM to not wait 20-30 seconds
+ probing and therefore startup much faster with these modems.
+
+ plugins/ublox/77-mm-ublox-port-types.rules | 35
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit e17d5a51a24248d53ea5da8d16d86f2ca187a566
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Apr 28 10:38:53 2018 +0200
+
+ broadband-bearer: allow matching empty APN when looking for PDP CID
+
+ The PDP contexts that are found with an empty APN configured are right
+ now used as placeholders that can be overwritten with the user
+ provided APN if no direct match is found.
+
+ We want to keep that logic in place, but for the case where we do get
+ an empty APN requested by the user, we need to perform the full
+ context match, so that the first PDP context matching the empty APN is
+ used.
+
+ Right now we're overwriting with the empty APN again the last PDP
+ context found with an empty APN, which doesn't make much sense:
+
+ Apr 27 08:15:21 ModemManager[4251]: <debug> Found '3' PDP contexts
+ Apr 27 08:15:21 ModemManager[4251]: <debug> PDP context [cid=1]
+ [type='ipv4'] [apn='']
+ Apr 27 08:15:21 ModemManager[4251]: <debug> PDP context [cid=2]
+ [type='ipv4'] [apn='broadband']
+ Apr 27 08:15:21 ModemManager[4251]: <debug> PDP context [cid=15]
+ [type='ipv4'] [apn='']
+ Apr 27 08:15:21 ModemManager[4251]: <debug> Found PDP context
+ with CID 1 and no APN
+ Apr 27 08:15:21 ModemManager[4251]: <debug> Found PDP context
+ with CID 15 and no APN
+ Apr 27 08:15:21 ModemManager[4251]: <debug> (ttyUSB3) device
+ open count is 3 (open)
+ Apr 27 08:15:21 ModemManager[4251]: <debug> (ttyUSB3) device
+ open count is 2 (close)
+ Apr 27 08:15:21 ModemManager[4251]: <debug> (ttyUSB3): -->
+ 'AT+CGDCONT=15,"IP",""<CR>'
+ Apr 27 08:15:21 ModemManager[4251]: <debug> (ttyUSB3): <--
+ '<CR><LF>OK<CR><LF>'
+
+ src/mm-broadband-bearer.c | 37 +++++++++++++++++++------------------
+ src/mm-modem-helpers.c | 4 ++++
+ src/tests/test-modem-helpers.c | 7 ++++++-
+ 3 files changed, 29 insertions(+), 19 deletions(-)
+
+commit 43d0bd0f9135512a0531b5808354e00db9d6f22a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Apr 30 12:57:50 2018 +0200
+
+ base-modem: improve broken modem detection logic
+
+ If the serial port timeout detection logic is enabled, warn whenever
+ more than one consecutive command timeout happens, not just when the
+ limit is reached.
+
+ src/mm-base-modem.c | 34 ++++++++++++++++++++--------------
+ 1 file changed, 20 insertions(+), 14 deletions(-)
+
+commit 21c9a239ecc56d941032630649ca6149296bf98d
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Apr 28 11:51:28 2018 -0700
+
+ broadband-modem-qmi: fix memory leak in dms_set_operating_mode_ready
+
+ src/mm-broadband-modem-qmi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f9a0b945bcc0b374a122e6cdd4ac6ce92066c7c8
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Apr 24 17:18:56 2018 -0700
+
+ iface-modem: allow initial signal check after the modem is re-enabled
+
+ Commit 708b00ae3 "modem: allow periodic signal check to be disabled"
+ added a "iface-modem-periodic-signal-check-disabled" property in
+ MMIfaceModem/MMBroadbandModem to indicate if the periodic signal check
+ should be disabled. If the property is set to TRUE, the
+ signal_quality_polling_supported field of SignalCheckContext is set to
+ FALSE, which is sticky across modem disable/enable
+ operations. However,
+ that is undesirable as we would like to issue an initial signal
+ check to
+ refresh the signal quality value after the modem is re-enabled from a
+ state when the RF may have been previously turned off.
+
+ src/mm-iface-modem.c | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+commit 5e5160c46ad426233123287c0505253e4ea3ff35
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Apr 23 16:24:42 2018 -0700
+
+ broadband-modem-mbim: implement initial signal quality loading
+
+ ModemManager currently relies on unsolicited MBIM_CID_SIGNAL_STATE
+ notifications to obtain signal quality updates, and it doesn't
+ query the
+ initial signal quality. It's been observed that some MBIM modems
+ issue a
+ MBIM_CID_SIGNAL_STATE notification only when there is a notable change
+ in RSSI. The signal quality may remain at 0 for quite some time. It's
+ more noticeable when simply restarting ModemManager after the
+ modem has
+ been initialized and enabled once.
+
+ We could simply enable periodic signal check on an MBIM modem, but
+ that's less ideal as it may unnecessarily wake the modem up from USB
+ selective suspend (unless we use a much longer polling period).
+
+ To address the issue, this patch adds the implementation of
+ load_signal_quality to MMBroadbandModemMbim so that the signal quality
+ is initially polled via a solicited MBIM_CID_SIGNAL_STATE query. To
+ avoid the periodic signal check, we set the
+ MM_IFACE_MODEM_PERIODIC_SIGNAL_CHECK_DISABLED property to TRUE for
+ MMBroadbandModemMbim.
+
+ src/mm-broadband-modem-mbim.c | 80
+ +++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 78 insertions(+), 2 deletions(-)
+
+commit 708b00ae3be84e7927a2566b7ccbd9163698321e
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Apr 23 16:24:41 2018 -0700
+
+ modem: allow periodic signal check to be disabled
+
+ ModemManager decides to disable periodic signal check if either
+ load_signal_quality is not implemented or load_signal_quality
+ returns an
+ unsupported error. However, in some cases, we want to use
+ load_signal_quality to query the initial signal quality but rely on
+ unsolicited signal quality updates from the modem afterwards without
+ periodically polling for signal quality. To support that, this patch
+ introduces a property in MMIfaceModem/MMBroadbandModem to indicate if
+ the periodic signal check should be disabled.
+
+ src/mm-broadband-modem.c | 14 ++++++++++++++
+ src/mm-iface-modem.c | 47
+ +++++++++++++++++++++++++++++++++--------------
+ src/mm-iface-modem.h | 1 +
+ 3 files changed, 48 insertions(+), 14 deletions(-)
+
+commit b39dd2ec05c7db7e5eb12953eadba809aa2b3e8a
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Tue Apr 24 09:42:06 2018 +0200
+
+ all: drop unused variables
+
+ Keeps build with GCC 8 happy.
+
+ mm-base-call.c:758:18: warning: variable 'response' set but not used
+ [-Wunused-but-set-variable]
+ mm-base-call.c:822:18: warning: variable 'response' set but not used
+ [-Wunused-but-set-variable]
+ mm-base-sms.c:908:18: warning: variable 'response' set but not used
+ [-Wunused-but-set-variable]
+ mm-sms-list.c:331:25: warning: variable 'ctx' set but not used
+ [-Wunused-but-set-variable]
+ mm-iface-modem-messaging.c:1210:21: warning: variable 'storage_ctx'
+ set but not used [-Wunused-but-set-variable]
+ huawei/mm-plugin-huawei.c:183:18: warning: variable 'response'
+ set but not used [-Wunused-but-set-variable]
+ ublox/mm-plugin-ublox.c:161:24: warning: variable 'response' set
+ but not used [-Wunused-but-set-variable]
+ ublox/mm-plugin-ublox.c:159:24: warning: variable 'ctx' set but not
+ used [-Wunused-but-set-variable]
+ icera/mm-modem-helpers-icera.c:218:25: warning: variable 'first_free'
+ set but not used [-Wunused-but-set-variable]
+ novatel/mm-common-novatel.c:50:18: warning: variable 'response'
+ set but not used [-Wunused-but-set-variable]
+
+ plugins/huawei/mm-plugin-huawei.c | 3 +--
+ plugins/icera/mm-modem-helpers-icera.c | 4 ++--
+ plugins/novatel/mm-common-novatel.c | 3 +--
+ plugins/ublox/mm-plugin-ublox.c | 5 +----
+ src/mm-base-call.c | 6 ++----
+ src/mm-base-sms.c | 3 +--
+ src/mm-iface-modem-messaging.c | 2 --
+ src/mm-sms-list.c | 5 -----
+ 8 files changed, 8 insertions(+), 23 deletions(-)
+
+commit 5072db3418ce5799a75a577612b30de97ca700f0
+Author: Iain Lane <iainl@gnome.org>
+Date: Tue Apr 24 12:31:44 2018 +0100
+
+ m4/compiler_warnings.m4: Let -Werror be disabled
+
+ It's annoying for distributors to build with -Werror, since it means
+ that compiler upgrades can break the build. Let's let them disable it,
+ but keep it enabled by default.
+
+ m4/compiler_warnings.m4 | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit 7e94928301a971488ea53b17dd7d5ef37f468b1d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Apr 3 00:31:02 2018 +0200
+
+ ublox: fix 'any' mode building
+
+ The 'any' mode refers to the mode which includes most access
+ technologies and where none of them is preferred.
+
+ Fix the logic so that all combinations with one technology preferred
+ over the others are ignored, instead of the other way around.
+
+ Fixes assertion with the 4G-only LARA R204.
+
+ ModemManager[424]: <debug> [-192499452.090358] (ttyACM0): -->
+ 'AT+URAT=?<CR>'
+ ModemManager[424]: <debug> [-192499452.092150] (ttyACM0): <--
+ '<CR><LF>+URAT: (3)<CR><LF><CR><LF>OK<CR><LF>'
+ **
+ ERROR:ublox/mm-modem-helpers-ublox.c:817:mm_ublox_get_modem_mode_any:
+ assertion failed: (any != MM_MODEM_MODE_NONE)
+
+ Reported-by: Matthew Starr <mstarr@hedonline.com>
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c9dee2b960d6176c1d5462c5db8cd55925eafc44
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 27 13:27:27 2018 +0200
+
+ build: bump version to 1.7.991 (1.8-rc2)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b451a838a4ad66b6d4e02dff7538ce7530188c6b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 13 13:33:28 2018 +0100
+
+ docs: add missing reference to
+ mm_modem_3gpp_get_eps_ue_mode_operation()
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit bcb0175f62bea60b06d971f3cfec87f5b362ee56
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 13 13:26:29 2018 +0100
+
+ docs: always rebuild libmm-glib types
+
+ So that we don't forget to add new types here manually...
+ (e.g. MMBearerStats)
+
+ .gitignore | 1 +
+ docs/reference/libmm-glib/Makefile.am | 2 +-
+ docs/reference/libmm-glib/libmm-glib.types | 132
+ -----------------------------
+ 3 files changed, 2 insertions(+), 133 deletions(-)
+
+commit c147dfc267bfe3e9a43ab8873e285f45e66b3528
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 13 13:07:10 2018 +0100
+
+ libmm-glib: use ModemManager prefix to refer to the introspected types
+
+ libmm-glib/mm-modem-messaging.c | 2 +-
+ libmm-glib/mm-modem-voice.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 5dff6ce5944d2f97522ead0914f4814dd9a939a0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 13 12:53:37 2018 +0100
+
+ libmm-glib,modem: fix introspection annotation for bearer list
+
+ libmm-glib/mm-modem.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit eb6b4cac8a752674a7b8359c713ecf5ae1a1f098
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 13 12:53:18 2018 +0100
+
+ libmm-glib: add several missing headers
+
+ libmm-glib/libmm-glib.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 1481dd58e2fccbd005b63f866be2b910c4724ed3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 13 12:41:47 2018 +0100
+
+ libmm-glib,bearer-properties: minor documentation typo fix
+
+ libmm-glib/mm-bearer-properties.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9535f4c474a33c229f5761d7a6e67fd4253bbb57
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 13 12:25:43 2018 +0100
+
+ libmm-glib,bearer: cleanup stats related mutex and object
+
+ libmm-glib/mm-bearer.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 3a7d4b12005da1e5e861b8a213814c8743e5208f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 21 13:38:53 2018 +0100
+
+ ublox: ignore ttyACM0 in the TOBY-L4
+
+ We used ttyACM0 as secondary port until now, just because we had an
+ extra AT capable TTY around in addition to the main control ttyACM2
+ port.
+
+ Turns out, using this ttyACM0 may actually break the connection setup
+ in the wwan interface in a bad way (e.g. not allowing DHCP setup).
+
+ The suggestion from u-blox and Intel is to fully ignore ttyACM0; and
+ given that we no longer need any primary/secondary port logic, we just
+ remove all the associated udev tags.
+
+ plugins/ublox/77-mm-ublox-port-types.rules | 7 +++----
+ plugins/ublox/mm-plugin-ublox.c | 29
+ -----------------------------
+ 2 files changed, 3 insertions(+), 33 deletions(-)
+
+commit c9a78e12b7d6ce4369f0de6c0c41c66e0110e9ee
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 4 17:00:48 2018 +0100
+
+ po: add Indonesian translation
+
+ From: Andika Triwidada <andika@gmail.com>
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=105337
+
+ po/LINGUAS | 1 +
+ po/id.po | 102
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 103 insertions(+)
+
+commit dc678bfef292728c9dfba2e9a9f27c555644c634
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 23 12:43:22 2018 +0100
+
+ base-manager: additional indentation for the block covered by
+ ref/unref
+
+ src/mm-base-manager.c | 29 +++++++++++++++--------------
+ 1 file changed, 15 insertions(+), 14 deletions(-)
+
+commit 402559bb62bb44aa146b1c170bb86812d6d514a9
+Author: Eric Caruso <ejcaruso@chromium.org>
+Date: Wed Feb 21 13:49:34 2018 -0800
+
+ mm-base-manager: ref MMDevice before releasing port
+
+ Releasing the port on the device looks benign but because it emits
+ a signal, it could call device_context_port_released and unref the
+ MMDevice in port_context_unref. This means the MMDevice might be
+ disposed before we get to the g_object_ref and the subsequent call
+ to g_hash_table_remove will try to hash a null string, which makes
+ MM crash.
+
+ src/mm-base-manager.c | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+commit d416ea491d88b2b3bb4e5cd8077e0b758bcfad2e
+Author: Eric Caruso <ejcaruso@chromium.org>
+Date: Tue Feb 20 16:04:18 2018 -0800
+
+ mm-base-manager: remove element from hastable by key, not value
+
+ The hashtable is keyed on the UID of the MMDevice, and its hash
+ function is g_str_hash. We shouldn't be passing a GObject into
+ g_hash_table_remove because calling g_str_hash on an MMDevice is
+ wrong.
+
+ src/mm-base-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 10cb61f399b80c9db1b3b1b570214da164c469aa
+Author: Alfonso Sánchez-Beato <alfonso.sanchez-beato@canonical.com>
+Date: Tue Feb 13 10:38:49 2018 +0100
+
+ broadband-modem-qmi: update EPS registration state for LTE qmi modems
+
+ MM was not updating the EPS registration status for qmi modems. This
+ led to LTE-only modems never having 'registered' status. This was
+ happening for Quectel EC21-V modem.
+
+ src/mm-broadband-modem-qmi.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+commit dce07527433aad328f2bb3c2bddaab0c91fbc6c1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 6 09:47:17 2018 -0600
+
+ iface-modem-3gpp: don't force auto registration if already registered
+
+ In mm_iface_modem_3gpp_register_in_network() when deciding whether to
+ force automatic registration or not, check whether the modem is
+ already
+ registered in a network. Just checking whether we have a valid
+ operator
+ code is not sufficient, as some modems (ublox Toby R2xx) don't always
+ return an operator name/code even when registered.
+
+ src/mm-iface-modem-3gpp.c | 52
+ +++++++++++++++++------------------------------
+ 1 file changed, 19 insertions(+), 33 deletions(-)
+
+commit 1817746f512553ab91af79f6e74e07360a77356b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 6 14:01:04 2018 +0100
+
+ broadband-modem: fix reloading of detailed signal quality status
+
+ We should not cache the AT command response otherwise we will never
+ re-run the same command again. The cache is needed only for AT test
+ commands (e.g. AT+CESQ=?).
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 357b186134641927b1ce30c960ae95555ae7ecb5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 6 13:38:39 2018 +0100
+
+ ublox: ignore +PBREADY URCs
+
+ We don't want them to get in the way of our initialization phase:
+
+ /org/freedesktop/ModemManager1/Modem/0 (device id
+ 'c49ed59c4a411e923307330d3e1d82582cbfac37')
+ -------------------------
+ Hardware | manufacturer: 'u-blox'
+ | model: 'unknown'
+ | revision: 'TOBY-L4906
+ | +PBREADY
+ | 40.19_ENG0003'
+ | H/W revision: 'unknown'
+ | supported: 'gsm-umts, lte'
+ | current: 'gsm-umts, lte'
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 32
+ ++++++++++++++++++++++++++++----
+ 1 file changed, 28 insertions(+), 4 deletions(-)
+
+commit b0b405858f33584a7d9f43de1625255d73183b60
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Feb 5 20:31:29 2018 -0800
+
+ broadband-modem: remove unused GError field in
+ SetupRegistrationChecksContext
+
+ src/mm-broadband-modem.c | 64
+ ++++++++++++++++++++++--------------------------
+ 1 file changed, 29 insertions(+), 35 deletions(-)
+
+commit 0f377f943eeb81472fd73189f2c3d8fc65b8c609
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Feb 5 09:45:42 2018 +0100
+
+ API: don't depend on GLib in ModemManager headers
+
+ We should only depend on GLib on the libmm-glib headers. Otherwise,
+ packages using just the core headers (e.g. ModemManagerQt) would also
+ need to build-depend on GLib and we don't want to enforce that.
+
+ cd ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src &&
+ ~/buildroot/output/host/usr/bin/arm-cortexa9_neon-linux-gnueabihf-g++
+ .... -fPIC -o
+ CMakeFiles/KF5ModemManagerQt_static.dir/bearer.cpp.o -c
+ ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src/bearer.cpp
+ In file included from
+ ~/buildroot/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/ModemManager/ModemManager.h:41:0,
+ from
+ ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src/generictypes.h:27,
+ from
+ ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src/generictypes.cpp:23:
+ ~/buildroot/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/ModemManager/ModemManager-compat.h:23:18:
+ fatal error: glib.h: No such file or directory
+ compilation terminated.
+
+ include/ModemManager-compat.h | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit 636c245cd37bcddf6f354cbd53eb88ccf8104387
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 31 21:57:09 2018 -0800
+
+ bearer-mbim: check if IP session is activated before deactivating it
+
+ It may be undesirable to issue a MBIM_CID_CONNECT
+ (MBIMActivationCommandDeactivate) command to deactivate an IP session
+ when the session isn't activated. For instance, it's been observed on
+ Huawei ME936 that it takes more than 30s for the modem to deactivate a
+ not-yet-activated session. This patch modifies MMBearerMbim to
+ query if
+ a session is activated before trying to deactivate the session
+ during a
+ connection attempt.
+
+ src/mm-bearer-mbim.c | 75
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 75 insertions(+)
+
+commit 785dfd3edd98da26c1c1832c39ea6dfea3b1e877
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 31 21:57:08 2018 -0800
+
+ bearer-mbim: increase timeout for deactivating IP session to 60s
+
+ Since commit 0c7f3380a ("bearer-mbim: ensure session is disconnected
+ before trying to connect"), MMBearerMbim always issues a
+ MBIM_CID_CONNECT (MBIMActivationCommandDeactivate) command before a
+ MBIM_CID_CONNECT (MBIMActivationCommandActivate) command during a
+ connection attempt. That is to ensure that an IP session is actually
+ deactivated before we try to activate a new IP session.
+
+ Unfortunately, it's been observed on Huawei ME936 that it takes more
+ than 30s for the modem to respond to a MBIM_CID_CONNECT
+ (MBIMActivationCommandDeactivate) command when trying to deactivate a
+ session that hasn't been activated.
+
+ When the signal is weak, it's also possible that a modem takes
+ more than
+ 30s to deactivate an IP session during a disconnection attempt.
+
+ This patch increases the timeout for deactivating an IP session
+ from 30s
+ to 60s in both connection and disconnection attempt.
+
+ src/mm-bearer-mbim.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3de58d41374467d0b2cd6620a476758a44ebf697
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 31 21:57:07 2018 -0800
+
+ bearer-mbim: remove a unnecessary MbimMessage variable
+
+ src/mm-bearer-mbim.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 456e1e0d0cb8f6f49d83359bcdb65b04fdbf77ff
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jan 26 14:25:56 2018 -0800
+
+ huawei: handle optional 0x prefix on hex numbers in ^DHCP response
+
+ On Huawei ME936, the hex numbers in the response to AT^DHCP contain
+ the 0x prefix, e.g.
+
+ AT^DHCP?
+
+ ^DHCP:
+ 0xda7d0e0a,0xff000000,0xdb7d0e0a,0xdb7d0e0a,0x01261aac,0x00000000,100000000,50000000
+
+ This patch updates mm_huawei_parse_dhcp_response() to handle the
+ optional 0x prefix.
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 2 +-
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+commit 90b89bb9f4d055bc5713b733503e7d39c54ca55f
+Author: Ville Skyttä <ville.skytta@iki.fi>
+Date: Wed Jan 24 20:16:44 2018 +0200
+
+ *: Spelling fixes
+
+ TODO | 2 +-
+ .../api/ModemManager-migration-reference.xml | 2 +-
+ include/ModemManager.h | 2 +-
+ libmm-glib/mm-bearer-properties.c | 4 ++--
+ libmm-glib/mm-bearer.c | 8 ++++----
+ libmm-glib/mm-call.c | 16
+ ++++++++--------
+ libmm-glib/mm-manager.c | 12 ++++++------
+ libmm-glib/mm-sim.c | 20
+ ++++++++++----------
+ libmm-glib/mm-sms.c | 8 ++++----
+ libqcdm/src/dm-commands.h | 4 ++--
+ plugins/altair/mm-modem-helpers-altair-lte.c | 2 +-
+ plugins/telit/mm-modem-helpers-telit.c | 6 +++---
+ src/mm-base-call.h | 2 +-
+ src/mm-base-modem-at.c | 2 +-
+ src/mm-base-sms.h | 2 +-
+ src/mm-bearer-qmi.c | 2 +-
+ src/mm-broadband-modem-qmi.c | 2 +-
+ src/mm-iface-modem.c | 2 +-
+ src/mm-modem-helpers.c | 4 ++--
+ src/mm-plugin-manager.c | 4 ++--
+ src/mm-plugin.c | 2 +-
+ src/mm-sms-part-3gpp.c | 2 +-
+ 22 files changed, 55 insertions(+), 55 deletions(-)
+
+commit 223b754fccba28dbb3ce950058a81bd133c8ce86
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 21 22:56:53 2018 +0100
+
+ build: bump version to 1.7.990 (1.8-rc1)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 54dec452434834a190fb5904aabd57d1380ab044
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 21 10:31:07 2018 +0100
+
+ NEWS: update for 1.8.0
+
+ NEWS | 186
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 186 insertions(+)
+
+commit b473db334e2b9f3f4b30b703c61d85e99d4f115f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 21 08:36:49 2018 +0100
+
+ introspection: add reference to the MM_ID_PHYSDEV_UID udev tag in
+ Device property
+
+ introspection/org.freedesktop.ModemManager1.Modem.xml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 22ffd3f3aa4d8c1fbc1f6ab765bcfaf83f3d1c7f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 28 18:41:51 2017 +0100
+
+ broadband-modem: implement support for the +CEMODE command
+
+ The +CEMODE command is defined in 3GPP TS 27.007 (e.g. in section
+ 10.1.28 in v11.0.0). This command allows querying or updating the
+ current UE mode, as well as checking the supported modes.
+
+ We implement support for loading the current mode and updating it. It
+ is assumed that the device does any additional operation needed by the
+ setting update, e.g. un-registering from CS when selecting an EPS-only
+ mode.
+
+ src/mm-broadband-modem.c | 66
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.c | 45 +++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 6 +++++
+ 3 files changed, 117 insertions(+)
+
+commit d4aaa436d9679524f910b13176d4af35bd6b14f8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 28 18:41:50 2017 +0100
+
+ modem-3gpp: allow loading and changing EPS UE mode of operation
+
+ The UE modes of operation for LTE are defined in 3GPP TS 24.301 (e.g.
+ section 4.3 in v10.3.0):
+ * PS mode 1: EPS only, 'voice centric'
+ * PS mode 2: EPS only, 'data centric'
+ * CS/PS mode 1: EPS and non-EPS, 'voice centric'
+ * CS/PS mode 2: EPS and non-EPS, 'data centric'
+
+ The mode specifies, among other things, how the UE should behave w.r.t
+ CS fallback depending on the capabilities reported by the network.
+
+ cli/mmcli-modem-3gpp.c | 76 +++++++++
+ cli/mmcli-modem.c | 9 +-
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 13 ++
+ include/ModemManager-enums.h | 18 +++
+ ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 19 +++
+ libmm-glib/mm-common-helpers.c | 22 +++
+ libmm-glib/mm-common-helpers.h | 3 +
+ libmm-glib/mm-modem-3gpp.c | 53 ++++++
+ libmm-glib/mm-modem-3gpp.h | 14 ++
+ src/mm-iface-modem-3gpp.c | 177
+ ++++++++++++++++++++-
+ src/mm-iface-modem-3gpp.h | 17 ++
+ 12 files changed, 418 insertions(+), 4 deletions(-)
+
+commit c5c9ab279d6362b2090010b4cad9ea49e9559423
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 20 15:37:23 2018 +0100
+
+ build: require libmbim 1.16.0
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fbd1780e60213adbcfcbd8f203c7e7974ff0df8d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 20 15:36:49 2018 +0100
+
+ build: require libqmi 1.20.0
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c4ea37fa02aaa0860f067062cbd315e3540aacce
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 18 16:31:34 2018 +0100
+
+ filter: cdc-acm protocols 1 through 6 are all AT-capable
+
+ As per USB-IF "Class definitions for Communication Devices 1.2" docs.
+
+ Reported-by: Iván Sánchez Ortega <ivan@sanchezortega.es>
+
+ src/mm-filter.c | 20 ++++++++++++++++++--
+ 1 file changed, 18 insertions(+), 2 deletions(-)
+
+commit c9e85b67164f81310d1a7ca0bffbb8c938a6a943
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 11 23:47:28 2018 -0800
+
+ iface-modem-3gpp: ignore initial registration check result when
+ appropriate
+
+ When a modem is being enabled, an initial registration check is
+ scheduled to determine the current registration state and access
+ technology. The initial registration check is performed asynchronously
+ and may not complete before the modem state is transitioned to
+ 'enabled'. When the modem is disabled shortly afterwards, the
+ registration state is transitioned to 'unknown' and the modem state is
+ transitioned to 'disabled'. But the completion of the initial
+ registration check after that can transition the registration
+ state and
+ modem state to a wrong state. This patch addresses the issue by
+ ignoring
+ a registration state update if the modem isn't already enabled
+ or being
+ enabled.
+
+ src/mm-iface-modem-3gpp.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit d8c7251687dca8c4aca059428d374d06cbdc9e79
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jan 1 19:35:31 2018 +0100
+
+ telit: use parent logic to load unlock retries
+
+ The generic broadband modem provides a common method to load unlock
+ retries based on CSIM queries. We modify the Telit plugin to use the
+ generic method but keeping the CSIM locking/unlocking logic in place.
+
+ plugins/telit/mm-broadband-modem-telit.c | 110
+ +++++--------------------------
+ 1 file changed, 18 insertions(+), 92 deletions(-)
+
+commit 30ea91e353ae58df2407f837979af39ed3b4a49b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 24 08:38:33 2017 +0100
+
+ ublox: wait for READY URCs during port probing
+
+ The AT control TTYs in the u-blox modems may take some time to be
+ usable. In order to handle this issue, we configured some longer
+ timeouts during AT probing, but that may not be always enough.
+
+ The u-blox TTYs will report readiness via a "+AT: READY" URC, which
+ we can use during custom initialization to decide right away that the
+ port is AT. We use up to 20s as that is close to the worst case seen
+ during experimentation, happening after the module undergoes a full
+ NVM reset. If the timeout is reached without receiving the URC, we
+ still run standard AT probing afterwards. This new logic just tries
+ to make it sure we don't do any probing before the module is ready to
+ accept it.
+
+ If the module hasn't been hotplugged (i.e. it was already there when
+ ModemManager started) we do a quick first AT probing and if that fails
+ we run the "+AT: READY" URC wait as if it was hotplugged.
+
+ plugins/ublox/mm-plugin-ublox.c | 205
+ +++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 191 insertions(+), 14 deletions(-)
+
+commit c97b9d99e3ca62ff7af3b74afe05a9d80f16b8bb
+Author: Colin Helliwell <colin.helliwell@ln-systems.com>
+Date: Mon Jan 1 18:42:28 2018 +0100
+
+ broadband-modem: implement generic unlock retries loading
+
+ src/mm-broadband-modem.c | 116
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 116 insertions(+)
+
+commit 8f26848ef00b343a15904bf7f8cd1a77de795b3e
+Author: Colin Helliwell <colin.helliwell@ln-systems.com>
+Date: Mon Jan 1 18:36:11 2018 +0100
+
+ helpers: move generic load_unlock_retries from Telit plugin
+
+ As a precursor to a generic load_unlock_retries method, move the
+ CSIM Response parser from the Telit plugin into the core code.
+
+ plugins/telit/mm-broadband-modem-telit.c | 2 +-
+ plugins/telit/mm-modem-helpers-telit.c | 85
+ -----------------------
+ plugins/telit/mm-modem-helpers-telit.h | 4 --
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 58 ----------------
+ src/mm-modem-helpers.c | 85
+ +++++++++++++++++++++++
+ src/mm-modem-helpers.h | 4 ++
+ src/tests/test-modem-helpers.c | 59 ++++++++++++++++
+ 7 files changed, 149 insertions(+), 148 deletions(-)
+
+commit 850107acbfe3878326b695d4ea31f02d2321aa22
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 21 14:43:08 2017 +0100
+
+ bearer-qmi: fix logic if error setting up WDS event report indications
+
+ If we get an error when setting up the WDS event report indications,
+ make sure we run connect_context_step() after having set the next step
+ as CONNECT_STEP_LAST.
+
+ src/mm-bearer-qmi.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit c2b956aefce495865cbdcb9971e2b3cd99cd0e99
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 18 22:52:21 2017 +0100
+
+ blacklist: Pycom uses Microchip's vid, so blacklist also by pid
+
+ The Microchip VID is added to the USB serial adapters greylist
+ instead, as it is very generic.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=104320
+
+ src/77-mm-usb-device-blacklist.rules | 14 +++++++-------
+ src/77-mm-usb-serial-adapters-greylist.rules | 3 +++
+ 2 files changed, 10 insertions(+), 7 deletions(-)
+
+commit 838b82b71b2ea34318e78575fabdf4484d953230
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 18 15:34:43 2017 +0100
+
+ blacklist: include all Pycom devices
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=104320
+
+ src/77-mm-usb-device-blacklist.rules | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 8f6e5bfefa7b0536e772103ed5f8cbeb7d020ed4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 18 10:34:05 2017 +0100
+
+ sms-part-3gpp: improve warnings when decoding fails
+
+ src/mm-sms-part-3gpp.c | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit 332cf9dc014edf612fe6745eba440e02919b1128
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 18 10:33:46 2017 +0100
+
+ libhelpers: include MMSmsEncoding in helper enums generation
+
+ src/Makefile.am | 3 ++-
+ src/mm-sms-part-3gpp.h | 2 +-
+ src/mm-sms-part-cdma.h | 2 +-
+ src/mm-sms-part.h | 4 ++--
+ 4 files changed, 6 insertions(+), 5 deletions(-)
+
+commit e8bac6cb9224083d445233baf2c1c4db1efe04ad
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Dec 15 00:45:12 2017 -0800
+
+ sms-part-3gpp: decode Unicode SMS with non-BMP code points
+
+ Depsite 3GPP TS 23.038 specifies that Unicode SMS messages are
+ encoded in
+ UCS-2, UTF-16 encoding is commonly used instead on many modern
+ platforms to
+ allow encoding code points that fall outside the Basic Multilingual
+ Plane
+ (BMP), such as Emoji. Most of the UCS-2 code points are identical
+ to their
+ equivalent UTF-16 code points. In UTF-16, non-BMP code points are
+ encoded in a
+ pair of surrogate code points (i.e. a high surrogate in
+ 0xD800..0xDBFF,
+ followed by a low surrogate in 0xDC00..0xDFFF). An isolated surrogate
+ code
+ point has no general interpretation in UTF-16, but could be a valid
+ (though
+ unmapped) code point in UCS-2.
+
+ This patch modifies the 3GPP SMS decoding to first try UTF-16BE and
+ then fall
+ back to UCS-2BE on failure. If both fail, an empty string is returned
+ instead of a NULL pointer.
+
+ src/mm-sms-part-3gpp.c | 24 ++++++++++++++++++++++--
+ 1 file changed, 22 insertions(+), 2 deletions(-)
+
+commit c44b928206c1147bd760b4aef48294d7dda28e24
+Author: Eric Caruso <ejcaruso@chromium.org>
+Date: Wed Dec 13 10:17:33 2017 -0800
+
+ mm-iface-modem: add check_for_sim_swap method and enable steps
+
+ When in low-power mode, some modems will not dispatch unsolicited
+ notifications, such as for SIM hot swapping. There is code in
+ MMBroadbandModemTelit to handle this by checking the SIM identifier
+ during modem power up against the identifier cached in the SIM
+ D-Bus object. If they're different, the SIM has likely been
+ swapped while we were powered down.
+
+ We can move this code out to MMBroadbandModem because it doesn't
+ actually rely on any Telit-specific details, and invoke it from
+ MMIfaceModem via a new method.
+
+ plugins/telit/mm-broadband-modem-telit.c | 128
+ ++-----------------------------
+ src/mm-broadband-modem.c | 128
+ +++++++++++++++++++++++++++++++
+ src/mm-iface-modem.c | 32 ++++++++
+ src/mm-iface-modem.h | 10 +++
+ 4 files changed, 176 insertions(+), 122 deletions(-)
+
+commit 66dce6dacc440d8bfe4270562ef5a840c87e5a04
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 7 19:13:19 2017 +0100
+
+ broadband-modem: use several SIM errors to flag the modem as GSM/UMTS
+
+ When using CPIN? to detect capabilities, use several possible +CME
+ errors as indication that the modem is at least GSM/UMTS.
+
+ E.g. to avoid situations like this one where the modem doesn't even
+ get into Failed state as we cannot gather capabilities:
+
+ debug_log(): (ttyMux1): --> 'AT+GCAP<CR>'
+ debug_log(): (ttyMux1): <-- '<CR><LF>+CME ERROR: 100<CR><LF>'
+ mm_serial_parser_v1_parse(): Got failure code 100: Unknown error
+ debug_log(): (ttyMux1): --> 'ATI<CR>'
+ debug_log(): (ttyMux1): <--
+ '<CR><LF>Cinterion<CR><LF>EHS5-E<CR><LF>REVISION
+ 03.001<CR><LF><CR><LF>OK<CR><LF>'
+ debug_log(): (ttyMux1): --> 'AT+CPIN?<CR>'
+ debug_log(): (ttyMux1): <-- '<CR><LF>+CME ERROR: 10<CR><LF>'
+ mm_serial_parser_v1_parse(): Got failure code 10: SIM not inserted
+ debug_log(): (ttyMux1): --> 'AT+CGMM<CR>'
+ debug_log(): (ttyMux1): <-- '<CR><LF>EHS5-E<CR><LF>'
+ debug_log(): (ttyMux1): <-- '<CR><LF>OK<CR><LF>'
+ iface_modem_initialize_ready(): Modem couldn't be initialized:
+ couldn't load current capabilities: Failed to determine modem
+ capabilities.
+
+ src/mm-broadband-modem.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+commit ce8c7035746e21e09cf491be1fa1186714abd4b2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 17 18:21:02 2017 +0200
+
+ docs: include device filter policies/rules documentation
+
+ docs/reference/api/ModemManager-overview.xml | 283
+ ++++++++++++++++++++++++++-
+ 1 file changed, 277 insertions(+), 6 deletions(-)
+
+commit 42f4e975c9a22ecde9f4971e014358238dcfe975
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 17 14:42:26 2017 +0200
+
+ docs: port probing reference in its own chapter
+
+ docs/reference/api/ModemManager-overview.xml | 589
+ +++++++++++++--------------
+ 1 file changed, 294 insertions(+), 295 deletions(-)
+
+commit 0850fe4f6d4e4cd8c36b397d7db5313ca4188176
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 17 12:53:58 2017 +0200
+
+ filter: additional strict rules when all device ports available
+
+ All the previous filter rules were applicable per-port independently.
+ But, we also want to apply rules on a port based on the existence of
+ other ports on the same device (e.g. allow TTY if the device also has
+ a NET port). In this case, we need to wait for all ports to appear and
+ then apply the additional rules.
+
+ We re-use the "min wait time" timeout in the plugin-manager for this
+ same purpose. This timeout is setup to wait for ports to appear before
+ starting the probing process (e.g. so that plugin filters like the
+ forbidden-drivers one work). The very same timeout can therefore be
+ used to check whether we start the probing or not based on additional
+ filter rules.
+
+ src/mm-base-manager.c | 2 +-
+ src/mm-filter.c | 43 ++++++++++++++++++++++++++++++++++++++++---
+ src/mm-filter.h | 12 +++++++++++-
+ src/mm-plugin-manager.c | 45
+ ++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-plugin-manager.h | 3 +++
+ 5 files changed, 95 insertions(+), 10 deletions(-)
+
+commit ee570d44dc117dc69f23e83313dd877f76c5e3e0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Oct 16 22:55:02 2017 +0200
+
+ filter: new automatic whitelisting rules and strict/paranoid policies
+
+ The 'default' filter policy was based on blacklisting as much as
+ possible and otherwise allow.
+
+ The new 'strict' filter policy will be based on whitelisting as much
+ as much as possible, using custom defined rules, and otherwise forbid
+ the ports.
+
+ The new 'paranoid' filter policy is equivalent to the 'strict' filter
+ after having applied the blacklist rules from the 'default' filter.
+
+ src/mm-base-manager.c | 4 ++-
+ src/mm-context.c | 12 +++++++-
+ src/mm-filter.c | 78
+ ++++++++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-filter.h | 77
+ +++++++++++++++++++++++++++++++++++++-------------
+ 4 files changed, 142 insertions(+), 29 deletions(-)
+
+commit 33583ca4dea8dd14e9090fc011986577b14b8ede
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Oct 16 23:46:41 2017 +0200
+
+ kerneldevice: allow getting interface class/subclass/protocol
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 4 +-
+ src/kerneldevice/mm-kernel-device-generic.c | 31 ++++++++++++++-
+ src/kerneldevice/mm-kernel-device-udev.c | 60
+ ++++++++++++++++++++++++++---
+ src/kerneldevice/mm-kernel-device.c | 36 +++++++++++++++--
+ src/kerneldevice/mm-kernel-device.h | 18 ++++-----
+ src/mm-base-modem.c | 8 ++--
+ src/mm-port-probe.c | 8 ----
+ src/mm-port-probe.h | 1 -
+ 8 files changed, 130 insertions(+), 36 deletions(-)
+
+commit 5b3baa02d368aa2cb41420f62af712fa29837f2b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Oct 16 22:00:39 2017 +0200
+
+ filter: explicitly allow port when ID_MM_PLATFORM_DRIVER_PROBE is set
+
+ Don't assume that the port will be implicitly allowed afterwards.
+
+ src/mm-filter.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit c4bf785d6771764cbee116e36c6780462223c4fa
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Oct 16 21:33:15 2017 +0200
+
+ filter: allow selection of filter policy on startup
+
+ Added a new '--filter-policy=[POLICY]' option in the daemon, which
+ allows selecting between the supported filter policies. For now, only
+ two policies are defined:
+
+ * default: the default policy used by ModemManager, where it tries
+ to probe and detect as many modem ports as possible.
+
+ * whitelist-only: only devices explicitly tagged via udev (with the
+ ID_MM_DEVICE_PROCESS tag) will be probed and used.
+
+ src/main.c | 1 +
+ src/mm-base-manager.c | 43 ++++++++++++++++++++++++++++++++-----------
+ src/mm-base-manager.h | 23 +++++++++++++----------
+ src/mm-context.c | 48
+ +++++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-context.h | 5 +++++
+ src/mm-filter.h | 16 ++++++++++++++++
+ 6 files changed, 110 insertions(+), 26 deletions(-)
+
+commit 7bfd5270ef846582d97314f3e9e550129317d631
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Oct 13 10:50:49 2017 +0200
+
+ filter: let the user tag modems explicitly
+
+ The user can tag modems (either full devices or ports independently)
+ to be explicitly probed by ModemManager, using the new
+ "ID_MM_DEVICE_PROCESS" udev tag, e.g.:
+
+ $ sudo vim /lib/udev/rules.d/78-mm-whitelist-internal-modem.rules
+ ACTION!="add|change|move",
+ GOTO="mm_whitelist_internal_modem_end"
+ ATTRS{idVendor}=="1199", ATTRS{idProduct}=="a001",
+ ENV{ID_MM_DEVICE_PROCESS}="1"
+ LABEL="mm_whitelist_internal_modem_end"
+ $ sudo udevadm control --reload
+ $ sudo udevadm trigger
+
+ This rule runs before any other filter rule.
+
+ This tag may be used e.g. by manufacturers building systems with
+ built-in modems that will always be available.
+
+ Distributions targeting support for multiple modem devices shouldn't
+ use this udev tag.
+
+ src/mm-filter.c | 11 +++++++++++
+ src/mm-filter.h | 18 ++++++++++--------
+ 2 files changed, 21 insertions(+), 8 deletions(-)
+
+commit f270a09cb2df37c134e567049a5fe09c73d7fd3c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 12 23:49:10 2017 +0200
+
+ filter: allow enabling/disabling rules via envvars
+
+ E.g. forcing a MBIM modem to run in AT-only mode:
+
+ # MM_FILTER_RULE_NET=0 \
+ MM_FILTER_RULE_CDC_WDM=0 \
+ /usr/sbin/ModemManager --debug
+
+ This is just for quick testing for now.
+
+ src/mm-base-manager.c | 8 +-------
+ src/mm-filter.c | 39 ++++++++++++++++++++++++++++++++++++++-
+ src/mm-filter.h | 9 +++++++++
+ 3 files changed, 48 insertions(+), 8 deletions(-)
+
+commit 239f7ba8a285d737aa9ef2f52dbc078d2b2f5371
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 12 23:00:09 2017 +0200
+
+ filter: remove bogus TTY virtual console filter
+
+ The more generic filter for virtual devices already covers all cases
+ covered by the TTY virtual console filter.
+
+ src/mm-base-manager.c | 1 -
+ src/mm-filter.c | 15 +++------------
+ src/mm-filter.h | 7 +++----
+ 3 files changed, 6 insertions(+), 17 deletions(-)
+
+commit 4e26661e67c4bde6f2a5314fb4130844a32b9f54
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 12 22:07:38 2017 +0200
+
+ filter: new object to run the port/device filter logic
+
+ This new object allows configuring the filter rules applied to the
+ device ports. By default, for now, it implements the same rules as the
+ MMKernelDevice is_candidate() method, which is obsoleted.
+
+ src/Makefile.am | 6 +-
+ src/kerneldevice/mm-kernel-device.c | 67 ------------
+ src/kerneldevice/mm-kernel-device.h | 3 -
+ src/mm-base-manager.c | 31 +++++-
+ src/mm-filter.c | 207
+ ++++++++++++++++++++++++++++++++++++
+ src/mm-filter.h | 64 +++++++++++
+ 6 files changed, 306 insertions(+), 72 deletions(-)
+
+commit d04f98d9666c8c0031f16c05b31614ea7c179e42
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 12 21:43:34 2017 +0200
+
+ kerneldevice: consolidate candidate rules in the base device
+
+ This patch implicitly enables in the generic device backend the
+ manual-only greylist (ID_MM_DEVICE_MANUAL_SCAN_ONLY tag) and the
+ platform TTY whitelist (ID_MM_PLATFORM_DRIVER_PROBE), which were not
+ being applied.
+
+ src/kerneldevice/mm-kernel-device-generic.c | 54 --------------------
+ src/kerneldevice/mm-kernel-device-udev.c | 76
+ -----------------------------
+ src/kerneldevice/mm-kernel-device.c | 66
+ +++++++++++++++++++++++--
+ src/kerneldevice/mm-kernel-device.h | 3 --
+ 4 files changed, 63 insertions(+), 136 deletions(-)
+
+commit 345d9747a7408cc5263b425e149bf3b4ac4926a4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 12 21:07:09 2017 +0200
+
+ kerneldevice: allow loading physdev sysfs path
+
+ src/kerneldevice/mm-kernel-device-generic.c | 9 +++++++++
+ src/kerneldevice/mm-kernel-device-udev.c | 16 ++++++++++++++++
+ src/kerneldevice/mm-kernel-device.c | 10 ++++++++++
+ src/kerneldevice/mm-kernel-device.h | 3 +++
+ 4 files changed, 38 insertions(+)
+
+commit 0e4e4a6b138cccc49a8f7a4d8bacc9273f8b4cb3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 12 20:47:17 2017 +0200
+
+ kerneldevice: allow loading physdev subsystem
+
+ Used to filter out TTYs when not explicitly whitelisted.
+
+ src/kerneldevice/mm-kernel-device-generic.c | 31
+ +++++++++++++++++++++++++++++
+ src/kerneldevice/mm-kernel-device-udev.c | 18 ++++++++++++++++-
+ src/kerneldevice/mm-kernel-device.c | 10 ++++++++++
+ src/kerneldevice/mm-kernel-device.h | 3 +++
+ 4 files changed, 61 insertions(+), 1 deletion(-)
+
+commit a4271d8433f1b629ac80a0bdd0876413c48712d3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 21 15:38:29 2017 +0100
+
+ mbm: port dial_3gpp() and disconnect_3gpp() to GTask
+
+ The two connection and disconnection methods are ported to GTask, and
+ are also updated so that the reception of the unsolicited message
+ reporting either connect/disconnection is able to right away complete
+ the pending connection/disconnection attempts, as done in other
+ plugins like the Icera or HSO ones.
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 692
+ +++++++++++++++++++---------------
+ 1 file changed, 382 insertions(+), 310 deletions(-)
+
+commit 4c8a3d0015a7d09fbda92af36fe0e083ad236978
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 21 14:34:26 2017 +0100
+
+ icera: port dial_3gpp() to GTask
+
+ plugins/icera/mm-broadband-bearer-icera.c | 466
+ +++++++++++++-----------------
+ 1 file changed, 205 insertions(+), 261 deletions(-)
+
+commit 09d563fd346b22700f22d9d1466881ad0e3d9764
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 21 14:23:20 2017 +0100
+
+ hso: make report_connection_status() a separate logical block
+
+ This block is a subclassed method from MMBaseBearer, which we just
+ happen to also use as part of the 3GPP dial logic in the connection
+ attempt.
+
+ So make it a separate logical block, and call the processing of the
+ connection attempt if one is found.
+
+ This change makes it similar to the same logic in the Icera plugin.
+
+ plugins/option/mm-broadband-bearer-hso.c | 64
+ ++++++++++++++++++--------------
+ 1 file changed, 36 insertions(+), 28 deletions(-)
+
+commit b6e3cb463d2515ac9efc28346776a3ccbd7a0802
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 21 14:07:48 2017 +0100
+
+ hso: use a 60s timeout to wait for connection unsolicited messages
+
+ Same amount of time as in the Icera plugin.
+
+ plugins/option/mm-broadband-bearer-hso.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 90116bf1beac765b6119885b113faa29203a33e6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 8 17:48:15 2017 +0100
+
+ hso: port dial_3gpp() to GTask
+
+ plugins/option/mm-broadband-bearer-hso.c | 414
+ +++++++++++++------------------
+ 1 file changed, 178 insertions(+), 236 deletions(-)
+
+commit d5684ff391d4dc39ca6e924a69df9e17ab922562
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Nov 11 13:48:06 2017 +0100
+
+ quectel: new plugin
+
+ For now just creating generic QMI/AT capable modems.
+
+ plugins/Makefile.am | 12 +++++
+ plugins/quectel/mm-plugin-quectel.c | 96
+ +++++++++++++++++++++++++++++++++++++
+ plugins/quectel/mm-plugin-quectel.h | 40 ++++++++++++++++
+ 3 files changed, 148 insertions(+)
+
+commit 5d7b67d2709c9be6f51f7b6620bfeb247ede3a27
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Dec 5 10:45:09 2017 +0100
+
+ po: add Swedish translation
+
+ From: Josef Andersson <l10nl18nsweja@gmail.com>
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=104086
+
+ po/LINGUAS | 1 +
+ po/sv.po | 105
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 106 insertions(+)
+
+commit 291300cfcb2e3f101c0f08de65fc03e0ceb2718f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Sep 16 12:19:47 2017 -0700
+
+ sierra: enable QMI connection status polling in Netgear AC341U
+
+ The Netgear AC341U seems to delay reporting packet service status
+ indications or actually not even send them. This leaves us with modems
+ in connected state in ModemManager but actually disconnected. We can
+ detect this situation by actively polling ourselves the connection
+ status.
+
+ See e.g. this case where the indication is received 2.5 mins after the
+ first OutOfCall error detected when loading statistics.
+
+ Aug 30 22:52:50 ModemManager[574]: <info> Modem
+ /org/freedesktop/ModemManager1/Modem/0: state changed (connecting
+ -> connected)
+ Aug 30 22:52:50 ModemManager[574]: <info> Simple connect state
+ (8/8): All done
+ Aug 30 22:52:50 ModemManager[574]: <warn> Reloading stats
+ failed: Couldn't get packet statistics: QMI protocol error (15):
+ 'OutOfCall'
+ Aug 30 22:53:20 ModemManager[574]: <warn> Reloading stats
+ failed: Couldn't get packet statistics: QMI protocol error (15):
+ 'OutOfCall'
+ Aug 30 22:53:50 ModemManager[574]: <warn> Reloading stats
+ failed: Couldn't get packet statistics: QMI protocol error (15):
+ 'OutOfCall'
+ Aug 30 22:54:20 ModemManager[574]: <warn> Reloading stats
+ failed: Couldn't get packet statistics: QMI protocol error (15):
+ 'OutOfCall'
+ Aug 30 22:56:21 ModemManager[574]: <info> bearer call end reason
+ (2): 'generic-client-end'
+ Aug 30 22:56:21 ModemManager[574]: <info> bearer verbose call
+ end reason (3,2000): [cm] client-end
+ Aug 30 22:56:21 ModemManager[574]: <info> Modem
+ /org/freedesktop/ModemManager1/Modem/0: state changed (connected
+ -> registered)
+
+ plugins/Makefile.am | 2 ++
+ plugins/sierra/77-mm-sierra.rules | 12 ++++++++++++
+ 2 files changed, 14 insertions(+)
+
+commit 7119b8ebb252ca3775a1be16f446e99b735f5b98
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Sep 16 12:17:54 2017 -0700
+
+ bearer-qmi: new optional connection status monitoring
+
+ This update makes it possible to request connection status polling for
+ QMI modems via the ID_MM_QMI_CONNECTION_STATUS_POLLING_ENABLE tag.
+
+ If not given, the connection status polling will be disabled by
+ default, and the QMI modem will rely on WDS indications only.
+
+ src/mm-bearer-qmi.c | 161
+ +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 159 insertions(+), 2 deletions(-)
+
+commit d20d46a62960099164da5ef5bb7b0b93127cc6c5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 23 14:10:59 2017 +0100
+
+ iface-modem: remove invalid modem reference count in
+ update_lock_info()
+
+ The modem object is being explicitly referenced and stored in the
+ Context, but then never unref-ed, completely leaking a modem reference
+ forever.
+
+ Fixes: 4df545884733bbc5a851ab86e0983dec057d5482
+
+ src/mm-iface-modem.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit de334b7777777e11df6c83aa7dd7cfb2b5f3b1fe
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 23 13:02:42 2017 +0100
+
+ broadband-modem-qmi: plug memleak when listing stored images
+
+ ==24602== 288 bytes in 4 blocks are definitely lost in loss record
+ 4,693 of 4,860
+ ==24602== at 0x4C2CE5F: malloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==24602== by 0x67292F9: g_malloc (in
+ /usr/lib/libglib-2.0.so.0.5400.0)
+ ==24602== by 0x670A706: g_slice_alloc (in
+ /usr/lib/libglib-2.0.so.0.5400.0)
+ ==24602== by 0x670B849: g_slice_alloc0 (in
+ /usr/lib/libglib-2.0.so.0.5400.0)
+ ==24602== by 0x53D3A24:
+ __qmi_message_dms_get_stored_image_info_response_parse
+ (qmi-dms.c:22779)
+ ==24602== by 0x53E5C61: get_stored_image_info_ready
+ (qmi-dms.c:32287)
+ ==24602== by 0x6134908: g_simple_async_result_complete (in
+ /usr/lib/libgio-2.0.so.0.5400.0)
+ ==24602== by 0x613499E: ??? (in /usr/lib/libgio-2.0.so.0.5400.0)
+ ==24602== by 0x67180BD: g_main_context_dispatch (in
+ /usr/lib/libglib-2.0.so.0.5400.0)
+ ==24602== by 0x6719F68: ??? (in /usr/lib/libglib-2.0.so.0.5400.0)
+ ==24602== by 0x671AF41: g_main_loop_run (in
+ /usr/lib/libglib-2.0.so.0.5400.0)
+ ==24602== by 0x14477B: main (main.c:180)
+
+ src/mm-broadband-modem-qmi.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 75933c3e8bbecaf89e56e4426a0d543db3450378
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 12 13:41:29 2017 +0100
+
+ po: update Ukrainian translation
+
+ From: Yuri Chornoivan <yurchor@ukr.net>
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=103685
+
+ po/uk.po | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+commit 17b8fcfd771a57cac099b22d1312c62d4fb51683
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Nov 11 13:39:16 2017 +0100
+
+ build: minor build rules reordering for the udev rules tester
+
+ Move it after all plugin build rules.
+
+ plugins/Makefile.am | 27 +++++++++++++--------------
+ 1 file changed, 13 insertions(+), 14 deletions(-)
+
+commit 4f0a796ece07f84790b09b13ea90a49aab1b61f1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 18 23:17:25 2017 +0200
+
+ cli: port mmcli_get_call to GTask
+
+ cli/mmcli-common.c | 224
+ +++++++++++++++++++++++++++++------------------------
+ cli/mmcli-common.h | 25 +++---
+ 2 files changed, 134 insertions(+), 115 deletions(-)
+
+commit 6f9e2003e078022eea44a5a8dd075a96d6263fc9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 18 23:04:41 2017 +0200
+
+ cli: port mmcli_get_sim to GTask
+
+ cli/mmcli-common.c | 144
+ +++++++++++++++++++++++++++++------------------------
+ cli/mmcli-common.h | 24 ++++-----
+ 2 files changed, 91 insertions(+), 77 deletions(-)
+
+commit 050eb46f51988d3e7f51d5d2a413809435cc954d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 18 22:44:16 2017 +0200
+
+ cli: port mmcli_get_sms to GTask
+
+ cli/mmcli-common.c | 165
+ +++++++++++++++++++++++++++++------------------------
+ cli/mmcli-common.h | 24 ++++----
+ 2 files changed, 104 insertions(+), 85 deletions(-)
+
+commit f94a93d66abf47a2528ade5b1847e1b7b5071dc0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 18 22:29:23 2017 +0200
+
+ cli: port mmcli_get_bearer to GTask
+
+ cli/mmcli-common.c | 151
+ ++++++++++++++++++++++++++++++-----------------------
+ cli/mmcli-common.h | 24 ++++-----
+ 2 files changed, 97 insertions(+), 78 deletions(-)
+
+commit 11e9b727b471c6cc14b121f08b778aca750b176b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 22:34:31 2017 -0700
+
+ cli: port mmcli_get_modem to GTask
+
+ cli/mmcli-common.c | 71
+ ++++++++++++++++++++++++++----------------------------
+ cli/mmcli-common.h | 21 ++++++++--------
+ 2 files changed, 44 insertions(+), 48 deletions(-)
+
+commit 6bf046b6fc0b0704081a8d1e7c063d422747e839
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 22:26:23 2017 -0700
+
+ cli: port mmcli_get_manager to GTask
+
+ cli/mmcli-common.c | 48 +++++++++++++++++++++++-------------------------
+ cli/mmcli-common.h | 12 ++++++------
+ 2 files changed, 29 insertions(+), 31 deletions(-)
+
+commit 71f0fc6821fd0c5fc67f99e2588bf4e9fd5bd396
+Author: Luis A. Lozano <llozano@google.com>
+Date: Wed Oct 25 19:00:47 2017 -0700
+
+ sms-cdma-part: fix tautological-constant-compare compiler warning
+
+ This patch fixes the following compiler warning issued by clang:
+
+ mm-sms-part-cdma.c:301:46: mcomparison 'guint8' (aka 'unsigned
+ char') <= 255 is always true
+ [-Werror,-Wtautological-constant-compare]
+
+ src/mm-sms-part-cdma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 098c4c0271e04b564da57bb5c9e4e8e067bd58c9
+Author: Eric Caruso <ejcaruso@chromium.org>
+Date: Fri Oct 20 10:10:47 2017 -0700
+
+ mm-broadband-modem-qmi: reprobe on qmi-proxy death
+
+ This allows us to reprobe the modem and respawn the
+ qmi-proxy in case it dies on us. This gets us access
+ to the modem and unsolicited notifications again. Do
+ this by connecting to the device-removed signal on
+ QmiDevice.
+
+ ---
+ Rebased on top of git master by
+ Aleksander Morgado <aleksander@aleksander.es>
+
+ configure.ac | 2 +-
+ src/mm-broadband-modem-qmi.c | 70
+ ++++++++++++++++++++++++++++++++++++++++----
+ src/mm-port-qmi.c | 10 +++++++
+ src/mm-port-qmi.h | 2 ++
+ 4 files changed, 77 insertions(+), 7 deletions(-)
+
+commit b4278615fc273756ae5fe2b84da1e39a56d3e121
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Oct 22 11:18:33 2017 +0200
+
+ po: add Czech translation
+
+ From: Marek Černocký <marek@manet.cz>
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=103390
+
+ po/LINGUAS | 1 +
+ po/cs.po | 108
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 109 insertions(+)
+
+commit 965ff9304141af7389840f6e6f4ee1dafdc89e23
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 20 14:43:02 2017 -0700
+
+ novatel: port load_supported_modes to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 22 +++++++---------------
+ 1 file changed, 7 insertions(+), 15 deletions(-)
+
+commit adcce66dd7b676e4cc7bf71b63588e746f51dc14
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Oct 20 17:47:54 2017 +0200
+
+ broadband-modem-qmi: avoid NULL success return in
+ firmware_load_current
+
+ Instead of assuming that NULL is a valid return, make sure we return
+ an error instead.
+
+ This also makes it sure that if the GTask gets cancelled, the result
+ we set is always a valid GObject, so that the g_object_unref passed as
+ GDestroyNotify can be safely called always. Not a big deal anyway, as
+ the GTask cannot be currently cancelled.
+
+ src/mm-broadband-modem-qmi.c | 11 +++++++----
+ src/mm-iface-modem-firmware.c | 14 +++++++++-----
+ 2 files changed, 16 insertions(+), 9 deletions(-)
+
+commit dbb4597e335d66dda7abebbab7d70b0708146350
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Oct 20 17:46:40 2017 +0200
+
+ broadband-modem-qmi: avoid NULL success return in firmware_load_list
+
+ Instead of assuming that NULL is a valid return, make sure we return
+ an error instead.
+
+ src/mm-broadband-modem-qmi.c | 6 +++++-
+ src/mm-iface-modem-firmware.c | 13 +++++++++----
+ 2 files changed, 14 insertions(+), 5 deletions(-)
+
+commit 6044118b64b11a39b54cc9a2109dbb3f6adc7995
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Oct 20 17:27:38 2017 +0200
+
+ broadband-modem-qmi: make it explicit that the GTask is successful
+
+ When load_supported_storages() doesn't run the parent implementation,
+ the GTask is always successful. Make it explicit, in case the logic
+ changes in the future.
+
+ src/mm-broadband-modem-qmi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 4e3bf7524d6acfd4f8fba7da920c2dceff8e8797
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:35:16 2017 -0700
+
+ broadband-modem-qmi: port modem_cdma_load_meid to use GTask
+
+ src/mm-broadband-modem-qmi.c | 31 +++++++++----------------------
+ 1 file changed, 9 insertions(+), 22 deletions(-)
+
+commit f5270ac5ae088b7ab1400951cc42c1908edc59c4
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:31:53 2017 -0700
+
+ broadband-modem-qmi: port modem_cdma_load_esn to use GTask
+
+ src/mm-broadband-modem-qmi.c | 31 +++++++++----------------------
+ 1 file changed, 9 insertions(+), 22 deletions(-)
+
+commit 607dee3a9553305432a3d513c8b777edee4d94dd
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:28:37 2017 -0700
+
+ broadband-modem-qmi: port modem_3gpp_load_operator_code to use GTask
+
+ src/mm-broadband-modem-qmi.c | 38 +++++++++++++++++---------------------
+ 1 file changed, 17 insertions(+), 21 deletions(-)
+
+commit e365cf531ccbdd4101ae5507ba439fe27875f758
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:27:02 2017 -0700
+
+ broadband-modem-qmi: port modem_3gpp_load_operator_name to use GTask
+
+ src/mm-broadband-modem-qmi.c | 38 +++++++++++++++++---------------------
+ 1 file changed, 17 insertions(+), 21 deletions(-)
+
+commit 942a3565e25aa17317c528fb8a7a1832d97aa784
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:20:50 2017 -0700
+
+ broadband-modem-qmi: port modem_3gpp_load_imei to use GTask
+
+ src/mm-broadband-modem-qmi.c | 31 +++++++++----------------------
+ 1 file changed, 9 insertions(+), 22 deletions(-)
+
+commit be1b3add84cfdd06f1db01fd966bfc9181131d1b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 13:06:51 2017 -0700
+
+ broadband-modem-qmi: port modem_messaging_setup_sms_format to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 14 +++++---------
+ 1 file changed, 5 insertions(+), 9 deletions(-)
+
+commit 9b27a8bd9af0dca3a5a18c6d759af3e9ed134c30
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:50:56 2017 -0700
+
+ broadband-modem-qmi: port modem_load_supported_ip_families to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 37 ++++++++++++++++---------------------
+ 1 file changed, 16 insertions(+), 21 deletions(-)
+
+commit 0b942a6759a7ebfa2afe468ecfb02baeb653b8b5
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 16:05:55 2017 -0700
+
+ broadband-modem-qmi: port modem_load_supported_ip_modes to use GTask
+
+ src/mm-broadband-modem-qmi.c | 25 ++++++++++---------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+commit bba2386238d3f672946a20ea69d00fb1f95cb7d9
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:41:33 2017 -0700
+
+ broadband-modem-qmi: port modem_load_device_identifier to use GTask
+
+ src/mm-broadband-modem-qmi.c | 24 ++++++------------------
+ 1 file changed, 6 insertions(+), 18 deletions(-)
+
+commit 55c3e162b12c741999e8532950904ed945b0041b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 16:14:59 2017 -0700
+
+ broadband-modem-qmi: port modem_load_unlock_required to use GTask
+
+ src/mm-broadband-modem-qmi.c | 117
+ ++++++++++++++++++++++---------------------
+ 1 file changed, 59 insertions(+), 58 deletions(-)
+
+commit 2ba17be8b6a8472797b37abfbf05eecd0dd4a65a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:38:44 2017 -0700
+
+ broadband-modem-qmi: port modem_create_bearer to use GTask
+
+ src/mm-broadband-modem-qmi.c | 21 ++++++---------------
+ 1 file changed, 6 insertions(+), 15 deletions(-)
+
+commit 2aaac123ac971537b9a42e225eb9129e2ac05fec
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:14:58 2017 -0700
+
+ broadband-modem-qmi: port messaging_load_supported_storages to
+ use GTask
+
+ src/mm-broadband-modem-qmi.c | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+commit bf9e5cdfeb73e678fbe716fc4334a9c1d9aae417
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:13:14 2017 -0700
+
+ broadband-modem-qmi: port messaging_check_support to use GTask
+
+ src/mm-broadband-modem-qmi.c | 24 +++++++++---------------
+ 1 file changed, 9 insertions(+), 15 deletions(-)
+
+commit 30dfe3055e8e9561c8956d77c5574ad6c889c335
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 13:09:15 2017 -0700
+
+ broadband-modem-qmi: port signal_check_support to use GTask
+
+ src/mm-broadband-modem-qmi.c | 16 ++++++----------
+ 1 file changed, 6 insertions(+), 10 deletions(-)
+
+commit e9ee49d583c4108022817338da7111dcd582f45a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 13:03:36 2017 -0700
+
+ broadband-modem-qmi: port oma_check_support to use GTask
+
+ src/mm-broadband-modem-qmi.c | 17 ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+commit 3e91956d0cf4161a8b0443d3863599a06781dbf8
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:08:51 2017 -0700
+
+ broadband-modem-qmi: port location_load_capabilities to use GTask
+
+ src/mm-broadband-modem-qmi.c | 35 ++++++++++++++++-------------------
+ 1 file changed, 16 insertions(+), 19 deletions(-)
+
+commit d99398b05519df21a9bfc84e5c3de232e892bd0f
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 12:48:13 2017 -0700
+
+ broadband-modem-qmi: port enable_location_gathering to use GTask
+
+ src/mm-broadband-modem-qmi.c | 173
+ ++++++++++++++++++++++++-------------------
+ 1 file changed, 96 insertions(+), 77 deletions(-)
+
+commit 07d922e250e2d8d47ebfad0ad39de23f47cc390b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:01:05 2017 -0700
+
+ broadband-modem-qmi: port firmware_load_list to use GTask
+
+ src/mm-broadband-modem-qmi.c | 21 +++++++++++----------
+ 1 file changed, 11 insertions(+), 10 deletions(-)
+
+commit af2f87d2f2471f532aa4586d9243b622ee6434cf
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 14:05:39 2017 -0700
+
+ broadband-modem-qmi: port firmware_load_current to use GTask
+
+ src/mm-broadband-modem-qmi.c | 20 +++++++-------------
+ 1 file changed, 7 insertions(+), 13 deletions(-)
+
+commit 02fadb6e914030a34935af3cc5d4192f35fb5a81
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 16:23:35 2017 -0700
+
+ broadband-modem-qmi: port enabling_started to use GTask
+
+ src/mm-broadband-modem-qmi.c | 19 ++++++++-----------
+ 1 file changed, 8 insertions(+), 11 deletions(-)
+
+commit b412ddc8b91f24db3a189092ce44ae6be31d7c98
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 11 16:21:20 2017 -0700
+
+ broadband-modem-qmi: port initialization_started to use GTask
+
+ src/mm-broadband-modem-qmi.c | 88
+ +++++++++++++++++++++++---------------------
+ 1 file changed, 46 insertions(+), 42 deletions(-)
+
+commit a20686c24c29f0ae1c5746f2a2ae8fb418a424f9
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 19 23:14:04 2017 -0700
+
+ via: port modem_cdma_{setup,cleanup}_unsolicited_events to use GTask
+
+ plugins/via/mm-broadband-modem-via.c | 40
+ +++++++++++-------------------------
+ 1 file changed, 12 insertions(+), 28 deletions(-)
+
+commit 47cdad55a86e1e2657f428c85d94218f36854d7f
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 19 23:26:43 2017 -0700
+
+ anydata: port get_detailed_registration_state to use GTask
+
+ plugins/anydata/mm-broadband-modem-anydata.c | 91
+ +++++++++++-----------------
+ 1 file changed, 35 insertions(+), 56 deletions(-)
+
+commit 689dad9f6e4a08c5f68a02363703d58f6d9fbadf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 19 11:43:50 2017 +0200
+
+ base-bearer: fix reporting tx/rx stats
+
+ The numbers were actually swapped!
+
+ src/mm-base-bearer.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 25007741c8a458567998744de87bdd55128da80f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 18 23:02:57 2017 +0200
+
+ mmcli,sim: force sync operation for the info action
+
+ cli/mmcli-sim.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit fc40c059fa1e04006651cbccc0d3f4943e94abf7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Oct 8 10:16:54 2017 +0200
+
+ broadband-modem-mbim: plug memleak when querying previous unlock
+ retries
+
+ ==15673== 240 (40 direct, 200 indirect) bytes in 1 blocks are
+ definitely lost in loss record 4,341 of 4,535
+ ==15673== at 0x647F014: g_type_create_instance (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==15673== by 0x6460027: ??? (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==15673== by 0x6461A54: g_object_newv (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==15673== by 0x6462213: g_object_new (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==15673== by 0x4E97C33: mm_unlock_retries_new
+ (mm-unlock-retries.c:217)
+ ==15673== by 0x4E97A6F: mm_unlock_retries_new_from_dictionary
+ (mm-unlock-retries.c:171)
+ ==15673== by 0x170B09: mm_iface_modem_get_unlock_retries
+ (mm-iface-modem.c:2942)
+ ==15673== by 0x1DB0A4: pin_query_unlock_retries_ready
+ (mm-broadband-modem-mbim.c:782)
+ ==15673== by 0x613AD52: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==15673== by 0x613B775: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==15673== by 0x57D525D: transaction_task_complete_and_free
+ (mbim-device.c:246)
+ ==15673== by 0x57D6086: process_message (mbim-device.c:666)
+
+ src/mm-broadband-modem-mbim.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 58e6f652a10e57eeea1a8ccb0c440c3171a9ba33
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Oct 7 14:06:06 2017 +0200
+
+ base-modem: plug memleaks when building port lists
+
+ The mm_base_modem_find_ports() method builds a list of full
+ references, so we need to unref them in the peek() methods.
+
+ ==10047== 14,959 (24 direct, 14,935 indirect) bytes in 1 blocks
+ are definitely lost in loss record 5,470 of 5,473
+ ==10047== at 0x4C2CE5F: malloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==10047== by 0x66E3028: g_malloc (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==10047== by 0x66FAB25: g_slice_alloc (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==10047== by 0x66D9A33: g_list_append (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==10047== by 0x15F6A7: mm_base_modem_find_ports
+ (mm-base-modem.c:845)
+ ==10047== by 0x15E9F3: mm_base_modem_peek_port_qmi_for_data
+ (mm-base-modem.c:579)
+ ==10047== by 0x15E8FC: mm_base_modem_get_port_qmi_for_data
+ (mm-base-modem.c:555)
+ ==10047== by 0x1BB99F: _connect (mm-bearer-qmi.c:1391)
+ ==10047== by 0x1540B4: mm_base_bearer_connect
+ (mm-base-bearer.c:841)
+ ==10047== by 0x181F4F: connection_step
+ (mm-iface-modem-simple.c:597)
+ ==10047== by 0x181321: create_bearer_ready
+ (mm-iface-modem-simple.c:258)
+ ==10047== by 0x612FD52: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+
+ src/mm-base-modem.c | 43 +++++++++++++++++++++++++++----------------
+ 1 file changed, 27 insertions(+), 16 deletions(-)
+
+commit 882f6b04d6562adf471576a6ca31687066a574c1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 22:18:53 2017 -0700
+
+ cinterion: port modem_create_bearer to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 142
+ ++++++++++-------------
+ 1 file changed, 60 insertions(+), 82 deletions(-)
+
+commit e9f56ddf153e07278232150554ed7fa54cb1cde6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 22:08:56 2017 -0700
+
+ cinterion: port after_sim_unlock to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 79
+ ++++++++++++------------
+ 1 file changed, 38 insertions(+), 41 deletions(-)
+
+commit b1948f83a5134143347010df33c2513c69ebb849
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 22:01:25 2017 -0700
+
+ cinterion: port load_unlock_retries_context to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 72
+ ++++++++++++------------
+ 1 file changed, 35 insertions(+), 37 deletions(-)
+
+commit e1b2b88e682d68c1554f5c8014c19fe27aebc9af
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 21:54:04 2017 -0700
+
+ cinterion: port setup_flow_control to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 39
+ +++++++++++-------------
+ 1 file changed, 17 insertions(+), 22 deletions(-)
+
+commit 926e0176fbcbc47a44b83f826492e69af3e62226
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 21:51:49 2017 -0700
+
+ cinterion: port set_current_bands to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 98
+ +++++++++++-------------
+ 1 file changed, 45 insertions(+), 53 deletions(-)
+
+commit ea58d359473ddc4d1539e6b94b2526949436ac81
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 21:44:42 2017 -0700
+
+ cinterion: port load_current_bands to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 56
+ ++++++++++--------------
+ 1 file changed, 23 insertions(+), 33 deletions(-)
+
+commit c1e17b9cad8767271b7a412e12fbe2efc9bebe75
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 21:40:41 2017 -0700
+
+ cinterion: port load_supported_bands to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 57
+ ++++++++++--------------
+ 1 file changed, 23 insertions(+), 34 deletions(-)
+
+commit 7f2520a83d9c824b90df3418084fc18f1e374fb6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 21:36:10 2017 -0700
+
+ cinterion: port register_in_network to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 68
+ ++++++++----------------
+ 1 file changed, 23 insertions(+), 45 deletions(-)
+
+commit f9e2ebf3a0588176bd0ee52672065190cdc28d98
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 19:49:37 2017 -0700
+
+ cinterion: port modem_power_off to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 121
+ +++++++++++++----------
+ 1 file changed, 69 insertions(+), 52 deletions(-)
+
+commit 00aa9cd09bf7b200d3c91226187242f464c3793a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 19:24:33 2017 -0700
+
+ cinterion: port modem_power_down to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 80
+ +++++++++++-------------
+ 1 file changed, 37 insertions(+), 43 deletions(-)
+
+commit 73f748f7acc927db51def61465a2f43be9eb8edb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 17:24:21 2017 -0700
+
+ cinterion: port messaging_check_support to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 54
+ +++++++++++-------------
+ 1 file changed, 24 insertions(+), 30 deletions(-)
+
+commit d09f9adafeaeaeebacaf951c88a203c277d56ac6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 17:19:32 2017 -0700
+
+ cinterion: port messaging_enable_unsolicited_events to GTask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 129
+ +++++++++++------------
+ 1 file changed, 61 insertions(+), 68 deletions(-)
+
+commit 7e478e408d8bf49947217dc882102ecf3bac0adc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 20 17:11:59 2017 -0700
+
+ cinterion: port plugin custom_init to GTask
+
+ plugins/cinterion/mm-plugin-cinterion.c | 74
+ +++++++++++----------------------
+ 1 file changed, 25 insertions(+), 49 deletions(-)
+
+commit 6e68f4052b17cd145bcc7883469aac57fccf76e2
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 20:40:11 2017 -0700
+
+ nokia: port load_access_technologies to use GTask
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 59
+ ++++++++++----------------------
+ 1 file changed, 19 insertions(+), 40 deletions(-)
+
+commit d4abf79e9970faf3c6cc0b611caaabf98390593b
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 20:34:47 2017 -0700
+
+ nokia: port enabling_modem_init to use GTask
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 56
+ +++++++++++++++-----------------
+ 1 file changed, 26 insertions(+), 30 deletions(-)
+
+commit 74d8a69b4ec855c84249458416be584a5be3e4c1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Oct 7 10:50:48 2017 +0200
+
+ iridium: simplify a bit the saved_error logic in connect
+
+ Note that saved_error will be freed along with the context, unless
+ it's set to NULL.
+
+ plugins/iridium/mm-bearer-iridium.c | 18 ++++++++----------
+ 1 file changed, 8 insertions(+), 10 deletions(-)
+
+commit 3c2b974bbd5d9bc6645fa6eed93504ef84739dc1
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 16:15:41 2017 -0700
+
+ iridium: port connect to use GTask
+
+ plugins/iridium/mm-bearer-iridium.c | 99
+ +++++++++++++++----------------------
+ 1 file changed, 41 insertions(+), 58 deletions(-)
+
+commit d0bbc43fa7601c395c3208b199eaa43dc24a16c4
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 16:04:00 2017 -0700
+
+ iridium: port load_operator_{code,name} to use GTask
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 47
+ +++++++++++++++++-----------
+ 1 file changed, 29 insertions(+), 18 deletions(-)
+
+commit 2768df24b487b82c78b0623000c51d5a0cb30367
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 15:59:22 2017 -0700
+
+ iridium: port setup_flow_control to use GTask
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 20 ++++++--------------
+ 1 file changed, 6 insertions(+), 14 deletions(-)
+
+commit aee8bcc7489836a77bfe1c7521dd3bbc55e8f8df
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 15:31:29 2017 -0700
+
+ iridium: port load_supported_modes to use GTask
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+commit 164ce738476e5af8a2f44fa1967eb7f821b1579c
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 15:30:07 2017 -0700
+
+ iridium: port create_bearer to use GTask
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 21 +++++----------------
+ 1 file changed, 5 insertions(+), 16 deletions(-)
+
+commit 7dc46481c51b189eac9c48c2488ab8bc25290766
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 15:19:05 2017 -0700
+
+ pantech: port modem_after_sim_unlock to use GTask
+
+ plugins/pantech/mm-broadband-modem-pantech.c | 19 +++++++------------
+ 1 file changed, 7 insertions(+), 12 deletions(-)
+
+commit f8a375b1fa3c9d5f8b3f0a7f39d0576baa01436c
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Oct 3 22:30:49 2017 -0700
+
+ broadband-modem-mbim: use device manufacturer information when
+ available
+
+ MBIM modems can be supported by the 'generic' plugin. Instead of
+ treating the plugin name (i.e. Generic) as the manufacturer, it's more
+ useful to use the manufacturer information reported by the underlying
+ USB device if that is available.
+
+ src/mm-broadband-modem-mbim.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit 3a0d658b5d8eef55fdc5ad8c07dcb2c7f2e86453
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 19 22:25:34 2017 -0700
+
+ kerneldevice: add method to retrieve manufacturer information
+
+ A USB device may report its manufacturer through the Manufacturer
+ String
+ Descriptor. That information can sometimes be useful, e.g. MBIM
+ doesn't
+ define a standard command to query the manufacturer. This patch adds a
+ method to MMKernelDevice to retrieve the manufacturer information from
+ the underlying physical device, which can later be used by
+ MMBroadbandModemMbim to report the manufacturer of a MBIM modem.
+
+ src/kerneldevice/mm-kernel-device-generic.c | 39
+ ++++++++++++++++++-----------
+ src/kerneldevice/mm-kernel-device-udev.c | 16 ++++++++++++
+ src/kerneldevice/mm-kernel-device.c | 10 ++++++++
+ src/kerneldevice/mm-kernel-device.h | 9 ++++---
+ 4 files changed, 56 insertions(+), 18 deletions(-)
+
+commit bee3f063b44ef4e1476663a30ec673d69b47a442
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 21:09:43 2017 -0700
+
+ anydata: remove unused 'port' field in
+ DetailedRegistrationStateContext
+
+ The 'port' field in DetailedRegistrationStateContext is initialized to
+ NULL but never updated or used.
+
+ When detailed_registration_state_context_complete_and_free() calls
+ g_object_unref() on the NULL 'port' field, an assertion is raised.
+
+ plugins/anydata/mm-broadband-modem-anydata.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 1e4769257368c681cea6e109a18ed9ff113b2b57
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 18:05:36 2017 -0700
+
+ simtech: fix memory leak
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 25f37fd613386ab135008dfb97946710ba3674cf
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 18:05:35 2017 -0700
+
+ wavecom: fix memory leak
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 6967cbfd55f4eeef6bd2990726956c5c2d07a169
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 01:53:24 2017 -0700
+
+ linktop: port set_current_modes to use GTask
+
+ plugins/linktop/mm-broadband-modem-linktop.c | 39
+ ++++++++++++----------------
+ 1 file changed, 17 insertions(+), 22 deletions(-)
+
+commit 1e75e7e3d975c0b6f604a86c23adc18f4f51f2a9
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 6 01:50:25 2017 -0700
+
+ linktop: port load_supported_modes to use GTask
+
+ plugins/linktop/mm-broadband-modem-linktop.c | 22 +++++++---------------
+ 1 file changed, 7 insertions(+), 15 deletions(-)
+
+commit efaa780de20d0631f978781109900739f36126f0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Oct 6 10:51:01 2017 +0200
+
+ port-qmi: don't allow client allocation if port is closed
+
+ The internal QmiDevice will be gone when the port is closed, so we
+ cannot really do anything.
+
+ This avoid an issue happening when the modem goes away in the middle
+ of the client allocation logic performed by MMBroadbandModemQmi:
+
+ ModemManager[24820]: <debug> [1507279407.225777] Couldn't allocate
+ client for service 'wms': Couldn't create client for service
+ 'wms': CID allocation failed in the CTL client: Transaction
+ timed out
+ ModemManager[24820]: qmi_device_allocate_client: assertion
+ 'QMI_IS_DEVICE (self)' failed
+ ==24820==
+ ==24820== Process terminating with default action of signal 5
+ (SIGTRAP): dumping core
+ ==24820== at 0x66E3411: ??? (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==24820== by 0x66E46FA: g_logv (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==24820== by 0x66E484E: g_log (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==24820== by 0x538E259: qmi_device_allocate_client
+ (qmi-device.c:1008)
+ ==24820== by 0x1F5690: mm_port_qmi_allocate_client
+ (mm-port-qmi.c:157)
+ ==24820== by 0x1D20BA: allocate_next_client
+ (mm-broadband-modem-qmi.c:11319)
+ ==24820== by 0x1D2027: qmi_port_allocate_client_ready
+ (mm-broadband-modem-qmi.c:11306)
+ ==24820== by 0x612FD52: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==24820== by 0x6130775: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==24820== by 0x1F54E8: allocate_client_ready
+ (mm-port-qmi.c:113)
+ ==24820== by 0x612FD52: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==24820== by 0x6130775: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+
+ src/mm-port-qmi.c | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
+
+commit fd2bfb7e85f1924f70c50b7e0d21ef5fe3caef38
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 5 23:26:55 2017 -0700
+
+ novatel-lte: implement load_unlock_retries
+
+ This patch implements load_unlock_retries() for the Novatel LTE
+ modem by
+ using the AT$NWPINR? command to query the number of retries left for
+ entering PIN1 or PIN2.
+
+ Ported from the original patch by Arman Uguray
+ <armansito@chromium.org>:
+ https://chromium-review.googlesource.com/c/58118
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 65
+ ++++++++++++++++++++++++
+ 1 file changed, 65 insertions(+)
+
+commit 01ba79b70b835777b90723391da4d044437ddc9c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 16:44:34 2017 +0200
+
+ simtech: port 3gpp_{setup|cleanup}_unsolicited_messages to GTask
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 55
+ ++++++++++------------------
+ 1 file changed, 19 insertions(+), 36 deletions(-)
+
+commit c04160817abd5681e312f9b559f01b49e867d5b9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 16:36:08 2017 +0200
+
+ simtech: port 3gpp_enable_unsolicited_events to GTask
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 45
+ +++++++++++-----------------
+ 1 file changed, 18 insertions(+), 27 deletions(-)
+
+commit e7fbf6fc5603ee6ebc14cde5f82d61730eb8a57c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 16:30:51 2017 +0200
+
+ simtech: port 3gpp_disable_unsolicited_events to GTask
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 37
+ +++++++++++-----------------
+ 1 file changed, 14 insertions(+), 23 deletions(-)
+
+commit df4abdec1537e5a472138e9a4439af5eacf3947c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 16:25:29 2017 +0200
+
+ simtech: port load_access_technologies to GTask
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 72
+ ++++++++++++----------------
+ 1 file changed, 31 insertions(+), 41 deletions(-)
+
+commit cda7deea3d8b920353c28626399d5d3256ababc6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 16:16:27 2017 +0200
+
+ simtech: port load_supported_modes to GTask
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 44
+ ++++++++++++----------------
+ 1 file changed, 18 insertions(+), 26 deletions(-)
+
+commit bf83bb75772a127b0731ac09766a7f7f54fe5e8c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 16:11:16 2017 +0200
+
+ simtech: port load_current_modes to GTask
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 125
+ ++++++++++++---------------
+ 1 file changed, 57 insertions(+), 68 deletions(-)
+
+commit 9c1f9023e3ab167bf35c9130eec66346ce8b3607
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 14:35:09 2017 +0200
+
+ simtech: port set_current_modes to GTask
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 96
+ ++++++++++++----------------
+ 1 file changed, 41 insertions(+), 55 deletions(-)
+
+commit d9de874db3a23689f82337bc889ee47bcee15de0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 22:30:03 2017 +0200
+
+ thuraya: port load_supported_modes to GTask
+
+ plugins/thuraya/mm-broadband-modem-thuraya.c | 30
+ ++++++++++++----------------
+ 1 file changed, 13 insertions(+), 17 deletions(-)
+
+commit e072f4bc7731a2a4710de7be42dadcb54508a01d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 22:28:27 2017 +0200
+
+ thuraya: port messaging_load_supported_storages to GTask
+
+ plugins/thuraya/mm-broadband-modem-thuraya.c | 66
+ ++++++++++++----------------
+ 1 file changed, 27 insertions(+), 39 deletions(-)
+
+commit 0714c01d036b360c5999863fc07bdd07c4606583
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 22:20:54 2017 +0200
+
+ thuraya: port load_operator_{name|code} to GTask
+
+ plugins/thuraya/mm-broadband-modem-thuraya.c | 52
+ ++++++++++++++++------------
+ 1 file changed, 29 insertions(+), 23 deletions(-)
+
+commit 23124fc6e95dd344d6920516faa4db58ffda2524
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 22:11:45 2017 +0200
+
+ dell: port custom_init to GTask
+
+ plugins/dell/mm-plugin-dell.c | 201
+ +++++++++++++++++++++---------------------
+ 1 file changed, 101 insertions(+), 100 deletions(-)
+
+commit a1d355784bfbe802322c781632a1f393a93cedef
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 23:00:06 2017 +0200
+
+ via: port get_detailed_registration_state() to GTask
+
+ plugins/via/mm-broadband-modem-via.c | 164
+ ++++++++++++++++-------------------
+ 1 file changed, 73 insertions(+), 91 deletions(-)
+
+commit 0c8842695ffd0dea5ae1213bc0bf2c73473bcb19
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 22:40:58 2017 +0200
+
+ via: port cdma_setup_registration_checks to GTask
+
+ plugins/via/mm-broadband-modem-via.c | 88
+ +++++++++++++++++-------------------
+ 1 file changed, 41 insertions(+), 47 deletions(-)
+
+commit d1436ac0c6ad594e25803f96e522c81d043d7e1d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 21:47:12 2017 +0200
+
+ altair: port 3gpp_register_in_network to GTask
+
+ And also use mm_base_modem_at_command() instead of the full() version,
+ as we're anyway mm_base_modem_peek_best_at_port().
+
+ This commit also fixes the logic where we make sure the finish()
+ method completes the GTask that is created in the async method
+ originally.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 70
+ +++++++++++++++-----------
+ 1 file changed, 42 insertions(+), 28 deletions(-)
+
+commit 4bd15362c569eb2814dfc449591bde7083daeecb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 5 23:44:30 2017 +0200
+
+ kerneldevice,generic: plug memleak
+
+ ==5075== 198 bytes in 18 blocks are definitely lost in loss
+ record 4,486 of 4,761
+ ==5075== at 0x4C2CE5F: malloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==5075== by 0x66E3028: g_malloc (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==5075== by 0x66CAD42: g_path_get_basename (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==5075== by 0x20BB7B: preload_interface_sysfs_path
+ (mm-kernel-device-generic.c:184)
+ ==5075== by 0x20C885: preload_contents
+ (mm-kernel-device-generic.c:383)
+ ==5075== by 0x20E2E1: check_preload
+ (mm-kernel-device-generic.c:830)
+ ==5075== by 0x20EA6F: set_property
+ (mm-kernel-device-generic.c:953)
+ ==5075== by 0x6455359: ??? (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==5075== by 0x6456DBC: g_object_new_valist (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==5075== by 0x6105E95: g_initable_new_valist (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==5075== by 0x6105F58: g_initable_new (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==5075== by 0x20E848: mm_kernel_device_generic_new_with_rules
+ (mm-kernel-device-generic.c:901)
+
+ src/kerneldevice/mm-kernel-device-generic.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8cd21e439d568fd7df4a0596b03cdb1e627b18c4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 5 23:42:55 2017 +0200
+
+ kerneldevice,generic: plug memleak
+
+ ==5075== 333 bytes in 37 blocks are definitely lost in loss
+ record 4,612 of 4,761
+ ==5075== at 0x4C2CE5F: malloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==5075== by 0x66E3028: g_malloc (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==5075== by 0x66CAD42: g_path_get_basename (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==5075== by 0x20BE20: preload_driver
+ (mm-kernel-device-generic.c:242)
+ ==5075== by 0x20C8E5: preload_contents
+ (mm-kernel-device-generic.c:391)
+ ==5075== by 0x20E2E1: check_preload
+ (mm-kernel-device-generic.c:830)
+ ==5075== by 0x20EA6F: set_property
+ (mm-kernel-device-generic.c:953)
+ ==5075== by 0x6455359: ??? (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==5075== by 0x6456DBC: g_object_new_valist (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==5075== by 0x6105E95: g_initable_new_valist (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==5075== by 0x6105F58: g_initable_new (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==5075== by 0x20E848: mm_kernel_device_generic_new_with_rules
+ (mm-kernel-device-generic.c:901)
+
+ src/kerneldevice/mm-kernel-device-generic.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 2dc13fd9643d056a83df4c3a64987b52208fd8e4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 5 23:36:05 2017 +0200
+
+ plugin-manager: allow multiple calls to port_context_complete()
+
+ Only the first one will work.
+
+ src/mm-plugin-manager.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit bbe50645916c4596cf7c7b309aac267d396801b8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 5 23:29:13 2017 +0200
+
+ plugin-manager: ensure valid reference during cancellation
+
+ Cancelling the port_context->cancellable may end up finishing the
+ async task and completing the last reference of the port
+ context. Avoid that by making sure we hold a valid reference for as
+ long as we may need it.
+
+ ==2277== Invalid read of size 4
+ ==2277== at 0x14ACE2: port_context_cancel
+ (mm-plugin-manager.c:547)
+ ==2277== by 0x14C32E: device_context_port_released
+ (mm-plugin-manager.c:1142)
+ ==2277== by 0x83831C7: ffi_call_unix64 (in
+ /usr/lib/libffi.so.6.0.4)
+ ==2277== by 0x8382C29: ffi_call (in /usr/lib/libffi.so.6.0.4)
+ ==2277== by 0x64506A8: g_cclosure_marshal_generic (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==2277== by 0x644FEAC: g_closure_invoke (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==2277== by 0x64624AD: ??? (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==2277== by 0x646AC84: g_signal_emit_valist (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==2277== by 0x646B69E: g_signal_emit (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==2277== by 0x1483E7: mm_device_release_port (mm-device.c:196)
+ ==2277== by 0x145D5D: device_removed (mm-base-manager.c:217)
+ ==2277== by 0x1464A9: handle_kernel_event
+ (mm-base-manager.c:401)
+ ==2277== Address 0xf677d18 is 88 bytes inside a block of size
+ 96 free'd
+ ==2277== at 0x4C2E14B: free (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==2277== by 0x14A1B7: port_context_unref
+ (mm-plugin-manager.c:234)
+ ==2277== by 0x14AB51: plugin_supports_port_ready
+ (mm-plugin-manager.c:492)
+ ==2277== by 0x612FD52: ??? (in /usr/lib/libgio-2.0.so.0.5200.3)
+ ==2277== by 0x6130775: ??? (in /usr/lib/libgio-2.0.so.0.5200.3)
+ ==2277== by 0x1AFDF8: port_probe_run_ready (mm-plugin.c:624)
+ ==2277== by 0x612FD52: ??? (in /usr/lib/libgio-2.0.so.0.5200.3)
+ ==2277== by 0x6130775: ??? (in /usr/lib/libgio-2.0.so.0.5200.3)
+ ==2277== by 0x6131367: g_task_return_error_if_cancelled
+ (in /usr/lib/libgio-2.0.so.0.5200.3)
+ ==2277== by 0x1A9EDA: port_probe_task_return_error_if_cancelled
+ (mm-port-probe.c:109)
+ ==2277== by 0x1ABCD2: serial_probe_at_parse_response
+ (mm-port-probe.c:900)
+ ==2277== by 0x611E475: g_simple_async_result_complete (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==2277== Block was alloc'd at
+ ==2277== at 0x4C2CE5F: malloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==2277== by 0x66E3028: g_malloc (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==2277== by 0x66FAB25: g_slice_alloc (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==2277== by 0x66FAFB8: g_slice_alloc0 (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==2277== by 0x14B18D: port_context_new
+ (mm-plugin-manager.c:649)
+ ==2277== by 0x14C4A7: device_context_port_grabbed
+ (mm-plugin-manager.c:1182)
+ ==2277== by 0x83831C7: ffi_call_unix64 (in
+ /usr/lib/libffi.so.6.0.4)
+ ==2277== by 0x8382C29: ffi_call (in /usr/lib/libffi.so.6.0.4)
+ ==2277== by 0x64506A8: g_cclosure_marshal_generic (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==2277== by 0x644FEAC: g_closure_invoke (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==2277== by 0x64624AD: ??? (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==2277== by 0x646AC84: g_signal_emit_valist (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+
+ src/mm-plugin-manager.c | 35 +++++++++++++++++++----------------
+ 1 file changed, 19 insertions(+), 16 deletions(-)
+
+commit 48850f21b423deee3553f24df460e45c73d049cb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 5 23:19:22 2017 +0200
+
+ port-serial: avoid invalid memory write on cancellation logic
+
+ If the GCancellable is already cancelled when trying to connect a
+ signal, the callback given will be run right away, and that may end up
+ completing the async task and removing the last MMPortSerial
+ reference.
+
+ ==30627== Invalid write of size 8
+ ==30627== at 0x1ED43B: port_serial_queue_process
+ (mm-port-serial.c:812)
+ ==30627== by 0x66DE342: ??? (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x66DD8C4: g_main_context_dispatch (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x66DDC87: ??? (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x66DDFA1: g_main_loop_run (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x143F9B: main (main.c:180)
+ ==30627== Address 0xf6f0e98 is 200 bytes inside a block of size
+ 328 free'd
+ ==30627== at 0x4C2E14B: free (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==30627== by 0x64742B2: g_type_free_instance (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==30627== by 0x1ED0F2: port_serial_got_response
+ (mm-port-serial.c:704)
+ ==30627== by 0x1ED21B: port_serial_response_wait_cancelled
+ (mm-port-serial.c:757)
+ ==30627== by 0x60E1A81: g_cancellable_connect (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==30627== by 0x1ED43A: port_serial_queue_process
+ (mm-port-serial.c:812)
+ ==30627== by 0x66DE342: ??? (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x66DD8C4: g_main_context_dispatch (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x66DDC87: ??? (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x66DDFA1: g_main_loop_run (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x143F9B: main (main.c:180)
+ ==30627== Block was alloc'd at
+ ==30627== at 0x4C2CE5F: malloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==30627== by 0x66E3028: g_malloc (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x66FAB25: g_slice_alloc (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x66FAFB8: g_slice_alloc0 (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x6473FB5: g_type_create_instance (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==30627== by 0x6455027: ??? (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==30627== by 0x6456DBC: g_object_new_valist (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==30627== by 0x6457200: g_object_new (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==30627== by 0x1F253A: mm_port_serial_at_new
+ (mm-port-serial-at.c:533)
+ ==30627== by 0x1AC7E7: serial_open_at (mm-port-probe.c:1210)
+ ==30627== by 0x66DD8C4: g_main_context_dispatch (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+ ==30627== by 0x66DDC87: ??? (in
+ /usr/lib/libglib-2.0.so.0.5200.3)
+
+ src/mm-port-serial.c | 30 +++++++++++++++++-------------
+ 1 file changed, 17 insertions(+), 13 deletions(-)
+
+commit 54b21292b1dee863075ed8074526676df2d836bf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 5 22:59:55 2017 +0200
+
+ base-manager: plug memleak
+
+ ==28888== 622 (280 direct, 342 indirect) bytes in 7 blocks are
+ definitely lost in loss record 2,515 of 2,548
+ ==28888== at 0x6474014: g_type_create_instance (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==28888== by 0x6455027: ??? (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==28888== by 0x6456A54: g_object_newv (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==28888== by 0x6457213: g_object_new (in
+ /usr/lib/libgobject-2.0.so.0.5200.3)
+ ==28888== by 0x4E9DD7D: mm_kernel_event_properties_new
+ (mm-kernel-event-properties.c:422)
+ ==28888== by 0x4E9D8BC:
+ mm_kernel_event_properties_new_from_string
+ (mm-kernel-event-properties.c:283)
+ ==28888== by 0x1465D7: process_initial_kernel_events
+ (mm-base-manager.c:555)
+ ==28888== by 0x14679E: mm_base_manager_start
+ (mm-base-manager.c:581)
+ ==28888== by 0x143CF3: name_acquired_cb (main.c:110)
+ ==28888== by 0x616B805: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==28888== by 0x616BA47: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+ ==28888== by 0x612FD52: ??? (in
+ /usr/lib/libgio-2.0.so.0.5200.3)
+
+ src/mm-base-manager.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5bb205d3518ef85ad4e4ace8a3aeaefcbbb6b5d6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 5 22:38:06 2017 +0200
+
+ kerneldevice,generic: avoid segfault when reported device doesn't
+ exist
+
+ Could be a user error or a race condition. In any case, we shouldn't
+ crash.
+
+ ModemManager[19677]: <debug> [1507235472.301934] Kernel event
+ reported:
+ ModemManager[19677]: <debug> [1507235472.301944] action: add
+ ModemManager[19677]: <debug> [1507235472.301953] subsystem:
+ usbmisc
+ ModemManager[19677]: <debug> [1507235472.301962] name:
+ cdc-wdm0
+ ModemManager[19677]: <debug> [1507235472.301970] uid: n/a
+ ModemManager[19677]: <debug> [1507235472.301984]
+ (usbmisc/cdc-wdm0) preloading contents and properties...
+ ModemManager[19677]: <warn> [1507235472.302007] Invalid sysfs
+ path read for usbmisc/cdc-wdm0
+ ModemManager[19677]: <debug> [1507235472.302017]
+ (usbmisc/cdc-wdm0) interface class: 0x00
+ ModemManager[19677]: <debug> [1507235472.302027]
+ (usbmisc/cdc-wdm0) interface subclass: 0x00
+ ModemManager[19677]: <debug> [1507235472.302037]
+ (usbmisc/cdc-wdm0) interface protocol: 0x00
+ ModemManager[19677]: <debug> [1507235472.302046]
+ (usbmisc/cdc-wdm0) interface number (ID_USB_INTERFACE_NUM): 0x00
+ ModemManager[19677]: <debug> [1507235472.302059]
+ (usbmisc/cdc-wdm0) manufacturer: unknown
+ ModemManager[19677]: <debug> [1507235472.302069]
+ (usbmisc/cdc-wdm0) product: unknown
+ ModemManager[19677]: <debug> [1507235472.302078]
+ (usbmisc/cdc-wdm0) vid: unknown
+ ModemManager[19677]: <debug> [1507235472.302088]
+ (usbmisc/cdc-wdm0) pid: unknown
+
+ (ModemManager:19677): GLib-CRITICAL **: g_str_has_prefix:
+ assertion 'str != NULL' failed
+
+ (ModemManager:19677): GLib-CRITICAL **: g_str_has_prefix:
+ assertion 'str != NULL' failed
+
+ (ModemManager:19677): GLib-CRITICAL **: g_str_has_prefix:
+ assertion 'str != NULL' failed
+
+ (ModemManager:19677): GLib-CRITICAL **: g_str_has_prefix:
+ assertion 'str != NULL' failed
+
+ Thread 1 "ModemManager" received signal SIGSEGV, Segmentation
+ fault.
+
+ src/kerneldevice/mm-kernel-device-generic.c | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit 71730509ee0f84fed250cd79c9384df5fa2f0c77
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 5 12:32:17 2017 +0200
+
+ port-probe: avoid deadlock trying to disconnect cancellable
+
+ We cannot in any way try to disconnect a GCancellable from within a
+ cancellation handler, or we'll deadlock.
+
+ Thread 1 (Thread 0x7fe98bf25700 (LWP 12079)):
+ #0 0x00007fe98a355f36 in pthread_cond_wait@@GLIBC_2.3.2 ()
+ from /lib/libpthread.so.0
+ #1 0x00007fe98a7f5ac0 in g_cond_wait () from
+ /usr/lib/libglib-2.0.so.0
+ #2 0x00007fe98ad14650 in g_cancellable_disconnect () from
+ /usr/lib/libgio-2.0.so.0
+ #3 0x000000000045be5d in port_probe_run_context_free ()
+ #4 0x00007fe98ad519ed in g_task_finalize () from
+ /usr/lib/libgio-2.0.so.0
+ #5 0x00007fe98aaaa7b3 in g_object_unref () from
+ /usr/lib/libgobject-2.0.so.0
+ #6 0x000000000045b5f8 in
+ port_probe_task_return_error_if_cancelled ()
+ #7 0x000000000045c57d in serial_probe_at_parse_response ()
+ #8 0x00007fe98ad42ed2 in g_simple_async_result_complete ()
+ from /usr/lib/libgio-2.0.so.0
+ #9 0x0000000000485c7d in serial_command_ready ()
+ #10 0x00007fe98ad42ed2 in g_simple_async_result_complete ()
+ from /usr/lib/libgio-2.0.so.0
+ #11 0x0000000000482345 in command_context_complete_and_free ()
+ #12 0x0000000000482fa5 in port_serial_got_response ()
+ #13 0x00000000004830f5 in port_serial_response_wait_cancelled ()
+ #14 0x00007fe98aaa70c5 in g_closure_invoke () from
+ /usr/lib/libgobject-2.0.so.0
+ #15 0x00007fe98aab47ce in signal_emit_unlocked_R () from
+ /usr/lib/libgobject-2.0.so.0
+ #16 0x00007fe98aabb595 in g_signal_emit_valist () from
+ /usr/lib/libgobject-2.0.so.0
+ #17 0x00007fe98aabb662 in g_signal_emit () from
+ /usr/lib/libgobject-2.0.so.0
+ #18 0x00007fe98ad144c5 in g_cancellable_cancel () from
+ /usr/lib/libgio-2.0.so.0
+ #19 0x00007fe98aaa70c5 in g_closure_invoke () from
+ /usr/lib/libgobject-2.0.so.0
+ #20 0x00007fe98aab47ce in signal_emit_unlocked_R () from
+ /usr/lib/libgobject-2.0.so.0
+ #21 0x00007fe98aabb595 in g_signal_emit_valist () from
+ /usr/lib/libgobject-2.0.so.0
+ #22 0x00007fe98aabb662 in g_signal_emit () from
+ /usr/lib/libgobject-2.0.so.0
+ #23 0x00007fe98ad144c5 in g_cancellable_cancel () from
+ /usr/lib/libgio-2.0.so.0
+ #24 0x000000000042e9f6 in port_context_cancel ()
+ #25 0x00007fe989b99a4c in ffi_call_unix64 () at
+ ../src/x86/unix64.S:75
+ #26 0x00007fe989b994b9 in ffi_call (cif=0x7fffc41dcdb0,
+ fn=0x42ea40 <device_context_port_released>, rvalue=<optimized
+ out>, avalue=0x7fffc41dccd0) at ../src/x86/ffi64.c:492
+ #27 0x00007fe98aaa7700 in g_cclosure_marshal_generic () from
+ /usr/lib/libgobject-2.0.so.0
+ #28 0x00007fe98aaa70c5 in g_closure_invoke () from
+ /usr/lib/libgobject-2.0.so.0
+ #29 0x00007fe98aab47ce in signal_emit_unlocked_R () from
+ /usr/lib/libgobject-2.0.so.0
+ #30 0x00007fe98aabb595 in g_signal_emit_valist () from
+ /usr/lib/libgobject-2.0.so.0
+ #31 0x00007fe98aabb662 in g_signal_emit () from
+ /usr/lib/libgobject-2.0.so.0
+ #32 0x000000000042c8f0 in mm_device_release_port ()
+ #33 0x000000000042a6cb in device_removed ()
+ #34 0x000000000042af94 in handle_kernel_event ()
+ #35 0x000000000042b356 in report_kernel_event_auth_ready ()
+ #36 0x00007fe98ad51783 in g_task_return_now () from
+ /usr/lib/libgio-2.0.so.0
+ #37 0x00007fe98ad517b9 in complete_in_idle_cb () from
+ /usr/lib/libgio-2.0.so.0
+ #38 0x00007fe98a7bda5e in g_main_context_dispatch () from
+ /usr/lib/libglib-2.0.so.0
+ #39 0x00007fe98a7bddb8 in g_main_context_iterate.isra () from
+ /usr/lib/libglib-2.0.so.0
+ #40 0x00007fe98a7be042 in g_main_loop_run () from
+ /usr/lib/libglib-2.0.so.0
+ #41 0x0000000000428dc4 in main ()
+
+ So, just clear the cancellation id before going on with the handler
+ logic.
+
+ src/mm-port-probe.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+commit 3e15dc15efd118a2e7af8f60727afc7fbb7db3a3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 2 10:42:33 2017 -0500
+
+ bearer-mbim: don't crash when modem doesn't send gateways
+
+ When the Ericsson F5321 with firmware R3C11/R4D04 is told to make
+ an IPv6-only connection, it reports that it has IPv4 configuration
+ but then returns no actual addresses. Check both the flags and
+ actual data before trying to use them.
+
+ ModemManager[25850]: <debug> [1506958721.914717] IPv4 configuration
+ available: 'address, gateway, dns, mtu'
+ ModemManager[25850]: <debug> [1506958721.914731] IP addresses (0)
+ ModemManager[25850]: <debug> [1506958721.914741] DNS addresses (0)
+ ModemManager[25850]: <debug> [1506958721.914748] MTU: '0'
+ ModemManager[25850]: <debug> [1506958721.914758] IPv6 configuration
+ available: 'address, dns, mtu'
+ ModemManager[25850]: <debug> [1506958721.914767] IP addresses (1)
+ ModemManager[25850]: <debug> [1506958721.914852] IP [0]:
+ 'fe80::39:f622:7d01/64'
+ ModemManager[25850]: <debug> [1506958721.914866] DNS addresses (2)
+ ModemManager[25850]: <debug> [1506958721.914883] DNS [0]:
+ 'fd00:976a::9'
+ ModemManager[25850]: <debug> [1506958721.914896] MTU: '1500'
+ ModemManager[25850]: <debug> [1506958721.914947] (wwp0s20u1i6):
+ port now connected
+
+ src/mm-bearer-mbim.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit b252ab668f705cf23694ca693f524e2292320a56
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 28 21:20:33 2017 +0200
+
+ build,tests: make sure tests are rebuilt if helper libs are updated
+
+ src/tests/Makefile.am | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 280b72f15efb7269613ff2d9a86bb9585241ea92
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 28 11:04:55 2017 +0200
+
+ mbm: remove unused struct member
+
+ plugins/mbm/mm-sim-mbm.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 6847fb48f6067d0eda547022aa0b794e46034038
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 28 10:58:00 2017 +0200
+
+ mbm: no need to re-set self pointer
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit e0a3eeee5dd76fc5e8f6cea01dfc9327e194ca83
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 06:08:19 2017 -0700
+
+ mbm: port get_ip_config_3gpp to use GTask
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 77
+ ++++++++++++-----------------------
+ 1 file changed, 27 insertions(+), 50 deletions(-)
+
+commit a910c45c086c821e848eb6c04a5e3254c30a30b9
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 06:00:39 2017 -0700
+
+ mbm: port {enable,disable}_location_gathering to use GTask
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 114
+ +++++++++++++++++------------------
+ 1 file changed, 56 insertions(+), 58 deletions(-)
+
+commit 414aac95101d38526842bb6418d9543425ac188e
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 05:51:41 2017 -0700
+
+ mbm: port location_load_capabilities to use GTask
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 39
+ ++++++++++++++++--------------------
+ 1 file changed, 17 insertions(+), 22 deletions(-)
+
+commit d19593d344e64f8c669207bfe7e026e350075f15
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 05:48:31 2017 -0700
+
+ mbm: port modem_3gpp_disable_unsolicited_events to use GTask
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 30 +++++++++++-------------------
+ 1 file changed, 11 insertions(+), 19 deletions(-)
+
+commit f79719c518bae0e3a62dcee1fd42023a023a4fd6
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 05:47:09 2017 -0700
+
+ mbm: port modem_3gpp_enable_unsolicited_events to use GTask
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 30 +++++++++++-------------------
+ 1 file changed, 11 insertions(+), 19 deletions(-)
+
+commit 4454f840bc483ff503fafbe95dec9058bfa0e1e5
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 05:45:26 2017 -0700
+
+ mbm: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 40
+ +++++++++++-------------------------
+ 1 file changed, 12 insertions(+), 28 deletions(-)
+
+commit a0e3a889b03d7d072674b1938a12880dfa500570
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 05:42:10 2017 -0700
+
+ mbm: port enabling_modem_init to use GTask
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 59
+ ++++++++++++++----------------------
+ 1 file changed, 23 insertions(+), 36 deletions(-)
+
+commit 0b37db42b441d036291369497644f47f59be63d4
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 05:36:50 2017 -0700
+
+ mbm: port set_current_modes to use GTask
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 56
+ +++++++++++++++---------------------
+ 1 file changed, 23 insertions(+), 33 deletions(-)
+
+commit 43bf7c764b44dff0eedf2a6a99a57a975f882563
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 05:33:10 2017 -0700
+
+ mbm: port modem_after_sim_unlock to use GTask
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 17 +++++++----------
+ 1 file changed, 7 insertions(+), 10 deletions(-)
+
+commit 2e7aff84a62dfcedaaf22e47a42ea6bb152e8421
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 05:31:52 2017 -0700
+
+ mbm: port modem_create_bearer to use GTask
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 28 +++++++---------------------
+ 1 file changed, 7 insertions(+), 21 deletions(-)
+
+commit 9f573d3bcf8f5f28093c33a001851e80458c928a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 26 05:29:45 2017 -0700
+
+ mbm: port common_send_pin_puk to use GTask
+
+ plugins/mbm/mm-sim-mbm.c | 67
+ +++++++++++++++++++++++++-----------------------
+ 1 file changed, 35 insertions(+), 32 deletions(-)
+
+commit 5769d52d3b35a3e026561790a53b4244a8b3e270
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 27 22:08:01 2017 -0700
+
+ x22x: port x22x_custom_init to use GTask
+
+ plugins/x22x/mm-plugin-x22x.c | 88
+ ++++++++++++++++++++-----------------------
+ 1 file changed, 40 insertions(+), 48 deletions(-)
+
+commit 1f6e7c99315cbedc4cbb7ea9b4c143f21510de34
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 27 21:59:28 2017 -0700
+
+ x22x: port set_current_modes to use GTask
+
+ plugins/x22x/mm-broadband-modem-x22x.c | 39
+ +++++++++++++++-------------------
+ 1 file changed, 17 insertions(+), 22 deletions(-)
+
+commit 4e3a6b4eb53a58ea7609d90647b46d51e8c3c79e
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 27 21:55:58 2017 -0700
+
+ x22x: port load_supported_modes to use GTask
+
+ plugins/x22x/mm-broadband-modem-x22x.c | 22 +++++++---------------
+ 1 file changed, 7 insertions(+), 15 deletions(-)
+
+commit fea6835592ddc12f4cd25c231169e4620ec756f9
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 20 23:18:05 2017 -0700
+
+ mtk: port disable_unsolicited_events to use GTask
+
+ plugins/mtk/mm-broadband-modem-mtk.c | 44
+ +++++++++++++++---------------------
+ 1 file changed, 18 insertions(+), 26 deletions(-)
+
+commit fe58e5f498e020c376fcc757dcd0f6980a4210b7
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 20 23:15:46 2017 -0700
+
+ mtk: port enable_unsolicited_events to use GTask
+
+ plugins/mtk/mm-broadband-modem-mtk.c | 43
+ ++++++++++++++----------------------
+ 1 file changed, 17 insertions(+), 26 deletions(-)
+
+commit bfac21fbb88f8a4b8a0a72b1b5d0b3f53f94c082
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 20 22:42:23 2017 -0700
+
+ mtk: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask
+
+ plugins/mtk/mm-broadband-modem-mtk.c | 40
+ +++++++++++-------------------------
+ 1 file changed, 12 insertions(+), 28 deletions(-)
+
+commit 42bde89bae1f315177f654a1186101b3d3901c07
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 20 22:23:17 2017 -0700
+
+ mtk: port modem_after_sim_unlock to use GTask
+
+ plugins/mtk/mm-broadband-modem-mtk.c | 17 +++++++----------
+ 1 file changed, 7 insertions(+), 10 deletions(-)
+
+commit 3b2873148c996b2782f3e55377ec30de823ba8ed
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 20 22:37:56 2017 -0700
+
+ mtk: port set_current_modes to use GTask
+
+ plugins/mtk/mm-broadband-modem-mtk.c | 39
+ ++++++++++++++++--------------------
+ 1 file changed, 17 insertions(+), 22 deletions(-)
+
+commit 996612f8dba8958bc6ddd4f0aa6257b7267e1770
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 20 22:35:12 2017 -0700
+
+ mtk: port load_supported_modes to use GTask
+
+ plugins/mtk/mm-broadband-modem-mtk.c | 37
+ ++++++++++++------------------------
+ 1 file changed, 12 insertions(+), 25 deletions(-)
+
+commit 2991ae0e86d99f46986c983b928629264d253fa9
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 20 22:21:27 2017 -0700
+
+ mtk: port load_unlock_retries to use GTask
+
+ plugins/mtk/mm-broadband-modem-mtk.c | 39
+ ++++++++++++------------------------
+ 1 file changed, 13 insertions(+), 26 deletions(-)
+
+commit 766c934f549fbc285cf17294db55bad5d00b6bfd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 27 21:41:28 2017 +0200
+
+ po: add Hungarian translation
+
+ From: Gabor Kelemen <kelemeng@ubuntu.com>
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=103014
+
+ po/LINGUAS | 1 +
+ po/hu.po | 104
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 105 insertions(+)
+
+commit 3ee1dc5fa040ef3e092f3f5cddfa8f94c2b648a1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Sep 26 15:18:27 2017 +0200
+
+ libmm-glib,sms: fix get|dup_data() introspection annotations
+
+ We need to specify explicitly that the return type is an array of
+ guint8 elements.
+
+ libmm-glib/mm-sms.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit bda7b9a74a73429b9b48a259450274746ab3f44f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Sep 26 13:05:03 2017 +0200
+
+ ublox: plug memleak when parsing UAUTHREQ test
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 4c36bd42d4fcbb13f7349bd50130dbc6bbf8597a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Sep 26 10:40:36 2017 +0200
+
+ huawei: plug memleak when listing cdc-wdm AT ports
+
+ The returned list contains full references, so make sure we unref them
+ before going on. Note that it's ok to return a pointer to one object
+ inside this list even if we're unref-ing them all, because we're sure
+ that the caller knows it's peek-ing a port object.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 1e318bec54da3f37901eadb2a04a4520737eb9a0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Sep 26 09:53:05 2017 +0200
+
+ broadband-bearer: fix object types in connect_3gpp() steps
+
+ All the steps in the connect_3gpp() sequence are implemented as
+ methods in the MMBroadbandBearer class, and therefore the objects
+ received in the corresponding ready() methods are all bearers, not
+ modems.
+
+ This issue wasn't found before because the objects received were not
+ really being used after all, as we were relying on the ones kept in
+ the context or lately in the GTask itself.
+
+ src/mm-broadband-bearer.c | 24 +++++++++---------------
+ 1 file changed, 9 insertions(+), 15 deletions(-)
+
+commit 9f9c88a72a848603e8898f8faaf48497aa545525
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Sep 18 04:14:28 2017 -0700
+
+ broadband-modem-qmi: support loading hardware revision
+
+ This patch implements hardware revision loading in MMBroadbandModemQmi
+ using QMI DMS 'Get Hardware Revision' command.
+
+ src/mm-broadband-modem-qmi.c | 78
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit a848b6c3683eb58ce0d9a84a342251150684e5cb
+Author: Ben Chan <benchan@chromium.org>
+Date: Sun Sep 17 20:12:29 2017 -0700
+
+ broadband-modem-mbim: support loading hardware revision
+
+ This patch implements hardware revision loading in
+ MMBroadbandModemMbim
+ by extracting the HardwareInfo field from the response to a
+ MBIM_CID_DEVICE_CAPS query.
+
+ src/mm-broadband-modem-mbim.c | 38 +++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 37 insertions(+), 1 deletion(-)
+
+commit 4a5a73eb1e76d1d3ca42b26c8e2f1998c106ab91
+Author: Ben Chan <benchan@chromium.org>
+Date: Sun Sep 17 20:08:42 2017 -0700
+
+ cli: show hardware revision property of Modem interface
+
+ cli/mmcli-modem.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 9c6a1ebb1e9864edba2279d0a90986db684af1a4
+Author: Ben Chan <benchan@chromium.org>
+Date: Sun Sep 17 19:58:15 2017 -0700
+
+ libmm-glib: add helpers for loading hardware revision
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 2 ++
+ libmm-glib/mm-modem.c | 41
+ +++++++++++++++++++++++
+ libmm-glib/mm-modem.h | 3 ++
+ 3 files changed, 46 insertions(+)
+
+commit daa59aeb4ca4a3c55307eeca894f2feefed1e7c1
+Author: Ben Chan <benchan@chromium.org>
+Date: Sun Sep 17 19:45:27 2017 -0700
+
+ iface-modem: add hook to load hardware revision
+
+ src/mm-iface-modem.c | 18 ++++++++++++++++++
+ src/mm-iface-modem.h | 8 ++++++++
+ 2 files changed, 26 insertions(+)
+
+commit e32510418a5d3a10d87d6ae49cd4e1ec9b7b0e38
+Author: Ben Chan <benchan@chromium.org>
+Date: Sun Sep 17 19:58:11 2017 -0700
+
+ api,introspection: new 'HardwareRevision' property
+
+ This property will let the clients know the hardware revision reported
+ by the modem.
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +++
+ introspection/org.freedesktop.ModemManager1.Modem.xml | 7 +++++++
+ 2 files changed, 10 insertions(+)
+
+commit 795ecad0e6e439267ea327fbddd84a06cba402e4
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 19 03:46:12 2017 -0700
+
+ hso: port disconnect_3gpp to use GTask
+
+ plugins/option/mm-broadband-bearer-hso.c | 26 ++++++++++----------------
+ 1 file changed, 10 insertions(+), 16 deletions(-)
+
+commit ee80e1f6603532be9b5989a8e247043deea54fc1
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 19 03:37:21 2017 -0700
+
+ hso: port get_ip_config_3gpp to use GTask
+
+ plugins/option/mm-broadband-bearer-hso.c | 62
+ +++++++++++++++-----------------
+ 1 file changed, 28 insertions(+), 34 deletions(-)
+
+commit 8bae1a785a9b95fb4b72081d54cf00466b114a7d
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 19 03:19:21 2017 -0700
+
+ hso: port {enable,disable}_location_gathering to use GTask
+
+ plugins/option/mm-broadband-modem-hso.c | 115
+ ++++++++++++++++----------------
+ 1 file changed, 57 insertions(+), 58 deletions(-)
+
+commit 227eae3f31a4acc982f37f3af7110b346c6e17a4
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 19 03:12:41 2017 -0700
+
+ hso: port location_load_capabilities to use GTask
+
+ plugins/option/mm-broadband-modem-hso.c | 35
+ +++++++++++++--------------------
+ 1 file changed, 14 insertions(+), 21 deletions(-)
+
+commit 616cfa9959424d9d924e4b176628e50ea752e6df
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 19 03:22:16 2017 -0700
+
+ hso: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask
+
+ plugins/option/mm-broadband-modem-hso.c | 40
+ ++++++++++-----------------------
+ 1 file changed, 12 insertions(+), 28 deletions(-)
+
+commit 0131f9b0069c326c655d9102fd87935edfd0cce8
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 19 03:06:47 2017 -0700
+
+ hso: port modem_create_bearer to use GTask
+
+ plugins/option/mm-broadband-modem-hso.c | 44
+ +++++++++++----------------------
+ 1 file changed, 15 insertions(+), 29 deletions(-)
+
+commit d23dd2343a52b7c011f6944f8510cc3914b1c956
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 19 03:09:30 2017 -0700
+
+ hso: port load_unlock_retries to use GTask
+
+ plugins/option/mm-broadband-modem-hso.c | 34
+ ++++++++++++---------------------
+ 1 file changed, 12 insertions(+), 22 deletions(-)
+
+commit a62d34c35a26312a0e565e85960d12841a53fceb
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 19 03:31:58 2017 -0700
+
+ hso: port hso_custom_init to use GTask
+
+ plugins/option/mm-plugin-hso.c | 14 +++++---------
+ 1 file changed, 5 insertions(+), 9 deletions(-)
+
+commit 4cb6f0e5aa1038e4335e062bf2a4d0bc2d8902b6
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Sep 18 09:10:57 2017 -0700
+
+ broadband-modem-mbim: fix preservation logic for PIN1 unlock retries
+
+ This patches fixes commit 334273979 "broadband-modem-mbim: preserve
+ unlock retries for PIN1 when appropriate", which doesn't correctly
+ propagate the unlock retries information for PIN1 observed from
+ responses to MBIM_CID_PIN set operations (see commit eb9ec1b61
+ "sim-mbim: update unlock retries information after PIN operations").
+
+ src/mm-broadband-modem-mbim.c | 29 +++++++++++++----------------
+ 1 file changed, 13 insertions(+), 16 deletions(-)
+
+commit 4f8e9e2e1ca25c474de8472484f6eccf9834ae67
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Sep 18 09:10:56 2017 -0700
+
+ iface-modem: add mm_iface_modem_get_unlock_retries helper
+
+ This patch adds a mm_iface_modem_get_unlock_retries helper for getting
+ the current MMUnlockRetries value of a MMIfaceModem object,
+ which later
+ allows us to partially update (e.g. a specific MMModemLock) the
+ MMUnlockRetries value of a MMIfaceModem object.
+
+ src/mm-iface-modem.c | 21 +++++++++++++++++++++
+ src/mm-iface-modem.h | 2 ++
+ 2 files changed, 23 insertions(+)
+
+commit bb5cd9b4e20e4c4657e01dd2abeaf1946067e2cb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 18 21:23:05 2017 -0700
+
+ option: remove unneeded explicit casts
+
+ plugins/option/mm-broadband-modem-option.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f710278b3dc5fb8dbbad37147eb4920ab75fcb6e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 18 21:21:59 2017 -0700
+
+ sierra: remove unneeded explicit casts
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit fd508d7057da8abb0a409b02788dda5372accf8c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 18 20:50:45 2017 -0700
+
+ sierra: skip setting GError if not used
+
+ The return status of mm_base_modem_at_command_finish() already
+ specifies whether an error has happened or not, so skip creating the
+ GError if we don't care about the actual error details.
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit 4fbd88395d79238f19c20e35c7ba589c7d05868b
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 15 02:20:09 2017 -0700
+
+ sierra: port get_detailed_registration_state to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 71
+ +++++++++++-------------------
+ 1 file changed, 25 insertions(+), 46 deletions(-)
+
+commit 7ca5e8875aa82ee47605b67cc99215f860f83891
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 15 00:46:14 2017 -0700
+
+ sierra: port modem_time_check_support to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 22 +++++++---------------
+ 1 file changed, 7 insertions(+), 15 deletions(-)
+
+commit 509ba7475a1f77bcfa6529c33e845994ff27b49a
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 15 00:42:59 2017 -0700
+
+ sierra: port setup_registration_checks to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 45
+ ++++++++++++++----------------
+ 1 file changed, 21 insertions(+), 24 deletions(-)
+
+commit 26be99b8a710a9ee8bf1c0c49b31c5c9e3e96cb9
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Sep 14 22:59:31 2017 -0700
+
+ sierra: port modem_power_down to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 22 +++++++++-------------
+ 1 file changed, 9 insertions(+), 13 deletions(-)
+
+commit 841d17596157860098c5bd328e19ded1a22f9538
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Sep 14 22:57:47 2017 -0700
+
+ sierra: port modem_create_bearer to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 28
+ +++++++++-------------------
+ 1 file changed, 9 insertions(+), 19 deletions(-)
+
+commit 7446e411c754e95ee03a8a9e2dc1207dd7732452
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Sep 14 22:56:09 2017 -0700
+
+ sierra: port modem_load_own_numbers to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 38
+ ++++++++++++------------------
+ 1 file changed, 15 insertions(+), 23 deletions(-)
+
+commit 85915853e57f2495767ea264df6aee4f5ab39ab0
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Sep 14 22:40:35 2017 -0700
+
+ sierra: port modem_after_sim_unlock to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 17 +++++++----------
+ 1 file changed, 7 insertions(+), 10 deletions(-)
+
+commit 228bd14a11ed3362e78db71c4d076b330f32db90
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 17:17:11 2017 -0700
+
+ sierra: port set_current_modes to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 63
+ +++++++++++++-----------------
+ 1 file changed, 28 insertions(+), 35 deletions(-)
+
+commit 5dbf7f77e28735581a71ea53336153c053b2d52a
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 17:13:40 2017 -0700
+
+ sierra: port load_current_modes to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 106
+ ++++++++++++++---------------
+ 1 file changed, 51 insertions(+), 55 deletions(-)
+
+commit abff4adf626dc67c3423629efb9941e463a7a69c
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 17:09:08 2017 -0700
+
+ sierra: port load_supported_modes to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 27
+ +++++++++------------------
+ 1 file changed, 9 insertions(+), 18 deletions(-)
+
+commit 8f129d64edb99338a6d9c2e4999d573caae10bc0
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 17:06:25 2017 -0700
+
+ sierra: port load_access_technologies to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 58
+ +++++++++++++++---------------
+ 1 file changed, 29 insertions(+), 29 deletions(-)
+
+commit f663022aca0fccfb439da017e6d59296e5b7cfee
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 16:59:42 2017 -0700
+
+ sierra: port modem_create_bearer to use GTask
+
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 28
+ ++++++++----------------
+ 1 file changed, 9 insertions(+), 19 deletions(-)
+
+commit d0dc8b97a7739978d05764d695d111a3379ffae8
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 16:57:14 2017 -0700
+
+ sierra: port disconnect_3gpp to use GTask
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 27
+ +++++++++++----------------
+ 1 file changed, 11 insertions(+), 16 deletions(-)
+
+commit 4c2ebaba16676976ddec53741600438375378d71
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 13:36:42 2017 -0700
+
+ sierra: port dial_3gpp to use GTask
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 126
+ ++++++++++++++--------------
+ 1 file changed, 64 insertions(+), 62 deletions(-)
+
+commit 043645ea57228078c32567d8be2da5b1e3a8f723
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 13:26:33 2017 -0700
+
+ sierra: port mm_common_sierra_load_power_state to use GTask
+
+ plugins/sierra/mm-common-sierra.c | 66
+ +++++++++++++++++++--------------------
+ 1 file changed, 33 insertions(+), 33 deletions(-)
+
+commit 1eb51d96f76803ef617a58b8279dfb8c5cec66cc
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 13:20:42 2017 -0700
+
+ sierra: port mm_common_sierra_modem_power_up to use GTask
+
+ plugins/sierra/mm-common-sierra.c | 38
+ ++++++++++++++++----------------------
+ 1 file changed, 16 insertions(+), 22 deletions(-)
+
+commit c401646db86595a9783cbe61608e72d7d80c5e1c
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 13:16:28 2017 -0700
+
+ sierra: port mm_common_sierra_custom_init to use GTask
+
+ plugins/sierra/mm-common-sierra.c | 79
+ ++++++++++++++++++++-------------------
+ 1 file changed, 40 insertions(+), 39 deletions(-)
+
+commit 8fb6f30f49b2315c7d1d6daac23c67875834c6ba
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 8 13:05:39 2017 -0700
+
+ sierra: port load_sim_identifier to use GTask
+
+ plugins/sierra/mm-sim-sierra.c | 44
+ ++++++++++++++++--------------------------
+ 1 file changed, 17 insertions(+), 27 deletions(-)
+
+commit 5ffc3b7a9263a07fd30ad21738afe1a7b357c08f
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 16 15:20:46 2017 +0800
+
+ option: port modem_3gpp_disable_unsolicited_events to use GTask
+
+ plugins/option/mm-broadband-modem-option.c | 30
+ +++++++++++-------------------
+ 1 file changed, 11 insertions(+), 19 deletions(-)
+
+commit cb23ba7cba9fd92f6f03b635b90271fd32f77477
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 16 15:17:35 2017 +0800
+
+ option: port modem_3gpp_enable_unsolicited_events to use GTask
+
+ plugins/option/mm-broadband-modem-option.c | 30
+ +++++++++++-------------------
+ 1 file changed, 11 insertions(+), 19 deletions(-)
+
+commit 3fdfe5e3aba232f3cdb5f623e674b8a57509e663
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 16 15:15:45 2017 +0800
+
+ option: port modem_3gpp_{setup,cleanup}_unsolicited_events to
+ use GTask
+
+ plugins/option/mm-broadband-modem-option.c | 39
+ +++++++++---------------------
+ 1 file changed, 12 insertions(+), 27 deletions(-)
+
+commit 7546b951229ad1a6d9f2ef9b86f4ec693d7d638b
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 16 15:07:40 2017 +0800
+
+ option: port modem_after_power_up to use GTask
+
+ plugins/option/mm-broadband-modem-option.c | 32
+ +++++++++++-------------------
+ 1 file changed, 12 insertions(+), 20 deletions(-)
+
+commit 6ad9ccbfa281bc6bf5d28557342ec2d36aa0db0c
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 16 15:05:34 2017 +0800
+
+ option: port set_current_modes to use GTask
+
+ plugins/option/mm-broadband-modem-option.c | 39
+ +++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 22 deletions(-)
+
+commit 78432e79102c32a6599e2fdb37021eb190f28caa
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 16 15:13:14 2017 +0800
+
+ option: port load_access_technologies to use GTask
+
+ plugins/option/mm-broadband-modem-option.c | 82
+ ++++++++++++++++--------------
+ 1 file changed, 44 insertions(+), 38 deletions(-)
+
+commit 0c726981ca4fa02336c0e06ea2217077e686549f
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 16 15:02:56 2017 +0800
+
+ option: port load_supported_modes to use GTask
+
+ plugins/option/mm-broadband-modem-option.c | 22 +++++++---------------
+ 1 file changed, 7 insertions(+), 15 deletions(-)
+
+commit 2ed970614885d50316f3092289583d5ace985ea1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Sep 15 11:07:58 2017 -0700
+
+ bearer-qmi: cleanup indication handlers on network-initiated
+ disconnects
+
+ Otherwise, they'll end up queueing up and each time we get a new
+ indication the signal will get called multiple times:
+
+ [/dev/cdc-wdm0] received message...
+ <<<<<< RAW:
+ <<<<<< length = 20
+ <<<<<< data =
+ 01:13:00:80:01:09:04:00:00:01:00:07:00:20:04:00:05:00:00:00
+ [/dev/cdc-wdm0] received generic indication (translated)...
+ <<<<<< QMUX:
+ <<<<<< length = 19
+ <<<<<< flags = 0x80
+ <<<<<< service = "wds"
+ <<<<<< client = 9
+ <<<<<< QMI:
+ <<<<<< flags = "indication"
+ <<<<<< transaction = 0
+ <<<<<< tlv_length = 7
+ <<<<<< message = "Event Report" (0x0001)
+ <<<<<< TLV:
+ <<<<<< type = "Preferred Data System" (0x20)
+ <<<<<< length = 4
+ <<<<<< value = 05:00:00:00
+ <<<<<< translated = lte
+ <debug> [1504578559.592891] Got QMI WDS event report
+ <debug> [1504578559.598212] Got QMI WDS event report
+ <debug> [1504578559.601694] Got QMI WDS event report
+
+ src/mm-bearer-qmi.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+commit 2e792db2f283a8e8662fb6c93c3225e108288525
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Sep 16 10:30:56 2017 -0700
+
+ po: add Slovak translation
+
+ From: Dušan Kazik <prescott66@gmail.com>
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=102802
+
+ po/LINGUAS | 1 +
+ po/sk.po | 108
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 109 insertions(+)
+
+commit 3bfbb59beb35e01876284aa5bc9ed38ada64fbf1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 14 21:24:15 2017 -0700
+
+ ublox: check which auth methods are supported
+
+ Don't assume the 'auto' auth method is supported for APN
+ authentication, query the modem first:
+
+ checking supported authentication methods...
+ (ttyACM2): --> 'AT+UAUTHREQ=?<CR>'
+ (ttyACM2): <-- '<CR><LF>+UAUTHREQ: (1-4),(0-2),,<CR><LF>'
+ (ttyACM2): <-- '<CR><LF>OK<CR><LF>'
+
+ Using automatic authentication method
+
+ setting up authentication preferences in PDP context #2...
+ (ttyACM2): --> 'AT+UAUTHREQ=2,1,"vodafone","vodafone"<CR>'
+ (ttyACM2): <-- '<CR><LF>OK<CR><LF>'
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 169
+ +++++++++++++++++++++++-------
+ 1 file changed, 130 insertions(+), 39 deletions(-)
+
+commit b774e58dd060a5797f80e5b92a951443cd2b4106
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 14 20:55:57 2017 -0700
+
+ ublox: new +UAUTHREQ=? tester
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 77
+ ++++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 14 +++++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 46 +++++++++++++++
+ 3 files changed, 137 insertions(+)
+
+commit acda0d69f10456c90db8d27c1ceee7cfb219772a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 22 11:19:32 2017 +0200
+
+ ublox: if authentication not required, ignore +UAUTHREQ=0 errors
+
+ Just go on with the connection attempt.
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 24 ++++++++++++++++++------
+ 1 file changed, 18 insertions(+), 6 deletions(-)
+
+commit 0239e8769b90fae47e8e448fbfe86718b09d7fcd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 22 13:37:44 2017 +0200
+
+ ublox: try to use AT+UACT=X to set current bands
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit 91f4ea56899b596c7d0548ed81cef8197dbd0bca
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 22 13:35:04 2017 +0200
+
+ ublox: try to use AT+UACT? to query current bands
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 25 ++++++++++++++++++++++---
+ 1 file changed, 22 insertions(+), 3 deletions(-)
+
+commit 2d0b7b4ae0be4710b9dee2462f3e20d95e7d6edf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 22 13:22:50 2017 +0200
+
+ ublox: try to use AT+UACT=? to query supported bands
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 98
+ ++++++++++++++++++++++++++------
+ 1 file changed, 81 insertions(+), 17 deletions(-)
+
+commit a0768a13f66a33cbad3d03b4ff067ec4c2fd88a3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 22 11:12:48 2017 +0200
+
+ ublox: new AT+UACT=X command builder
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 49 ++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 6 +++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 69
+ ++++++++++++++++++++++++++
+ 3 files changed, 124 insertions(+)
+
+commit 826c5ad74a882dd8a74448c1ed8b5ea031713836
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 22 10:36:25 2017 +0200
+
+ ublox: new AT+UACT=? test parser
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 118
+ +++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 9 ++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 98 ++++++++++++++++++++
+ 3 files changed, 225 insertions(+)
+
+commit dbb8f7235dcf7a76e1e0f56891fa7c4d4e87a5d6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 12:29:01 2017 +0200
+
+ ublox: new AT+UACT? response parser
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 170
+ +++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 6 +
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 69 +++++++++-
+ 3 files changed, 242 insertions(+), 3 deletions(-)
+
+commit 56e71127125d7e60f674925a5a9b6bc47beda07b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 22 10:35:01 2017 +0200
+
+ ublox,tests: define common method to compare bands
+
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 46
+ ++++++++++++++------------
+ 1 file changed, 24 insertions(+), 22 deletions(-)
+
+commit ce203a1f742a273694952abb1f14737dbe701481
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 22 15:38:47 2017 +0200
+
+ ublox: define port type hints for the TOBY-L4
+
+ The TOBY-L4 exposes multiple TTY ports, but each of them has different
+ purposes:
+
+ The TTY at interface #2 is a fully capable AT port but shouldn't be
+ used to start connections, so we flag it as secondary.
+
+ The TTY at interface #4 is a non-AT debug port, so we explicitly
+ ignore it to make probing faster.
+
+ The TTY at interface #6 is the fully capable AT port that must be used
+ as primary port.
+
+ The TTY at interface #8 is an AT-capable port but dedicated to FOTA
+ update operations.
+
+ plugins/Makefile.am | 2 ++
+ plugins/ublox/77-mm-ublox-port-types.rules | 20 ++++++++++++++++++++
+ plugins/ublox/mm-plugin-ublox.c | 29
+ +++++++++++++++++++++++++++++
+ 3 files changed, 51 insertions(+)
+
+commit 9a1c4f626d5cbba47922cc34ded66261b8fc7690
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Aug 5 13:39:04 2017 +0200
+
+ ublox: fallback to router mode if networking mode unknown
+
+ The TOBY-L4 doesn't support querying the current networking mode in
+ use via the AT+UBMCONF command, so we will just fallback to
+ MM_UBLOX_NETWORKING_MODE_ROUTER if that happens, as this is the mode
+ which requires less configuration commands from our side.
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+commit 3dc3b52e777330805ac1d8dd739d1ff3eee1c1ad
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Aug 5 13:09:33 2017 +0200
+
+ ublox: allow creating u-blox bearers if MM_UBLOX_USB_PROFILE_UNKNOWN
+
+ The TOBY-L4 doesn't support querying the current USB profile in use
+ via the AT+UUSBCONF command, so the loaded profile will always be set
+ as MM_UBLOX_USB_PROFILE_UNKNOWN.
+
+ In this case, we will anyway allow creating a u-blox specific bearer,
+ as long as a network interface has also been found in the modem.
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 1 -
+ plugins/ublox/mm-broadband-modem-ublox.c | 5 ++---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+commit 3f9417be43dfedbe3a2e662aef1a145f74e585fb
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Thu Sep 14 10:59:16 2017 +0200
+
+ blacklist: ignore Intel coredump downloader device
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit bfff4f53e61ac4251eac062ba7e53d52b51a1bec
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 18:41:06 2017 +0200
+
+ build: generate ChangeLog from git during dist
+
+ ChangeLog | 0
+ Makefile.am | 13 +++++++++++++
+ 2 files changed, 13 insertions(+)
+
+commit 5ee58513c749302507e1338feb79a53135c72759
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 13 16:33:25 2017 +0200
+
+ simtech: fix error reporting in 3gpp unsolicited events enabling
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0d2a167238798b95dadc33c9937bd4c8a56c5b29
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 09:12:44 2017 -0700
+
+ novatel-lte: port disconnect_3gpp to use GTask
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 83
+ ++++++++++-------------
+ 1 file changed, 35 insertions(+), 48 deletions(-)
+
+commit 71bc8c750603d00d78bfe10970a0d898b8607704
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 09:08:18 2017 -0700
+
+ novatel-lte: port connect_3gpp to use GTask
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 108
+ +++++++++++-----------
+ 1 file changed, 52 insertions(+), 56 deletions(-)
+
+commit c13746dad76ad8a99352251f51c09428e3639b1c
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 08:46:22 2017 -0700
+
+ novatel-lte: port scan_networks to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 48
+ ++++++++++--------------
+ 1 file changed, 19 insertions(+), 29 deletions(-)
+
+commit 43c4a49bc762910697c0a9a576d66e9438de4b78
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 08:38:26 2017 -0700
+
+ novatel-lte: port load_access_technologies to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 35
+ ++++++++++--------------
+ 1 file changed, 14 insertions(+), 21 deletions(-)
+
+commit d8be23b606c288fe945c21d4ea7eda7d7c61a0e2
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 08:34:41 2017 -0700
+
+ novatel-lte: port load_current_bands to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 29
+ ++++++------------------
+ 1 file changed, 7 insertions(+), 22 deletions(-)
+
+commit eb59cf86172991ba9ef7331c47bdc9e096317044
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 08:32:35 2017 -0700
+
+ novatel-lte: port load_supported_bands to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 18 +++++-------------
+ 1 file changed, 5 insertions(+), 13 deletions(-)
+
+commit b56ea695896b5290e27b1a2d0b13fb07c005df56
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:39:42 2017 -0700
+
+ novatel-lte: port modem_after_sim_unlock to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 17 +++++++----------
+ 1 file changed, 7 insertions(+), 10 deletions(-)
+
+commit ced9264a1c0c48cc5eb6ec6223bf1ef49f644a13
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:37:39 2017 -0700
+
+ novatel-lte: port modem_create_bearer to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 30
+ +++++-------------------
+ 1 file changed, 6 insertions(+), 24 deletions(-)
+
+commit 979730247eee09e79450a5f8997c2dfd019952f5
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:35:01 2017 -0700
+
+ novatel: port set_current_modes to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 45
+ ++++++++++++----------------
+ 1 file changed, 19 insertions(+), 26 deletions(-)
+
+commit 7000039c8c469d4c786ab13753becdbe313297d6
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:32:23 2017 -0700
+
+ novatel: port load_signal_quality to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 55
+ +++++++++++++---------------
+ 1 file changed, 25 insertions(+), 30 deletions(-)
+
+commit b14a3be4f1ae26620ee9bf57c73eff9e888d917c
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:27:46 2017 -0700
+
+ novatel: port load_current_modes to use GTask
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 82
+ +++++++++++++---------------
+ 1 file changed, 38 insertions(+), 44 deletions(-)
+
+commit b25b7723ec8c2981aaf993542817c859967d72f8
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 03:22:59 2017 -0700
+
+ icera: port disconnect_3gpp to use GTask
+
+ plugins/icera/mm-broadband-bearer-icera.c | 87
+ ++++++++++++-------------------
+ 1 file changed, 34 insertions(+), 53 deletions(-)
+
+commit 533a53c38d7e85df4fb0d166824672ff16535d20
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 03:15:44 2017 -0700
+
+ icera: port get_ip_config_3gpp to use GTask
+
+ plugins/icera/mm-broadband-bearer-icera.c | 94
+ ++++++++++++-------------------
+ 1 file changed, 36 insertions(+), 58 deletions(-)
+
+commit f2853ac2f8760b8a2a7a6497f895f0a4efe8f70f
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:12:55 2017 -0700
+
+ icera: port modem_3gpp_{enable,disable}_unsolicited_events to
+ use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 48
+ +++++++++++++-------------------
+ 1 file changed, 19 insertions(+), 29 deletions(-)
+
+commit cffe686cb139796a8621648e87957fd2d30dcd3c
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:10:20 2017 -0700
+
+ icera: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 35
+ ++++++++++----------------------
+ 1 file changed, 11 insertions(+), 24 deletions(-)
+
+commit e6128388149072acd43a5f16d7f1759f1fd43e16
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:00:11 2017 -0700
+
+ icera: port modem_create_bearer to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 42
+ ++++++++++++--------------------
+ 1 file changed, 15 insertions(+), 27 deletions(-)
+
+commit b7bfba3e54b5b5ac34e3329f0ad6503a80568ebd
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:06:22 2017 -0700
+
+ icera: port modem_time_check_support to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 21 +++++++++------------
+ 1 file changed, 9 insertions(+), 12 deletions(-)
+
+commit 18a55f6940e068e52db8e766cccd97545f7205e3
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 04:04:33 2017 -0700
+
+ icera: port modem_power_up to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 22 ++++++++--------------
+ 1 file changed, 8 insertions(+), 14 deletions(-)
+
+commit d6bd83e5cfc0fe684cf96f254415fe7458860a24
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 03:57:10 2017 -0700
+
+ icera: port modem_set_current_bands to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 56
+ +++++++++++++++-----------------
+ 1 file changed, 26 insertions(+), 30 deletions(-)
+
+commit 6612ffcb8b264e83acc814fccc112f761f535ecd
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 03:38:50 2017 -0700
+
+ icera: port modem_set_current_modes to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 39
+ ++++++++++++++------------------
+ 1 file changed, 17 insertions(+), 22 deletions(-)
+
+commit aa2cd2288ac45a64393c461ea9b1362e85e99cc9
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 03:51:35 2017 -0700
+
+ icera: port modem_load_current_bands to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 24 ++++++------------------
+ 1 file changed, 6 insertions(+), 18 deletions(-)
+
+commit f168ffd032747ba6900feeafe9c898ae513ef79f
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 03:48:24 2017 -0700
+
+ icera: port modem_load_supported_bands to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 31
+ ++++++++++---------------------
+ 1 file changed, 10 insertions(+), 21 deletions(-)
+
+commit 4ecc8a13fd80e4d23166afc6982b6f3489f755e1
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 03:45:38 2017 -0700
+
+ icera: port modem_load_unlock_retries to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 34
+ +++++++++++---------------------
+ 1 file changed, 12 insertions(+), 22 deletions(-)
+
+commit ce732e568c9275d72860ceab8bb65e48dceb881f
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 12 03:42:38 2017 -0700
+
+ icera: port modem_load_access_technologies to use GTask
+
+ plugins/icera/mm-broadband-modem-icera.c | 32
+ +++++++++++++++-----------------
+ 1 file changed, 15 insertions(+), 17 deletions(-)
+
+commit 0c7f3380ae96698e496abce1e55c52d21449d57a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 25 13:12:01 2017 +0200
+
+ bearer-mbim: ensure session is disconnected before trying to connect
+
+ If a suspend/resume cycle happens or ModemManager is restarted (e.g.
+ after a crash) the modem may be left with a given session id
+ connected. With this change we're forcing a session disconnection
+ before we attempt a session connection.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=102231
+
+ src/mm-bearer-mbim.c | 52
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 52 insertions(+)
+
+commit abfd8d3b08a3a8a98e961969c5e2cb9acd582656
+Author: Arto Jantunen <viiru@debian.org>
+Date: Sun Sep 10 08:36:20 2017 +0300
+
+ Blacklist Garmin ANT+ sticks
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit d6d52b95c7335f864113878c7a19ef8828321145
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 14:13:42 2017 -0700
+
+ huawei: port connect_3gpp to use GTask
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 184
+ ++++++++++++++--------------
+ 1 file changed, 95 insertions(+), 89 deletions(-)
+
+commit 1ada2d23a50f5a600eb7ef6168cb9a85aa68bb82
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 13:32:08 2017 -0700
+
+ huawei: port disconnect_3gpp to use GTask
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 119
+ +++++++++++++++-------------
+ 1 file changed, 63 insertions(+), 56 deletions(-)
+
+commit abf9d36183ed5f34af9ac91aa97c944f2fcf5272
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 10:58:25 2017 -0700
+
+ huawei: port huawei_modem_create_bearer to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 80
+ +++++++++++-------------------
+ 1 file changed, 29 insertions(+), 51 deletions(-)
+
+commit 7880a35b199000aa7b5f3cda638b2810af6fdb47
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 00:30:24 2017 -0700
+
+ huawei: port huawei_custom_init to use GTask
+
+ plugins/huawei/mm-plugin-huawei.c | 81
+ ++++++++++++++++++++-------------------
+ 1 file changed, 41 insertions(+), 40 deletions(-)
+
+commit e76015ac49a1664f925ab81aa84858481a0f26e2
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 13:05:21 2017 -0700
+
+ huawei: port get_detailed_registration_state to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 51
+ +++++++++++++-----------------
+ 1 file changed, 22 insertions(+), 29 deletions(-)
+
+commit 9c32a96578c43f245d83ba9af6faf6831651edcd
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:41:18 2017 -0700
+
+ huawei: port setup_registration_checks to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 43
+ +++++++++++++++---------------
+ 1 file changed, 21 insertions(+), 22 deletions(-)
+
+commit 39484765f1140487dd24fc9255f8087439fc738d
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 00:40:28 2017 -0700
+
+ huawei: port call_start to use GTask
+
+ plugins/huawei/mm-call-huawei.c | 62
+ +++++++++++++++--------------------------
+ 1 file changed, 23 insertions(+), 39 deletions(-)
+
+commit 8df63e385cf9e926bb1cb9bf86fe8c4b25d0198a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:50:16 2017 -0700
+
+ huawei: port modem_voice_disable_unsolicited_events to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 20 ++++++++------------
+ 1 file changed, 8 insertions(+), 12 deletions(-)
+
+commit 68075a23a7eb36d4bfc8ec5eb6af473aaecd66c4
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:48:57 2017 -0700
+
+ huawei: port modem_voice_enable_unsolicited_events to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 29
+ ++++++++++++-----------------
+ 1 file changed, 12 insertions(+), 17 deletions(-)
+
+commit 5e8a7aad76b902fb486de88506562d61b565830a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:45:46 2017 -0700
+
+ huawei: port modem_voice_{setup,cleanup}_unsolicited_events to
+ use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 38
+ ++++++++++++------------------
+ 1 file changed, 15 insertions(+), 23 deletions(-)
+
+commit 46866b08bea4cbd8df6549fda57359613a1a71b1
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 12:32:30 2017 -0700
+
+ huawei: port modem_cdma_{setup,cleanup}_unsolicited_events to
+ use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 49
+ ++++++++++++------------------
+ 1 file changed, 19 insertions(+), 30 deletions(-)
+
+commit 5f641afe07dc878129b17b0ff0e6227d22c00b1c
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 12:29:13 2017 -0700
+
+ huawei: port modem_3gpp_disable_unsolicited_events to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 29
+ ++++++++++++-----------------
+ 1 file changed, 12 insertions(+), 17 deletions(-)
+
+commit 074e0f89fc8d2ced02621477efe90fb228a3734c
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 12:27:38 2017 -0700
+
+ huawei: port modem_3gpp_enable_unsolicited_events to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 29
+ ++++++++++++-----------------
+ 1 file changed, 12 insertions(+), 17 deletions(-)
+
+commit 02ce611d5cbe12a3b4f627487cf8189359a5cb0b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:59:31 2017 -0700
+
+ huawei: port modem_3gpp_{setup,cleanup}_unsolicited_events to
+ use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 38
+ ++++++++++++------------------
+ 1 file changed, 15 insertions(+), 23 deletions(-)
+
+commit 38bafe021ea37d85df153a199f380dfef684d393
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:31:39 2017 -0700
+
+ huawei: port {enable,disable}_location_gathering to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 116
+ ++++++++++++++---------------
+ 1 file changed, 57 insertions(+), 59 deletions(-)
+
+commit 6ebc07f882cfbee9a1be39502a0a47d2aab33996
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:17:12 2017 -0700
+
+ huawei: port location_load_capabilities to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 34
+ ++++++++++++++----------------
+ 1 file changed, 16 insertions(+), 18 deletions(-)
+
+commit 36d975bd4e6624e2ade0ff177632a889761849b1
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 00:50:07 2017 -0700
+
+ huawei: port modem_after_sim_unlock to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 17 +++++++----------
+ 1 file changed, 7 insertions(+), 10 deletions(-)
+
+commit 0aae6d3e35769a8af15bfe7cb3d89fb486d32f1d
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:10:19 2017 -0700
+
+ huawei: port modem_time_check_support to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 32
+ +++++++++++++-----------------
+ 1 file changed, 14 insertions(+), 18 deletions(-)
+
+commit 60129a6fde5aa0df7a36b83e5364e68c4a16d6d2
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:06:02 2017 -0700
+
+ huawei: port modem_load_signal_quality to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 60
+ ++++++++++++++----------------
+ 1 file changed, 28 insertions(+), 32 deletions(-)
+
+commit 0c468bb1a4c5b5f068871023f58c7a6e57e83e28
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 00:34:54 2017 -0700
+
+ huawei: port load_sim_identifier to use GTask
+
+ plugins/huawei/mm-sim-huawei.c | 35 +++++++++++------------------------
+ 1 file changed, 11 insertions(+), 24 deletions(-)
+
+commit 1495fb1d1d7f9f1c80e43559a5a546a964035f15
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 11:15:06 2017 -0700
+
+ huawei: port load_power_state to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 47
+ ++++++++++++++----------------
+ 1 file changed, 22 insertions(+), 25 deletions(-)
+
+commit 046f1b3301bf50f438e2ca28798f37ed4a7217b4
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 01:01:02 2017 -0700
+
+ huawei: port load_supported_modes to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 60
+ +++++++++++++-----------------
+ 1 file changed, 25 insertions(+), 35 deletions(-)
+
+commit c7ec2c4fbb462ae8e16941cd0cec1781475c8fe3
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 01:10:12 2017 -0700
+
+ huawei: port load_current_modes to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 80
+ ++++++++++++++----------------
+ 1 file changed, 38 insertions(+), 42 deletions(-)
+
+commit bf03f1e2d71ae5b464fb0ce4fd1ecfa4def5f419
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 10:45:40 2017 -0700
+
+ huawei: port set_current_modes to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 41
+ +++++++++++++-----------------
+ 1 file changed, 18 insertions(+), 23 deletions(-)
+
+commit 5d9c4d70a1455f74bc11b0942535ba31a104f04b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 00:52:43 2017 -0700
+
+ huawei: port set_current_bands to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 33
+ +++++++++++++-----------------
+ 1 file changed, 14 insertions(+), 19 deletions(-)
+
+commit 8b9402da2b87720b7c07923bfaf488c10e506adc
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 00:48:21 2017 -0700
+
+ huawei: port sysinfo to use GTask
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 62
+ +++++++++++++-----------------
+ 1 file changed, 27 insertions(+), 35 deletions(-)
+
+commit 833243570f75dcd6f9ae788575f7c361c8f604a5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 19:25:17 2017 +0200
+
+ wavecom: port modem_after_sim_unlock to use GTask
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 30
+ ++++++++++++----------------
+ 1 file changed, 13 insertions(+), 17 deletions(-)
+
+commit 288ebab106555aa378aa62347c4c1aa039929a5e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 19:24:50 2017 +0200
+
+ wavecom: port register_in_network to use GTask
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 134
+ ++++++++++++---------------
+ 1 file changed, 57 insertions(+), 77 deletions(-)
+
+commit ea3d20e98c3049329472f913071824a232c9e376
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 19:23:52 2017 +0200
+
+ wavecom: port set_current_bands to use GTask
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 106
+ +++++++++++++--------------
+ 1 file changed, 51 insertions(+), 55 deletions(-)
+
+commit dd4ef7dc236a0cf2e60fdc2bb2e2d0121c1da4bf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 19:23:11 2017 +0200
+
+ wavecom: port load_current_bands to use GTask
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 91
+ +++++++++++-----------------
+ 1 file changed, 36 insertions(+), 55 deletions(-)
+
+commit e2b3b87674236cf5f4e40eaeb43c766903f00909
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 19:21:22 2017 +0200
+
+ wavecom: port load_supported_bands to use GTask
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 30
+ ++++++++++------------------
+ 1 file changed, 11 insertions(+), 19 deletions(-)
+
+commit bb5a950102d146d8d89c3b3916c21d6471811f5c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 19:20:43 2017 +0200
+
+ wavecom: port set_current_modes to use GTask
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 86
+ +++++++++++++---------------
+ 1 file changed, 39 insertions(+), 47 deletions(-)
+
+commit fc33fe69b4bbb91a3e31c9b674090c0052962f89
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 19:18:57 2017 +0200
+
+ wavecom: port load_current_modes to use GTask
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 126
+ +++++++++++++--------------
+ 1 file changed, 60 insertions(+), 66 deletions(-)
+
+commit 02e16d42bc5753844ff5aead2673e4850051c93d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 19:13:56 2017 +0200
+
+ wavecom: port load_supported_modes to GTask
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 68
+ +++++++++++++---------------
+ 1 file changed, 31 insertions(+), 37 deletions(-)
+
+commit 33427397980a7868d32bad92524a53d4431ba718
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Aug 7 14:26:10 2017 -0700
+
+ broadband-modem-mbim: preserve unlock retries for PIN1 when
+ appropriate
+
+ If PIN1 is disabled and we have tried to enable it with a wrong PIN, a
+ MBIM modem would have indicated the number of remaining attempts for
+ PIN1 (unless PUK1 is engaged) in the response to the failed
+ MBIM_CID_PIN
+ set operation.
+
+ However, a MBIM_CID_PIN query may be issued (e.g. MMBaseSim calls
+ mm_iface_modem_update_lock_info()) after the MBIM_CID_PIN set
+ operation
+ to query the number of remaining attempts for a PIN
+ type. Unfortunately,
+ we can't specify a particular PIN type in a MBIM_CID_PIN query. The
+ modem may not reply with information about PIN1 if PIN1 is disabled.
+ When that happens, we would like to preserve our knowledge about the
+ number of remaining attempts for PIN1.
+
+ This patch modifies MMBroadbandModemMbim's load_unlock_retries()
+ operation to carry over any previously observed information on PIN1 if
+ the MBIM_CID_PIN query reports something other than PIN1.
+
+ src/mm-broadband-modem-mbim.c | 46
+ ++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 41 insertions(+), 5 deletions(-)
+
+commit eb9ec1b617b27485a4f0ede472e9088f0ca52066
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Aug 7 15:34:48 2017 -0700
+
+ sim-mbim: update unlock retries information after PIN operations
+
+ After MMSimMbim performs a MBIM_CID_PIN set operation, it calls
+ mm_iface_modem_update_lock_info() (through its base class MMBaseSim)
+ to
+ refresh the unlock retries information, which results in a
+ MBIM_CID_PIN
+ query. However, a MBIM_CID_PIN query reports only the information
+ of one
+ PIN type and the PIN type can't be specified, we need to deduce the
+ number of retries left for a specific PIN type from the response of a
+ MBIM_CID_PIN set operation for that PIN type. To allow that,
+ this patch
+ modifies MMSimMbim to update the unlock retries information after
+ a PIN
+ operation based on the response to the MBIM_CID_PIN set operation.
+
+ src/mm-sim-mbim.c | 140
+ +++++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 102 insertions(+), 38 deletions(-)
+
+commit d4ff05af5e5ef73abc717467f5988328c0d0319f
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Aug 7 14:22:51 2017 -0700
+
+ iface-modem: export update_unlock_retries outside MMIfaceModem
+
+ This patch exports the internal function update_unlock_retries() in
+ MMIfaceModem as mm_iface_modem_update_unlock_retries(), which later
+ allows us to call it from other classes.
+
+ src/mm-iface-modem.c | 8 ++++----
+ src/mm-iface-modem.h | 3 +++
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+commit 87341acaa88400cef750c2a7463bc131b79a16d9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 28 12:48:14 2017 +0200
+
+ build: import gtk-doc support
+
+ Remove the need to run `gtkdocize' when building from git; this should
+ be an operation done by the maintainer when modernizing the gtk-doc
+ setup (think of e.g. gettextize), no need to do it unconditionally.
+
+ This makes it easier for platforms without gtk-doc to build from git.
+
+ When trying to build with documentation enabled and gtk-doc isn't
+ found, we get some nice warnings and errors in the configure report:
+
+ checking for gtk-doc... no
+ configure: WARNING:
+ You will not be able to create source packages with 'make dist'
+ because gtk-doc >= 1.0 is not found.
+ checking for gtkdoc-check... no
+ checking for gtkdoc-check... no
+ checking for gtkdoc-rebase... no
+ checking for gtkdoc-mkpdf... no
+ checking whether to build gtk-doc documentation... yes
+ configure: error:
+ You must have gtk-doc >= 1.0 installed to build documentation
+ for
+ ModemManager. Please install gtk-doc or disable building the
+ documentation by adding '--disable-gtk-doc' to './configure'.
+
+ Files generated with gtkdocize (gtk-doc) 1.25.1.
+
+ .gitignore | 1 -
+ autogen.sh | 1 -
+ gtk-doc.make | 304
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ m4/gtk-doc.m4 | 88 +++++++++++++++++
+ 4 files changed, 392 insertions(+), 2 deletions(-)
+
+commit b66aa5122519478ec29e9c33938bb7c1dc7558bd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 13:27:44 2017 +0200
+
+ po: add Brazilian Portuguese translation
+
+ From: Rafael Fontenelle <rafaelff@gnome.org>
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=102555
+
+ po/LINGUAS | 1 +
+ po/pt_BR.po | 104
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 105 insertions(+)
+
+commit f05a2ed41e148f0f341de7e8a90c8cd5c54a2146
+Author: Piotr Drąg <piotrdrag@gmail.com>
+Date: Wed Sep 6 19:16:08 2017 +0200
+
+ po: add Polish translation
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=102567
+
+ po/LINGUAS | 3 +-
+ po/pl.po | 109
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 111 insertions(+), 1 deletion(-)
+
+commit 984625165e09f02b4d6b8389092d5055fdbb0f03
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 25 21:35:18 2017 +0200
+
+ i18n: deprecate intltool and use only gettext 0.19.8
+
+ Instead of mixing both intltool and gettext, which not always work
+ correctly together, this patch obsoletes intltool and uses only
+ gettext, which includes support for translating XML files with ITS
+ rules.
+
+ See migration steps for GNOME projects here:
+ https://wiki.gnome.org/MigratingFromIntltoolToGettext
+
+ The gettext ITS rules for polkit policy files are imported from the
+ upstream polkit repository. We don't use the polkit-installed rule
+ files yet because there is no tagged release that contains those files
+ yet, so we cannot build-depend on any specific polkit version.
+ https://bugs.freedesktop.org/show_bug.cgi?id=96940
+
+ .gitignore | 5 +-
+ Makefile.am | 16 +----
+ autogen.sh | 3 +-
+ configure.ac | 5 +-
+ data/Makefile.am | 28 ++++++---
+ data/its/polkit.its | 8 +++
+ data/its/polkit.loc | 6 ++
+ data/org.freedesktop.ModemManager1.policy.in.in | 32 +++++-----
+ po/Makevars | 78
+ +++++++++++++++++++++++++
+ po/POTFILES.in | 1 -
+ po/POTFILES.skip | 2 -
+ po/de.po | 48 +++++++++------
+ po/uk.po | 48 +++++++++------
+ 13 files changed, 194 insertions(+), 86 deletions(-)
+
+commit f0bb6ef8564aabc51e5bd14b6486bc86068364fb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 7 10:36:14 2017 +0200
+
+ api: add MM_DISABLE_DEPRECATED guards around deprecated symbols
+
+ When this symbol is defined, e.g. via CFLAGS, building a program that
+ uses the ModemManager API will fail if the program references
+ deprecated symbols.
+
+ For now we just use it to keep gtk-doc-scan happy and avoid
+ unnecessary warnings.
+
+ docs/reference/api/Makefile.am | 2 +-
+ include/ModemManager-compat.h | 4 ++++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit d135c56f0f1bb82f0a5e886c10932b18de149c4f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 14:31:10 2017 +0200
+
+ huawei: update frequency bands support
+
+ Updated to use the non-deprecated MMModemBand values.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit aae7105743765cec6ddc7c4402d296276a8b86e6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 14:29:38 2017 +0200
+
+ cinterion: update frequency bands support
+
+ Updated to use the non-deprecated MMModemBand values.
+
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 18 +++++-----
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 40
+ +++++++++++-----------
+ 2 files changed, 29 insertions(+), 29 deletions(-)
+
+commit 44a850f8adf7b4c5e032f29f313b871f9a7616c1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 14:19:01 2017 +0200
+
+ telit: update frequency bands support
+
+ Updated to use the non-deprecated MMModemBand values.
+
+ Also, use explicit enums for 2G/3G bands when building internal flags,
+ as relying on UTRAN band 7 (MM_MODEM_BAND_U2600) being greater than
+ UTRAN bands 8 and 9 is a MM implementation issue.
+
+ plugins/telit/mm-modem-helpers-telit.c | 97
+ ++++++++++++++---------
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 68 ++++++++--------
+ 2 files changed, 93 insertions(+), 72 deletions(-)
+
+commit 4c921cd584e7ceaa0629854c4e372509742d86e1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 14:00:52 2017 +0200
+
+ wavecom: update frequency bands support
+
+ Updated to use the non-deprecated MMModemBand values.
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 37
+ ++++++++++++++--------------
+ 1 file changed, 18 insertions(+), 19 deletions(-)
+
+commit 2c96b31590c22fbc242e09750ca1713c7b30f792
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 13:56:50 2017 +0200
+
+ icera: update frequency bands support
+
+ Updated to use the non-deprecated MMModemBand values.
+
+ plugins/icera/mm-broadband-modem-icera.c | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+commit f54779732aaf9d5e5d06ca0fbb9dea4517b4809b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 13:55:01 2017 +0200
+
+ novatel-lte: update frequency bands support
+
+ Several changes here:
+ * Updated to use the non-deprecated MMModemBand values.
+ * Added support for GSM 450, GSM 480 and GSM 750.
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 64
+ ++++++++++++------------
+ 1 file changed, 32 insertions(+), 32 deletions(-)
+
+commit 55316cabd490468da6158c3f08d22d49c73a6552
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 14:40:19 2017 +0200
+
+ ublox: update frequency bands support
+
+ Updated to use the non-deprecated MMModemBand values.
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 17 ++---
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 88
+ +++++++++++++-------------
+ 2 files changed, 54 insertions(+), 51 deletions(-)
+
+commit c41f7215a1b8f00cf31b47c6ef4a0bb52832489c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 13:43:25 2017 +0200
+
+ qmi: update frequency bands support
+
+ Several changes here:
+ * Updated to use the non-deprecated MMModemBand values.
+ * Added support for GSM 450, GSM 480 and GSM 750.
+ * Added support for UMTS bands 11 and 19.
+
+ src/mm-modem-helpers-qmi.c | 253
+ +++++++++++++++++++--------------------------
+ 1 file changed, 104 insertions(+), 149 deletions(-)
+
+commit ede5fe6ddb242be172ba782cabff7fa65abc8266
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 21 12:15:08 2017 +0200
+
+ api: define additional LTE frequency bands
+
+ include/ModemManager-enums.h | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit 84ac581f3fc19496a3e06be1fafd9473f4c8e6d1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 20 16:16:39 2017 +0200
+
+ api: consolidate CDMA frequency enumerations
+
+ Define new symbols with easier names, just based on the Band Class.
+
+ docs/reference/api/ModemManager-sections.txt | 20 +++
+ include/ModemManager-compat.h | 200
+ +++++++++++++++++++++++++++
+ include/ModemManager-enums.h | 80 +++++------
+ 3 files changed, 260 insertions(+), 40 deletions(-)
+
+commit b4076784335126d7916075b5fc34b160c401d6b1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 20 15:53:30 2017 +0200
+
+ api: define additional UMTS frequency bands
+
+ include/ModemManager-enums.h | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+commit 7fb3aeacd3a15ec0e6ef71309c035910bbc01e88
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 20 13:46:04 2017 +0200
+
+ api: new MM_BAND_UTRAN_ enumerations for WCDMA bands
+
+ Flag as deprecated the old names, and define new ones based on the
+ defined UTRAN band numbers, equivalent to what was done for LTE bands.
+
+ docs/reference/api/ModemManager-sections.txt | 9 +++
+ include/ModemManager-compat.h | 90
+ ++++++++++++++++++++++++++++
+ include/ModemManager-enums.h | 58 +++++++++---------
+ 3 files changed, 128 insertions(+), 29 deletions(-)
+
+commit 946149016bd42bee7680fa81616b57b2f35f4813
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 20 12:59:29 2017 +0200
+
+ api: define additional GSM frequency bands
+
+ New definitions for not so common GSM frequency bands.
+
+ include/ModemManager-enums.h | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit eedd4ab445713cc862cf33821aceb39470f6a220
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 20 18:15:48 2017 +0200
+
+ api: don't use intermediate variables for deprecation warnings
+
+ Using an intermediate constant variable breaks compilation with C
+ compilers, as these variables cannot be used as initializers.
+
+ Instead, define a deprecated type and cast all deprecated symbols to
+ that type. We lose the information about what the new replacement
+ symbol is, but we don't break compilation.
+
+ E.g.:
+ test.c: In function ‘main’:
+ test.c:8:5: warning: ‘MMModemBandDeprecated’ is deprecated
+ [-Wdeprecated-declarations]
+ printf ("band: %d\n", MM_MODEM_BAND_U2100);
+ ^~~~~~
+
+ docs/reference/api/ModemManager-sections.txt | 2 +
+ include/ModemManager-compat.h | 148
+ ++++++++-------------------
+ 2 files changed, 42 insertions(+), 108 deletions(-)
+
+commit a29610f25da4ce4843be2df87fb644be87e6d35a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Sep 3 13:01:42 2017 +0200
+
+ plugin,port-probe: always cast SEND_DELAY value to guint64
+
+ Program received signal SIGSEGV, Segmentation fault.
+ strchr () at ../sysdeps/arm/armv6/strchr.S:28
+ 28 ../sysdeps/arm/armv6/strchr.S: No such file or directory.
+ (gdb) bt
+ #0 strchr () at ../sysdeps/arm/armv6/strchr.S:28
+ #1 0x76b121c8 in g_param_spec_pool_lookup () from
+ ~/buildroot/output/staging/lib/libgobject-2.0.so.0
+ #2 0x76b0cf44 in g_object_new_valist () from
+ ~/buildroot/output/staging/lib/libgobject-2.0.so.0
+ #3 0x76b0d39c in g_object_new () from
+ ~/buildroot/output/staging/lib/libgobject-2.0.so.0
+ #4 0x75f75e40 in mm_plugin_create () at
+ ublox/mm-plugin-ublox.c:99
+ #5 0x00031550 in load_plugin (path=0xe9b68
+ "/usr/lib/ModemManager/libmm-plugin-ublox.so") at
+ mm-plugin-manager.c:1521
+ #6 load_plugins (error=0x7efffa68, self=0xdc4f0) at
+ mm-plugin-manager.c:1574
+ #7 initable_init (initable=<optimized out>,
+ cancellable=<optimized out>, error=0x7efffa68) at
+ mm-plugin-manager.c:1679
+ #8 0x76b9b278 in g_initable_new_valist () from
+ ~/buildroot/output/staging/lib/libgio-2.0.so.0
+ #9 0x76b9b2e0 in g_initable_new () from
+ ~/buildroot/output/staging/lib/libgio-2.0.so.0
+ #10 0x000324d0 in mm_plugin_manager_new (plugin_dir=0xe9c40
+ "/usr/lib/ModemManager", error=error@entry=0x7efffa68) at
+ mm-plugin-manager.c:1620
+ #11 0x0002da08 in initable_init (initable=0xddb40,
+ cancellable=<optimized out>, error=0x7efffa68) at
+ mm-base-manager.c:1113
+ #12 0x76b9b278 in g_initable_new_valist () from
+ ~/buildroot/output/staging/lib/libgio-2.0.so.0
+ #13 0x76b9b2e0 in g_initable_new () from
+ ~/buildroot/output/staging/lib/libgio-2.0.so.0
+ #14 0x0002e81c in mm_base_manager_new
+ (connection=connection@entry=0xe1070,
+ plugin_dir=plugin_dir@entry=0x9efb0 "/usr/lib/ModemManager",
+ auto_scan=auto_scan@entry=1,
+ initial_kernel_events=initial_kernel_events@entry=0x0,
+ enable_test=0, error=0x7efffa68, error@entry=0x7efffa60)
+ at mm-base-manager.c:957
+ #15 0x0002b6ec in bus_acquired_cb (connection=0xe1070,
+ name=<optimized out>, user_data=<optimized out>) at main.c:87
+ #16 0x76c26864 in connection_get_cb () from
+ ~/buildroot/output/staging/lib/libgio-2.0.so.0
+ #17 0x76bc76cc in g_task_return_now () from
+ ~/buildroot/output/staging/lib/libgio-2.0.so.0
+ #18 0x76bc7d50 in g_task_return () from
+ ~/buildroot/output/staging/lib/libgio-2.0.so.0
+
+ See similar bug in GStreamer:
+ https://bugzilla.gnome.org/show_bug.cgi?id=740191
+
+ plugins/option/mm-plugin-hso.c | 2 +-
+ plugins/samsung/mm-plugin-samsung.c | 2 +-
+ plugins/ublox/mm-plugin-ublox.c | 2 +-
+ src/mm-port-probe.c | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 52aa393d4085d493eb88f146e8d44dfafd937758
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 4 17:34:29 2017 +0200
+
+ base-sim: wrap in its own GTask the SIM id loading from the subclass
+
+ Instead of reusing the caller GTask, use a new GTask to wrap the
+ execution of the subclass' async method implementation.
+
+ Also, rename the _ready() methods implemented in the GObject
+ initialization flow so that we can use the load_sim_identifier_ready()
+ function name.
+
+ src/mm-base-sim.c | 71
+ ++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 34 insertions(+), 37 deletions(-)
+
+commit 530ebf90635ea2f652d68934f8d7c0656abc9e05
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 4 17:23:35 2017 +0200
+
+ telit: reorder code to keep the bottom-top flow for async methods
+
+ plugins/telit/mm-broadband-modem-telit.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit ada9934e90cd12d84085b358758ef782ccc116a4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 4 17:22:12 2017 +0200
+
+ telit: explicitly flag as const the constant string
+
+ plugins/telit/mm-broadband-modem-telit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f6ae514405218e213413f06cb9411bbee9e72633
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 4 17:19:21 2017 +0200
+
+ telit: plug memleak when SIM object cannot be acquired
+
+ The GTask wasn't being disposed.
+
+ plugins/telit/mm-broadband-modem-telit.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit be079381c06427f4748be245dc7c89fefed35293
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 4 17:15:04 2017 +0200
+
+ telit: avoid leaking SIM object
+
+ We were getting the SIM object for all paths, but only using (and
+ disposing it) in the AFTER_POWER_UP_STEP_GET_SIM_IDENTIFIER step.
+
+ Update the logic to only retrieve, use and dispose the SIM object in
+ the step that is needed, and therefore avoid leaking it in the
+ remaining steps.
+
+ plugins/telit/mm-broadband-modem-telit.c | 30
+ +++++++++++++++++-------------
+ 1 file changed, 17 insertions(+), 13 deletions(-)
+
+commit 76916de31350b915c7cdd7d89fee08f03a97800f
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Mon Sep 4 08:13:53 2017 +0200
+
+ telit-plugin: handle QSS unsolicited due to power state transitions
+
+ When transitioning between power-low and power-on modes, Telit modems
+ switch the SIM off/on, which leads to the emission of #QSS unsolicited
+ not
+ related to actual SIM swaps.
+
+ To handle this #QSS unsolicited, this patch:
+
+ * disables reacting on #QSS unsolicited when modem_power_down
+ is received
+ * implements modem_after_power_up that:
+ - checks whether the SIM has been changed, matching cached SIM
+ Identifier with the value in the current SIM. If SIM Identifier,
+ is different, sim hot swap ports detected is called.
+ - re-enables reacting on #QSS unsolicited
+
+ plugins/telit/mm-broadband-modem-telit.c | 181
+ ++++++++++++++++++++++++++++++-
+ src/mm-base-sim.c | 53 +++++++++
+ src/mm-base-sim.h | 77 +++++++------
+ 3 files changed, 272 insertions(+), 39 deletions(-)
+
+commit 5014cf39767a24109de945d99c6b9f4bb1b07274
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Tue Aug 29 09:15:52 2017 +0200
+
+ broadband-modem: do not release SIM swap port contexts on disable
+
+ Currently when the modem is disabled, it releases SIM hot swap
+ ports context,
+ and is not able to receive any notification about the SIM status.
+
+ This patch keeps these ports opened when Modem is disabled and
+ released them
+ only when SIM swap is detected or when modem is released.
+
+ src/mm-broadband-modem.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit a1210af7d5ce9986ffd8c30229ef0ca40dbf452a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 29 07:45:34 2017 +0200
+
+ wavecom: fix async operation completion
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2439900fd371d787ebe12df05150ab10687442b6
+Author: Mario Limonciello <mario.limonciello@dell.com>
+Date: Mon Aug 28 15:07:13 2017 -0500
+
+ blacklist: ignore Silicon Labs USB Zigbee dongles
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 76c1a1119cdb08c710b5f8df35c31883a466a64a
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Aug 21 18:42:25 2017 -0700
+
+ base-manager: avoid events of USB interface from removing MMDevice
+
+ When a USB modem is switching its USB configuration, udev may deliver
+ the remove events of USB interfaces associated with the old USB
+ configuration and the add events of USB interfaces associated with
+ the new USB
+ configuration in an interleaved fashion. An interleaved remove event
+ of USB
+ interface could trigger the special case handling code in
+ mm-base-manager.c:device_removed() and incorrectly remove a MMDevice
+ under
+ probing.
+
+ See
+ https://lists.freedesktop.org/archives/modemmanager-devel/2017-August/005626.html
+ for more details.
+
+ This patch adds a check to ensure that only remove events of USB
+ device (i.e. not interface) can trigger the special handling code.
+
+ src/mm-base-manager.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 5a01e5406660bc4f5a3cf68254510e867f89a457
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 15 23:21:05 2017 +0200
+
+ charsets: simplify check to see if conversion to charset possible
+
+ Instead of having a method that returns the expected length after the
+ conversion and the amount of input UTF-8 characters that couldn't be
+ converted to the given charset, simplify the logic and just define a
+ method that returns a boolean specifying whether the conversion is
+ possible or not.
+
+ Also, include unit tests.
+
+ src/mm-charsets.c | 66
+ +++++++++++++++++----------------------------
+ src/mm-charsets.h | 7 +++--
+ src/mm-sms-part-3gpp.c | 6 +----
+ src/mm-sms-part-cdma.c | 6 +----
+ src/tests/test-charsets.c | 68
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 97 insertions(+), 56 deletions(-)
+
+commit 1f2bb640284ef75e411658a3ff67f844bea8b260
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 16 15:43:34 2017 +0200
+
+ charsets: ensure all methods are prefixed with 'mm_'
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 4 ++--
+ src/mm-charsets.c | 16 ++++++++--------
+ src/mm-charsets.h | 18 +++++++++---------
+ src/mm-sms-part-3gpp.c | 6 +++---
+ src/tests/test-charsets.c | 18 +++++++++---------
+ 5 files changed, 31 insertions(+), 31 deletions(-)
+
+commit 06fef77cc03f700c6570bda6728b8caeef0356a7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 16 15:39:49 2017 +0200
+
+ charsets,test: refactor unit tests
+
+ These tests don't need fixtures, so use the simpler g_test_add_func()
+ methods to add tests associated to a test path.
+
+ src/tests/test-charsets.c | 100
+ ++++++++++++++++------------------------------
+ 1 file changed, 35 insertions(+), 65 deletions(-)
+
+commit 439d58a55c9bb1c02cd1b9be3775311a4f63561c
+Author: Eric Caruso <ejcaruso@chromium.org>
+Date: Tue Aug 15 10:52:03 2017 -0700
+
+ mm-broadband-modem-mbim: reprobe on mbim-proxy death
+
+ In case mbim-proxy crashes, ModemManager needs to be able to
+ recognize this and respawn the proxy so we don't lose access
+ to the modem. Do this by subscribing to the device removal
+ signal on MbimDevice and reprobing the modem when we lose the
+ connection to mbim-proxy.
+
+ We can't just restart mbim-proxy because the reopened mbim-proxy
+ will give us a different client ID, and so unsolicitied
+ notifications will fail and MM gets very confused otherwise.
+
+ src/mm-broadband-modem-mbim.c | 66
+ +++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 64 insertions(+), 2 deletions(-)
+
+commit eb64d39e52ea651f1aa418f780d15d82f74f8af1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 15 18:18:43 2017 +0200
+
+ kernel-device: assert 'vendor' and 'product' in get_device_ids()
+
+ These two parameters must always be given.
+
+ src/kerneldevice/mm-kernel-device-udev.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 7e22696b34f8cade709937cca81641e3ca54ef9c
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 15 09:10:44 2017 -0700
+
+ kernel-device: expect non-NULL 'vendor' and 'product' argument in
+ get_device_ids()
+
+ get_device_ids() in mm-kernel-device-udev.c accepts a NULL 'vendor' or
+ 'product' argument, but the current implementation could result in a
+ potential NULL dereferences of the 'vendor' argument. Given that
+ get_device_ids() is a local helper and its only caller provides a
+ non-NULL 'vendor' and 'product' argument, this patch removes the NULL
+ checks (i.e. get_device_ids() expects non-NULL 'vendor' and
+ 'product').
+
+ This patch also rearranges the code such that the 'vendor' argument is
+ updated only when the function returns TRUE, just like how the
+ 'product'
+ argument is handled.
+
+ src/kerneldevice/mm-kernel-device-udev.c | 22 +++++++---------------
+ 1 file changed, 7 insertions(+), 15 deletions(-)
+
+commit 7ae32d6c61b7bd611b5b18626204f51d178b4b11
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 11 15:17:30 2017 -0700
+
+ charset: fix mm_charset_get_encoded_len
+
+ The while loop in mm_charset_get_encoded_len() iterates through each
+ valid UTF-8 encoded character in the given NULL-terminated UTF-8
+ string.
+ It uses g_utf8_find_next_char() to find the position of the next
+ character. In case, g_utf8_find_next_char() returns NULL, it tries to
+ find the end (i.e. the NULL character) of the string.
+
+ This patch fixes the following issues in the while loop:
+
+ 1. The loop uses both 'next' and 'end' to track the position of
+ the next
+ character in the string.
+
+ When g_utf8_find_next_char() returns a non-NULL value, 'next' is
+ essentially the same as 'end'.
+
+ When g_utf8_find_next_char() returns NULL, 'next' remains NULL
+ while
+ 'end' is adjusted to track the end of the string (but is done
+ incorrectly as described in #2). After the 'p = next' assignment,
+ the
+ 'while (*p)' check results in a NULL dereference. 'p' should
+ thus be
+ set to 'end' instead of 'next'.
+
+ 'next' is thus redundant and can be removed.
+
+ 2. When g_utf8_find_next_char() returns NULL and 'end' is adjusted to
+ track the end of string, the 'while (*end++)' loop stops when
+ finding
+ the NULL character, but 'end' is advanced past the NULL character.
+ After the 'p = end' assignment, the 'while (*p)' check results in a
+ dereference of out-of-bounds pointer.
+
+ 'while (*++end)' should be used instead given that 'p' doesn't
+ point
+ to a NULL character when 'end = p' happens. 'end' will be
+ updated to
+ point to the NULL character. After the 'p = end' assignment
+ (fixed in
+ #1), the 'while (*p)' check will properly stop the loop.
+
+ src/mm-charsets.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit d639359320736dd582a2dbb5c50039a8a1b878da
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Aug 12 19:38:35 2017 +0200
+
+ polkit: add missing Location interface method rules
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=102182
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit d7d2c320d3cf67ff7c5e1a72b6350e4f8455df55
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 11 16:51:50 2017 +0200
+
+ broadband-modem-mbim: explicitly remove notification handler on unref
+
+ When we remove the last object reference, make sure the notification
+ handler is also removed, or we may end up using an already freed
+ object.
+
+ https://retrace.fedoraproject.org/faf/reports/1815001/
+
+ src/mm-broadband-modem-mbim.c | 61
+ +++++++++++++++++++++++++++----------------
+ 1 file changed, 38 insertions(+), 23 deletions(-)
+
+commit 36e7cd50cec29e3ef0d61646ebf072b20dab06f5
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 11 11:23:22 2017 -0700
+
+ plugin: fix forbidden_product_strings check in
+ apply_post_probing_filters
+
+ This patch fixes a bug in apply_post_probing_filters() where it
+ iterates
+ through `self->priv->forbidden_product_strings' but incorrectly
+ accesses
+ `self->priv->product_strings[i]' inside the loop.
+ `self->priv->forbidden_product_strings[i]' should be accessed instead.
+
+ src/mm-plugin.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2b08a66645740df2e1e490df5ec44a7b5c537cc5
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 11 14:19:35 2017 -0700
+
+ libmm-glib,cdma: fix potential NULL dereference
+
+ This patch fixes a potential NULL referenece issue in
+ mm_cdma_manual_activation_properties_get_prl() where it accesses
+ `self->priv->prl->data' when `self->priv->prl' could be potentially
+ NULL.
+
+ libmm-glib/mm-cdma-manual-activation-properties.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit c02dcd397ab6ccbc3c021bf6d96d76de7bce8b91
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 11 14:16:47 2017 -0700
+
+ libmm-glib,sms-properties: fix potential NULL dereference
+
+ This patch fixes a potential NULL referenece issue in
+ mm_sms_properties_get_data() where it accesses
+ `self->priv->data->data'
+ when `self->priv->data' could be potentially NULL.
+
+ libmm-glib/mm-sms-properties.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit dec53d6ef65d1e0ebd10e278fe11762edd14e5bf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 9 12:02:36 2017 +0200
+
+ modem-helpers: allow unquoted strings in +CCLK responses
+
+ Also:
+ * define the leading '+' as a escaped value
+ * allow any number of spaces between '+CCLK' and the string value.
+
+ src/mm-modem-helpers.c | 7 +++++--
+ src/tests/test-modem-helpers.c | 21 +++++++++++++++++++++
+ 2 files changed, 26 insertions(+), 2 deletions(-)
+
+commit 9528450684bb7b3e28b7d8f3b61b6bf191ef2aca
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 6 13:21:16 2017 +0200
+
+ bearer-mbim: stop trying to reload stats on OperationNotAllowed
+
+ The Sierra Wireless EM7345 reports OperationNotAllowed when trying to
+ load stats, just cancel stats reloading if so.
+
+ ModemManager[8318]: [/dev/cdc-wdm1] Received message
+ (translated)...
+ >>>>>> Header:
+ >>>>>> length = 48
+ >>>>>> type = command-done (0x80000003)
+ >>>>>> transaction = 24
+ >>>>>> Fragment header:
+ >>>>>> total = 1
+ >>>>>> current = 0
+ >>>>>> Contents:
+ >>>>>> status error = 'OperationNotAllowed' (0x0000001c)
+ >>>>>> service = 'basic-connect'
+ (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df)
+ >>>>>> cid = 'packet-statistics' (0x00000014)
+
+ src/mm-bearer-mbim.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 05a1097a27ff7c7349e6d9730a7009c3b6d9670b
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Aug 7 14:05:03 2017 -0700
+
+ iface-modem: remove unnecessary error check
+
+ This patch removes an unnecessary error check in the
+ update_unlock_retries() where the error is never set.
+
+ src/mm-iface-modem.c | 18 ++++++------------
+ 1 file changed, 6 insertions(+), 12 deletions(-)
+
+commit 75036a46580bb38d0957e64cd4a59539df16c6f8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 4 14:00:53 2017 +0200
+
+ bearer-mbim: refactor disconnect_set_ready()
+
+ Try to make it more clear which are the different branches in the
+ logic, and jump out as soon as the branch is finished.
+
+ src/mm-bearer-mbim.c | 96
+ +++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 53 insertions(+), 43 deletions(-)
+
+commit e51ee31d503ee8c79255f438f10a541448146a3a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 25 14:44:14 2017 +0200
+
+ broadband-bearer: run init sequence after flashing in disconnection
+
+ The init-sequence configured for the TTY that is being used as data
+ port must not be launched during the port reopen() sequence; instead
+ we must run it manually after the port flashing has finished.
+
+ src/mm-broadband-bearer.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit f455ce33b4fc41b055ec706aac7f33c09e76b131
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 4 17:10:41 2017 +0200
+
+ mbm: set GPS data port for DellDW5560
+
+ See
+ https://lists.freedesktop.org/archives/modemmanager-devel/2017-August/005506.html
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit fbf397cd6f86fe99194df9bd7b274088178a5625
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 4 00:44:07 2017 -0700
+
+ altair-lte: don't use send-delay=0
+
+ On the modem with firmware revision ALT3100_04_05_06_10_A8_TF
+ (LTEUSB_02_04_05_10_53), it's observed that port probing doesn't
+ complete successfully when send-delay=0 is used.
+
+ plugins/altair/mm-plugin-altair-lte.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 5828435b464f0df888d18a924cf1650c238610e4
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 3 15:55:11 2017 -0700
+
+ port-probe: remove unused variable
+
+ src/mm-port-probe.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit f7eca732f9695709de4f7e14622d5a3c42ad6b83
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 3 15:55:10 2017 -0700
+
+ sim-qmi: remove unused variables
+
+ src/mm-sim-qmi.c | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+commit 941a41d30f1a468e7d689962a6658b39e9acede1
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 3 15:54:38 2017 -0700
+
+ broadband-modem: ensure `match_info' is always initialized
+
+ This patch initializes `match_info' in
+ registration_status_check_ready()
+ to NULL by default, such that `match_info' is always initialized
+ even if
+ `self->priv->modem_3gpp_registration_regex' contains no elements.
+ Though `self->priv->modem_3gpp_registration_regex' always contains
+ some
+ elements in the current implementation, it's better not to rely
+ on that.
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e33aa01963172a138833fbf84e54ef6b537c93bd
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 3 14:49:59 2017 -0700
+
+ location-gps-nmea: fix memory leaks
+
+ There are potential memory leaks in MMLocationGpsNmea:
+
+ - When the `trace' string provided to location_gps_nmea_take_trace()
+ isn't
+ added to the hash table, its ownership is still considered
+ transferred.
+ It should thus be freed. Similarly, the `trace_type' string isn't
+ added the hash table and should thus be freed.
+
+ - mm_location_gps_nmea_add_trace() duplicates a given trace string and
+ then passes the trace copy to location_gps_nmea_take_trace(). When
+ location_gps_nmea_take_trace() returns FALSE, the ownership of the
+ copy isn't transferred. mm_location_gps_nmea_add_trace() should thus
+ free the copy.
+
+ This patch fixes the above memory leaks by having
+ location_gps_nmea_take_trace() always take the ownership of the
+ `trace'
+ string and internally free `trace' and `trace_type' when necessary.
+
+ libmm-glib/mm-location-gps-nmea.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit 24ed8d3e997cb6dd30335a534e24dab467752b53
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 3 14:41:11 2017 -0700
+
+ broadband-modem: fix an ineffective `g_assert (equip_id)'
+
+ This patch fixes an ineffective `g_assert (equip_id)' in
+ modem_load_equipment_identifier_finish(). After mm_parse_gsn()
+ succeeds,
+ `equip_id' is freed but not reset to NULL, so `g_assert (equip_id)'
+ will
+ never assert even if `imei', `meid', and `esn' are all NULL
+ (though that
+ shouldn't happen when mm_parse_gsn() succeeds).
+
+ src/mm-broadband-modem.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 0d3cca2c6f545cf9a91c75aed451df6d16ae5511
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 3 14:25:33 2017 -0700
+
+ broadband-modem-qmi: fix potential use-after-freed issues
+
+ This patch fixes some potential use-after-freed issues in
+ dms_get_ids_ready(). When an invalid ESN / MEID is retrieved,
+ `ctx->self->priv->esn' / `ctx->self->priv->meid' is freed but
+ not reset
+ to NULL. If no IMEI is retrieved, `str' can be set to the already
+ freed
+ `ctx->self->priv->esn' / `ctx->self->priv->meid' and then propagated
+ to
+ a GSimpleAsyncResult object.
+
+ src/mm-broadband-modem-qmi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 625c204761592ac41f23de1680b32bc78365c144
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 3 13:25:09 2017 -0700
+
+ huawei: remove redundant call to huawei_parse_auth_type()
+
+ This patch removes a redundant `encoded_auth = huawei_parse_auth_type
+ (auth)`
+ in connect_3gpp_context_step().
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f81a518515cdd213f53527025a12f7d40b5cfbbc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 4 13:49:32 2017 +0200
+
+ bearer-mbim: minor update in debug log messages
+
+ src/mm-bearer-mbim.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d58305bf1fc89dd44e3d3f267dd4ed7579e7fd61
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 3 13:24:49 2017 -0700
+
+ bearer-mbim: avoid accessing invalid session_id and nw_error
+
+ This patch fixes an issue in disconnect_set_ready(). If
+ mbim_message_connect_response_parse(), `session_id' and `nw_error' are
+ not set to a valid value, and thus shouldn't be used.
+
+ src/mm-bearer-mbim.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit e1823e605e69121fae50e6ca3c097ad7a94156f4
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 1 17:01:04 2017 -0700
+
+ huawei: ensure MMBearerConnectResult populated into GSimpleAsyncResult
+
+ During the CONNECT_3GPP_CONTEXT_STEP_LAST step,
+ connect_3gpp_context_step() conditionally creates and populates a
+ MMBearerConnectResult object into the GSimpleAsyncResult object
+ when the
+ ipv4_config field of the Connect3gppContext struct is set. That
+ assumes
+ the ipv4_config field is always initialized in
+ connect_dhcp_check_ready() during the
+ CONNECT_3GPP_CONTEXT_STEP_IP_CONFIG step. Instead of having such an
+ assumption, this patch modifies connect_3gpp to always initialize
+ the ipv4_config field, such that connect_3gpp_context_step() always
+ populates a MMBearerConnectResult object into the GSimpleAsyncResult
+ object.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 20 ++++++++------------
+ 1 file changed, 8 insertions(+), 12 deletions(-)
+
+commit 0bb01ab68d36e63d08f9ed827524a24829c26835
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 2 21:53:32 2017 -0700
+
+ sms-part-cdma: add missing break statements in
+ cause_code_to_delivery_state
+
+ This patch fixes cause_code_to_delivery_state() by adding two missing
+ break statements for the case ERROR_CLASS_TEMPORARY and
+ ERROR_CLASS_PERMANENT in the `switch (error_class)` statement. Without
+ the break statements, the switch always falls through to the
+ default and
+ returns MM_SMS_DELIVERY_STATE_UNKNOWN for an `error_class' of value
+ ERROR_CLASS_TEMPORARY or ERROR_CLASS_PERMANENT.
+
+ src/mm-sms-part-cdma.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 6132a4d2ae92e99746f6840bb7330c56c0d8fcbf
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 2 21:53:22 2017 -0700
+
+ novatel: avoid calling qcdm_result_unref on NULL QcdmResult
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit bae4590784e9c4ca9b902b9fc69606cffe0ddb14
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 2 21:53:14 2017 -0700
+
+ libmm-glib,firmware: fix unique_id checks
+
+ The following checks in mm_modem_firmware_select() and
+ mm_modem_firmware_select_sync() could result in a NULL pointer
+ dereference if `unique_id' is NULL:
+
+ g_return_if_fail (unique_id != NULL || unique_id[0] == '\0')
+ g_return_val_if_fail (unique_id != NULL || unique_id[0] ==
+ '\0', FALSE)
+
+ This patch fixes the checks to properly verify that `unique_id' is
+ neither NULL nor an empty string.
+
+ libmm-glib/mm-modem-firmware.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 5accaf504f92b93b66058ac856a7d0b150b1c410
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 2 21:53:44 2017 -0700
+
+ ublox: remove unused variable
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 03bf0479ae516862e0c1972654d31acc83a05fbb
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 2 21:53:43 2017 -0700
+
+ plugin-manager: remove unused variable
+
+ src/mm-plugin-manager.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 838173d50f273bc2498e62315723d0f0a5312f44
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 2 21:53:42 2017 -0700
+
+ call-list: remove unused variables
+
+ src/mm-call-list.c | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+commit 06bbe6700040fba939538de6fea5ff01de9da963
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 2 21:53:41 2017 -0700
+
+ broadband-modem: remove unused variables
+
+ src/mm-broadband-modem.c | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+commit 8e645485e35b50ee9bdfb79cc4983b7ad1d64c34
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 2 21:53:40 2017 -0700
+
+ broadband-bearer: remove unused variable
+
+ src/mm-broadband-bearer.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit ae82e7d58cb37184e52e486fbae6f4f6fe751a71
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 3 00:58:20 2017 -0700
+
+ broadband-modem-mbim: remove unused variable
+
+ src/mm-broadband-modem-mbim.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit b5dba9ad1c867859912c16ea4030852917fb9bc1
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Fri Jul 28 15:57:55 2017 +0200
+
+ telit-plugin: ignore QSS when SIM-ME interface is locked
+
+ With some modems, the lock/unlock of the SIM-ME interface with
+ +CSIM=1/0
+ command is followed by #QSS unsolicited messages. With the current
+ implementation, this messages are mistaken for SIM swap events and
+ so the
+ modem is first dropped and then re-probed.
+
+ With this patch, the plugin takes into account the SIM-ME lock
+ state when
+ parsing #QSS unsolicited, so that the QSS handler can correctly
+ elaborate the messages that are not related to SIM swap events.
+
+ plugins/telit/mm-broadband-modem-telit.c | 85
+ ++++++++++++++++++++++++++++----
+ plugins/telit/mm-modem-helpers-telit.h | 9 ++++
+ 2 files changed, 85 insertions(+), 9 deletions(-)
+
+commit 60092ed7ea717c24495ddc00119b0dce982912b1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 1 10:11:02 2017 +0200
+
+ broadband-modem: single g_object_get() call to read multiple
+ properties
+
+ src/mm-broadband-modem.c | 14 +++-----------
+ 1 file changed, 3 insertions(+), 11 deletions(-)
+
+commit 9cdc237241ef7129c422ce33eca181ad8c837f8b
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Tue Jul 25 09:03:05 2017 +0200
+
+ sim hot swap: improved error management
+
+ Currently, when SIM hot swap fails in either mm-iface or plugin, the
+ ModemManager still opens ports context and prints a message saying
+ that
+ SIM hot swap is supported and that it's waiting for SIM insertion,
+ instead of clearly saying that SIM hot swap is not working.
+
+ This patch:
+
+ 1. introduces a new property MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED
+ which is FALSE by default and set to TRUE only when
+ setup_sim_hot_swap_finish() succeded.
+ 2. subordinates the completion of SIM hot swap setup (in
+ mm-broadband-modem) and the related messages to the the value of
+ MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED
+
+ Finally, this patch replaces the MBIM's sim_hot_swap_on private
+ property
+ with the new property MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, since
+ they have the
+ same meaning.
+
+ plugins/telit/mm-broadband-modem-telit.c | 1 +
+ src/mm-broadband-modem-mbim.c | 21 ++++---
+ src/mm-broadband-modem.c | 94
+ ++++++++++++++++++++++----------
+ src/mm-iface-modem.c | 14 ++++-
+ src/mm-iface-modem.h | 1 +
+ 5 files changed, 93 insertions(+), 38 deletions(-)
+
+commit b2c7244b6c73dc615e67cf2f90f30ad671b43a84
+Author: Valentin Blot <freedesktop-devel@valentinblot.org>
+Date: Mon Jul 31 00:41:08 2017 +0200
+
+ mmcli: description of the location-set-gps-refresh-rate option
+
+ Commit 6c35878f12ab37604d85cb3a864e3859973bd195 introduced a new
+ option for
+ setting the refresh rate of location on DBus. This patch describes
+ the option
+ in the man page.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=89924
+
+ docs/man/mmcli.8 | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 4e468d04acd1e17c91ab5e66f3032db1b7e51c39
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 26 18:25:38 2017 -0700
+
+ bearer-mbim: avoid calling mbim_message_unref on NULL MbimMessage
+
+ src/mm-bearer-mbim.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 08f5b86c5d10026a14654df1bc8c6195748dd07a
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 20 01:29:17 2017 -0700
+
+ longcheer: port longcheer_custom_init to use GTask
+
+ plugins/longcheer/mm-plugin-longcheer.c | 88
+ ++++++++++++++++-----------------
+ 1 file changed, 42 insertions(+), 46 deletions(-)
+
+commit 0dc719ed1922612e87bf882d69501eaa288cfc0c
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 20 01:06:07 2017 -0700
+
+ longcheer: port set_current_modes to use GTask
+
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 39
+ +++++++++++-------------
+ 1 file changed, 17 insertions(+), 22 deletions(-)
+
+commit bf8e75b8bdc82c7275d957e26bcf70bc3f449467
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 20 01:08:25 2017 -0700
+
+ longcheer: port load_unlock_retries to use GTask
+
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 34
+ +++++++++---------------
+ 1 file changed, 12 insertions(+), 22 deletions(-)
+
+commit 4cb2232f0f8cbeb1a0e5b48229d4efc7401f3fd9
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 20 01:03:04 2017 -0700
+
+ longcheer: port load_supported_modes to use GTask
+
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 22
+ +++++++---------------
+ 1 file changed, 7 insertions(+), 15 deletions(-)
+
+commit aa0a6bed363419659101084b3861a51144eee859
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 19 11:23:38 2017 -0700
+
+ zte,icera: port modem_3gpp_{setup,cleanup}_unsolicited_events to
+ use GTask
+
+ plugins/zte/mm-broadband-modem-zte-icera.c | 39
+ ++++++++++++------------------
+ 1 file changed, 15 insertions(+), 24 deletions(-)
+
+commit e8599340b477e009d1e4b1be0c68aa99661aafc2
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 19 11:19:41 2017 -0700
+
+ zte: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTask
+
+ plugins/zte/mm-broadband-modem-zte.c | 39
+ ++++++++++++++----------------------
+ 1 file changed, 15 insertions(+), 24 deletions(-)
+
+commit 8370556318d1cf30620faa0a13dbbf79ff4e86a0
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 19 11:11:40 2017 -0700
+
+ zte: port modem_after_sim_unlock to use GTask
+
+ plugins/zte/mm-broadband-modem-zte.c | 61
+ +++++++++++++++++-------------------
+ 1 file changed, 29 insertions(+), 32 deletions(-)
+
+commit 9f67e229517cd93734a1ab8cfd6303e85223cecd
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 19 11:16:10 2017 -0700
+
+ zte: port set_current_modes to use GTask
+
+ plugins/zte/mm-broadband-modem-zte.c | 39
+ ++++++++++++++++--------------------
+ 1 file changed, 17 insertions(+), 22 deletions(-)
+
+commit 289ab66fafe4e9124a7bd5958ed4ec2006704dd2
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 19 11:05:20 2017 -0700
+
+ zte: port load_supported_modes to use GTask
+
+ plugins/zte/mm-broadband-modem-zte.c | 22 +++++++---------------
+ 1 file changed, 7 insertions(+), 15 deletions(-)
+
+commit c609c2bc46f07d1bb14993ef3c0268f5541114d6
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 19 11:03:37 2017 -0700
+
+ zte: port load_unlock_retries to use GTask
+
+ plugins/zte/mm-broadband-modem-zte.c | 33
+ ++++++++++++---------------------
+ 1 file changed, 12 insertions(+), 21 deletions(-)
+
+commit 03d96197598c08bb3c8faf7b4b795865c80315fb
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:36 2017 -0700
+
+ altair-lte: port modem_3gpp_load_subscription_state,
+ altair_pco_info_changed to use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 71
+ ++++++++++++++------------
+ 1 file changed, 39 insertions(+), 32 deletions(-)
+
+commit de4432da210a94c11acb2ed73ae72a60dde40aa2
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:31 2017 -0700
+
+ altair-lte: port modem_3gpp_disable_unsolicited_events to use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 29
+ +++++++++++---------------
+ 1 file changed, 12 insertions(+), 17 deletions(-)
+
+commit e2b161c68434f58700981365a8e3d9bb5f16d5b9
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:30 2017 -0700
+
+ altair-lte: port modem_3gpp_enable_unsolicited_events to use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 29
+ +++++++++++---------------
+ 1 file changed, 12 insertions(+), 17 deletions(-)
+
+commit 00aaa1864a72b9c59394eb44ed2f4ade31214715
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:27 2017 -0700
+
+ altair-lte: port modem_3gpp_{setup,cleanup}_unsolicited_events to
+ use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 39
+ ++++++++++----------------
+ 1 file changed, 15 insertions(+), 24 deletions(-)
+
+commit 282ed056a6a0c3e67787809715ec7d413e5f0b2a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:25 2017 -0700
+
+ altair-lte: port load_current_bands to use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 36
+ +++++++++-----------------
+ 1 file changed, 12 insertions(+), 24 deletions(-)
+
+commit 2d82c505e465064a0f990c28188ab8b8aa14fc0c
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:23 2017 -0700
+
+ altair-lte: port load_supported_bands to use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 36
+ +++++++++-----------------
+ 1 file changed, 12 insertions(+), 24 deletions(-)
+
+commit 4ea38c26e068644a364b307b3951ac71f4618321
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:21 2017 -0700
+
+ altair-lte: port load_unlock_retries to use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 49
+ +++++++++++---------------
+ 1 file changed, 21 insertions(+), 28 deletions(-)
+
+commit e2e7121e44a3da41af86e591fc710a9b373c34be
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:20 2017 -0700
+
+ altair-lte: port load_current_capabilities to use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 28
+ ++++++++++++--------------
+ 1 file changed, 13 insertions(+), 15 deletions(-)
+
+commit a96e8f824bc8847f53f7e647f233fa8ca8cf4e1f
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:18 2017 -0700
+
+ altair-lte: port modem_create_bearer to use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 30
+ +++++++-------------------
+ 1 file changed, 8 insertions(+), 22 deletions(-)
+
+commit 555883d10729415896b24d1f0547fbf8d21eeeb3
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:16 2017 -0700
+
+ altair-lte: port modem_3gpp_run_registration_checks to use GTask
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 36
+ +++++++++++---------------
+ 1 file changed, 15 insertions(+), 21 deletions(-)
+
+commit 15109a8513eb666c161f37bbf43ceb46d0470279
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:15 2017 -0700
+
+ altair-lte: port disconnect_3gpp to use GTask
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 61
+ +++++++++----------------
+ 1 file changed, 22 insertions(+), 39 deletions(-)
+
+commit 710d5c036bf03a466eb113f99ffc5611ff50e22a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:33:13 2017 -0700
+
+ altair-lte: port connect_3gpp to use GTask
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 134
+ +++++++++---------------
+ 1 file changed, 52 insertions(+), 82 deletions(-)
+
+commit 3f273429a535f7e32b7acd6b6b936183d3187a70
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:32:20 2017 -0700
+
+ broadband-bearer: port initable_init_async to use GTask
+
+ src/mm-broadband-bearer.c | 87
+ ++++++++++++++++++++++-------------------------
+ 1 file changed, 41 insertions(+), 46 deletions(-)
+
+commit 6dc2f23d8f9279042aafc6389ede74a894f33fc8
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:32:17 2017 -0700
+
+ broadband-bearer: port disconnect_{3gpp,cdma} to use GTask
+
+ src/mm-broadband-bearer.c | 133
+ ++++++++++++++++++++++++----------------------
+ 1 file changed, 70 insertions(+), 63 deletions(-)
+
+commit fd34814b367c2612da84d0964d32165e0609b66f
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:32:12 2017 -0700
+
+ broadband-bearer: port disconnect to use GTask
+
+ src/mm-broadband-bearer.c | 90
+ ++++++++++++++++-------------------------------
+ 1 file changed, 30 insertions(+), 60 deletions(-)
+
+commit 903e2287829dba44ea536da469e4aaf48b10dab8
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:32:07 2017 -0700
+
+ broadband-bearer: port connect_{3gpp,cdma} to use GTask
+
+ src/mm-broadband-bearer.c | 265
+ +++++++++++++++++++++-------------------------
+ 1 file changed, 121 insertions(+), 144 deletions(-)
+
+commit be2ac3f25674d0ba4035f42d920b5f6396b24ab3
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:32:03 2017 -0700
+
+ broadband-bearer: port connect to use GTask
+
+ src/mm-broadband-bearer.c | 93
+ ++++++++++++++++++++---------------------------
+ 1 file changed, 40 insertions(+), 53 deletions(-)
+
+commit e3561374846724006dfaa93a8259ff649ebc4c8b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 22:31:58 2017 -0700
+
+ broadband-bearer: port dial_3gpp to use GTask
+
+ src/mm-broadband-bearer.c | 107
+ +++++++++++++++++-----------------------------
+ 1 file changed, 39 insertions(+), 68 deletions(-)
+
+commit 8af44d3589615b054221a34e39c0525dd0a2e491
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 18 15:28:51 2017 -0700
+
+ broadband-bearer: fix crm_range_ready
+
+ crm_range_ready() misses a return statement after it invokes
+ interface_initialization_step(), which will lead to an invalid
+ access of
+ the already freed InitAsyncContext.
+
+ src/mm-broadband-bearer.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4db3ccf2af1f00f848af105910e75581383f0db4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 19 11:21:27 2017 +0200
+
+ helpers: +CNUM parser doesn't return any error
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 2 +-
+ src/mm-broadband-modem.c | 2 +-
+ src/mm-modem-helpers.c | 3 +--
+ src/mm-modem-helpers.h | 3 +--
+ src/tests/test-modem-helpers.c | 4 +---
+ 5 files changed, 5 insertions(+), 9 deletions(-)
+
+commit 7ff5e30dce22bbe636d8f9dfafaad477bf844003
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 19 11:02:49 2017 +0200
+
+ broadband-modem: if no own numbers returned, complete task with NULL
+
+ Fixes: 738deebfb4586ffff560d538f7809cf2fdee7132
+
+ Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>
+
+ src/mm-broadband-modem.c | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+commit 14dbbad1ad0e18be3e9623b357fc9a0daf02d6da
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 18 11:31:36 2017 +0200
+
+ broadband-modem: plug memleak in init_current_storages()
+
+ ==28664== 4 bytes in 1 blocks are definitely lost in loss record
+ 33 of 4,317
+ ==28664== at 0x4C2BE1F: malloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==28664== by 0x4C2E164: realloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==28664== by 0x644E0CF: g_realloc (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x6469C06: ??? (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x6469C61: g_string_sized_new (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x4E8514A: mm_common_build_sms_storages_string
+ (mm-common-helpers.c:116)
+ ==28664== by 0x489035: cpms_query_ready
+ (mm-broadband-modem.c:5428)
+ ==28664== by 0x5E8E335: g_simple_async_result_complete (in
+ /usr/lib/libgio-2.0.so.0.5200.2)
+ ==28664== by 0x44EADF: at_command_ready
+ (mm-base-modem-at.c:503)
+ ==28664== by 0x5E8E335: g_simple_async_result_complete (in
+ /usr/lib/libgio-2.0.so.0.5200.2)
+ ==28664== by 0x4D8122: serial_command_ready
+ (mm-port-serial-at.c:392)
+ ==28664== by 0x5E8E335: g_simple_async_result_complete (in
+ /usr/lib/libgio-2.0.so.0.5200.2)
+ ==28664==
+ ==28664== 4 bytes in 1 blocks are definitely lost in loss record
+ 34 of 4,317
+ ==28664== at 0x4C2BE1F: malloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==28664== by 0x4C2E164: realloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==28664== by 0x644E0CF: g_realloc (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x6469C06: ??? (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x6469C61: g_string_sized_new (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x4E8514A: mm_common_build_sms_storages_string
+ (mm-common-helpers.c:116)
+ ==28664== by 0x489067: cpms_query_ready
+ (mm-broadband-modem.c:5430)
+ ==28664== by 0x5E8E335: g_simple_async_result_complete (in
+ /usr/lib/libgio-2.0.so.0.5200.2)
+ ==28664== by 0x44EADF: at_command_ready
+ (mm-base-modem-at.c:503)
+ ==28664== by 0x5E8E335: g_simple_async_result_complete (in
+ /usr/lib/libgio-2.0.so.0.5200.2)
+ ==28664== by 0x4D8122: serial_command_ready
+ (mm-port-serial-at.c:392)
+ ==28664== by 0x5E8E335: g_simple_async_result_complete (in
+ /usr/lib/libgio-2.0.so.0.5200.2)
+
+ src/mm-broadband-modem.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+commit bad79cb5e1063fcb269543c07a7be5b32762b3cb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 18 11:28:33 2017 +0200
+
+ port-serial: plug memleak on error processing
+
+ ==28664== 216 (120 direct, 96 indirect) bytes in 5 blocks are
+ definitely lost in loss record 4,109 of 4,317
+ ==28664== at 0x4C2BEEF: malloc (in
+ /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==28664== by 0x644E018: g_malloc (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x6465B05: g_slice_alloc (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x6469C32: g_string_sized_new (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x4D7861: parse_response (mm-port-serial-at.c:142)
+ ==28664== by 0x4D3B52: parse_response_buffer
+ (mm-port-serial.c:857)
+ ==28664== by 0x4D40F2: common_input_available
+ (mm-port-serial.c:981)
+ ==28664== by 0x4D41B4: iochannel_input_available
+ (mm-port-serial.c:1004)
+ ==28664== by 0x64488B4: g_main_context_dispatch (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x6448C77: ??? (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x6448F91: g_main_loop_run (in
+ /usr/lib/libglib-2.0.so.0.5200.2)
+ ==28664== by 0x438035: main (main.c:180)
+
+ src/mm-port-serial-at.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit fa31b699ece5dbc64600b7a41364d5167f98ef5e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 18 10:47:47 2017 +0200
+
+ broadband-modem: remove unneeded InitializationStartedContext struct
+
+ src/mm-broadband-modem.c | 29 +++++++----------------------
+ 1 file changed, 7 insertions(+), 22 deletions(-)
+
+commit 6515c81f44cc644b45232ddacd2107c9c552b077
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 18:38:07 2017 -0700
+
+ broadband-modem: port modem_3gpp_cleanup_unsolicited_events to
+ use GTask
+
+ src/mm-broadband-modem.c | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+commit 81d2d572b43cacb402b2397e8b7335e6eddd147c
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 18:37:21 2017 -0700
+
+ broadband-modem: port modem_3gpp_setup_unsolicited_events to use GTask
+
+ src/mm-broadband-modem.c | 37 +++++++++++++++----------------------
+ 1 file changed, 15 insertions(+), 22 deletions(-)
+
+commit 0c49fb3e2fdb3bd317b71195bc869be214ffc904
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:29:36 2017 -0700
+
+ broadband-modem: port modem_voice_{setup,cleanup}_unsolicited_events
+ to use GTask
+
+ src/mm-broadband-modem.c | 16 ++++++----------
+ 1 file changed, 6 insertions(+), 10 deletions(-)
+
+commit 4a2cc7b731456c2d68ac8873ae3db1c4211dbac0
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 17:24:58 2017 -0700
+
+ broadband-modem: port
+ modem_messaging_{setup,cleanup}_unsolicited_events to use GTask
+
+ src/mm-broadband-modem.c | 16 ++++++----------
+ 1 file changed, 6 insertions(+), 10 deletions(-)
+
+commit c7e47b97e8abeb553e6ae2041fa0813ecd776267
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 23:26:59 2017 -0700
+
+ broadband-modem: port modem_cdma_get_detailed_registration_state to
+ use GTask
+
+ src/mm-broadband-modem.c | 107
+ +++++++++++++++++++++++++++--------------------
+ 1 file changed, 62 insertions(+), 45 deletions(-)
+
+commit e040ee27a0b418926cc99a6846c86ff6397ee560
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 14:57:02 2017 -0700
+
+ broadband-modem: port modem_cdma_get_service_status to use GTask
+
+ src/mm-broadband-modem.c | 39 ++++++++++++++++++++-------------------
+ 1 file changed, 20 insertions(+), 19 deletions(-)
+
+commit 610a6299e1b68dd161e9a8f33aca577756191477
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 18:20:03 2017 -0700
+
+ broadband-modem: port modem_3gpp_run_registration_checks to use GTask
+
+ src/mm-broadband-modem.c | 73
+ ++++++++++++++++++++++++++----------------------
+ 1 file changed, 40 insertions(+), 33 deletions(-)
+
+commit a93add611f607f3332f1b3b1f277ab2b07c441fc
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 18:08:17 2017 -0700
+
+ broadband-modem: port modem_3gpp_load_enabled_facility_locks to
+ use GTask
+
+ src/mm-broadband-modem.c | 83
+ ++++++++++++++++++++++++------------------------
+ 1 file changed, 42 insertions(+), 41 deletions(-)
+
+commit 1fe33d34e8c7ef1d6baf21c0517ceb15f2898d0a
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:07:37 2017 -0700
+
+ broadband-modem: port modem_3gpp_load_subscription_state to use GTask
+
+ src/mm-broadband-modem.c | 29 ++++++++++++-----------------
+ 1 file changed, 12 insertions(+), 17 deletions(-)
+
+commit c812101a128529ae4240c69347031c335f0cacf1
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 18:30:22 2017 -0700
+
+ broadband-modem: port
+ modem_3gpp_{enable,disable}_unsolicited_registration_events to
+ use GTask
+
+ src/mm-broadband-modem.c | 123
+ +++++++++++++++++++++++++----------------------
+ 1 file changed, 66 insertions(+), 57 deletions(-)
+
+commit ece9b87a67f9d61d2837d68f4879e91dac04ac02
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:10:17 2017 -0700
+
+ broadband-modem: port modem_3gpp_setup_unsolicited_registration_events
+ to use GTask
+
+ src/mm-broadband-modem.c | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+commit 7ee52bb99aacbce01b5a9998477a4946affb0963
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:11:41 2017 -0700
+
+ broadband-modem: port
+ modem_3gpp_cleanup_unsolicited_registration_events to use GTask
+
+ src/mm-broadband-modem.c | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+commit dad7c8c403b074e6f93f77434abec1788614c792
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 18:43:52 2017 -0700
+
+ broadband-modem: port modem_3gpp_{enable,disable}_unsolicited_events
+ to use GTask
+
+ src/mm-broadband-modem.c | 79
+ +++++++++++++++++++++++-------------------------
+ 1 file changed, 38 insertions(+), 41 deletions(-)
+
+commit 5ccefe30c36cfbbf7856ac5395102b585d3fc782
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:14:54 2017 -0700
+
+ broadband-modem: port modem_3gpp_ussd_cancel to use GTask
+
+ src/mm-broadband-modem.c | 20 ++++++++------------
+ 1 file changed, 8 insertions(+), 12 deletions(-)
+
+commit 17dff1f6696fe50a4a6cc99c4e5f73ad667b8d42
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:21:28 2017 -0700
+
+ broadband-modem: port modem_3gpp_ussd_check_support to use GTask
+
+ src/mm-broadband-modem.c | 23 +++++++++--------------
+ 1 file changed, 9 insertions(+), 14 deletions(-)
+
+commit 03977eb501aa05cb5e3fc410a50aa7be2741f048
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:20:12 2017 -0700
+
+ broadband-modem: port
+ modem_3gpp_ussd_{enable,disable}_unsolicited_result_codes to use GTask
+
+ src/mm-broadband-modem.c | 32 ++++++++++++--------------------
+ 1 file changed, 12 insertions(+), 20 deletions(-)
+
+commit 249f880c3c8ee71983b776c4453b1527cdab39ec
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:17:57 2017 -0700
+
+ broadband-modem: port
+ modem_3gpp_ussd_{setup,cleanup}_unsolicited_result_codes to use GTask
+
+ src/mm-broadband-modem.c | 16 ++++++----------
+ 1 file changed, 6 insertions(+), 10 deletions(-)
+
+commit 8b5aa2a41cff47ac49b24f1264bee359b8122a12
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 22:35:07 2017 -0700
+
+ broadband-modem: port cmti_received to use GTask
+
+ src/mm-broadband-modem.c | 52
+ ++++++++++++++++++++++--------------------------
+ 1 file changed, 24 insertions(+), 28 deletions(-)
+
+commit 511a08c33c9aef4dbfe06bde3de6fc9ad42558e5
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 18:52:02 2017 -0700
+
+ broadband-modem: port mm_broadband_modem_lock_sms_storages to
+ use GTask
+
+ src/mm-broadband-modem.c | 65
+ +++++++++++++++++++++---------------------------
+ 1 file changed, 29 insertions(+), 36 deletions(-)
+
+commit 2ec660024de56d6df45c17c15ee6b86acca5d027
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 22:49:22 2017 -0700
+
+ broadband-modem: port modem_messaging_load_initial_sms_parts to
+ use GTask
+
+ src/mm-broadband-modem.c | 79
+ +++++++++++++++++++++++-------------------------
+ 1 file changed, 38 insertions(+), 41 deletions(-)
+
+commit 78c0bbf41dd63e77c271dafadc627270c571d8a1
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 17:21:00 2017 -0700
+
+ broadband-modem: port modem_messaging_setup_sms_format to use GTask
+
+ src/mm-broadband-modem.c | 28 ++++++++++++----------------
+ 1 file changed, 12 insertions(+), 16 deletions(-)
+
+commit de6ba7a7aa5710189b51ef3e7580976fb0f4ecef
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:40:52 2017 -0700
+
+ broadband-modem: port modem_messaging_set_default_storage to use GTask
+
+ src/mm-broadband-modem.c | 33 +++++++++++++++------------------
+ 1 file changed, 15 insertions(+), 18 deletions(-)
+
+commit 101c646cf93feb7d843895ff3456a6627c20b302
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:33:25 2017 -0700
+
+ broadband-modem: port modem_messaging_load_supported_storages to
+ use GTask
+
+ src/mm-broadband-modem.c | 44
+ +++++++++++++++++++-------------------------
+ 1 file changed, 19 insertions(+), 25 deletions(-)
+
+commit 1d72695df93bdb22e1788375b2f962f41a655925
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:37:57 2017 -0700
+
+ broadband-modem: port modem_messaging_init_current_storages to
+ use GTask
+
+ src/mm-broadband-modem.c | 25 ++++++++++---------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+commit c29cd5eb4e027c5052160be6111be9bae93a98df
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:25:32 2017 -0700
+
+ broadband-modem: port modem_messaging_check_support to use GTask
+
+ src/mm-broadband-modem.c | 30 ++++++++++++------------------
+ 1 file changed, 12 insertions(+), 18 deletions(-)
+
+commit ed0c91b71b27c78caaeaff1a0a4daff2c2b94d1f
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 14:51:11 2017 -0700
+
+ broadband-modem: port modem_messaging_enable_unsolicited_events to
+ use GTask
+
+ src/mm-broadband-modem.c | 31 +++++++++++++------------------
+ 1 file changed, 13 insertions(+), 18 deletions(-)
+
+commit c270720e9405fc18158bde847a7f81e885587abf
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 13:27:49 2017 -0700
+
+ broadband-modem: port modem_voice_check_support to use GTask
+
+ src/mm-broadband-modem.c | 23 +++++++++--------------
+ 1 file changed, 9 insertions(+), 14 deletions(-)
+
+commit 4249792c4e7e83a055ea22da1dc8d14c3afce08b
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 18:55:19 2017 -0700
+
+ broadband-modem: port modem_setup_charset to use GTask
+
+ src/mm-broadband-modem.c | 63
+ +++++++++++++++++++++++-------------------------
+ 1 file changed, 30 insertions(+), 33 deletions(-)
+
+commit d638da86bd7359a882180cdaf2160aaad39228ac
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 14:48:51 2017 -0700
+
+ broadband-modem: port modem_power_up to use GTask
+
+ src/mm-broadband-modem.c | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+commit 16a14e768feba78f95b508d0f7e8fb2a17b4a204
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 14:47:14 2017 -0700
+
+ broadband-modem: port modem_load_power_state to use GTask
+
+ src/mm-broadband-modem.c | 35 ++++++++++++++++++-----------------
+ 1 file changed, 18 insertions(+), 17 deletions(-)
+
+commit 49366f7f0068be8f9b9c650a70aeaab012288549
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 18:29:51 2017 -0700
+
+ broadband-modem: port modem_load_signal_quality to use GTask
+
+ src/mm-broadband-modem.c | 146
+ +++++++++++++++++++++++++----------------------
+ 1 file changed, 79 insertions(+), 67 deletions(-)
+
+commit 4da7cf96ac80c1775bf2dba53f49825b9d41025a
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 15:22:16 2017 -0700
+
+ broadband-modem: port modem_load_supported_ip_families to use GTask
+
+ src/mm-broadband-modem.c | 38 +++++++++++++++++---------------------
+ 1 file changed, 17 insertions(+), 21 deletions(-)
+
+commit 8c9bcd76c26247228767af8a601d06815241766b
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 15:15:21 2017 -0700
+
+ broadband-modem: port modem_load_supported_modes to use GTask
+
+ src/mm-broadband-modem.c | 113
+ +++++++++++++++++++++++++----------------------
+ 1 file changed, 60 insertions(+), 53 deletions(-)
+
+commit 738deebfb4586ffff560d538f7809cf2fdee7132
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 15:05:52 2017 -0700
+
+ broadband-modem: port modem_load_own_numbers to use GTask
+
+ src/mm-broadband-modem.c | 82
+ ++++++++++++++++++++++--------------------------
+ 1 file changed, 38 insertions(+), 44 deletions(-)
+
+commit a24a99e70241afea5302772b6d6a90429a5140a3
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 17:37:36 2017 -0700
+
+ broadband-modem: port modem_load_current_capabilities to use GTask
+
+ src/mm-broadband-modem.c | 118
+ +++++++++++++++++++++++------------------------
+ 1 file changed, 59 insertions(+), 59 deletions(-)
+
+commit 6abd626a0b800a0259606d74d0a4ee5dabe2fc45
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 14:44:15 2017 -0700
+
+ broadband-modem: port modem_load_supported_charsets to use GTask
+
+ src/mm-broadband-modem.c | 47
+ +++++++++++++++++++++--------------------------
+ 1 file changed, 21 insertions(+), 26 deletions(-)
+
+commit 524ecfb03e4d6476288f4efac947f010494c4e9f
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 14:38:14 2017 -0700
+
+ broadband-modem: port modem_load_unlock_required to use GTask
+
+ src/mm-broadband-modem.c | 42 ++++++++++++++++++------------------------
+ 1 file changed, 18 insertions(+), 24 deletions(-)
+
+commit f7db91616935f9ccd740415cb0bead63f2fde426
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 13:50:26 2017 -0700
+
+ broadband-modem: port modem_create_bearer to use GTask
+
+ src/mm-broadband-modem.c | 31 ++++++++-----------------------
+ 1 file changed, 8 insertions(+), 23 deletions(-)
+
+commit a7dee00e5c9377ac5f80c632f6cc9f67aac1eea5
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 17:40:09 2017 -0700
+
+ broadband-modem: port modem_location_load_capabilities to use GTask
+
+ src/mm-broadband-modem.c | 30 +++++++++++++-----------------
+ 1 file changed, 13 insertions(+), 17 deletions(-)
+
+commit ceb13f525194d9fa70a9f6d71f5825034a8d96c1
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 17:32:50 2017 -0700
+
+ broadband-modem: port enable_location_gathering to use GTask
+
+ src/mm-broadband-modem.c | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+commit 53c34494b695bf808bfbdf8c1adf5a4eb8b6ef69
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 17:30:28 2017 -0700
+
+ broadband-modem: port initialization_started to use GTask
+
+ src/mm-broadband-modem.c | 34 +++++++++++-----------------------
+ 1 file changed, 11 insertions(+), 23 deletions(-)
+
+commit 034353e38bd0bcf7551d73e1c7437bad5ffe6273
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 17:27:17 2017 -0700
+
+ broadband-modem: port enabling_started to use GTask
+
+ src/mm-broadband-modem.c | 86
+ ++++++++++++++++++++++++++----------------------
+ 1 file changed, 47 insertions(+), 39 deletions(-)
+
+commit 77bb31e5cf47c3d3b6fe15f66825c1669db676f3
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 17:14:56 2017 -0700
+
+ broadband-modem: port disable to use GTask
+
+ src/mm-broadband-modem.c | 107
+ ++++++++++++++++++++++-------------------------
+ 1 file changed, 50 insertions(+), 57 deletions(-)
+
+commit ba162ce1f38925cd4ef10db0857d0cd831ba6284
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 17:06:52 2017 -0700
+
+ broadband-modem: port enable to use GTask
+
+ src/mm-broadband-modem.c | 176
+ ++++++++++++++++++++++-------------------------
+ 1 file changed, 83 insertions(+), 93 deletions(-)
+
+commit 04532ea54ebec81b2f546e5440771ca3fc1f461f
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 16:57:43 2017 -0700
+
+ broadband-modem: port initialize to use GTask
+
+ src/mm-broadband-modem.c | 200
+ ++++++++++++++++++++++-------------------------
+ 1 file changed, 95 insertions(+), 105 deletions(-)
+
+commit ce664a6264271ec4a50f56118028829cbc2f09ee
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 17 18:11:01 2017 -0700
+
+ sms-mbim: fix peek_device to use g_task_report_new_error
+
+ When porting MMSmsMbim to use GTask, peek_device wasn't modified
+ to use
+ g_task_report_new_error, which could potentially lead to an incorrect
+ G_TASK cast.
+
+ src/mm-sms-mbim.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+commit d25e6bdfaa9d4116db91a6b134a13d6319192954
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 17 18:11:00 2017 -0700
+
+ iface-modem-time: fix update_network_timezone to use
+ g_task_report_new_error
+
+ Commit 7c5f308af ("iface-modem-time: port update_network_timezone
+ to use
+ GTask") ported most of the update_network_timezone code to use GTask,
+ but missed a g_simple_async_report_error_in_idle call, which could
+ potentially lead to an incorrect G_TASK cast.
+
+ src/mm-iface-modem-time.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+commit 0657914ebbe387a4bb356303086fe0f354d88756
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 17 18:10:59 2017 -0700
+
+ call-list: fix mm_call_list_delete_call to use g_task_report_new_error
+
+ Commit a08064492 ("call-list: port mm_call_list_delete_call to
+ use GTask")
+ ported most of the mm_call_list_delete_call code to use GTask,
+ but missed a
+ g_simple_async_report_error_in_idle calls, which can potentially
+ lead to
+ an incorrect G_TASK cast in mm_call_list_delete_call_finish.
+
+ src/mm-call-list.c | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+commit 4901a676600809fba9a8805fc524c4c1710f539a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 18 10:32:13 2017 +0200
+
+ telit: add missing source_tag in g_task_report_new_error() call
+
+ Fixes: 1bd9935b5aece6c5999c96df1acec86cfc00e6b1
+
+ plugins/telit/mm-broadband-modem-telit.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1317a728dad7925f87de2101801889d1864ca12e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 18 10:26:45 2017 +0200
+
+ telit: fix minor typo
+
+ plugins/telit/mm-broadband-modem-telit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1bd9935b5aece6c5999c96df1acec86cfc00e6b1
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 17 17:04:56 2017 -0700
+
+ telit: fix modem_set_current_bands to use g_task_report_new_error
+
+ Commit acf101335 ("telit: port mm-broadband-modem-telit to use GTask")
+ ported most of the modem_set_current_bands code to use GTask,
+ but missed
+ a few g_simple_async_report_error_in_idle calls, which potentially
+ leads
+ to an incorrect G_TASK cast in modem_set_current_bands_finish.
+
+ plugins/telit/mm-broadband-modem-telit.c | 51
+ +++++++++++++++++---------------
+ 1 file changed, 27 insertions(+), 24 deletions(-)
+
+commit 38c53ed81405167e0632fb4ce36d787fb0c29c72
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 17 10:09:04 2017 -0700
+
+ base-modem: minor coding style fixes
+
+ src/mm-base-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cdff53d0a4af14c2cef74dd2a9df4e313b26638d
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 17 10:09:03 2017 -0700
+
+ iface-modem: minor coding style fixes
+
+ src/mm-iface-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5263ec650f4479863b8472f7844eef601eea6368
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 17 10:09:02 2017 -0700
+
+ log: minor coding style fixes
+
+ src/mm-log.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 024825042e862e2a0cc8cd256b56ac23b9ce005b
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 17 10:09:01 2017 -0700
+
+ plugin-manager: minor coding style fixes
+
+ src/mm-plugin-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5ee0b32298b0d3d1ce1199d0e3addf394df005d5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:17:35 2017 +0200
+
+ zte,icera: fix async completion in 3gpp event handlers setting
+
+ plugins/zte/mm-broadband-modem-zte-icera.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 7b392398e4c0a0e2084b49e50bb6566357db3699
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:17:04 2017 +0200
+
+ zte: fix async completion in 3gpp event handlers setting
+
+ plugins/zte/mm-broadband-modem-zte.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ef274b5fa2f9911caa55103282088c35ec66f8ec
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:16:19 2017 +0200
+
+ simtech: fix async completion in 3gpp event handlers setting
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit a3c980c78b32ba53d1373e07e2535a7e15b03ebb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:15:36 2017 +0200
+
+ option,hso: fix async completion in 3gpp event handlers setting
+
+ plugins/option/mm-broadband-modem-hso.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f3a301db3c62ebe1ed1a89aa2d98765ac66759fc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:13:18 2017 +0200
+
+ option: fix async completion in 3gpp event handlers setting
+
+ plugins/option/mm-broadband-modem-option.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e2246da507c4f93ec2f0f885586e6e5748cb829d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:11:45 2017 +0200
+
+ mtk: fix async completion in 3gpp event handlers setting
+
+ plugins/mtk/mm-broadband-modem-mtk.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 15a221e88d57be200fcc45599c994b14f5376e4c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:09:17 2017 +0200
+
+ mbm: fix async completion in 3gpp event handlers setting
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 0be6e7d2ea41b97caeb086040e2d50d11fb28a91
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:06:40 2017 +0200
+
+ altair-lte: fix async completion in 3gpp event handlers setting
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c44fa6c681a6417f174b947076085224b2dc97dd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:05:45 2017 +0200
+
+ icera: fix async completion in 3gpp event handlers setting
+
+ plugins/icera/mm-broadband-modem-icera.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f1f313c214ccc3e5b62ec17cf039b6a4a693c9d0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:08:08 2017 +0200
+
+ huawei: skip unrequired explicit casts to GSimpleAsyncResult
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 91bbcb5c5f708628688c2a429b81b3f035c1c567
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 10:03:41 2017 +0200
+
+ huawei: fix async completion in 3gpp event handlers setting
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit c0c2e8aae8de4d72dd483c742462032ffc2f7d30
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 09:59:20 2017 +0200
+
+ huawei: fix async completion in voice event handlers setting
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 7b0c0bc96bf501a261de2a30bf0095c61ea3ef16
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 09:54:58 2017 +0200
+
+ huawei: fix async completion in cdma event handlers setting
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 24e8785a83eb9ac88a36b58c0c5ba83a4689800b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 17 09:57:21 2017 +0200
+
+ via: fix async completion in cdma event handlers setting
+
+ plugins/via/mm-broadband-modem-via.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 94a289a1b35b0565b1c78da1d04a0c6b752f2155
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jul 14 01:06:39 2017 -0700
+
+ modem-helpers: minor coding style fixes
+
+ src/mm-modem-helpers.c | 6 +++---
+ src/mm-modem-helpers.h | 6 +++---
+ src/tests/test-modem-helpers.c | 4 ++--
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+commit 45682aa7ee5fa52ee50ed73fc153035910723b13
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jul 14 01:06:38 2017 -0700
+
+ sms-part-3gpp: minor coding style fixes
+
+ src/mm-sms-part-3gpp.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 057732663bb8524271f6e3ba225f597381a12cc2
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jul 14 01:06:37 2017 -0700
+
+ broadband-modem-mbim: minor coding style fixes
+
+ src/mm-broadband-modem-mbim.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit da20697e187fbc27e82f2aea67ff86ddecfd8c7d
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jul 14 01:06:36 2017 -0700
+
+ base-call: minor coding style fixes
+
+ src/mm-base-call.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit cb6efd8eda491f0ed12b57fca1105fa888682398
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jul 14 01:06:35 2017 -0700
+
+ base-manager: minor coding style fixes
+
+ src/mm-base-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1158c2c6e9da01073284e63050d08188deff65ba
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jul 14 00:36:13 2017 -0700
+
+ broadband-modem: rename load_power_state for consistency
+
+ All MMIfaceModem functions implemented by MMBroadbandModem, except
+ load_power_state, are prefixed with 'modem_'. For consistency, this
+ patch renames load_power_state{,_finish} to
+ modem_load_power_state{,_finish}.
+
+ src/mm-broadband-modem.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit aafd21ac31b787a01d4ce08f732f27575c2883e9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 12 11:21:41 2017 +0200
+
+ broadband-modem-mbim: avoid multiple MM_BROADBAND_MODEM_MBIM() casts
+
+ src/mm-broadband-modem-mbim.c | 140
+ +++++++++++++++++++++++++-----------------
+ 1 file changed, 83 insertions(+), 57 deletions(-)
+
+commit 3d9510b4fd5f4dc46df1476c067787f1dd3431a6
+Author: Eric Caruso <ejcaruso@chromium.org>
+Date: Tue Jul 11 10:58:23 2017 -0700
+
+ mm-broadband-modem-mbim: support SIM hot swapping
+
+ If an MBIM modem supports unsolicited notifications for
+ subscriber ready status, we can use it to detect when SIM cards
+ have been removed and reinserted. Upon detection we should re-
+ probe the modem so that we can configure it for the new SIM.
+
+ src/mm-broadband-modem-mbim.c | 96
+ +++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 93 insertions(+), 3 deletions(-)
+
+commit fe384625aa59c117ec99b943c6e0b09deea48a0d
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 01:03:40 2017 -0700
+
+ telit: fix memory leaks in unit tests
+
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 4fbdee1e6d0138e19e836bdf8531cd85b9338ffd
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 01:03:39 2017 -0700
+
+ telit: minor coding style fixes
+
+ plugins/telit/mm-modem-helpers-telit.c | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+commit 39ddd34898d458d1105ac6fa168166b23229ab8e
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 01:03:38 2017 -0700
+
+ telit: remove unnecessary NULL checks for g_free / g_match_info_free
+
+ g_free() and g_match_info_free() already check if the given pointer is
+ NULL and does nothing on a NULL pointer.
+
+ plugins/telit/mm-modem-helpers-telit.c | 13 ++++---------
+ 1 file changed, 4 insertions(+), 9 deletions(-)
+
+commit 4a7190f64b86b47076e91b6ebfeb59e27baa2707
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 01:03:37 2017 -0700
+
+ telit: fix memory leak in mm_telit_get_4g_mm_bands
+
+ plugins/telit/mm-modem-helpers-telit.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b6f40de1e15bcb2d324157a5c24028f8a9089f74
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 01:03:36 2017 -0700
+
+ telit: remove unused 'flags' variable in mm_telit_get_4g_mm_bands
+
+ plugins/telit/mm-modem-helpers-telit.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 99dd037a68654cf611caab82741a1db969c68242
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 01:14:54 2017 -0700
+
+ iface-modem: fix mm_iface_modem_initialize_finish
+
+ This fixes commit 66f10d61a20e6c661cb04225835ec7a343f4fe36
+ ("iface-modem: port mm_iface_modem_initialize to use GTask"), which
+ didn't update mm_iface_modem_initialize_finish to use
+ g_task_propagate_boolean.
+
+ src/mm-iface-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4e99ca7fd527a91bbec50e64d1b70b797c926180
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 12 01:02:36 2017 -0700
+
+ ublox: fix memory leaks in unit tests
+
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 247890739b940b448d76a2d83bbc34ba91a83d33
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 12 10:58:49 2017 +0200
+
+ broadband-modem-mbim: remove unused variable
+
+ CC ModemManager-mm-broadband-modem-mbim.o
+ mm-broadband-modem-mbim.c: In function ‘mbim_port_open_ready’:
+ mm-broadband-modem-mbim.c:1581:35: error: unused variable
+ ‘ctx’ [-Werror=unused-variable]
+ InitializationStartedContext *ctx;
+ ^~~
+ cc1: all warnings being treated as errors
+
+ src/mm-broadband-modem-mbim.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 350aa6a4618468de62c0ef6ab943a7adf6e92236
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 15:32:29 2017 -0700
+
+ broadband-modem-mbim: port remaining code to use GTask
+
+ This patch ports the following functions in MMBroadbandModemMbim to
+ use GTask:
+ - common_enable_disable_unsolicited_events
+ - common_setup_cleanup_unsolicited_events
+ - load_initial_sms_parts
+ - modem_3gpp_load_enabled_facility_locks
+ - modem_3gpp_register_in_network
+ - modem_3gpp_run_registration_checks
+ - modem_3gpp_scan_networks
+ - modem_load_current_capabilities
+ - modem_load_own_numbers
+ - modem_load_power_state
+ - modem_load_unlock_required
+ - modem_load_unlock_retries
+ - modem_power_down
+ - modem_power_up
+
+ src/mm-broadband-modem-mbim.c | 669
+ ++++++++++++++++++++----------------------
+ 1 file changed, 311 insertions(+), 358 deletions(-)
+
+commit 20b3675adf373c6f2463c4ecf25400fddd560452
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 17:07:32 2017 -0700
+
+ broadband-modem-mbim: port initialization_started to use GTask
+
+ src/mm-broadband-modem-mbim.c | 63
+ +++++++++++++++++++++----------------------
+ 1 file changed, 30 insertions(+), 33 deletions(-)
+
+commit e8ffefaf6ff483fb3724faaaa1cae99f87ca64c8
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 16:20:23 2017 -0700
+
+ broadband-modem-mbim: port enabling_started to use GTask
+
+ src/mm-broadband-modem-mbim.c | 18 +++++++-----------
+ 1 file changed, 7 insertions(+), 11 deletions(-)
+
+commit e0eb23d9a6ed801a0d19b55df5474d32791dabf0
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 16:32:13 2017 -0700
+
+ broadband-modem-mbim: port modem_create_bearer to use GTask
+
+ src/mm-broadband-modem-mbim.c | 33 ++++++++++-----------------------
+ 1 file changed, 10 insertions(+), 23 deletions(-)
+
+commit ec14a26a7d20c4c7a79f4887de6d925a7438adaf
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 16:38:00 2017 -0700
+
+ broadband-modem-mbim: port messaging_load_supported_storages to
+ use GTask
+
+ src/mm-broadband-modem-mbim.c | 12 ++++--------
+ 1 file changed, 4 insertions(+), 8 deletions(-)
+
+commit 5bf0af7a83d87a7239c2bee1ba7a1b06da6b1aef
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 16:21:41 2017 -0700
+
+ broadband-modem-mbim: port messaging_check_support to use GTask
+
+ src/mm-broadband-modem-mbim.c | 18 ++++++------------
+ 1 file changed, 6 insertions(+), 12 deletions(-)
+
+commit cc71743e26131355c148a0848449edf5b5617714
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 16:16:49 2017 -0700
+
+ broadband-modem-mbim: port modem_3gpp_load_imei to use GTask
+
+ src/mm-broadband-modem-mbim.c | 30 +++++++++++-------------------
+ 1 file changed, 11 insertions(+), 19 deletions(-)
+
+commit 5b0b3f326e363ed4a058427896950ba5b70225b6
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 16:13:13 2017 -0700
+
+ broadband-modem-mbim: port modem_3gpp_load_operator_code to use GTask
+
+ src/mm-broadband-modem-mbim.c | 37 ++++++++++++++++---------------------
+ 1 file changed, 16 insertions(+), 21 deletions(-)
+
+commit 9401aa70e52f14d3aba13798154f49b09c8ee38f
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 16:10:40 2017 -0700
+
+ broadband-modem-mbim: port modem_3gpp_load_operator_name to use GTask
+
+ src/mm-broadband-modem-mbim.c | 37 ++++++++++++++++---------------------
+ 1 file changed, 16 insertions(+), 21 deletions(-)
+
+commit fb38601ef4b388506008067f375a25330392c07d
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 16:06:20 2017 -0700
+
+ broadband-modem-mbim: port modem_load_supported_ip_families to
+ use GTask
+
+ src/mm-broadband-modem-mbim.c | 33 +++++++++++++++------------------
+ 1 file changed, 15 insertions(+), 18 deletions(-)
+
+commit 99bb49d814172f555caeb59ced445f3118bac625
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 16:03:02 2017 -0700
+
+ broadband-modem-mbim: port modem_load_supported_modes to use GTask
+
+ src/mm-broadband-modem-mbim.c | 27 ++++++++++-----------------
+ 1 file changed, 10 insertions(+), 17 deletions(-)
+
+commit df0049d1c2d8643a148e8b1f005bb3b92aff16e5
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 15:59:34 2017 -0700
+
+ broadband-modem-mbim: port modem_load_device_identifier to use GTask
+
+ src/mm-broadband-modem-mbim.c | 24 ++++++------------------
+ 1 file changed, 6 insertions(+), 18 deletions(-)
+
+commit 43aaa92ee1959dadd150ceb01624655d87876628
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 15:57:44 2017 -0700
+
+ broadband-modem-mbim: port modem_load_equipment_identifier to
+ use GTask
+
+ src/mm-broadband-modem-mbim.c | 32 +++++++++++++++-----------------
+ 1 file changed, 15 insertions(+), 17 deletions(-)
+
+commit fb9c758f050ab004f993aee48f9f5395d8699b46
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 15:55:34 2017 -0700
+
+ broadband-modem-mbim: port modem_load_revision to use GTask
+
+ src/mm-broadband-modem-mbim.c | 32 +++++++++++++++-----------------
+ 1 file changed, 15 insertions(+), 17 deletions(-)
+
+commit 234d7810f54acf1788993b81d35d5e309db4aaa8
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 15:51:14 2017 -0700
+
+ broadband-modem-mbim: port modem_load_model to use GTask
+
+ src/mm-broadband-modem-mbim.c | 21 ++++++++++-----------
+ 1 file changed, 10 insertions(+), 11 deletions(-)
+
+commit 6cf6eeb0aad71874746674b3dd23c67b00222cca
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 15:49:03 2017 -0700
+
+ broadband-modem-mbim: port modem_load_manufacturer to use GTask
+
+ src/mm-broadband-modem-mbim.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 3a789c0de785133ed2acf9e37f4eab8ef193f44f
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 10 11:20:57 2017 -0700
+
+ bearer-qmi: replace g_new + memcpy with g_memdup
+
+ src/mm-bearer-qmi.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 627ef274dff34f8e47425529cb3a7534dd47563f
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 11:30:21 2017 -0700
+
+ plugin: check error returned by g_task_propagate_error instead
+
+ mm_plugin_supports_port_finish directly casts the value returned by
+ g_task_propagate_int to MMPluginSupportsResult enum value, which
+ implicitly assumes MM_PLUGIN_SUPPORTS_PORT_UNKNOWN equals to -1.
+ Instead of relying on such an implicit assumption, this patch modifies
+ the code to check if the GError argument to g_task_propagate_error is
+ populated instead.
+
+ src/mm-plugin.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit a36347eff794bb5d8c1b4e641a56aa70d7a0ef8c
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 11:30:20 2017 -0700
+
+ broadband-bearer: check error returned by g_task_propagate_error
+ instead
+
+ When returning an enum value via g_task_return_int, some code assumes
+ the enum value is always non-negative and thus considers that
+ a negative
+ value implies an error. This assumption could be invalidated if a
+ negative value is later added to the enum. To make it less error prone
+ to future changes, this patch modifies the code to check if the GError
+ argument to g_task_propagate_error is populated instead.
+
+ src/mm-broadband-bearer.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 22e5b216cb312f35a51939bf6922a23e488f9a32
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jul 7 00:09:57 2017 -0700
+
+ broadband-modem: remove unnecessary G_TYPE_CHECK_INSTANCE_CAST calls
+
+ This patch removes unnecessary G_TYPE_CHECK_INSTANCE_CAST calls on any
+ instance that is already of the type being casted to.
+
+ src/mm-broadband-modem.c | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+commit d308bbf4c6d9cfbf59c257e5a4c802cba9065906
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 12:34:53 2017 -0700
+
+ novatel-lte: check error returned by g_task_propagate_error instead
+
+ When returning an enum value via g_task_return_int, some code assumes
+ the enum value is always non-negative and thus considers that
+ a negative
+ value implies an error. This assumption could be invalidated if a
+ negative value is later added to the enum. To make it less error prone
+ to future changes, this patch modifies the code to check if the GError
+ argument to g_task_propagate_error is populated instead.
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 344d96af44f0c2aa4b31e39fb29c3e76d17b4e4b
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 6 15:18:18 2017 -0700
+
+ cinterion: check error returned by g_task_propagate_error instead
+
+ When returning an enum value via g_task_return_int, some code assumes
+ the enum value is always non-negative and thus considers that
+ a negative
+ value implies an error. This assumption could be invalidated if a
+ negative value is later added to the enum. To make it less error prone
+ to future changes, this patch modifies the code to check if the GError
+ argument to g_task_propagate_error is populated instead.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 9 +++++++--
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 6 +++++-
+ plugins/cinterion/mm-common-cinterion.c | 7 +++++--
+ 3 files changed, 17 insertions(+), 5 deletions(-)
+
+commit b44f1b6da07580ec1c9704125b00d7711b4dea5e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 6 11:16:37 2017 +0200
+
+ base-call: port mm_base_call_delete to use GTask
+
+ src/mm-base-call.c | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+commit da45d0c5b2d90aac9dbb3c56f9a3270470b3e8a4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 6 11:11:20 2017 +0200
+
+ base-call: minor coding style fixes
+
+ src/mm-base-call.c | 106
+ +++++++++++++++++++++++++++--------------------------
+ 1 file changed, 54 insertions(+), 52 deletions(-)
+
+commit 4e5ad5585a56a6973003a621c92415e7c9b9014c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 6 10:59:09 2017 +0200
+
+ base-call: no need to keep a modem reference around
+
+ The mm_base_modem_at_command() async calls keep a modem reference
+ valid for as long as the operation and its completion handler are run,
+ so there really is no need for the caller (the call operation) to keep
+ a reference to the modem object itself.
+
+ src/mm-base-call.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 2ffcd93ebbbb442fa088f86322aaa6e3b9aef97e
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 15:12:51 2017 -0700
+
+ base-call: port call_delete to use GTask
+
+ src/mm-base-call.c | 27 ++++++---------------------
+ 1 file changed, 6 insertions(+), 21 deletions(-)
+
+commit f9ddfd7aa4a560dfde1d412750f8f273dca4bcc1
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 15:12:50 2017 -0700
+
+ base-call: port call_send_dtmf_ready to use GTask
+
+ src/mm-base-call.c | 44 +++++++++++---------------------------------
+ 1 file changed, 11 insertions(+), 33 deletions(-)
+
+commit 3659ada7d947ce64e3d91cad3de561410e08d9b6
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 15:12:49 2017 -0700
+
+ base-call: port call_hangup to use GTask
+
+ src/mm-base-call.c | 53
+ +++++++++++++++++------------------------------------
+ 1 file changed, 17 insertions(+), 36 deletions(-)
+
+commit c5232ffe410838f6c32ec0daab9074828ac4db83
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 15:12:48 2017 -0700
+
+ base-call: port call_accept to use GTask
+
+ src/mm-base-call.c | 55
+ ++++++++++++++++++------------------------------------
+ 1 file changed, 18 insertions(+), 37 deletions(-)
+
+commit 76b3ad41fe7802dac63f62e16bba15a98d48726c
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 15:12:47 2017 -0700
+
+ base-call: port call_start to use GTask
+
+ src/mm-base-call.c | 59
+ ++++++++++++++++++------------------------------------
+ 1 file changed, 20 insertions(+), 39 deletions(-)
+
+commit d56621b9a1343fdda784730846f23c805d2145c4
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 5 22:20:09 2017 -0700
+
+ iface-modem: check error returned by g_task_propagate_error instead
+
+ When returning an enum value via g_task_return_int, some code assumes
+ the enum value is always non-negative and thus considers that
+ a negative
+ value implies an error. This assumption could be invalidated if a
+ negative value is later added to the enum. To make it less error prone
+ to future changes, this patch modifies the code to check if the GError
+ argument to g_task_propagate_error is populated instead.
+
+ src/mm-iface-modem.c | 19 ++++++++++++++-----
+ 1 file changed, 14 insertions(+), 5 deletions(-)
+
+commit ba3a7f0c69e067f383b459d53507dd77a5d644af
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 4 11:40:22 2017 -0700
+
+ port-serial-qcdm: port mm_port_serial_qcdm_command to use GTask
+
+ src/mm-port-serial-qcdm.c | 24 +++++++++---------------
+ 1 file changed, 9 insertions(+), 15 deletions(-)
+
+commit 75aebc71c7941c38c86c7e03bc1aeb0e4dc976d5
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 4 11:40:09 2017 -0700
+
+ base-sim: port mm_base_sim_send_{pin,puk} to use GTask
+
+ src/mm-base-sim.c | 107
+ +++++++++++++++++++++++++++---------------------------
+ 1 file changed, 54 insertions(+), 53 deletions(-)
+
+commit bc51c8c474c05dcb5126ad51b2672ba3b7a32d6a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 4 11:40:08 2017 -0700
+
+ base-sim: port load_* to use GTask
+
+ This patch ports the following functions to use GTask:
+ - load_imsi
+ - load_operator_identifier
+ - load_operator_name
+ - load_sim_identifier
+
+ src/mm-base-sim.c | 75
+ ++++++++++++++++++++++++-------------------------------
+ 1 file changed, 33 insertions(+), 42 deletions(-)
+
+commit b99f9e3b0c196889aefd7f34024fe9248b4c57e8
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 4 11:40:07 2017 -0700
+
+ base-sim: port mm_base_sim_initialize to use GTask
+
+ src/mm-base-sim.c | 127
+ +++++++++++++++++++++++++-----------------------------
+ 1 file changed, 58 insertions(+), 69 deletions(-)
+
+commit d085cb2b968fe0641e029f1b13fe0e5fccd01b47
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 4 11:40:06 2017 -0700
+
+ base-sim: port send_pin and send_puk to use GTask
+
+ src/mm-base-sim.c | 21 +++++++++------------
+ 1 file changed, 9 insertions(+), 12 deletions(-)
+
+commit 650d2713501fc01bfd3f56e7cb516b72dd15937a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 4 11:40:05 2017 -0700
+
+ base-sim: port enable_pin to use GTask
+
+ src/mm-base-sim.c | 21 +++++++++------------
+ 1 file changed, 9 insertions(+), 12 deletions(-)
+
+commit 12d578ff8510c90d4f3214124bcd3f8505d357ac
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jul 4 11:40:04 2017 -0700
+
+ base-sim: port change_pin to use GTask
+
+ src/mm-base-sim.c | 21 +++++++++------------
+ 1 file changed, 9 insertions(+), 12 deletions(-)
+
+commit 87176cf52c1ab5ae1c0800b5f18070bdb03150f9
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Jul 1 00:35:06 2017 -0700
+
+ base-sms: port mm_base_sms_delete to use GTask
+
+ src/mm-base-sms.c | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit 03c86a9db82dbd4337379dcd945990ee8a505e8d
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Jul 1 00:35:05 2017 -0700
+
+ base-sms: port sms_delete to use GTask
+
+ src/mm-base-sms.c | 69
+ +++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 37 insertions(+), 32 deletions(-)
+
+commit c5be9aad9706f2d4c909f80eb28238ff8b09171d
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Jul 1 00:35:04 2017 -0700
+
+ base-sms: port sms_send to use GTask
+
+ src/mm-base-sms.c | 99
+ ++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 55 insertions(+), 44 deletions(-)
+
+commit 4902d9d7597325aeb457635c663b2d9b83f9b4e0
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Jul 1 00:35:03 2017 -0700
+
+ base-sms: port sms_store to use GTask
+
+ src/mm-base-sms.c | 88
+ ++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 48 insertions(+), 40 deletions(-)
+
+commit 1f4cd9ac9192f375f1a92b3c87dc4c32a7c856f0
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Jul 1 00:33:26 2017 -0700
+
+ base-bearer: port mm_base_bearer_disconnect to use GTask
+
+ src/mm-base-bearer.c | 41 +++++++++++++++++------------------------
+ 1 file changed, 17 insertions(+), 24 deletions(-)
+
+commit 98f4fe2f85bfb211625ef60dd525dc8016125dec
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Jul 1 00:33:25 2017 -0700
+
+ base-bearer: port mm_base_bearer_connect to use GTask
+
+ src/mm-base-bearer.c | 55
+ ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 28 insertions(+), 27 deletions(-)
+
+commit 0efc3cf90876cde2606b1844730b17ad4780f638
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Jul 1 00:16:20 2017 -0700
+
+ bearer-qmi: port reload_stats to use GTask
+
+ src/mm-bearer-qmi.c | 68
+ ++++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 38 insertions(+), 30 deletions(-)
+
+commit 9efc2f705020766c8379cb434b67e6660dee9274
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Jul 1 00:16:19 2017 -0700
+
+ bearer-qmi: port disconnect to use GTask
+
+ src/mm-bearer-qmi.c | 72
+ +++++++++++++++++++++++++++++------------------------
+ 1 file changed, 39 insertions(+), 33 deletions(-)
+
+commit a6547642ede2b3adf28f9ddbb2ca16fd60fb9c02
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Jul 1 00:16:18 2017 -0700
+
+ bearer-qmi: port _connect to use GTask
+
+ src/mm-bearer-qmi.c | 185
+ ++++++++++++++++++++++++++++------------------------
+ 1 file changed, 100 insertions(+), 85 deletions(-)
+
+commit dfcffbae04e0f9147c874f1df616a7b6287397ac
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 20:00:34 2017 -0700
+
+ base-sim: remove unused wait_for_unlock_id in SendPinPukContext
+
+ Commit d27e40ae9 ("core: new `Initializing' state in the global modem
+ state machine") added a 'wait_for_unlock_id' field to
+ SendPinPukContext,
+ but never actually set it up.
+
+ src/mm-base-sim.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 524acd75966d283dda0ba7d748b16ce6902a2868
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 06:27:07 2017 -0700
+
+ iface-modem: use g_new0 instead of g_slice_new0 to allocate context
+
+ By using g_new0 instead of g_slice_new0 to allocate certain context
+ structs, we can simply use g_free as GDestroyNotify in
+ g_task_set_task_data and get rid of those functions that solely
+ wrap the
+ g_slice_free call.
+
+ src/mm-iface-modem.c | 20 ++++----------------
+ 1 file changed, 4 insertions(+), 16 deletions(-)
+
+commit d49cf585dd1f3e6f06b4ee23bbd3ca5278f2739c
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 05:59:40 2017 -0700
+
+ bearer-mbim: port MMBearerMbim to use GTask
+
+ src/mm-bearer-mbim.c | 270
+ +++++++++++++++++++++++++--------------------------
+ 1 file changed, 131 insertions(+), 139 deletions(-)
+
+commit bdfd6d92eece28a7376deff61ec35dbcd36a67a2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 30 14:29:34 2017 +0200
+
+ telit: minor coding style fixes
+
+ Always name 'self' the object being implemented.
+
+ plugins/telit/mm-broadband-modem-telit.c | 98
+ +++++++++++++++-----------------
+ 1 file changed, 46 insertions(+), 52 deletions(-)
+
+commit acf1013356ba77518e6ad1acc98a36c5a763c184
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Fri Jun 30 13:02:26 2017 +0200
+
+ telit: port mm-broadband-modem-telit to use GTask
+
+ plugins/telit/mm-broadband-modem-telit.c | 285
+ ++++++++++++++-----------------
+ 1 file changed, 131 insertions(+), 154 deletions(-)
+
+commit 347610a63d82ad7c101e0d9a3bdf93c5a3d50a7b
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 03:52:13 2017 -0700
+
+ iface-modem: port mm_iface_modem_wait_for_final_state to use GTask
+
+ src/mm-iface-modem.c | 103
+ ++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 64 insertions(+), 39 deletions(-)
+
+commit 7d197d10bde78088cfca6f2a1227b7acb9b31c56
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:23:46 2017 -0700
+
+ iface-modem: port internal_load_unlock_required to use GTask
+
+ src/mm-iface-modem.c | 85
+ +++++++++++++++++++++++++++-------------------------
+ 1 file changed, 45 insertions(+), 40 deletions(-)
+
+commit 4df545884733bbc5a851ab86e0983dec057d5482
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:23:45 2017 -0700
+
+ iface-modem: port mm_iface_modem_update_lock_info to use GTask
+
+ src/mm-iface-modem.c | 95
+ ++++++++++++++++++++++++++++------------------------
+ 1 file changed, 51 insertions(+), 44 deletions(-)
+
+commit ebc20e7948e43b37c477581312e095725e318e8b
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:23:44 2017 -0700
+
+ iface-modem: port mm_iface_modem_set_power_state to use GTask
+
+ src/mm-iface-modem.c | 169
+ +++++++++++++++++++++++++++------------------------
+ 1 file changed, 91 insertions(+), 78 deletions(-)
+
+commit 25f0d420896e397eb5f90187fa2bbcf48de3e275
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:23:43 2017 -0700
+
+ iface-modem: port mm_iface_modem_set_current_modes to use GTask
+
+ src/mm-iface-modem.c | 115
+ ++++++++++++++++++++++++++-------------------------
+ 1 file changed, 58 insertions(+), 57 deletions(-)
+
+commit 71dd152dbeb87e834057049aa428b9d54a91b328
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:23:42 2017 -0700
+
+ iface-modem: port mm_iface_modem_set_current_bands to use GTask
+
+ src/mm-iface-modem.c | 64
+ ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 32 insertions(+), 32 deletions(-)
+
+commit 0bc40c8c95af9c366b84ef2f9d35a9ff36845d9e
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:23:41 2017 -0700
+
+ iface-modem: port mm_iface_modem_create_bearer to use GTask
+
+ src/mm-iface-modem.c | 53
+ ++++++++++++++++++++++++----------------------------
+ 1 file changed, 24 insertions(+), 29 deletions(-)
+
+commit c09b3b9426145b615dd47ce507eda396dc8121a6
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:23:40 2017 -0700
+
+ iface-modem: port mm_iface_modem_disable to use GTask
+
+ src/mm-iface-modem.c | 18 +++++++-----------
+ 1 file changed, 7 insertions(+), 11 deletions(-)
+
+commit 00a092db2ede36bb919f7db5da54135caba39783
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:23:39 2017 -0700
+
+ iface-modem: port mm_iface_modem_enable to use GTask
+
+ src/mm-iface-modem.c | 146
+ +++++++++++++++++++++++++--------------------------
+ 1 file changed, 71 insertions(+), 75 deletions(-)
+
+commit 66f10d61a20e6c661cb04225835ec7a343f4fe36
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:23:38 2017 -0700
+
+ iface-modem: port mm_iface_modem_initialize to use GTask
+
+ src/mm-iface-modem.c | 426
+ ++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 231 insertions(+), 195 deletions(-)
+
+commit 6e9334e31779be51f1ea03bcf5c18aa3a5acfc1e
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:57:16 2017 -0700
+
+ sms-qmi: port MMSmsQmi to use GTask
+
+ src/mm-sms-qmi.c | 266
+ +++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 142 insertions(+), 124 deletions(-)
+
+commit b9345bb41a20a8283021f5a482c6f321120dee4b
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:16:27 2017 -0700
+
+ sim-mbim: port MMSimMbim to use GTask
+
+ src/mm-sim-mbim.c | 201
+ ++++++++++++++++++++++++------------------------------
+ 1 file changed, 89 insertions(+), 112 deletions(-)
+
+commit 7ac30db4b7e5c492b81a92499355b27c8ac6df5f
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 30 02:21:18 2017 -0700
+
+ iface-modem-3gpp: port mm_iface_modem_3gpp_register_in_network to
+ use GTask
+
+ src/mm-iface-modem-3gpp.c | 93
+ +++++++++++++++++++++++++----------------------
+ 1 file changed, 49 insertions(+), 44 deletions(-)
+
+commit 48b154f2655629d39e9aeabe1c3f2f91bf652e0b
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 29 04:46:04 2017 -0700
+
+ iface-modem-cdma: port mm_iface_modem_cdma_run_registration_checks
+ to use GTask
+
+ src/mm-iface-modem-cdma.c | 207
+ +++++++++++++++++++++++++---------------------
+ 1 file changed, 112 insertions(+), 95 deletions(-)
+
+commit 0d2fb2fe45d85fd57d7a335d9bf591c7d15b64d4
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 29 04:46:03 2017 -0700
+
+ iface-modem-cdma: port mm_iface_modem_cdma_register_in_network to
+ use GTask
+
+ src/mm-iface-modem-cdma.c | 21 +++++++++------------
+ 1 file changed, 9 insertions(+), 12 deletions(-)
+
+commit 3cf23b6c44195d317246157c51b134da6db1b8a0
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 29 04:46:02 2017 -0700
+
+ iface-modem-cdma: port mm_iface_modem_cdma_disable to use GTask
+
+ src/mm-iface-modem-cdma.c | 82
+ +++++++++++++++++++++++++----------------------
+ 1 file changed, 44 insertions(+), 38 deletions(-)
+
+commit b94ed662f7fd76de0752bc343baa7351085eac57
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 29 04:46:01 2017 -0700
+
+ iface-modem-cdma: port mm_iface_modem_cdma_enable to use GTask
+
+ src/mm-iface-modem-cdma.c | 102
+ +++++++++++++++++++++-------------------------
+ 1 file changed, 46 insertions(+), 56 deletions(-)
+
+commit d9918afa99e08e0717d013e0ea6da609615b16ba
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 29 04:46:00 2017 -0700
+
+ iface-modem-cdma: port mm_iface_modem_cdma_initialize to use GTask
+
+ src/mm-iface-modem-cdma.c | 105
+ +++++++++++++++++++++-------------------------
+ 1 file changed, 48 insertions(+), 57 deletions(-)
+
+commit 1bfe5434bb8ad9542373a2227492231f8bbb14b4
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 29 04:46:21 2017 -0700
+
+ iface-modem-3gpp: port
+ mm_iface_modem_3gpp_reload_current_registration_info to use GTask
+
+ src/mm-iface-modem-3gpp.c | 83
+ ++++++++++++++++++++++++++---------------------
+ 1 file changed, 46 insertions(+), 37 deletions(-)
+
+commit c973eb41b246f4e4080b3914936e618bed0dea8e
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 29 04:46:20 2017 -0700
+
+ iface-modem-3gpp: port mm_iface_modem_3gpp_disable to use GTask
+
+ src/mm-iface-modem-3gpp.c | 103
+ ++++++++++++++++++++++++----------------------
+ 1 file changed, 53 insertions(+), 50 deletions(-)
+
+commit da8b069f803235075de3edfc5f4d78d218bf2b66
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 29 04:46:19 2017 -0700
+
+ iface-modem-3gpp: port mm_iface_modem_3gpp_enable to use GTask
+
+ src/mm-iface-modem-3gpp.c | 144
+ ++++++++++++++++++++++------------------------
+ 1 file changed, 70 insertions(+), 74 deletions(-)
+
+commit c08de5866829bc394e6954e335e49b2663630a48
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 29 04:46:18 2017 -0700
+
+ iface-modem-3gpp: port mm_iface_modem_3gpp_initialize to use GTask
+
+ src/mm-iface-modem-3gpp.c | 95
+ +++++++++++++++++++++--------------------------
+ 1 file changed, 43 insertions(+), 52 deletions(-)
+
+commit 35837208df22037f3dd3167d56b752f1343d4429
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Thu Jun 29 11:09:51 2017 +0200
+
+ telit: port mm-common-telit to use GTask
+
+ plugins/telit/mm-common-telit.c | 65
+ +++++++++++++++++++----------------------
+ 1 file changed, 30 insertions(+), 35 deletions(-)
+
+commit 7c5f308af2f5595f2d3656013c6a36c0e397c84a
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:44:22 2017 -0700
+
+ iface-modem-time: port update_network_timezone to use GTask
+
+ src/mm-iface-modem-time.c | 120
+ +++++++++++++++++++++++-----------------------
+ 1 file changed, 61 insertions(+), 59 deletions(-)
+
+commit 3e925d3b2d427ded5021b0c1c083aecc711d49a4
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:44:21 2017 -0700
+
+ iface-modem-time: port mm_iface_modem_time_disable to use GTask
+
+ src/mm-iface-modem-time.c | 91
+ +++++++++++++++++++++++++----------------------
+ 1 file changed, 48 insertions(+), 43 deletions(-)
+
+commit fe85ded3e1590f8645cab21fbbf36a6949be0ede
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:44:20 2017 -0700
+
+ iface-modem-time: port mm_iface_modem_time_enable to use GTask
+
+ src/mm-iface-modem-time.c | 108
+ +++++++++++++++++++++-------------------------
+ 1 file changed, 49 insertions(+), 59 deletions(-)
+
+commit 07c5d78e13f20ab8701d6aa212694ff9ed0575ae
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:44:19 2017 -0700
+
+ iface-modem-time: port mm_iface_modem_time_initialize to use GTask
+
+ src/mm-iface-modem-time.c | 93
+ ++++++++++++++++++++---------------------------
+ 1 file changed, 40 insertions(+), 53 deletions(-)
+
+commit d34cb65828fe8bceafff97b64bebb108cbd743ed
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:44:04 2017 -0700
+
+ iface-modem-voice: port mm_iface_modem_voice_disable to use GTask
+
+ src/mm-iface-modem-voice.c | 89
+ ++++++++++++++++++++++++----------------------
+ 1 file changed, 47 insertions(+), 42 deletions(-)
+
+commit 121d43fcc69ee985155979ebe549a20e933f7d12
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:44:03 2017 -0700
+
+ iface-modem-voice: port mm_iface_modem_voice_enable to use GTask
+
+ src/mm-iface-modem-voice.c | 108
+ ++++++++++++++++++++-------------------------
+ 1 file changed, 49 insertions(+), 59 deletions(-)
+
+commit 1ff9fe6ac2309675b2574513d956ed50a1826b59
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:44:02 2017 -0700
+
+ iface-modem-voice: port mm_iface_modem_voice_initialize to use GTask
+
+ src/mm-iface-modem-voice.c | 97
+ ++++++++++++++++++++--------------------------
+ 1 file changed, 42 insertions(+), 55 deletions(-)
+
+commit b7a0afaf954192aeeea376fb8fb987d0aa7f6e88
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:43:50 2017 -0700
+
+ iface-modem-oma: port mm_iface_modem_oma_disable to use GTask
+
+ src/mm-iface-modem-oma.c | 87
+ +++++++++++++++++++++++++-----------------------
+ 1 file changed, 46 insertions(+), 41 deletions(-)
+
+commit 193784ebf8993fd6e8c11430fe70934df0ec94ce
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:43:49 2017 -0700
+
+ iface-modem-oma: port mm_iface_modem_oma_enable to use GTask
+
+ src/mm-iface-modem-oma.c | 125
+ ++++++++++++++++++++++-------------------------
+ 1 file changed, 59 insertions(+), 66 deletions(-)
+
+commit f23f3f2c3f87d9451aa8701cd5be50cb0f2838a2
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 21:43:48 2017 -0700
+
+ iface-modem-oma: port mm_iface_modem_oma_initialize to use GTask
+
+ src/mm-iface-modem-oma.c | 99
+ +++++++++++++++++++++---------------------------
+ 1 file changed, 43 insertions(+), 56 deletions(-)
+
+commit 04425e8ee0db6b416fc70596d9938f9d166db0b4
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 09:30:03 2017 -0700
+
+ iface-modem-3gpp-ussd: port mm_iface_modem_3gpp_ussd_disable to
+ use GTask
+
+ src/mm-iface-modem-3gpp-ussd.c | 73
+ ++++++++++++++++++++++--------------------
+ 1 file changed, 39 insertions(+), 34 deletions(-)
+
+commit bee90dc1037717f81307090bf52ead2b3dc58623
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 09:30:02 2017 -0700
+
+ iface-modem-3gpp-ussd: port mm_iface_modem_3gpp_ussd_enable to
+ use GTask
+
+ src/mm-iface-modem-3gpp-ussd.c | 73
+ ++++++++++++++++++++++--------------------
+ 1 file changed, 39 insertions(+), 34 deletions(-)
+
+commit e8a647ddee33494cf3a20a05701a6a4ad5b26af4
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 09:30:01 2017 -0700
+
+ iface-modem-3gpp-ussd: port mm_iface_modem_3gpp_ussd_initialize to
+ use GTask
+
+ src/mm-iface-modem-3gpp-ussd.c | 76
+ ++++++++++++++++++++++--------------------
+ 1 file changed, 39 insertions(+), 37 deletions(-)
+
+commit 3d800c2f496480d2979c4a1d70b3887ec2934b59
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 08:30:21 2017 -0700
+
+ compat: add compatibility definitions for old MM_MODEM_BAND_EUTRAN_*
+ values
+
+ Those Roman numeral suffixes in MM_MODEM_BAND_EUTRAN_* were replaced
+ with 1, 2, 3, ..., etc. This patch adds a compatibility header,
+ ModemManager-compat.h, to alias the old MM_MODEM_BAND_EUTRAN_*
+ values to
+ the new values.
+
+ docs/reference/api/ModemManager-docs.xml | 5 +
+ docs/reference/api/ModemManager-sections.txt | 40 +++
+ include/Makefile.am | 1 +
+ include/ModemManager-compat.h | 468
+ +++++++++++++++++++++++++++
+ include/ModemManager.h | 3 +
+ libmm-glib/Makefile.am | 1 +
+ 6 files changed, 518 insertions(+)
+
+commit 989ade7b8c2f8add2b670294453d2a93463b42f2
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 28 00:13:22 2017 -0700
+
+ enums: replace Roman numeral suffixes in MM_MODEM_BAND_EUTRAN_*
+
+ 3GPP TS 36.101 Table 5.5-1 refers the E-UTRA operating bands as 1,
+ 2, 3,
+ ..., etc.
+
+ include/ModemManager-enums.h | 144 +++++++-------
+ plugins/altair/mm-modem-helpers-altair-lte.c | 4 +-
+ .../altair/tests/test-modem-helpers-altair-lte.c | 8 +-
+ plugins/telit/mm-modem-helpers-telit.c | 6 +-
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 24 +--
+ plugins/ublox/mm-modem-helpers-ublox.c | 20 +-
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 62 +++---
+ src/mm-modem-helpers-qmi.c | 211
+ ++++++++++-----------
+ 8 files changed, 239 insertions(+), 240 deletions(-)
+
+commit 0fb0184a2f2c11927ef095fba71e0725e5a6e5e2
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jun 27 08:54:08 2017 -0700
+
+ iface-modem-messaging: port mm_iface_modem_messaging_disable to
+ use GTask
+
+ src/mm-iface-modem-messaging.c | 89
+ ++++++++++++++++++++++--------------------
+ 1 file changed, 47 insertions(+), 42 deletions(-)
+
+commit 1603e6e4bd89d4a00df668831cd29317bb9dfaca
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jun 27 08:54:07 2017 -0700
+
+ iface-modem-messaging: port mm_iface_modem_messaging_enable to
+ use GTask
+
+ src/mm-iface-modem-messaging.c | 182
+ ++++++++++++++++++++---------------------
+ 1 file changed, 91 insertions(+), 91 deletions(-)
+
+commit 6aa4e051087be3408c3b0bc897d2b8321b4844ef
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jun 27 08:54:06 2017 -0700
+
+ iface-modem-messaging: port mm_iface_modem_messaging_initialize to
+ use GTask
+
+ src/mm-iface-modem-messaging.c | 129
+ +++++++++++++++++++----------------------
+ 1 file changed, 60 insertions(+), 69 deletions(-)
+
+commit 24420586672c9880a64b2eef72661a593ba26807
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jun 27 07:31:49 2017 -0700
+
+ iface-modem-firmware: port mm_iface_modem_firmware_initialize to
+ use GTask
+
+ src/mm-iface-modem-firmware.c | 95
+ +++++++++++++++++++------------------------
+ 1 file changed, 41 insertions(+), 54 deletions(-)
+
+commit 8101ce3f15eb45912cc01ad5ba0307adcb0426d0
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jun 27 01:42:28 2017 -0700
+
+ iface-modem-location: port mm_iface_modem_location_enable to use GTask
+
+ src/mm-iface-modem-location.c | 82
+ ++++++++++++++++++-------------------------
+ 1 file changed, 35 insertions(+), 47 deletions(-)
+
+commit 7c2c7bc7630a16de2f273b2a5d11819a06508e72
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jun 27 01:41:45 2017 -0700
+
+ iface-modem-location: port mm_iface_modem_location_initialize to
+ use GTask
+
+ src/mm-iface-modem-location.c | 109
+ +++++++++++++++++++-----------------------
+ 1 file changed, 50 insertions(+), 59 deletions(-)
+
+commit adc30c7073af2824dfa6fc889e0d705e0cb0a8ff
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jun 26 22:54:00 2017 -0700
+
+ iface-modem-location: port setup_gathering to use GTask
+
+ src/mm-iface-modem-location.c | 107
+ ++++++++++++++++++++++--------------------
+ 1 file changed, 57 insertions(+), 50 deletions(-)
+
+commit ed8cc03f970d0ffb7b0082060b6566e424067b0a
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jun 26 22:53:59 2017 -0700
+
+ iface-modem-location: port mm_iface_modem_location_disable to
+ use GTask
+
+ src/mm-iface-modem-location.c | 63
+ ++++++++++++++++++++++---------------------
+ 1 file changed, 33 insertions(+), 30 deletions(-)
+
+commit 292f2402d09015e7a44bd02630961845063b6a7d
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 20:00:53 2017 -0700
+
+ libmm-glib,voice: port mm_modem_voice_list_calls to use GTask
+
+ libmm-glib/mm-modem-voice.c | 77
+ +++++++++++++++++++--------------------------
+ 1 file changed, 32 insertions(+), 45 deletions(-)
+
+commit 9bf9d036eca7b266aec61f271b5058fc46ebf7d8
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 20:00:52 2017 -0700
+
+ libmm-glib,voice: port mm_modem_voice_create_call to use GTask
+
+ libmm-glib/mm-modem-voice.c | 61
+ +++++++++++++--------------------------------
+ 1 file changed, 17 insertions(+), 44 deletions(-)
+
+commit 135fc84cf1750153a8d80541b5561132ed939caa
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 20:00:51 2017 -0700
+
+ libmm-glib,messaging: port mm_modem_messaging_list to use GTask
+
+ libmm-glib/mm-modem-messaging.c | 77
+ +++++++++++++++++------------------------
+ 1 file changed, 32 insertions(+), 45 deletions(-)
+
+commit 498400d94340708c93777ccbe9d543a40b0e2e50
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 20:00:50 2017 -0700
+
+ libmm-glib,messaging: port mm_modem_messaging_create to use GTask
+
+ libmm-glib/mm-modem-messaging.c | 53
+ ++++++++++-------------------------------
+ 1 file changed, 13 insertions(+), 40 deletions(-)
+
+commit aebc1f3f6c8df7a3a3a710fb2626e6003889de29
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 16:31:38 2017 -0700
+
+ libmm-glib,modem: port mm_modem_list_bearers to use GTask
+
+ libmm-glib/mm-modem.c | 80
+ +++++++++++++++++++++++----------------------------
+ 1 file changed, 36 insertions(+), 44 deletions(-)
+
+commit 23206d794a686248cec6307dbd0d943432d473da
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 09:11:07 2017 -0700
+
+ libmm-glib,modem: port mm_modem_create_bearer to use GTask
+
+ libmm-glib/mm-modem.c | 52
+ +++++++++++++--------------------------------------
+ 1 file changed, 13 insertions(+), 39 deletions(-)
+
+commit d84bb54e77bdbde1d69d28f9bb161e6ff1c8c138
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 09:11:06 2017 -0700
+
+ libmm-glib,modem: port mm_modem_get_sim to use GTask
+
+ libmm-glib/mm-modem.c | 41 +++++++++++++----------------------------
+ 1 file changed, 13 insertions(+), 28 deletions(-)
+
+commit 2327ebddf1828911830edf1d3d1b98b04256a341
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 09:11:05 2017 -0700
+
+ libmm-glib: use g_list_copy_deep for deep copying a GList
+
+ libmm-glib/mm-modem-messaging.c | 3 +--
+ libmm-glib/mm-modem-voice.c | 3 +--
+ libmm-glib/mm-modem.c | 3 +--
+ 3 files changed, 3 insertions(+), 6 deletions(-)
+
+commit 8ad785925a778ddd595337ae012b58bd387f7a7e
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 09:11:04 2017 -0700
+
+ core: use g_list_copy_deep for deep copying a GList
+
+ src/mm-base-modem.c | 6 +-----
+ src/mm-bearer-list.c | 5 +++--
+ src/mm-broadband-modem-qmi.c | 3 +--
+ src/mm-device.c | 8 +++-----
+ 4 files changed, 8 insertions(+), 14 deletions(-)
+
+commit 19794d08467ed9dcaae0de2a62a68f6299d4ab7b
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 01:12:19 2017 -0700
+
+ libmm-glib,manager: port mm_manager_scan_devices to use GTask
+
+ libmm-glib/mm-manager.c | 25 ++++++++++---------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+commit 2f3d9642f64fc5cff7d40a9c3d53b87c8c592ad0
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 01:12:18 2017 -0700
+
+ libmm-glib,manager: port mm_manager_set_logging to use GTask
+
+ libmm-glib/mm-manager.c | 25 ++++++++++---------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+commit 56ec6726692c5da5334519a20f58d0ad55f14f44
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 01:12:17 2017 -0700
+
+ libmm-glib,simple: port mm_modem_simple_connect to use GTask
+
+ libmm-glib/mm-modem-simple.c | 52
+ +++++++++++---------------------------------
+ 1 file changed, 13 insertions(+), 39 deletions(-)
+
+commit 9920f868ebb4d3a1b645cccf2f473d5d51b4c29e
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 00:14:57 2017 -0700
+
+ libmm-glib,voice: fix object unref in
+ list_call_context_complete_and_free
+
+ libmm-glib/mm-modem-voice.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c927c0236e5762ef9244c8e3369acd2cf1cf21a3
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 00:04:34 2017 -0700
+
+ libmm-glib,modem: fix object unref in
+ list_bearers_context_complete_and_free
+
+ libmm-glib/mm-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8c1bc84af8f52ebdef25d464c28146987cf80c00
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jun 23 00:14:31 2017 -0700
+
+ libmm-glib,messaging: fix object unref in
+ list_sms_context_complete_and_free
+
+ libmm-glib/mm-modem-messaging.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4d6896f0d919cc0e474a575f6a809ad5f7a121e1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 22 10:51:40 2017 +0200
+
+ build: rename --with-suspend-resume to --with-systemd-suspend-resume
+
+ And only define WITH_SYSTEMD_SUSPEND_RESUME when enabled.
+
+ We already have other systemd specific features under the
+ --with-systemd-* name scheme, so consolidate that, given that we don't
+ have any other method to support suspend/resume notifications.
+
+ configure.ac | 39 ++++++++++++++++++---------------------
+ src/Makefile.am | 2 +-
+ src/main.c | 6 +++---
+ 3 files changed, 22 insertions(+), 25 deletions(-)
+
+commit b2a859a78292175f70dac46d3999c92901fbc264
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 22 10:43:43 2017 +0200
+
+ build: WITH_UDEV is only defined when enabled
+
+ Looks like the preprocessor doesn't choke when using #if WITH_UDEV and
+ it isn't defined to any value, but anyway, better explicitly say that
+ we're checking if it's defined or not.
+
+ cli/mmcli-manager.c | 20 ++++++++++----------
+ src/mm-base-manager.c | 20 ++++++++++----------
+ src/mm-context.c | 4 ++--
+ 3 files changed, 22 insertions(+), 22 deletions(-)
+
+commit 341555504e739f7ccac11501ca874ef6b1989961
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 22 10:30:48 2017 +0200
+
+ build: only define WITH_SYSTEMD_JOURNAL if enabled
+
+ configure.ac | 7 ++-----
+ src/mm-context.c | 2 +-
+ 2 files changed, 3 insertions(+), 6 deletions(-)
+
+commit acf36f2ae0a10f8aeee7a1f8495d3febfba52456
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jun 22 10:26:12 2017 +0200
+
+ build: only define WITH_POLKIT if enabled
+
+ configure.ac | 4 +---
+ src/mm-auth.c | 6 +++---
+ 2 files changed, 4 insertions(+), 6 deletions(-)
+
+commit fd0bed1df9e306d8f0d2498afb8df316ca8b3f9e
+Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
+Date: Wed Jun 21 12:59:35 2017 +0200
+
+ log: Add support for journal logging
+
+ This logging is available if the software was build with the configure
+ option --with-systemd-journal.
+
+ It will be enabled by default if libsystemd is found.
+
+ The runtime parameter --log-journal enables to output of log messages
+ to the systemd journal.
+
+ Please note that the journal priority field has the same value as the
+ syslog level so no conversion is required here.
+
+ configure.ac | 35 +++++++++++++++++++++++++++++++++++
+ docs/man/ModemManager.8 | 3 +++
+ src/Makefile.am | 5 +++++
+ src/main.c | 1 +
+ src/mm-context.c | 14 ++++++++++++++
+ src/mm-context.h | 1 +
+ src/mm-log.c | 49
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-log.h | 1 +
+ 8 files changed, 109 insertions(+)
+
+commit 13592c5d2d6fdf74a5525f1f15d4e7477c73c986
+Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
+Date: Wed Jun 21 12:58:48 2017 +0200
+
+ log: Introduce function pointer to handle different log backends
+
+ This allows for easier additions of other logging mechanism.
+
+ Using the syslog loglevel as parameter because we need to be able to
+ map the MMLogLevel and the GLogLevelFlags to a common representation
+ when using the log_backend in _mm_log and log_handler.
+
+ The syslog level is more suitable because it supports more values than
+ the MMLogLevel.
+
+ src/mm-log.c | 55 ++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 36 insertions(+), 19 deletions(-)
+
+commit 7917c85c6bef78c3ec2973ad567f76f87e1eac4b
+Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
+Date: Wed Jun 21 12:54:37 2017 +0200
+
+ log: Add mapping from glib loglevel to syslog priority
+
+ Improves readability of log_handler function.
+
+ src/mm-log.c | 44 ++++++++++++++++++++------------------------
+ 1 file changed, 20 insertions(+), 24 deletions(-)
+
+commit 9160f4e35096fcb99fd6f713861f8f433ef6fbf2
+Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
+Date: Wed Jun 21 12:54:36 2017 +0200
+
+ log: Refactor log level text output
+
+ Adding a helper function to turn the log level into the text. Also
+ add an internal flag to disable this output. This flag will become
+ useful when adding systemd journal support.
+
+ src/mm-log.c | 34 ++++++++++++++++++++--------------
+ 1 file changed, 20 insertions(+), 14 deletions(-)
+
+commit b4ad1e8a21c1b175eb2459939120c5fb1fef2c08
+Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
+Date: Wed Jun 21 12:54:35 2017 +0200
+
+ log: Refactor evaluation of log level
+
+ Starting with adding a typed enum type for the log level named
+ MMLogLevel.
+
+ Suggested-By: Aleksander Morgado <aleksander@aleksander.es>
+
+ The level was checked twice in _mm_log. Once at the beginning and
+ again when turning the level into both the syslog priority and some
+ descriptive text which was added to the log level. Removing the check
+ at the second location as it was redundant.
+
+ Also adding a helper function to turn the MMLogLevel into the syslog
+ equivalent. This will become handy when adding support for systemd
+ journal.
+
+ src/mm-log.c | 54 ++++++++++++++++++++++++++++++++++++------------------
+ src/mm-log.h | 22 +++++++++++-----------
+ 2 files changed, 47 insertions(+), 29 deletions(-)
+
+commit 0e854644dbd896577eaa8f9b05c10aa6283b9533
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jun 18 10:01:06 2017 +0200
+
+ systemd: drop After=syslog.target rule
+
+ syslog implementations are using socket activation nowadays, so an
+ explicit ordering is not necessary anymore. Plus, syslog.target was
+ already dropped from systemd in v198.
+
+ Reported-by: Michael Biebl <biebl@debian.org>
+
+ data/ModemManager.service.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 4dbea97e1bb74ddf1a1cee15892d18a2bdafa003
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Fri Jun 16 16:12:39 2017 +0200
+
+ telit: fix #PSNT values interpretation for HSDPA and LTE modems
+
+ Telit LTE modems use #PSNT: 4 for LTE access technology,
+ and #PSNT: 5 for unknown access technology, while HSDPA
+ modems use #PSNT: 4 for unknown access technology.
+
+ This patch fixes those #PSNT values interpretation according
+ to the modem capabilities.
+
+ plugins/telit/mm-broadband-modem-telit.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit 58206664959a73deb8008b82b5070edb4ef87df2
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Fri Jun 16 14:57:18 2017 +0200
+
+ helpers: extend +WS46=? response parser to support ranges
+
+ Telit LTE modems could reply to +WS46=? with:
+
+ +WS46: (12,22,25,28-31)
+
+ This patch extends +WS46=? response parser to support ranges.
+
+ src/mm-modem-helpers.c | 25 ++++++++++++-------------
+ src/tests/test-modem-helpers.c | 32 ++++++++++++++++++++++++++++++++
+ 2 files changed, 44 insertions(+), 13 deletions(-)
+
+commit e37e81c2e40b0ddfaa0b8d0075aa83b962d7c32e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jun 14 15:07:51 2017 -0500
+
+ broadband-modem-qmi: allow prefix match for Modem images ending with
+ '?'
+
+ Assume that a modem image build_id "02.08.02.00_?" matches a pri
+ build_id
+ of "02.08.02.00_ATT" or "02.08.02.00_GENERIC".
+
+ src/mm-broadband-modem-qmi.c | 24 +++++++++++++++++++++++-
+ 1 file changed, 23 insertions(+), 1 deletion(-)
+
+commit 75e8527987c1e225c1861a659206630305b2f31b
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jun 6 15:10:49 2017 -0700
+
+ helpers: remove unnecessary `>= 0' checks on guint value
+
+ This CL removes the unnecessary `>= 0' check on `mode_val' and
+ `ind_val', which are both guint values extracted from a GArray with
+ guint values, in mm_3gpp_parse_cmer_test_response to address the
+ following compiler warnings:
+
+ mm-modem-helpers.c:2933:22: error: comparison of unsigned expression
+ >=
+ 0 is always true [-Werror,-Wtautological-compare]
+ if (mode_val >= 0 && mode_val <= 3)
+ ~~~~~~~~ ^ ~
+ mm-modem-helpers.c:2943:21: error: comparison of unsigned expression
+ >=
+ 0 is always true [-Werror,-Wtautological-compare]
+ if (ind_val >= 0 && ind_val <= 2)
+ ~~~~~~~ ^ ~
+
+ src/mm-modem-helpers.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f4c4e364612adcb279ff8bb78a9eab127ef79e82
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 30 20:09:58 2017 +0200
+
+ cinterion: use ^SIND unsolicited messages for access tech reporting
+
+ If the modem supports ^SIND psinfo reporting, we enable the URC and
+ flag the access technology polling unsupported, so that we only update
+ access technology via the +CIEV URCs.
+
+ E.g.:
+
+ (ttyACM1): --> 'AT^SIND="psinfo",1<CR>'
+ (ttyACM1): <-- '<CR><LF>^SIND:
+ psinfo,1,10<CR><LF><CR><LF>OK<CR><LF>'
+ Reporting initial access technologies...
+ Modem /org/freedesktop/ModemManager1/Modem/0: access technology
+ changed (unknown -> hsdpa, hsupa)
+ ...
+ (ttyACM1): <-- '<CR><LF>+CIEV: psinfo,4<CR><LF>'
+ Modem /org/freedesktop/ModemManager1/Modem/0: access technology
+ changed (hsdpa, hsupa -> edge)
+ ...
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 470
+ ++++++++++++++++-------
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 33 ++
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 5 +
+ 3 files changed, 366 insertions(+), 142 deletions(-)
+
+commit fbfb3d182d9852be1d01004ab31721538d6594d1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 30 20:09:57 2017 +0200
+
+ port-serial-at: always prepend unsolicited message handlers
+
+ The generic modem has several URC handlers for generic messages, like
+ +CIEV. But, there may be cases where the plugins themselves want to
+ provide their own URC handlers to be run before the generic one.
+
+ This patch enables this setup by always prepending the new URC
+ handlers, so that the last ones added are processed before the ones
+ already in the list. So if a plugin does its own unsolicited
+ messages setup, they can run first the parent setup and then their
+ own.
+
+ The only thing to consider is that the regex provided by the plugin
+ must be specific enough not to match the specific messages required
+ by the parent implementation.
+
+ src/mm-port-serial-at.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 2c19b1f778af9b0e4200b063d3d0ed064c17b6b1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 30 20:09:56 2017 +0200
+
+ iface-modem: if bands, capabilities or modes change, refresh signal
+
+ We also remove the explicit refresh request from the Cinterion plugin,
+ as this is a generic action applicable to all modems that require
+ polling for signal quality and/or access technology.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 10 ++--------
+ src/mm-iface-modem.c | 16 +++++++++++++---
+ 2 files changed, 15 insertions(+), 11 deletions(-)
+
+commit 8ad868cea27f2ab043e5dfb544d5d70de34f60c2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 30 20:09:55 2017 +0200
+
+ iface-modem: consolidate signal quality and access tech polling
+
+ Plugins have two ways to update signal quality and access technology
+ values: via unsolicited messages or via polling periodically.
+
+ Instead of keeping separate contexts for polling signal quality and
+ access technology values, we setup a common timeout to trigger
+ both. This allows us to simplify in which case the explicit update is
+ required, whenever one is needed to be explicitly updated, the other
+ one should also be.
+
+ The logic now also allows plugins to return an UNSUPPORTED error in
+ either load_signal_quality() and/or load_access_technologies() to tell
+ the interface logic that the polling of the specific item shouldn't be
+ performed (e.g. if the updates are expected via unsolicited messages).
+
+ If both signal quality and access technology polling is flagged as
+ disabled, we totally disable the polling logic internally.
+
+ The new SignalCheckContext is bound to the lifetime of the object so
+ that we can keep the value of the supported flags until the object is
+ destroyed.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 8 +-
+ src/mm-iface-modem-3gpp.c | 7 +-
+ src/mm-iface-modem.c | 589
+ ++++++++++++-----------
+ src/mm-iface-modem.h | 6 +-
+ 4 files changed, 312 insertions(+), 298 deletions(-)
+
+commit 34ac81071b90e4e15c209b2540d62cc8ca55f9da
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 2 12:16:21 2017 +0200
+
+ base-bearer: use an initial longer timeout for connectivity check
+
+ If we ask too quick for the PDP context status after a successful
+ connection attempt reported by the modem, we may find it still flagged
+ as inactive if the modem is still busy setting up the PPP session.
+
+ Do an explicit longer initial timeout before we run the first check,
+ and after that one setup the additional checks at a higher rate.
+
+ Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>
+
+ src/mm-base-bearer.c | 33 ++++++++++++++++++++++++++-------
+ 1 file changed, 26 insertions(+), 7 deletions(-)
+
+commit db5619b3eb9bac980f8f1f67c1589b5d73761917
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jun 5 15:05:45 2017 +0200
+
+ build,dell: reorder rules last
+
+ Dell plugin is a compilation of other plugins, move last.
+
+ plugins/Makefile.am | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+commit d6d7b837b80b2248358db2abebf836ce5bfe9c49
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jun 5 14:24:24 2017 +0200
+
+ build,telit: fix distcheck
+
+ plugins/Makefile.am | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+commit 08782995e2db3e3e86f5cad54825d79eec68d0f2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 2 11:04:35 2017 +0200
+
+ telit: rework QSS unsolicited handler enabling logic
+
+ When the async method starts we store already the primary and the
+ optional secondary port objects in the method context, keeping a full
+ reference for each.
+
+ When we parse the response for the enabling command, we just reuse the
+ stored port objects, instead of re-querying the modem to get them, and
+ this makes sure that the port objects where we want to set the
+ unsolicited message handlers are still valid. If the ports are gone
+ in the middle of the enabling operation, the handlers will be set
+ without errors, even if the ports may likely get completely disposed
+ when this async method context is disposed.
+
+ Additionally, we make sure that we return an error also for the case
+ where there is no secondary port and the enabling on the primary port
+ failed.
+
+ This patch also fixes the use of the at_command_full_finish()
+ method to
+ complete the at_command_full() async operation, to keep consistency.
+
+ plugins/telit/mm-broadband-modem-telit.c | 102
+ +++++++++++++------------------
+ 1 file changed, 41 insertions(+), 61 deletions(-)
+
+commit d6779b91b23e207beb9591461b25c2201f3831b9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 2 10:53:43 2017 +0200
+
+ telit: make sure QSS status values read are always known
+
+ Given that the MMTelitQssStatus enums are mapped directly to the
+ values read from the #QSS response, we need to make sure that we never
+ return a value for which we don't have an enum defined.
+
+ Also, use set_error() instead of the propagate_error() + error_new()
+ combo.
+
+ plugins/telit/mm-modem-helpers-telit.c | 20
+ +++++++++++++++-----
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 1 +
+ 2 files changed, 16 insertions(+), 5 deletions(-)
+
+commit 4cd5044bfd5d2394b5001c4c6de63b181b0051bf
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Thu Jun 1 11:04:04 2017 +0200
+
+ telit: manage QSS transitions
+
+ Currently, Telit's SIM swap implementation is stateless and
+ based on #QSS unsolicited messages 0/1 (SIM_REMOVED/SIM_INSERTED).
+
+ However, the user might have configured the modem in order to
+ provide a
+ more detailed information, with #QSS values 2/3 (SIM UNLOCKED/SIM
+ READY).
+
+ In this case and with current implementation, even receiving "#QSS:
+ 3" will
+ trigger the "SIM swap" logic. The same issue might occur in other
+ use cases
+ too, i.e. with SIM locked or when the message is received from
+ both USB
+ ports.
+
+ This patch makes SIM swap implementation stateful, and it considers
+ as an
+ actual SIM swap, only transitions from #QSS: 0 to #QSS: 1/2/3 and vice
+ versa.
+
+ .gitignore | 2 +
+ plugins/Makefile.am | 107 +++++----
+ plugins/telit/mm-broadband-modem-telit.c | 266
+ +++++++++++++++-------
+ plugins/telit/mm-modem-helpers-telit.c | 20 ++
+ plugins/telit/mm-modem-helpers-telit.h | 12 +
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 38 ++++
+ 6 files changed, 329 insertions(+), 116 deletions(-)
+
+commit b5e94185bb487d39f75537755c1ea03b40737ca8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Mar 16 13:25:30 2017 +0100
+
+ huawei: let the E3372 run NDISDUP via TTY
+
+ This modem ends up exposing a cdc-wdm port and a WWAN network
+ interface, but the cdc-wdm port is totally unusable, it won't reply to
+ any AT command or anything.
+
+ Instead this modem can do NDISDUP via TTY, which is what the Windows
+ drivers are also doing.
+
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit e2e2c3e0191175eb4e3ce781b17c015cd44dfd66
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed May 17 15:15:07 2017 +0200
+
+ cinterion: retry GPS Engine activation up to 3 times
+
+ The default setup with 100ms between GPS commands doesn't seem to be
+ always enough for the Engine activation step:
+
+ [1495016625.392972] (ttyACM1): -->
+ 'AT^SGPSC="NMEA/Output","on"<CR>'
+ [1495016625.503885] (ttyACM1): <-- '<CR><LF>^SGPSC:
+ "Nmea/Output","on"<CR><LF><CR><LF><CR><LF>OK<CR><LF>'
+ [1495016625.607650] (ttyACM1): -->
+ 'AT^SGPSC="Power/Antenna","on"<CR>'
+ [1495016625.697862] (ttyACM1): <-- '<CR><LF>^SGPSC:
+ "Power/Antenna","on"<CR><LF><CR><LF>OK<CR><LF>'
+ [1495016625.809393] (ttyACM1): --> 'AT^SGPSC="Engine","1"<CR>'
+ [1495016625.895970] (ttyACM1): <-- '<CR><LF>+CME ERROR:
+ 767<CR><LF>'
+
+ We now setup up to 3 retries for the Engine activation step before
+ returning an error, and we also update to 2000ms the wait time before
+ the Engine activation command is run.
+
+ plugins/cinterion/mm-common-cinterion.c | 43
+ ++++++++++++++++++++++++---------
+ 1 file changed, 32 insertions(+), 11 deletions(-)
+
+commit aa8ac416f8ac2f81c0d157c707f44d728608c2a6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 14 22:50:26 2017 +0200
+
+ cinterion: support AT^SGPSC capable modems
+
+ The AT^SGPSS command provides an easy way to just start/stop GPS, but
+ unfortunately it isn't supported by all Cinterion modems.
+
+ The AT^SGPSC command instead is more widely available but it requires
+ several steps to start and stop the different elements of the GPS
+ receiver.
+
+ Implement support for both, preferring AT^SGPSSS if available and
+ falling back to AT^SGPSC otherwise.
+
+ plugins/cinterion/mm-common-cinterion.c | 209
+ +++++++++++++++++++++++++++-----
+ 1 file changed, 182 insertions(+), 27 deletions(-)
+
+commit d772301cd4618e792053868aec60b39d9b8dbae5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 14 21:47:54 2017 +0200
+
+ cinterion: setup GPS port only if GPS support detected
+
+ i.e. if AT^SGPSS not supported, we don't even add traces handler to
+ the GPS data port.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 14 ---
+ .../cinterion/mm-broadband-modem-qmi-cinterion.c | 16 ----
+ plugins/cinterion/mm-common-cinterion.c | 103
+ ++++++++++-----------
+ plugins/cinterion/mm-common-cinterion.h | 2 -
+ 4 files changed, 47 insertions(+), 88 deletions(-)
+
+commit 1857e9b36e3540404fc864a30ce371635e476aec
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 14 21:30:54 2017 +0200
+
+ cinterion: flag PLS8 GPS data port
+
+ plugins/cinterion/77-mm-cinterion-port-types.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit bf549d1bca405d14dcff6e37ab3fd85c930b2b17
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 14 21:22:48 2017 +0200
+
+ cinterion,location: refactor enable/disable and capabilities checks
+
+ When checking for location capabilities, we will make sure AT^SGPSS is
+ supported and if it isn't we won't report GPS capabilities.
+
+ The location enable and disable paths are refactored to make it easier
+ to add possible new GPS commands to use instead of AT^SGPSS, if this
+ isn't supported (e.g. in the PLS8 devices).
+
+ plugins/cinterion/mm-common-cinterion.c | 534
+ +++++++++++++++++++++-----------
+ 1 file changed, 350 insertions(+), 184 deletions(-)
+
+commit 2eb55d32249100fa1f501f936d2bda04ca6fcb9a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 30 17:28:23 2017 +0200
+
+ plugins: use G_N_ELEMENTS when iterating ports array
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
+ plugins/anydata/mm-broadband-modem-anydata.c | 2 +-
+ plugins/icera/mm-broadband-modem-icera.c | 2 +-
+ plugins/mbm/mm-broadband-modem-mbm.c | 4 ++--
+ plugins/mtk/mm-broadband-modem-mtk.c | 2 +-
+ plugins/option/mm-broadband-modem-option.c | 2 +-
+ plugins/samsung/mm-broadband-modem-samsung.c | 2 +-
+ plugins/sierra/mm-common-sierra.c | 2 +-
+ plugins/simtech/mm-broadband-modem-simtech.c | 2 +-
+ plugins/via/mm-broadband-modem-via.c | 4 ++--
+ plugins/zte/mm-common-zte.c | 2 +-
+ 11 files changed, 13 insertions(+), 13 deletions(-)
+
+commit b874fba0e68414b61625e4bbd2ea6584f4ebaf51
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 23 18:33:23 2017 +0200
+
+ ublox: use send-delay=0 by default
+
+ Looks like the u-blox SARA-U260 requires this, see:
+ https://lists.freedesktop.org/archives/modemmanager-devel/2017-May/004670.html
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 31
+ ++++++++++++++++++++++++++++++-
+ plugins/ublox/mm-plugin-ublox.c | 1 +
+ 2 files changed, 31 insertions(+), 1 deletion(-)
+
+commit fcd4a8c5dc6be8e72cfa7378829fef5c27c892a7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 23 18:24:58 2017 +0200
+
+ altair,hso,samsung: setup send-delay=0 for probing
+
+ The Altair, Option HSO and Samsung plugins all use the send-delay=0
+ setting once the modem object has been created. For consistency, use
+ the same setting during port probing.
+
+ plugins/altair/mm-plugin-altair-lte.c | 1 +
+ plugins/option/mm-plugin-hso.c | 1 +
+ plugins/samsung/mm-plugin-samsung.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+commit 2b8a7e4c165f6f39d480b17be48c83efe6698816
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 21 14:54:41 2017 +0200
+
+ telit: remove custom +CMER enabling
+
+ This is now managed directly in the generic plugin.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +
+ plugins/telit/mm-broadband-modem-telit.c | 84
+ ++++++++++++++++--------
+ 2 files changed, 60 insertions(+), 26 deletions(-)
+
+commit ec98b9e95679a611abc99ecf91a2dfe62ed28b70
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 21 14:54:40 2017 +0200
+
+ cinterion: remove custom +CMER enabling
+
+ This is now managed directly in the generic plugin.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 30
+ ------------------------
+ 1 file changed, 30 deletions(-)
+
+commit 024c7a1a8fd359c0c67fa87564a31f9c395e3903
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon May 22 19:21:02 2017 +0200
+
+ broadband-modem: query +CMER format before enabling/disabling
+
+ Don't blindly try '+CMER=3,0,0,1' to enable and '+CMER=0' to disable
+ Mobile Equipment Event Reporting. We now query the device for the
+ supported formats and use that info to build commands that will work.
+
+ src/mm-broadband-modem.c | 137
+ +++++++++++++++++++++++++++++++++--------
+ src/tests/test-modem-helpers.c | 12 ++++
+ 2 files changed, 124 insertions(+), 25 deletions(-)
+
+commit e753911a4e9dad801b0cf0518b1abbe317598dee
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon May 22 14:43:40 2017 +0200
+
+ helpers: new 'AT+CMER=?' parser
+
+ src/mm-modem-helpers.c | 123
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 25 +++++++++
+ src/tests/test-modem-helpers.c | 68 +++++++++++++++++++++++
+ 3 files changed, 216 insertions(+)
+
+commit 7f3b552804d96554a039430d86e8cac6268198b1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 21 19:17:55 2017 +0200
+
+ cinterion: support changing modes in LTE capable devices
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 164
+ +++++++++++------------
+ 1 file changed, 78 insertions(+), 86 deletions(-)
+
+commit e6f245c6dfe48be33e1099e842dec1c0e30a1508
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu May 18 09:57:37 2017 +0200
+
+ udev: remove default ID_MM_PLATFORM_DRIVER_PROBE whitelist
+
+ The whitelist made all platform TTYs managed by the 'atmel_usart'
+ kernel driver probed by ModemManager, which isn't something we want,
+ as most of these aren't broadband modems.
+
+ We leave the logic supporting the ID_MM_PLATFORM_DRIVER_PROBE udev tag
+ as there may be a case where the user does need ModemManager to probe
+ a given platform TTY.
+
+ src/77-mm-platform-serial-whitelist.rules | 13 -------------
+ src/Makefile.am | 1 -
+ 2 files changed, 14 deletions(-)
+
+commit 57f193bd040575642cacfd2a53de0b05d4258a6c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon May 29 13:42:23 2017 +0200
+
+ log: remove func loc info unless MM_LOG_FUNC_LOC is defined
+
+ The user can build the project passing custom CFLAGS to enable the
+ function location information, e.g.:
+
+ $ ./configure --prefix=/usr CFLAGS="-DMM_LOG_FUNC_LOC"
+
+ src/main.c | 1 -
+ src/mm-log.c | 9 +++------
+ src/mm-log.h | 1 -
+ 3 files changed, 3 insertions(+), 8 deletions(-)
+
+commit 3bb0f7e66d8203a1dc78eb6d404e29aefef6a88c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu May 18 12:43:49 2017 +0200
+
+ context: rework application options and help output
+
+ Group together all options that allow configuring the logging output,
+ and make them have the same --log-[XXX] prefix.
+
+ Also rework the --help output so that all option groups are printed by
+ default (i.e. there is no longer a --help-all option).
+
+ docs/man/ModemManager.8 | 26 +++----
+ src/main.c | 4 +-
+ src/mm-context.c | 196
+ +++++++++++++++++++++++++++++++++++-------------
+ src/mm-context.h | 12 +--
+ 4 files changed, 162 insertions(+), 76 deletions(-)
+
+commit 51bb354624865414e8a036e3502c1b713999ec1f
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Mon May 29 09:48:20 2017 +0200
+
+ dell: speed probing time up and reduce udev dependency
+
+ Currently Dell plugin implements a retry logic of three commands
+ (AT+GMI, AT+CGMI, ATI1I2I3) to detect modem's vendor string.
+ Moreover, since Telit modems always reply to the first command,
+ to speed
+ the probing time up, those modem are tagged with an Udev rule so
+ that we
+ can avoid sending the other two commands at all.
+
+ However, the retry logic is in case a port needs some time to
+ reply, so
+ it makes sense to apply it only to the first command. Then if the
+ port still
+ does not respond with any kind of reply, that probably means that
+ it is not
+ AT capable and we can skip the other AT commands as well.
+
+ Then, this patch:
+ - sets a maximum number of timeouts for AT+GMI to 3. After this
+ timeouts, the port is considered not AT-capable.
+ - sets AT+CGMI and ATI1I2I3 to be sent only once.
+ - removes Dell udev rule for tagging Telit Modems.
+
+ plugins/dell/77-mm-dell-port-types.rules | 4 ----
+ plugins/dell/mm-plugin-dell.c | 29
+ ++++++++++++++++++-----------
+ 2 files changed, 18 insertions(+), 15 deletions(-)
+
+commit d986277f13db31cd91de2f6a8bf3b812d9f3fc04
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Fri May 5 16:49:38 2017 +0200
+
+ telit: removed ID_MM_TELIT_PORTS_TAGGED dependency
+
+ Currently, Telit plugin depends on ID_MM_TELIT_PORTS_TAGGED
+ environment variable, set by udev, for tagging modems that
+ support dynamic port config (#PORTCFG)
+
+ To remove this dependency from udev, Telit plugin now relies
+ only on the error management of the command AT#PORTCFG? itself
+ in order to see whether the modem supports it or not.
+
+ plugins/telit/77-mm-telit-port-types.rules | 9 ---------
+ plugins/telit/mm-common-telit.c | 9 +--------
+ 2 files changed, 1 insertion(+), 17 deletions(-)
+
+commit 8387dc7a7c6b21b28783c7db6d94a111ce7b7485
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon May 22 13:18:19 2017 +0200
+
+ broadband-modem: don't create sim hot swap ports context multiple
+ times
+
+ src/mm-broadband-modem.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit 0f99328af635979a91c4c4e31e2d6692d2b78181
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 21 18:55:35 2017 +0200
+
+ cinterion: don't enable simstatus URCs
+
+ When polling for the SIM status, we want to read the value (mode 2)
+ without enabling indications (mode 1).
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a6909379024fcdd48275aa89372b574b867a40d6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun May 21 14:32:48 2017 +0200
+
+ mbm: fix async method completion enabling unsolicited events
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit bf579da074ec8485acf12580c89cdbc6cee5d10b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 20 20:27:26 2017 +0200
+
+ iface-modem: always complete async context with a value
+
+ Just for consistency, this is not a bug per se.
+
+ src/mm-iface-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit cab81f679f08beefc85a7582990cce2f276b6190
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu May 18 12:54:37 2017 +0200
+
+ blacklist: ignore default Linux USB Serial Gadget
+
+ Blacklist the default VID:PID for the Linux USB Serial Gadget in ACM
+ mode:
+
+ {LINUX}/drivers/usb/gadget/legacy/serial.c
+ #define GS_VENDOR_ID 0x0525 /* NetChip */
+ #define GS_CDC_PRODUCT_ID 0xa4a7 /* ... as CDC-ACM */
+
+ This should never be reused for real products by hardware
+ manufacturers, but anyway...
+
+ Patch actually ported from downstream Ubuntu:
+ https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1105352
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 5947cda9f49aad2f3c05dbe44c47fcc575156ac6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu May 18 12:32:06 2017 +0200
+
+ man: include missing --no-auto-scan and --initial-kernel-events
+
+ And remove --test-no-auto-scan, as the 'no auto scan' feature isn't
+ only a test feature now.
+
+ docs/man/ModemManager.8 | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit e8acfe0296d2883f6f337cb71fd809cc2c90f564
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon May 15 12:26:57 2017 +0200
+
+ iface-modem: fix setting up signal quality retrieval logic
+
+ If going directly e.g. from "Searching" to "Connecting", just setup
+ the signal quality retrieval logic right away, don't assume we always
+ go through "Registered" state before starting a connection.
+
+ Reported-by: <colin.helliwell@ln-systems.com>
+
+ src/mm-iface-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit d41d717112e6a183a0df510c210e80a86fc11060
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed May 10 14:36:28 2017 +0200
+
+ ublox: align property values in g_object_new()
+
+ plugins/ublox/mm-plugin-ublox.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 1ab98b9e8cd327f55529ec43be3cfb0fe21d11a0
+Author: Javier Viguera <javier.viguera@digi.com>
+Date: Mon May 8 10:45:46 2017 +0200
+
+ ublox: support modems connected to serial port
+
+ Add the vendor string, so it can be probed via AT commands. This
+ allows
+ to support modems that are connected to a serial port.
+
+ Signed-off-by: Javier Viguera <javier.viguera@digi.com>
+
+ plugins/ublox/mm-plugin-ublox.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit fa2e532d2c362e17140408c5917d47d6dac64aea
+Author: Javier Viguera <javier.viguera@digi.com>
+Date: Mon May 8 10:45:45 2017 +0200
+
+ port-serial: add B230400 and B921600 missing baudrates
+
+ So MM can use them when opening a specific serial port.
+
+ Signed-off-by: Javier Viguera <javier.viguera@digi.com>
+
+ src/mm-port-serial.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 650d2304259d767e8925d74221c262c020e1bfb0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed May 10 14:26:28 2017 +0200
+
+ blacklist: add keyboard.io devices
+
+ See https://bugs.freedesktop.org/show_bug.cgi?id=85007#c5
+
+ Reported-by: Jesse Vincent <jesse@keyboard.io>
+
+ src/77-mm-usb-device-blacklist.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 2373a4b65843847e3dacca958f0bab833032b796
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri May 5 11:33:11 2017 +0200
+
+ port-qmi: fix QMI client allocation procedure
+
+ Commit 26ee94ec28b6f68 introduced a bug, where we would be completing
+ the client allocation task *before* tracking the new client allocation
+ info in the private tracking list.
+
+ This meant that if mm_port_qmi_peek_client() was called in the task
+ completion handler, the client object wouldn't be returned, as it
+ wasn't found in the private tracking list.
+
+ The fix is just to defer the task completion until after the private
+ tracking list is updated.
+
+ Reported-by: Salvador Penalva <salvador.penalva@digi.com>
+
+ src/mm-port-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f3cc78ef02c8c85afc2b7c36bbc17580bff62a34
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 24 22:37:46 2017 -0500
+
+ broadband-modem-qmi: ensure PLMN name is UTF-8
+
+ Some Telit modems apparently sometimes report non-UTF8 characters.
+
+ src/mm-broadband-modem-qmi.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit d4e149c52851439c5a0579653fceff1821ce946b
+Author: Maksim Salau <maksim.salau@gmail.com>
+Date: Sun Apr 23 20:39:01 2017 +0300
+
+ blacklist: add Analog Devices EVAL-ADXL362Z-DB
+
+ Signed-off-by: Maksim Salau <maksim.salau@gmail.com>
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 7a68d457742d827b5ce744a7cec14e7862497002
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Wed Apr 19 17:02:20 2017 +0200
+
+ telit: give load lock retries steps a descriptive name
+
+ In order to make debug logging more clear, I replaced the step ID
+ with a
+ descriptive step name.
+
+ plugins/telit/mm-broadband-modem-telit.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit d09bc8baaa9fe93a72bb715530b1403a7a81c891
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Apr 19 10:42:20 2017 +0200
+
+ telit: use mm_get_uint_from_hex_str() to parse CSIM hex response
+
+ The regex is already limiting the string to 4 hex chars, so we can
+ definitely fit the number in a guint, no need a guint64.
+
+ plugins/telit/mm-modem-helpers-telit.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit 44daf791bbf0c251882f723e9fcc9c89606d69fc
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Wed Apr 19 10:00:19 2017 +0200
+
+ telit: add error_code recognition to +CSIM parser
+
+ - Refactored mm_telit_parse_csim_response in order to correctly
+ recognize the following +CSIM error codes:
+ * 6300 - Verification failed
+ * 6983 - Authentication method blocked
+ * 6984 - Reference data invalidated
+ * 6A86 - Incorrect parameters
+ * 6A88 - Reference data not found
+
+ - Updated correspondent tests.
+ - Finally, some minor changes in other files for better error logging
+
+ Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100374
+
+ plugins/telit/mm-broadband-modem-telit.c | 6 +-
+ plugins/telit/mm-modem-helpers-telit.c | 98
+ ++++++++++++++++-------
+ plugins/telit/mm-modem-helpers-telit.h | 3 +-
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 73 ++++++++---------
+ 4 files changed, 104 insertions(+), 76 deletions(-)
+
+commit 4fe464f5f75bb25da5d05a9b976550732b7620b7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Apr 15 23:26:32 2017 +0200
+
+ core: prefer g_task_return_error_if_cancelled() than custom errors
+
+ When the GCancellable is added to the GTask, we can use a single
+ method call to check for the task being cancelled, and complete it
+ right away if so.
+
+ This patch also clears up the logic in the Novatel plugin, where the
+ code was trying to return "TRUE" when the task was cancelled, but
+ wouldn't work as the check-cancellable flag in the GTask is TRUE by
+ default (i.e. when completing the GTask, if it was cancelled, a
+ G_IO_ERROR_CANCELLED would be returned by default, regardless of any
+ other return value set).
+
+ This patch also introduces a small variation of the logic in the
+ Cinterion plugin: instead of running SWWAN=0 before completing the
+ async action, the command is now sent just after completion of the
+ async action. This shouldn't be an issue, as the SWWAN result itself
+ is ignored.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 7 ++-----
+ plugins/novatel/mm-common-novatel.c | 3 +--
+ src/mm-auth-provider-polkit.c | 6 +-----
+ src/mm-iface-modem-signal.c | 6 +-----
+ 4 files changed, 5 insertions(+), 17 deletions(-)
+
+commit 6312753a6bfc09922cd3d2d582f7c3a1ae5f5585
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 18:30:02 2017 +0100
+
+ broadband-bearer: once connected, set flow control settings
+
+ During modem initialization we detected the flow control settings
+ supported by the modem, and selected the best one to use from them,
+ notifying it to the device via AT+IFC. The device was therefore
+ instructed to use that flow control setting for data transmission in
+ the TTY (i.e. not during AT control commands).
+
+ The missing thing was to also configure ourselves our end of the
+ serial port with the same flow control settings when getting into data
+ mode. By doing it ourselves, we avoid requiring any explicit setting
+ in pppd for flow control; pppd can assume the flow control settings
+ are already the expected ones.
+
+ Worth noting that all this setup is completely ignored for TTYs
+ exposed directly via USB.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100394
+
+ .gitignore | 2 +
+ src/Makefile.am | 28 +++++++++++
+ src/mm-broadband-bearer.c | 125
+ ++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-broadband-bearer.h | 3 ++
+ src/mm-broadband-modem.c | 49 ++++++++++++++----
+ src/mm-broadband-modem.h | 3 ++
+ src/mm-modem-helpers.h | 2 +-
+ 7 files changed, 196 insertions(+), 16 deletions(-)
+
+commit 595bd5dbe330009a04f7840d3aef2d180e848b4e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 18:27:09 2017 +0100
+
+ port-serial: remove all default flow control settings
+
+ We won't set XON/XOFF by default and we won't allow setting RTS/CTS
+ via a property. The serial port by default starts with no flow control
+ configured.
+
+ src/mm-port-serial.c | 34 ++++++----------------------------
+ src/mm-port-serial.h | 1 -
+ 2 files changed, 6 insertions(+), 29 deletions(-)
+
+commit 580c113c5a4c9c8b74edce3808f0c6f0b43e2025
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 18:18:46 2017 +0100
+
+ port-serial: new method to explicitly set flow control settings
+
+ src/mm-port-serial.c | 50
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-port-serial.h | 5 +++++
+ 2 files changed, 55 insertions(+)
+
+commit 3223b56ba9f61c4339d74829748ae6937cffc196
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 18:17:41 2017 +0100
+
+ port-serial: new internal method to run tcsetattr()
+
+ The method takes care of looping if EAGAIN errors happen, as well as
+ checking whether all attributes were set or not.
+
+ src/mm-port-serial.c | 119
+ ++++++++++++++++++++++++---------------------------
+ 1 file changed, 57 insertions(+), 62 deletions(-)
+
+commit ff6726df11532cbb066bebb1b665faa15a3e25af
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 01:16:25 2017 +0100
+
+ telit: ignore custom flow control handling
+
+ The generic modem object already supports querying for the supported
+ methods and setting the best one found.
+
+ plugins/telit/mm-broadband-modem-telit.c | 48
+ --------------------------------
+ 1 file changed, 48 deletions(-)
+
+commit 1d2a67ab209c6dcc99adc2733fabace6ea4de96c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 01:14:45 2017 +0100
+
+ wavecom: ignore custom flow control handling
+
+ The generic modem object already supports querying for the supported
+ methods and setting the best one found.
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 27
+ ---------------------------
+ 1 file changed, 27 deletions(-)
+
+commit 91391eb460645cc9407b16e1b516cb4c2cf723f7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 01:11:45 2017 +0100
+
+ broadband-modem: query supported flow control modes before setting
+
+ Instead of assuming XON/XOFF is supported, we query the supported flow
+ control modes, and then we set the best one based on that, preferring
+ hardware flow control over software flow control.
+
+ src/mm-broadband-modem.c | 79
+ ++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 60 insertions(+), 19 deletions(-)
+
+commit 973c7d0970d5151f1b5d40b01ce0f2334c226b7c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 00:47:50 2017 +0100
+
+ helpers: new parser for AT+IFC=?
+
+ Instead of having the parser return separate list of supported flow
+ controls for TE and TA, we simplify it by only returning those
+ settings that apply to both TE and TA.
+
+ This logic isn't perfect either, though, as some settings (e.g. '3' in
+ TE in some modems, specifying a different XON/XOFF behavior) may not
+ have a corresponding setting in the other end.
+
+ The most common cases we care about (i.e. standard XON/XOFF, RTS/CTS)
+ should be properly reported with this logic.
+
+ src/mm-modem-helpers.c | 113
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 17 +++++++
+ src/tests/test-modem-helpers.c | 100 ++++++++++++++++++++++++++++++++++++
+ 3 files changed, 230 insertions(+)
+
+commit 75d9c0bc9542e04887e8b73fd0238d97d7ad263a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 6 09:05:53 2017 -0600
+
+ broadband-modem: open QCDM port for CDMA Serving System checking
+ when needed
+
+ src/mm-broadband-modem.c | 201
+ ++++++++++++++++++++++++-----------------------
+ 1 file changed, 102 insertions(+), 99 deletions(-)
+
+commit 5c94c8cc6dce58b7c3a88c53e4ab37022ba13185
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 6 09:04:33 2017 -0600
+
+ broadband-modem: open QCDM port for Call Manager state checking
+ when needed
+
+ src/mm-broadband-modem.c | 80
+ +++++++++++++++++++++++++-----------------------
+ 1 file changed, 41 insertions(+), 39 deletions(-)
+
+commit 3901ceade1c8d9b2199c2f7c620099f70f5545d4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 6 09:03:29 2017 -0600
+
+ broadband-modem: open QCDM port for HDR state checking when needed
+
+ src/mm-broadband-modem.c | 80
+ +++++++++++++++++++++++-------------------------
+ 1 file changed, 38 insertions(+), 42 deletions(-)
+
+commit 355a5942232860442f656a94a7fa76a5f8dbfed7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 6 08:58:44 2017 -0600
+
+ broadband-modem: open QCDM port for access tech checking when needed
+
+ src/mm-broadband-modem.c | 103
+ ++++++++++++++++++++++++++---------------------
+ 1 file changed, 57 insertions(+), 46 deletions(-)
+
+commit aa87775a811074163b8f1889a8186b69bab189ef
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 6 08:57:40 2017 -0600
+
+ broadband-modem: open QCDM port for signal checking when needed
+
+ src/mm-broadband-modem.c | 42 +++++++++++++++++++++++++++---------------
+ 1 file changed, 27 insertions(+), 15 deletions(-)
+
+commit 977d5ac6cef77893d81b9a6326d09e2c00d2a875
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 24 10:56:19 2016 -0500
+
+ broadband-modem-novatel: $NWRSSI can report lower values than -115
+
+ My E725 reported 125 once; that's a valid dBm and MM shouldn't report
+ an error when parsing it.
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit dedc1f15c78e64002827581aef7df72a98c55759
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 10 10:06:58 2016 -0500
+
+ broadband-modem-novatel: clean up detailed registration state handling
+
+ Allocate the results instead of passing them back on the stack,
+ which removes
+ the "can't complete in idle" restriction. Also always open the
+ QCDM port
+ since we can't assume it will be open already at this point.
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 165
+ +++++++++++++++------------
+ 1 file changed, 93 insertions(+), 72 deletions(-)
+
+commit 77fbcf534b8f787f55db549a9e651cc9e8959198
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 10 09:45:29 2016 -0500
+
+ broadband-modem-novatel: clean up access technology reporting
+
+ Instead of mixing the QCDM Novatel Snapshot code directly into the
+ access technology checking code, split it out with its own async
+ result. At the same time, make sure to open the QCDM port when
+ it's needed, instead of assuming its already open. Since it won't
+ always be.
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 286
+ ++++++++++++++-------------
+ 1 file changed, 145 insertions(+), 141 deletions(-)
+
+commit 01cba808e4c333744fcf5d27d2d58ef1b5cdc812
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Apr 12 18:52:49 2017 -0700
+
+ iface-modem-signal: port mm_iface_modem_signal_initialize to use GTask
+
+ src/mm-iface-modem-signal.c | 98
+ ++++++++++++++++++++-------------------------
+ 1 file changed, 44 insertions(+), 54 deletions(-)
+
+commit ed8bea8a3c0cc37243137cb7dc671834c5ee1a5f
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Apr 12 18:52:48 2017 -0700
+
+ iface-modem-signal: port mm_iface_modem_signal_enable to use GTask
+
+ src/mm-iface-modem-signal.c | 16 ++++++----------
+ 1 file changed, 6 insertions(+), 10 deletions(-)
+
+commit ca89a4c038880a0e96434ccf682de98943d02357
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Apr 12 18:52:47 2017 -0700
+
+ iface-modem-signal: port mm_modem_iface_signal_disable to use GTask
+
+ src/mm-iface-modem-signal.c | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+commit a902199772ce3d9155919d5d8ef3df81e7f776a6
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Thu Apr 13 11:53:53 2017 +0200
+
+ telit: unsupported CSIM lock should not skip loading unlock retries
+
+ Some modems do not support CSIM lock/unlock, but they do support
+ querying SIM unlock retries through +CSIM command.
+
+ If CSIM lock returns with "unsupported command" do not propagate
+ the error and continue with the other CSIM queries instead,
+ moreover the
+ CSIM lock feature is signed as FEATURE_UNSUPPORTED in Telit modem
+ private structure to prevent being sent again (e.g. calling CSIM
+ unlock AT command).
+
+ plugins/telit/mm-broadband-modem-telit.c | 94
+ ++++++++++++++++++++++++++------
+ plugins/telit/mm-broadband-modem-telit.h | 2 +
+ 2 files changed, 80 insertions(+), 16 deletions(-)
+
+commit 23b67db7c98a3f2fafd7d32a4c26fe02d81624ec
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Apr 7 18:16:12 2017 -0700
+
+ base-call: remove unnecessary string duplications
+
+ src/mm-base-call.c | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+commit b65819e6ad66688c8d6633f910e1519a35d3571d
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Apr 7 11:23:01 2017 -0700
+
+ port-mbim: port mm_port_mbim_{open,close} to use GTask
+
+ src/mm-port-mbim.c | 132
+ +++++++++++++++++++++--------------------------------
+ 1 file changed, 51 insertions(+), 81 deletions(-)
+
+commit 26ee94ec28b6f686cf4223435986dbeb48e833c1
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 6 13:41:16 2017 -0700
+
+ port-qmi: port mm_port_qmi_allocate_client to use GTask
+
+ src/mm-port-qmi.c | 51
+ ++++++++++++++++++++++++++-------------------------
+ 1 file changed, 26 insertions(+), 25 deletions(-)
+
+commit 031c753a00f3d4b491120df9d327459b4e7d9145
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 6 12:35:53 2017 -0700
+
+ novatel: obtain MMPortProbe from GTask source object
+
+ The MMPortProbe object is already referenced by the GTask object for
+ custom init. Instead of keeping another reference of MMPortProbe
+ in the
+ CustomInitContext, this patch changes the code to simply obtain
+ it from
+ the source object of GTask.
+
+ See
+ https://lists.freedesktop.org/archives/modemmanager-devel/2017-April/004420.html
+
+ plugins/novatel/mm-common-novatel.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 9667d037fdd5d1cb07b1ff27d868e7398bb31ce0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 7 11:13:24 2017 +0200
+
+ polkit: fix build when polkit enabled
+
+ This fixes the build after commit
+ 740ce1fb26dd83459075f2d069a9da25e449dd89.
+
+ CC ModemManager-mm-auth-provider-polkit.o
+ ../../src/mm-auth-provider-polkit.c: In function ‘authorize’:
+ ../../src/mm-auth-provider-polkit.c:155:46: error:
+ ‘AuthorizeContext’ has no member named ‘cancellable’
+ ctx->cancellable,
+ ^
+ Makefile:1533: recipe for target
+ 'ModemManager-mm-auth-provider-polkit.o' failed
+
+ src/mm-auth-provider-polkit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 374c65a5202f983073bb8918a33316e19186df87
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 6 12:57:45 2017 -0700
+
+ sms-mbim: port sms_delete to use GTask
+
+ src/mm-sms-mbim.c | 48 +++++++++++++++++++++++-------------------------
+ 1 file changed, 23 insertions(+), 25 deletions(-)
+
+commit 59a6bcbb1b1dac2e7ea1a9e3b98b562ce54782b5
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 6 12:57:44 2017 -0700
+
+ sms-mbim: port sms_send to use GTask
+
+ src/mm-sms-mbim.c | 46 ++++++++++++++++++++++------------------------
+ 1 file changed, 22 insertions(+), 24 deletions(-)
+
+commit e661ba077fb440668d5986595e5d6406048eaf77
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 6 13:41:15 2017 -0700
+
+ port-qmi: port mm_port_qmi_open to use GTask
+
+ src/mm-port-qmi.c | 142
+ +++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 76 insertions(+), 66 deletions(-)
+
+commit a0806449245dd23bda631b9addb13761cc5999ae
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 6 12:54:30 2017 -0700
+
+ call-list: port mm_call_list_delete_call to use GTask
+
+ src/mm-call-list.c | 55
+ +++++++++++++++++++-----------------------------------
+ 1 file changed, 19 insertions(+), 36 deletions(-)
+
+commit 21195f8e540e08d86ff29e495ef73d5c80ab9959
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 6 12:42:32 2017 -0700
+
+ sms-list: port mm_sms_list_delete_sms to use GTask
+
+ src/mm-sms-list.c | 70
+ +++++++++++++++++++++----------------------------------
+ 1 file changed, 27 insertions(+), 43 deletions(-)
+
+commit 740ce1fb26dd83459075f2d069a9da25e449dd89
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 6 12:38:44 2017 -0700
+
+ polkit: port authorize to use GTask
+
+ src/mm-auth-provider-polkit.c | 89
+ ++++++++++++++++++++-----------------------
+ 1 file changed, 41 insertions(+), 48 deletions(-)
+
+commit 1755d1a5c33b2e3f3b79c88ecd1f4a8e43238b40
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 6 12:38:43 2017 -0700
+
+ auth: port authorize to use GTask
+
+ src/mm-auth-provider.c | 11 ++++-------
+ 1 file changed, 4 insertions(+), 7 deletions(-)
+
+commit 8c04cc036782dab0e80c1f2314baa3376eecad02
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 3 14:50:01 2017 -0500
+
+ telit: fix AT+SERVICE 3GPP2 access technology reporting
+
+ Looks like a C&P error from the AT#PSNT codepath; all the docs
+ I can find indicate that AT+SERVICE returns only an integer and
+ no commas:
+
+ <debug> (ttyUSB2): --> 'AT+SERVICE?<CR>'
+ <debug> (ttyUSB2): <-- '<CR><LF>+SERVICE: 3<CR><LF><CR><LF>OK<CR><LF>'
+ <debug> Couldn't refresh access technologies: 'Failed to parse
+ +SERVICE response: '+SERVICE: 3''
+
+ plugins/telit/mm-broadband-modem-telit.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 665e22791818b51ce48d93febf7ced7302e7a2d3
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Apr 3 23:37:49 2017 -0700
+
+ iface-modem-simple: port register_in_3gpp_or_cdma_network to use GTask
+
+ src/mm-iface-modem-simple.c | 59
+ ++++++++++++++++++++++++++-------------------
+ 1 file changed, 34 insertions(+), 25 deletions(-)
+
+commit e0bca5509ef9bb006602efdbab67c7a189031879
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Apr 3 23:37:38 2017 -0700
+
+ bearer-list: port mm_bearer_list_disconnect_all_bearers to use GTask
+
+ src/mm-bearer-list.c | 40 +++++++++++++++++++++-------------------
+ 1 file changed, 21 insertions(+), 19 deletions(-)
+
+commit 6542430588432b1c4c82ffc1f61e1711ff137b04
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Apr 3 12:37:56 2017 -0700
+
+ novatel: port IMSI loading to use GTask
+
+ plugins/novatel/mm-sim-novatel-lte.c | 89
+ +++++++++++++++---------------------
+ 1 file changed, 36 insertions(+), 53 deletions(-)
+
+commit 1e05fd4df677fc4d8bbd2fcc42dc0340d910f8fc
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Apr 3 12:37:55 2017 -0700
+
+ novatel: port custom init to use GTask
+
+ plugins/novatel/mm-common-novatel.c | 62
+ +++++++++++++++++--------------------
+ 1 file changed, 29 insertions(+), 33 deletions(-)
+
+commit 6ced121ce18ffd1612d294d02bf196694d0d25e1
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Apr 3 23:37:25 2017 -0700
+
+ base-modem: port mm_base_modem_authorize to use GTask
+
+ src/mm-base-modem.c | 25 ++++++++++---------------
+ 1 file changed, 10 insertions(+), 15 deletions(-)
+
+commit 2c4b061dda120391b6d31ab5e5e1fa7e01285974
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Apr 3 13:05:16 2017 -0700
+
+ novatel-lte: revert to original plugin library name
+
+ Commit f9c63bfa0 "build,plugins: update build rules" accidentally
+ changed the Novatel LTE plugin from 'libmm-plugins-novatel-lte.so' to
+ 'libmm-plugins-novatel_lte.so'. The name becomes inconsistent
+ with other
+ plugin names.
+
+ plugins/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 34443289d97da5c95270c6071d140f4567047624
+Author: Thomas Voß <thomas.voss.bochum@gmail.com>
+Date: Sat Apr 1 22:11:42 2017 +0200
+
+ mbim-modem: disable location interface
+
+ MBIM does not support 3gpp location data right now. For that,
+ we make sure that the location interface is not reported as
+ supported by MBIM modems.
+
+ src/mm-broadband-modem-mbim.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit fba49d8d005dd65affac56975bc7fd95250d530c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 21:39:45 2017 +0100
+
+ broadband-modem: normalize also operator code
+
+ The operator code (MCCMNC) may also be given encoded in the current
+ charset (e.g. UCS2).
+
+ Based on a patch from Colin Helliwell <colin.helliwell@ln-systems.com>
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
+ src/mm-broadband-modem.c | 6 ++++--
+ src/mm-modem-helpers.c | 4 ++--
+ src/mm-modem-helpers.h | 4 ++--
+ src/tests/test-modem-helpers.c | 7 ++++++-
+ 5 files changed, 15 insertions(+), 8 deletions(-)
+
+commit f824602bdd922cdc9e15aa83fda545534c0b0542
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 25 21:39:44 2017 +0100
+
+ modem-helpers: if operator not in UCS2, see if already valid UTF-8
+
+ The method doing the operator name normalization takes as input the
+ current configured modem charset. If this is UCS2, we will now just
+ assume this is a hint: the string may or may not come in hex/UCS2.
+
+ This logic makes the custom operator name loading in Huawei unneeded,
+ if the modem is configured in UCS2, we still properly process operator
+ names coming in plain ASCII.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 51
+ ------------------------------
+ src/mm-modem-helpers.c | 26 +++++++++------
+ src/tests/test-modem-helpers.c | 45
+ ++++++++++++++++++++++++++
+ 3 files changed, 62 insertions(+), 60 deletions(-)
+
+commit 822bfa4ca163ef17a0fc60d03bfae462091885bf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Mar 30 21:14:46 2017 +0200
+
+ base-manager: fix segfault when using already disposed MMDevice
+
+ Since commit e9d0989ed069, the MMDevice may be removed from the
+ tracking hash table when the support check operation fails to create a
+ modem object.
+
+ If this failure happens due to the port probe cancellations requested
+ during the udev removal event for a given device port, we would end up
+ using an already disposed object and triggering a segfault.
+
+ This fix just makes sure a full valid reference to the MMDevice object
+ is kept around until we're done using it.
+
+ [mm-base-manager.c:216] device_removed():
+ (usbmisc/cdc-wdm1): released by device
+ '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.4'
+ [mm-plugin-manager.c:1131] device_context_port_released():
+ [plugin manager] task 5: port released: cdc-wdm1
+ [mm-base-manager.c:216] device_removed(): (tty/ttyACM0): released
+ by device '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.4'
+ [mm-plugin-manager.c:1131] device_context_port_released():
+ [plugin manager] task 5: port released: ttyACM0
+ [mm-base-manager.c:221] device_removed(): Removing empty device
+ '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.4'
+ [mm-plugin-manager.c:1219] device_context_cancel(): [plugin
+ manager) task 5: cancellation requested
+ [mm-plugin-manager.c:979] device_context_continue(): [plugin
+ manager] task 5: no more ports to probe
+ [mm-plugin-manager.c:813] device_context_complete(): [plugin
+ manager] task 5: finished in '0.090510' seconds
+ [mm-base-manager.c:172] device_support_check_ready():
+ Couldn't check support for device
+ '/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.4': Operation
+ was cancelled
+ [mm-base-manager.c:223] device_removed(): Device support check
+ has been cancelled
+
+ Thread 1 "ModemManager" received signal SIGSEGV, Segmentation
+ fault.
+ 0x00007ffff6543c50 in g_str_hash () from /usr/lib/libglib-2.0.so.0
+ (gdb) bt
+ #0 0x00007ffff6543c50 in g_str_hash () at
+ /usr/lib/libglib-2.0.so.0
+ #1 0x00007ffff6542b2d in () at /usr/lib/libglib-2.0.so.0
+ #2 0x0000000000439675 in device_removed (self=0x770900,
+ kernel_device=0x763e60) at mm-base-manager.c:225
+ #3 0x0000000000439e70 in handle_uevent (client=0x769c20,
+ action=0x81d910 "remove", device=0x7fffe4001c40,
+ user_data=0x770900) at mm-base-manager.c:415
+ #4 0x00007ffff54c61c8 in ffi_call_unix64 () at
+ /usr/lib/libffi.so.6
+ #5 0x00007ffff54c5c2a in ffi_call () at /usr/lib/libffi.so.6
+ #6 0x00007ffff682d7ae in g_cclosure_marshal_generic ()
+ at /usr/lib/libgobject-2.0.so.0
+ #7 0x00007ffff682cf75 in g_closure_invoke () at
+ /usr/lib/libgobject-2.0.so.0
+ #8 0x00007ffff683ef82 in () at /usr/lib/libgobject-2.0.so.0
+ #9 0x00007ffff6847bcc in g_signal_emit_valist ()
+ at /usr/lib/libgobject-2.0.so.0
+ #10 0x00007ffff6847faf in g_signal_emit () at
+ /usr/lib/libgobject-2.0.so.0
+ #11 0x00007ffff7023c74 in () at /usr/lib/libgudev-1.0.so.0
+ #12 0x00007ffff655445a in g_main_context_dispatch ()
+ at /usr/lib/libglib-2.0.so.0
+ #13 0x00007ffff6554810 in () at /usr/lib/libglib-2.0.so.0
+ #14 0x00007ffff6554b32 in g_main_loop_run () at
+ /usr/lib/libglib-2.0.so.0
+ #15 0x0000000000437bf5 in main (argc=2, argv=0x7fffffffeb28) at
+ main.c:180
+
+ (gdb) fr 2
+ #2 0x0000000000439675 in device_removed (self=0x770900,
+ kernel_device=0x763e60) at mm-base-manager.c:225
+ 225 g_hash_table_remove (self->priv->devices,
+ mm_device_get_uid (device));
+
+ (gdb) p mm_device_get_uid (device)
+ $1 = (const gchar *) 0x0
+
+ (gdb) p *device
+ $3 = {parent = {g_type_instance = {g_class = 0x0}, ref_count =
+ 0, qdata = 0x0}, priv = 0x7feb20}
+
+ src/mm-base-manager.c | 19 +++++++++++++++----
+ 1 file changed, 15 insertions(+), 4 deletions(-)
+
+commit 27e4c74c6007ceac5611f2fc4e314217ebf8d25a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 28 23:23:14 2017 -0700
+
+ core: reset GList pointers to NULL when necessary
+
+ When calling g_list_free_full() to free a GList in dispose(), it is
+ necessary to reset the GList pointer to NULL as dispose() may
+ be called
+ more than once.
+
+ src/mm-call-list.c | 1 +
+ src/mm-device.c | 2 ++
+ src/mm-sms-list.c | 1 +
+ 3 files changed, 4 insertions(+)
+
+commit 78e6ba5688f80ee30466ef59ed78c78e083c4c55
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 28 18:35:57 2017 -0700
+
+ libmm-glib: remove explicit GDestroyNotify cast on g_object_unref
+
+ g_object_unref is in form of `void (*)(gpointer)`, which matches the
+ GDestroyNotify signature. An explicit GDestroyNotify cast on
+ g_object_unref is thus not needed.
+
+ libmm-glib/mm-modem-messaging.c | 4 ++--
+ libmm-glib/mm-modem-simple.c | 2 +-
+ libmm-glib/mm-modem-voice.c | 4 ++--
+ libmm-glib/mm-modem.c | 6 +++---
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+commit b225b7a2673d53b6e8dbf6a96e6459592ada6d37
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 28 18:35:56 2017 -0700
+
+ cli: remove explicit GDestroyNotify cast on g_object_unref
+
+ g_object_unref is in form of `void (*)(gpointer)`, which matches the
+ GDestroyNotify signature. An explicit GDestroyNotify cast on
+ g_object_unref is thus not needed.
+
+ cli/mmcli-common.c | 30 +++++++++++++++---------------
+ cli/mmcli-manager.c | 4 ++--
+ 2 files changed, 17 insertions(+), 17 deletions(-)
+
+commit 254f2e3412ac05833cdc095558c8143ad2fbddfc
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 28 18:35:55 2017 -0700
+
+ plugins: remove explicit GDestroyNotify cast on g_free /
+ g_object_unref
+
+ g_free and g_object_unref are in form of `void (*)(gpointer)`, which
+ matches the GDestroyNotify signature. An explicit GDestroyNotify
+ cast on
+ g_free and g_object_unref is thus not needed.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 4 ++--
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 6 +++---
+ plugins/huawei/mm-broadband-modem-huawei.c | 14 +++++++-------
+ plugins/icera/mm-broadband-bearer-icera.c | 2 +-
+ plugins/icera/mm-broadband-modem-icera.c | 6 +++---
+ plugins/iridium/mm-broadband-modem-iridium.c | 2 +-
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 2 +-
+ plugins/mbm/mm-broadband-bearer-mbm.c | 4 ++--
+ plugins/mbm/mm-broadband-modem-mbm.c | 2 +-
+ plugins/mtk/mm-broadband-modem-mtk.c | 2 +-
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 2 +-
+ plugins/option/mm-broadband-bearer-hso.c | 4 ++--
+ plugins/option/mm-broadband-modem-hso.c | 6 +++---
+ plugins/sierra/mm-broadband-bearer-sierra.c | 2 +-
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 2 +-
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 +-
+ plugins/telit/mm-broadband-modem-telit.c | 2 +-
+ plugins/tests/test-fixture.c | 2 +-
+ plugins/ublox/mm-broadband-bearer-ublox.c | 4 ++--
+ plugins/ublox/mm-broadband-modem-ublox.c | 2 +-
+ plugins/zte/mm-broadband-modem-zte.c | 2 +-
+ 21 files changed, 37 insertions(+), 37 deletions(-)
+
+commit 9823d9d6f613d33e868352328a7056809996e790
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 28 18:35:54 2017 -0700
+
+ core: remove explicit GDestroyNotify cast on g_free / g_object_unref
+
+ g_free and g_object_unref are in form of `void (*)(gpointer)`, which
+ matches the GDestroyNotify signature. An explicit GDestroyNotify
+ cast on
+ g_free and g_object_unref is thus not needed.
+
+ src/kerneldevice/mm-kernel-device-generic-rules.c | 2 +-
+ src/mm-bearer-list.c | 4 ++--
+ src/mm-broadband-bearer.c | 2 +-
+ src/mm-broadband-modem-mbim.c | 2 +-
+ src/mm-broadband-modem-qmi.c | 18 +++++++++---------
+ src/mm-broadband-modem.c | 10 +++++-----
+ src/mm-call-list.c | 2 +-
+ src/mm-device.c | 4 ++--
+ src/mm-iface-modem-firmware.c | 2 +-
+ src/mm-iface-modem-simple.c | 2 +-
+ src/mm-iface-modem-time.c | 2 +-
+ src/mm-plugin-manager.c | 10 +++++-----
+ src/mm-port-probe.c | 2 +-
+ src/mm-port-qmi.c | 4 ++--
+ src/mm-sim-mbim.c | 4 ++--
+ src/mm-sim-qmi.c | 10 +++++-----
+ src/mm-sms-list.c | 2 +-
+ 17 files changed, 41 insertions(+), 41 deletions(-)
+
+commit 3c4c983642c0d03aa6e509221930179c59aac9b6
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 28 11:24:39 2017 -0700
+
+ base-bearer: fix typo in 'bearer-default-ip-family' property name
+
+ src/mm-base-bearer.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6de2d84af17a88cbef509187c96d2d91a06c6914
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Mon Mar 27 15:54:46 2017 +0200
+
+ telit: support QMI and MBIM modems
+
+ Vendor specific plugins that support QMI or MBIM based devices need to
+ handle the creation of these modems themselves.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100372
+
+ Original patch by Aleksander Morgado.
+
+ plugins/telit/77-mm-telit-port-types.rules | 3 ---
+ plugins/telit/mm-common-telit.c | 7 ++++++
+ plugins/telit/mm-plugin-telit.c | 35
+ +++++++++++++++++++++++++++++-
+ 3 files changed, 41 insertions(+), 4 deletions(-)
+
+commit eee6896648fc39922f3d3eff7190a94bd536b40d
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Mon Mar 27 17:50:29 2017 +0200
+
+ broadband-modem: fixed wrong MEM1 value passed to +CPMS
+
+ In functions
+
+ - mm_broadband_modem_lock_sms_storages
+ - modem_messaging_set_default_storage
+
+ return with error when using current_sms_mem1_storage as +CPMS
+ value, but
+ current_sms_mem1_storage value is UNKNOWN.
+
+ src/mm-broadband-modem.c | 77
+ +++++++++++++++++++++++++-----------------
+ src/mm-iface-modem-messaging.c | 2 +-
+ 2 files changed, 47 insertions(+), 32 deletions(-)
+
+commit 4c164287eba1e0655c4090e4c72b2f0f1bf4a2ac
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 24 14:51:08 2017 +0100
+
+ telit: don't require udev tags to bind devices
+
+ The vendor id/string based rules should already be enough to get the
+ telit plugin bind telit devices.
+
+ This simplifies support for future Telit devices, as we wouldn't need
+ any additional change in the plugin. It also helps when working with
+ RS232 devices as the user wouldn't need to add the explicit tag to get
+ the devices bound to this plugin.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100373
+
+ plugins/dell/77-mm-dell-port-types.rules | 3 +--
+ plugins/telit/77-mm-telit-port-types.rules | 9 ---------
+ plugins/telit/mm-plugin-telit.c | 6 ------
+ 3 files changed, 1 insertion(+), 17 deletions(-)
+
+commit 15d135b9c47a0878e3c62906d33c2a5f08546ac1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 24 14:55:36 2017 +0100
+
+ base-bearer: stop connection status monitoring if no TTY available
+
+ On modems with a single TTY for both control and data, we cannot use
+ the TTY to load connection status once we're in connected mode:
+
+ Connection through a plain serial AT port (ttyUSB2)
+ (ttyUSB2): --> 'ATD*99***2#<CR>'
+ (ttyUSB2): <-- '<CR><LF>CONNECT 100000000<CR><LF>'
+ (ttyUSB2): port now connected
+ Connected bearer '/org/freedesktop/ModemManager1/Bearer/0'
+ Modem /org/freedesktop/ModemManager1/Modem/0: state changed
+ (connecting -> connected)
+ Simple connect state (8/8): All done
+ checking if connected failed: Couldn't check current list of
+ active PDP contexts: No AT port available to run command
+ checking if connected failed: Couldn't check current list of
+ active PDP contexts: No AT port available to run command
+ checking if connected failed: Couldn't check current list of
+ active PDP contexts: No AT port available to run command
+ ...
+
+ So, disable connection monitoring right away if that situation is
+ detected:
+
+ Connection through a plain serial AT port (ttyUSB2)
+ (ttyUSB2): --> 'ATD*99***2#<CR>'
+ (ttyUSB2): <-- '<CR><LF>CONNECT 100000000<CR><LF>'
+ (ttyUSB2): port now connected
+ Connected bearer '/org/freedesktop/ModemManager1/Bearer/0'
+ Modem /org/freedesktop/ModemManager1/Modem/0: state changed
+ (connecting -> connected)
+ Simple connect state (8/8): All done
+ Connection monitoring is unsupported by the device
+ ...
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100376
+
+ src/mm-base-bearer.c | 20 ++++++++++++++++++--
+ src/mm-broadband-bearer.c | 41 ++++++++++++++++++++++++++++-------------
+ 2 files changed, 46 insertions(+), 15 deletions(-)
+
+commit dd1e281e82726bcf3349a776da53c4158b088724
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 24 15:03:08 2017 +0100
+
+ broadband-bearer: set TTY as connected as soon as ATD replies
+
+ When the connection request is done via ATD, flag the port as
+ connected as soon as the successful response is received, so that we
+ remove our polling on the device right away.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=99541
+
+ src/mm-broadband-bearer.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+commit bc4cbbe6cfda7b884084d888cf271759816e931f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 8 12:18:23 2017 +0100
+
+ broadband-modem: fix capabilities in 4G-only devices
+
+ The +CGSM capability is saying that the modem is a 3GPP modem, but
+ that doesn't necessarily mean it's a GSM/UMTS modem, it could be a
+ LTE-only device.
+
+ We did add the GSM_UMTS capability when +CGSM was found, so now we'll
+ check if the device only reports 4G-only mode, and remove the
+ capability if so.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100155
+
+ src/mm-broadband-modem.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit 16009114397a75d6e511942a6bd9fc74ea8a0d3f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 8 12:17:55 2017 +0100
+
+ broadband-modem,helpers: implement AT+WS46=? response parser
+
+ We want a parser that returns the full list of combinations found.
+
+ src/mm-broadband-modem.c | 111 ++++++++++++--------------------
+ src/mm-modem-helpers.c | 143
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 3 +
+ src/tests/test-modem-helpers.c | 102 +++++++++++++++++++++++++++++
+ 4 files changed, 290 insertions(+), 69 deletions(-)
+
+commit dc01a30c2f87e41780a0b4098f535822462999a7
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Fri Mar 24 15:35:25 2017 +0100
+
+ huawei: ignore unsolicited message ^EONS
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 11a26f10668659fb0c043ec9bc88debacce8cab1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 3 23:28:46 2017 +0100
+
+ serial: allow specifying baudrate to use via udev tags
+
+ A new 'ID_MM_TTY_BAUDRATE' per-port udev tag is introduced, which
+ allows specifying the baudrate that will be used when opening a
+ specific serial port.
+
+ E.g.:
+
+ ACTION!="add|change|move", GOTO="mm_my_modem_end"
+ DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.3/*",
+ ENV{ID_MM_TTY_BAUDRATE}="115200"
+ LABEL="mm_my_modem_end"
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100158
+
+ src/mm-base-modem.c | 6 +++
+ src/mm-port-probe.c | 10 +++++
+ src/mm-port-serial.c | 118
+ ++++++++++-----------------------------------------
+ 3 files changed, 39 insertions(+), 95 deletions(-)
+
+commit 00fb9e98f6003f6b167f7d12a895ec3d1402b027
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 6 12:01:56 2017 +0100
+
+ kernel-device: device-specific properties in either port or physdev
+
+ There are 2 main types of udev properties: device-specific and
+ port-specific.
+
+ The port-specific properties are set independently per port (e.g. port
+ type hints set per interface number for a given vid:pid).
+
+ The device-specific properties apply to all ports in the device. Some
+ of these properties are currently expected in the physical device
+ (e.g. ID_MM_PLATFORM_DRIVER_PROBE) while some others are expected in
+ each port (e.g. the plugin udev tag filters).
+
+ This patch tries to simplify the logic and just assume that the device
+ specific tags may be given in either the physical device or the port
+ device, by providing separate APIs to retrieve port-specific or
+ device-specific (global) properties. If the same tag is given in both
+ the device and the port, the one in the device takes preference.
+
+ For the generic backend, these new APIs are really useless, as all
+ device-specific and port-specific properties are always stored in the
+ port object themselves (there is no 'tree' of devices in the generic
+ backend, no 'physdev' device).
+
+ For the udev backend, though, there really is a difference, as the
+ tags may be set in port or device.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100156
+
+ plugins/dell/mm-plugin-dell.c | 2 +-
+ plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
+ plugins/huawei/mm-plugin-huawei.c | 2 +-
+ plugins/simtech/mm-plugin-simtech.c | 2 +-
+ plugins/telit/mm-common-telit.c | 2 +-
+ plugins/zte/mm-plugin-zte.c | 2 +-
+ src/kerneldevice/mm-kernel-device-generic.c | 7 ++
+ src/kerneldevice/mm-kernel-device-udev.c | 160
+ ++++++++++++++++++++++------
+ src/kerneldevice/mm-kernel-device.c | 55 ++++++++++
+ src/kerneldevice/mm-kernel-device.h | 14 +++
+ src/mm-plugin.c | 4 +-
+ 11 files changed, 213 insertions(+), 39 deletions(-)
+
+commit 230e732a24e0e925f535839caecc4a69d89ab89e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 17 13:02:57 2017 -0500
+
+ iface-modem-3gpp: use mm_3gpp_parse_operator_id() instead of
+ custom code
+
+ src/mm-iface-modem-3gpp.c | 43
+ ++++++++-----------------------------------
+ 1 file changed, 8 insertions(+), 35 deletions(-)
+
+commit 9384817a14c8706909f619e773a76edd65a0fdef
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 15 00:03:35 2017 +0100
+
+ telit: lock/unlock CSIM operations by default
+
+ Wrap the AT+CSIM=XX commands between lock (CSIM=1) and
+ unlock (CSIM=0) operations.
+
+ This seems to avoid the TTY lockup seen in several different Telit
+ modules.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100205
+
+ Reported-by: Penalva, Salvador <Salvador.Penalva@digi.com>
+
+ plugins/telit/mm-broadband-modem-telit.c | 69
+ +++++++++++++++++++++++++++++++-
+ 1 file changed, 68 insertions(+), 1 deletion(-)
+
+commit 8664b2a38ac71428a5bbc3d89fbef3f68aea6430
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 7 12:37:42 2017 +0100
+
+ telit: support RS232 modems
+
+ Adding the vendor string match allows us to support RS232 devices in
+ the Telit plugin: the USB vendor id check may now be ignored and
+ instead we probe for the vendor string via AT commands, which works
+ even if the device is behind a USB<->RS232 adapter.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100171
+
+ plugins/telit/mm-plugin-telit.c | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit 60be293fa57a3d3f6db1d1ae064d42af320f84e0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 6 13:56:19 2017 +0100
+
+ telit: don't ignore AT ports without an explicit port type hint tag
+
+ The telit plugin is based on two main ways of checking the purpose of
+ each port: udev tags flagging specific interfaces (with info taken
+ from Windows .inf drivers), or otherwise using AT#PORTCFG? to query
+ the modem about that information. If none of those applies, the port
+ is ignored by default.
+
+ In order to support devices that are not explicitly tagged, the plugin
+ shouldn't flag as ignored the AT-capable TTYs, instead they are now
+ grabbed as 'secondary': ports grabbed as secondary will never be used
+ for either primary/data IF there is another port flagged explicitly
+ for primary/data.
+
+ This fixes the support for modems with a single TTY and no explicit
+ port type hint tag, e.g. RS232 modems with just one single TTY where
+ there's no point in specifying port type hints: the port will be
+ grabbed as secondary, and then automatically promoted to primary/data
+ as there is no other port grabbed.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100159
+
+ plugins/telit/mm-common-telit.c | 19 +++++++++++++++----
+ 1 file changed, 15 insertions(+), 4 deletions(-)
+
+commit 875ade3e41b61528bbd2b018a5d34c1a1cda9b99
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 7 11:12:51 2017 +0100
+
+ iface-modem: improve network registration checks for LTE devices
+
+ If a device reports "LTE" in the list of current capabilities, we'll
+ set EPS network supported by default. This will enable CEREG
+ registration checks for AT based devices.
+
+ If a device reports only "LTE" in the list of current capabilities, we
+ disable all the other network support flags (e.g. will disable CREG
+ and CGREG checks among others).
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100170
+
+ src/mm-iface-modem.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit 957195469ed1eaf6f48b3a70c5d386c5310ec06e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 13 09:55:04 2017 +0100
+
+ build: bump libqmi required version to 1.17.900
+
+ Since we process the WDS Event Report Indication messages, we need
+ libqmi from git master, so we bump the required version to the first
+ tag that contains those QMI messages.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e9d0989ed069b2b6f3deea438ef390998286601f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 6 15:01:21 2017 +0100
+
+ base-manager: remove MMDevice if support check fails
+
+ If the device support check fails, either with an error, or afterwards
+ when trying to create a modem object, we must remove the MMDevice from
+ the tracking table of devices, so that a manual scan request
+ afterwards re-scans all ports.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100157
+
+ src/mm-base-manager.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 355633f8d6eceb6ef2de9fbca21f0eb2010fc047
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 8 14:09:50 2017 +0100
+
+ docs: update copyright year to 2017
+
+ docs/reference/api/ModemManager-docs.xml | 1 +
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ 2 files changed, 2 insertions(+)
+
+commit c1d04f4cc03710cd213aa8ebc85f05ecc6ba62ea
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 7 17:39:42 2017 +0100
+
+ cinterion: improve ^SCFG=? response parser to handle EHS5 format
+
+ Two main changes in the regex:
+ * Ignore double quotes around interval numbers.
+ * Ignore second set of values (i.e. the one after the comma), as it
+ may not even be given).
+
+ We now support at least these two formats:
+ ^SCFG: "Radio/Band",("1-511","0-1")
+ ^SCFG: "Radio/Band\",("1"-"147")
+
+ Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>
+
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 3 +-
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 69
+ ++++++++++++++++++++++
+ 2 files changed, 71 insertions(+), 1 deletion(-)
+
+commit 73bfe94643eab39ef43a5023c482340ac9b882dc
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Mar 3 10:29:50 2017 -0800
+
+ device: add null check on `self->priv->modem' in clear_modem
+
+ clear_modem() can be invoked from set_property() and dispose(), where
+ `self->priv->modem' may be NULL. This patch adds a null check on the
+ modem object to make sure we don't run g_object_run_dispose() on
+ a null
+ modem object.
+
+ src/mm-device.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit f0cda2093078d630ca164b3872f742609e091a20
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Mar 2 18:57:14 2017 -0800
+
+ kernel-device: use device sysfs if physdev sysfs isn't available
+
+ find_device_by_physdev_uid() expects a non-NULL UID of the physical
+ device. However, mm_kernel_device_get_physdev_uid() could potentially
+ return NULL on MMKernelDeviceUdev if find_physical_gudevdevice() in
+ mm-kernel-device-udev.c fails to find the physical device. When a NULL
+ physical device UID is passed to find_device_by_physdev_uid() and used
+ in g_hash_table_lookup(), it leads to a crash in g_str_hash(),
+ which is
+ a bit obscure.
+
+ This patch updates kernel_device_get_physdev_uid() in
+ mm-kernel-device-udev.c to fall back to use the device sysfs if the
+ physical device sysfs isn't available, which is similar to how
+ kernel_device_get_physdev_uid() mm-kernel-device-generic.c is
+ implemented.
+
+ src/kerneldevice/mm-kernel-device-udev.c | 27 ++++++++++++++++-----------
+ 1 file changed, 16 insertions(+), 11 deletions(-)
+
+commit 8c3312918adf8ba49bb242cd21b306d3a7ff3a09
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 4 07:23:43 2016 -0500
+
+ bearer-qmi: add WDS event reporting support
+
+ Don't do anything with the events yet, but at least turn them on
+ and capture them in debug logging.
+
+ src/mm-bearer-qmi.c | 252
+ ++++++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 216 insertions(+), 36 deletions(-)
+
+commit 7a048acd4496adc5a973ba40b35dff635b832e4f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 1 18:43:45 2017 +0100
+
+ broadband-modem-mbim: disable parent access tech loading
+
+ The parent method would use QCDM to load access tech, but we already
+ have the access tech reported in MBIM via indications, so no real need
+ to mix that.
+
+ For context, see:
+ https://bugs.freedesktop.org/show_bug.cgi?id=100000
+
+ src/mm-broadband-modem-mbim.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f10065d03c3b9e8543244f1f35e71044795a8a2c
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Feb 23 11:45:29 2017 -0800
+
+ kernel-device: simplify handling of platform/pci/pnp/sdio parent
+
+ This patch simplifies the handling of platform/pci/pnp/sdio device in
+ find_physical_gudevdevice(). When the code finds the first parent
+ device
+ under the subsystem 'platform', 'pci', 'pnp', or 'sdio', it stops
+ traversing up the device tree, so there is no need to keep track of
+ whether a platform / pci / pnp / sdio device has previously been
+ visited
+ via those is_platform/is_pci/is_pnp/is_sdio Boolean variables.
+
+ src/kerneldevice/mm-kernel-device-udev.c | 23 ++++++-----------------
+ 1 file changed, 6 insertions(+), 17 deletions(-)
+
+commit 66b3367cf87e636f49f1e89c3f7645c7826d5eb2
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Feb 28 18:49:13 2017 -0800
+
+ kernel-device: handle SDIO device in find_physical_gudevdevice
+
+ A few crashes have been observed in the field with the following
+ signature:
+
+ Thread 0 CRASHED [SIGSEGV @ 0x00000000 ] MAGIC SIGNATURE THREAD
+ 0xf53ff5e8 (libglib-2.0.so.0.3600.4 -ghash.c:1732 ) g_str_hash
+ 0xf53fe8c7 (libglib-2.0.so.0.3600.4 -ghash.c:365 )
+ g_hash_table_lookup
+ 0xb953c3bd (ModemManager -mm-base-manager.c:130 ) device_removed
+ 0xb953cc9f (ModemManager -mm-base-manager.c:408 ) handle_uevent
+ 0xf54c535f (libgobject-2.0.so.0.3600.4 -gclosure.c:777 )
+ g_closure_invoke
+ 0xf54d6fc7 (libgobject-2.0.so.0.3600.4 -gsignal.c:3584 )
+ signal_emit_unlocked_R
+ 0xf54d7baf (libgobject-2.0.so.0.3600.4 -gsignal.c:3328 )
+ g_signal_emit_valist
+ 0xf54d7fa5 (libgobject-2.0.so.0.3600.4 -gsignal.c:3384 )
+ g_signal_emit
+ 0xf5623819 (libgudev-1.0.so.0.2.0 -gudevclient.c:104 )
+ monitor_event
+ 0xf540cc51 (libglib-2.0.so.0.3600.4 -gmain.c:3054 )
+ g_main_context_dispatch
+ 0xf540cfa5 (libglib-2.0.so.0.3600.4 -gmain.c:3701 )
+ g_main_context_iterate
+ 0xf540d2c5 (libglib-2.0.so.0.3600.4 -gmain.c:3895 )
+ g_main_loop_run
+ 0xb9539dad (ModemManager -main.c:180 ) main
+ 0xf52d687d (libc-2.23.so -libc-start.c:289 ) __libc_start_main
+ 0xb9539bf3 (ModemManager + 0x0001cbf3 ) _start
+ 0xb95b0fbf (ModemManager -elf-init.c:87 ) __libc_csu_init
+ 0xf56dbe43 (ld-2.23.so + 0x0000be43 ) _dl_sort_fini
+ 0xb9539bbf (ModemManager + 0x0001cbbf ) _init
+
+ The crash happens when
+ mm-kernel-device-udev.c:find_physical_gudevdevice()
+ fails to find the physical device, which eventually leads to a NULL
+ `physdev_uid' being passed to g_hash_table_lookup() in
+ mm-base-manager.cc:find_device_by_physdev_uid().
+
+ There isn't much information about the actual device that triggered
+ the
+ udev event, but it's suspected to be a tty or net device on a SDIO bus
+ and thus associated with a physical device on the 'sdio'
+ subsystem. This
+ patch updates find_physical_gudevdevice() in mm-kernel-device-udev.c
+ to
+ handle this particular scenario.
+
+ src/kerneldevice/mm-kernel-device-udev.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit bf27e44caf7c7868e139e58e510c307770074171
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 28 13:38:16 2017 -0600
+
+ broadband-modem: fix QCDM access tech reporting for WCDMA system modes
+
+ Two issues here:
+
+ 1) PCH_SLEEP wasn't considered a "wcdma_open" state, but it should be
+ since the modem is still registered and can be attached in this state
+
+ 2) If the system mode is WCDMA (eg, not GSM and not GSM/WCDMA) then
+ MM shouldn't assume GPRS if WCDMA isn't "open", since GPRS isn't
+ enabled in WCDMA-only mode
+
+ Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100000
+
+ src/mm-broadband-modem.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+commit cec01fdaf67a7973a4bb1691baeb31fb0cf7ec2f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 28 13:30:56 2017 -0600
+
+ libqcdm: fix WCDMA L1 Manager states
+
+ The enum was wrong. There isn't actually an L1M_INIT state; the
+ enum should start with L1M_IDLE. There should also be a
+ L1M_PCH_SLEEP state between DEACTIVATE and DEEP_SLEEP.
+
+ Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=100000
+
+ libqcdm/src/commands.h | 20 +++++++++++---------
+ libqcdm/tests/test-qcdm-com.c | 12 +++++++++---
+ 2 files changed, 20 insertions(+), 12 deletions(-)
+
+commit 21f315f6d554b93e4f098cfd0e94c484a8a0c5dc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 28 11:13:04 2017 +0100
+
+ broadband-modem-qmi: FCC auth if InvalidTransition when going online
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=100001
+
+ src/mm-broadband-modem-qmi.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+commit 40e6fa48c4d43069ced8cd9bc7206d3554b6e72a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 15 10:10:51 2017 +0100
+
+ build: make sure subdir exists before running glib-mkenums
+
+ Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>
+
+ configure.ac | 1 +
+ plugins/Makefile.am | 22 +++++++++++++---------
+ 2 files changed, 14 insertions(+), 9 deletions(-)
+
+commit 37df2643d2334a8ed8b9774396fcd2567a68a6de
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 14 19:46:26 2017 +0100
+
+ cinterion: improve ^SMONG response parser:
+
+ * Allow whitespaces prefixing the values row.
+ * Allow more than one \r\n between the title and the table header.
+
+ Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 87
+ +++-------------------
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 77
+ +++++++++++++++++++
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 8 ++
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 43 +++++++++++
+ 4 files changed, 137 insertions(+), 78 deletions(-)
+
+commit 97eb23a964046abd0724d6fff6d3816f4ab3e220
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 14 09:44:21 2017 +0100
+
+ cinterion: fix 'ds' setting in CNMI command builder
+
+ Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1d41685f487a7d84846826d99fc99e3461ffce37
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Feb 13 15:03:20 2017 +0100
+
+ device: disconnect signal handlers when modem object removed
+
+ Don't rely on the automatic disconnection of the signal as the last
+ reference of the modem object may outlive the device object.
+
+ Also, setup a common clear_modem() function to dispose the internal
+ reference of the modem object, which will take care of the signal
+ disconnection when required.
+
+ https://lists.freedesktop.org/archives/modemmanager-devel/2017-February/003907.html
+
+ src/mm-device.c | 34 +++++++++++++++++++++++-----------
+ 1 file changed, 23 insertions(+), 11 deletions(-)
+
+commit 421713208bc3212d153906ad231a2e4b6b5ce6de
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Feb 13 10:42:06 2017 +0100
+
+ cinterion: support number ranges in CNMI=? parser
+
+ https://lists.freedesktop.org/archives/modemmanager-devel/2017-February/003911.html
+
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 109
+ +++++++--------------
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 50 ++++++++++
+ 2 files changed, 88 insertions(+), 71 deletions(-)
+
+commit 91613543d595f8d345a8725746b6f77a821173a8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 8 18:27:54 2017 +0100
+
+ libmm-glib: set clear func by default in the MMModemPortInfo array
+
+ So that we don't leak the port names allocated within each
+ MMModemPortInfo.
+
+ ==261== 672 bytes in 84 blocks are definitely lost in loss record
+ 7,314 of 7,383
+ ==261== at 0x402C51E: malloc (vg_replace_malloc.c:299)
+ ==261== by 0x4484878: g_malloc (gmem.c:94)
+ ==261== by 0x449D51D: g_strdup (gstrfuncs.c:363)
+ ==261== by 0x44B5B73: g_variant_dup_string (gvariant.c:1529)
+ ==261== by 0x44B945E: g_variant_valist_get_nnp (gvariant.c:4775)
+ ==261== by 0x44B945E: g_variant_valist_get_leaf (gvariant.c:4945)
+ ==261== by 0x44B945E: g_variant_valist_get (gvariant.c:5126)
+ ==261== by 0x44B922C: g_variant_valist_get (gvariant.c:5161)
+ ==261== by 0x44B9FC9: g_variant_get_va (gvariant.c:5388)
+ ==261== by 0x44BA3C5: g_variant_get_child (gvariant.c:5486)
+ ==261== by 0x6613FA8: mm_common_ports_variant_to_garray
+ (mm-common-helpers.c:238)
+ ==261== by 0x6601AB9: ensure_internal_ports (mm-modem.c:766)
+ ==261== by 0x6603E42: mm_modem_peek_ports (mm-modem.c:825)
+ ==261== by 0x65CD94D: owns_port (nm-modem-broadband.c:196)
+
+ Reported-by: Piotr Figiel <p.figiel@camlintechnologies.com>
+
+ libmm-glib/mm-common-helpers.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 5a8620d984eb3ca9632b6d63f625ffb5c522716e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 8 18:26:39 2017 +0100
+
+ cli: minor indentation fix
+
+ cli/mmcli.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 255e4c769bb4c807f64ce0ed699d62bc88b5b670
+Author: Piotr Figiel <p.figiel@camlintechnologies.com>
+Date: Wed Feb 8 18:18:46 2017 +0100
+
+ libmm-glib: fix leaking bearer_path string
+
+ ==261== 482 bytes in 12 blocks are definitely lost in loss record
+ 7,290 of 7,383
+ ==261== at 0x402C51E: malloc (vg_replace_malloc.c:299)
+ ==261== by 0x4484878: g_malloc (gmem.c:94)
+ ==261== by 0x449D51D: g_strdup (gstrfuncs.c:363)
+ ==261== by 0x44B5B73: g_variant_dup_string (gvariant.c:1529)
+ ==261== by 0x44B945E: g_variant_valist_get_nnp (gvariant.c:4775)
+ ==261== by 0x44B945E: g_variant_valist_get_leaf (gvariant.c:4945)
+ ==261== by 0x44B945E: g_variant_valist_get (gvariant.c:5126)
+ ==261== by 0x44B922C: g_variant_valist_get (gvariant.c:5161)
+ ==261== by 0x44B9FC9: g_variant_get_va (gvariant.c:5388)
+ ==261== by 0x44BA1DB: g_variant_get (gvariant.c:5335)
+ ==261== by 0x664E2EF: mm_gdbus_modem_simple_call_connect_finish
+ (mm-gdbus-modem.c:22451)
+ ==261== by 0x6608A08: simple_connect_ready (mm-modem-simple.c:154)
+ ==261== by 0x429136F: g_task_return_now (gtask.c:1107)
+ ==261== by 0x4291A69: g_task_return (gtask.c:1165)
+
+ libmm-glib/mm-modem-simple.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0ea4b09fd64b7c50bf86b94a5ff5114b04ebc766
+Author: Maksim Salau <maksim.salau@gmail.com>
+Date: Sat Feb 4 23:23:15 2017 +0300
+
+ blacklist: add promotion boards from Renesas
+
+ Signed-off-by: Maksim Salau <maksim.salau@gmail.com>
+
+ src/77-mm-usb-device-blacklist.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 31655bb5a5e2c806cee23b9ee41c2e663c5decbd
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Feb 2 16:45:01 2017 -0800
+
+ glib: remove invocations of g_type_init()
+
+ g_type_init() has been deprecated (and also marked with the attribute
+ 'deprecated') since glib 2.36 as the type system is automatically
+ initialized. Since the minimum version of glib required by
+ ModemManager
+ is 2.36, calling g_type_init() isn't necessarily in the ModemManager
+ code.
+
+ cli/mmcli.c | 2 --
+ libmm-glib/tests/test-common-helpers.c | 1 -
+ plugins/altair/tests/test-modem-helpers-altair-lte.c | 1 -
+ plugins/cinterion/tests/test-modem-helpers-cinterion.c | 1 -
+ plugins/generic/tests/test-service-generic.c | 1 -
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 1 -
+ plugins/icera/tests/test-modem-helpers-icera.c | 1 -
+ plugins/linktop/tests/test-modem-helpers-linktop.c | 1 -
+ plugins/mbm/tests/test-modem-helpers-mbm.c | 1 -
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 1 -
+ plugins/tests/test-udev-rules.c | 1 -
+ plugins/thuraya/tests/test-mm-modem-helpers-thuraya.c | 1 -
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 1 -
+ src/main.c | 2 --
+ src/tests/test-at-serial-port.c | 1 -
+ src/tests/test-modem-helpers-qmi.c | 1 -
+ src/tests/test-modem-helpers.c | 1 -
+ src/tests/test-qcdm-serial-port.c | 3 ---
+ src/tests/test-sms-part-3gpp.c | 1 -
+ src/tests/test-sms-part-cdma.c | 1 -
+ src/tests/test-udev-rules.c | 1 -
+ test/lsudev.c | 2 --
+ test/mmrules.c | 2 --
+ test/mmtty.c | 2 --
+ 24 files changed, 31 deletions(-)
+
+commit f20f2d04282f673cebc2ce9262c5b10adab82fa2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jan 31 00:43:22 2017 +0100
+
+ blacklist: add Analog PlutoSDR
+
+ Reported-by: Robin Getz <Robin.Getz@analog.com>
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit ab48dc5b17f90f12e82ccdd58a40d137858e1490
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 28 21:54:13 2017 -0600
+
+ telit: add LTE access technology reporting
+
+ plugins/telit/mm-broadband-modem-telit.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit ef8cc2912499ac82b9875f4d6f8b90cfe4b23cd5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 26 17:29:43 2017 +0100
+
+ serial: minor indentation fix
+
+ src/mm-port-serial.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3de34e94ccd066aa7540dc4f32a17776a110b579
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 26 14:36:02 2017 +0100
+
+ serial: fix handling errors in virtual serial ports
+
+ The g_socket_receive() method returns a signed size variable, so don't
+ use an unsigned variable to hold the result.
+
+ src/mm-port-serial.c | 18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+commit c8ec731043d6dc8429597062254dc669cae4ff5c
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jan 23 23:08:15 2017 -0800
+
+ ublox: fix uninitialized variable issue
+
+ This patch fixes an uninitialized variable issue in
+ mm_ublox_parse_ugcntrd_response_for_cid(), which uses an uninitialized
+ `match_info' when `in_cid' is invalid.
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4e5d8d7e8c0ce16e31d3c98710361eed1cf9f87c
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jan 23 23:07:57 2017 -0800
+
+ bearer-qmi: fix incorrect use of mm_base_bearer_get_status
+
+ This patch fixes a bug in packet_service_status_indication_cb(), which
+ incorrectly treats the MMBearerStatus enum value returned by
+ mm_base_bearer_get_status() as a MMBearerConnectionStatus enum value.
+ MMBearerStatus and MMBearerConnectionStatus can't be used
+ interchangeably as they have different enum values for the
+ 'disconnected' and 'disconnecting' state.
+
+ src/mm-bearer-qmi.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 4a80c2416962626750696cb744da3a51e7b8f831
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 11 22:29:08 2017 -0800
+
+ telit: use g_assert instead of g_assert_true / g_assert_false
+
+ `g_assert_true' and `g_assert_false' are defined in glib 2.38
+ or later.
+ The minimum glib version currently required by ModemMamanger is 2.36.
+ While `g_assert_true' and `g_assert_false' may be preferred over the
+ more generic `g_assert', it seems like overkill to bump the minimum
+ glib
+ version requirement just for that. When more code in ModemManager
+ later
+ requires newer versions of glib, we can migrate all existing code
+ to use
+ `g_assert_true' and `g_assert_false' when appropriate.
+
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 11297bcc7914f49ae79b450e6582f0cc61fd178f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Dec 14 13:54:47 2016 +0100
+
+ cinterion: implement connection status monitoring via ^SWWAN?
+
+ And consolidate the connection status checks done during connection
+ and
+ disconnection so that we re-use the same logic.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 179
+ ++++++++++++++-------
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 36 +++--
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 16 +-
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 60 +++----
+ 4 files changed, 181 insertions(+), 110 deletions(-)
+
+commit 9f725bc96a0e0aa67440694799371f05c11bd74d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Dec 14 13:54:04 2016 +0100
+
+ cinterion: default to PAP if no auth explicitly given
+
+ This is the same logic used in other implementations (e.g. QMI).
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 41
+ +++++++++++++----------
+ 1 file changed, 23 insertions(+), 18 deletions(-)
+
+commit af2d6c1c4b7f815862313bf0f84b1ff0e91ccd60
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Dec 13 12:29:21 2016 +0100
+
+ cinterion: don't use predefined CIDs
+
+ The suggestion to use specific PDP context CIDs was given by Cinterion
+ for the special case of the Verizon operator, which 'reserves'
+ specific
+ CIDs for specific purposes.
+
+ We don't want to impose that at the Cinterion plugin level, so remove
+ the PDP context mapping we had.
+
+ Therefore, simplify the connection procedure by just overriding the
+ 'dialing' step of the default 3GPP connection sequence, instead of
+ overriding the whole connection sequence.
+
+ Also, we don't need to override the step to gather IP config because
+ this is already handled by the generic plugin (for DHCP over a network
+ interface).
+
+ We port to GTask for both 3GPP dial and 3GPP disconnect at the
+ same time.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 457
+ ++++++++++------------
+ 1 file changed, 196 insertions(+), 261 deletions(-)
+
+commit 7d576a084ca5ee53f163f87e18b0b1ab021c4075
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 28 17:24:38 2016 +0100
+
+ cinterion: fix typo in comment
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1919138c68d5f91c1fe49daf3eddce653f6d4aa8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 24 11:37:10 2016 +0100
+
+ cinterion: don't check for ^SWWAN support during enabling
+
+ Better check for ^SWWAN support during the first time a bearer
+ is going
+ to be created.
+
+ The enabling phase isn't the correct one because this logic is
+ only run
+ whenever a modem is detected but not hotplugged (i.e. this step is to
+ 'reset' the modem to generic runtime settings).
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 150
+ ++++++++---------------
+ 1 file changed, 49 insertions(+), 101 deletions(-)
+
+commit 9ca3fde06bc920e2fc15127888dbbfe731a73a56
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 24 11:25:02 2016 +0100
+
+ cinterion: minor coding style fixes
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 18 ++++++-------
+ plugins/cinterion/mm-broadband-bearer-cinterion.h | 17 ++++++------
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 33
+ +++++++++++------------
+ 3 files changed, 33 insertions(+), 35 deletions(-)
+
+commit 37521ed2b611bdccd288cabc5fc4e48c51a32e49
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 24 01:53:11 2016 +0100
+
+ cinterion: simplify ^SWWAN response parsing
+
+ We get as input the ^SWWAN index we're interested in, and we loop
+ through the list of ^SWWAN lines looking for the one we need.
+
+ This updated helper method allows working with multi-line ^SWWAN
+ responses, e.g. given when more than one PDP context is active.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 98 +++-----
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 134 +++++-----
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 14 +-
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 270
+ +++++++++++----------
+ 4 files changed, 254 insertions(+), 262 deletions(-)
+
+commit dc96829bb5a49216e45e770f249f29e725ce97ad
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 24 01:15:39 2016 +0100
+
+ cinterion: no need for private struct
+
+ The only member in the private network isn't even used.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 34
+ -----------------------
+ plugins/cinterion/mm-broadband-bearer-cinterion.h | 2 --
+ 2 files changed, 36 deletions(-)
+
+commit f7ca0124b0a1d5013c1f0fd6f9e5b182d6cdef60
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 24 10:31:15 2016 +0100
+
+ cinterion: rework 3GPP connection sequence
+
+ Group together all connection related logic (e.g. context) and define
+ the context steps directly within the connection sequence processing.
+
+ Also, don't initially run a disconnection before the connection;
+ if that
+ logic is ever needed we should likely have it in the generic modem,
+ not
+ done per plugin.
+
+ And error out early if not asking for IPv4.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 521
+ ++++++++++------------
+ 1 file changed, 227 insertions(+), 294 deletions(-)
+
+commit 955b46daf96c841a6ffbccc80f73e7d852c430d7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 24 00:23:48 2016 +0100
+
+ cinterion: rework 3GPP disconnection sequence
+
+ Group together all disconnection related logic (e.g. context)
+ and define
+ the context steps directly within the disconnection sequence
+ processing.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 237
+ ++++++++++------------
+ 1 file changed, 111 insertions(+), 126 deletions(-)
+
+commit 6721c83d073d1a3ae8c0037d69211cf02388bb49
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 23 23:54:41 2016 +0100
+
+ cinterion: use BearerCinterionAuthType when possible
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit d50059ead40d9e6c18d4ff5cd8daaf2cea965d74
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 23 23:42:46 2016 +0100
+
+ cinterion: setup per-interface configuration settings
+
+ Define the relationship between PDP context, SWWAN index and USB
+ interface number in one single place.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 196
+ ++++++++++++----------
+ 1 file changed, 103 insertions(+), 93 deletions(-)
+
+commit 938a53e7c64751d045e9fe1b11f9de774f3878f3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 23 23:02:29 2016 +0100
+
+ cinterion: fix coding style for enum values
+
+ The enum values are given in UPPER_CASE format, not in CamelCase.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 74
+ +++++++++++------------
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 16 ++---
+ 2 files changed, 45 insertions(+), 45 deletions(-)
+
+commit ef50c085f9a96db3297de982e24015e574b3b0e6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 23 22:53:59 2016 +0100
+
+ base-modem,cinterion: no need for a peek_current_data_port() method
+
+ We already get the data port given as input parameter in
+ disconnect_3gpp(), so there is no point in trying to find out
+ which the
+ data port is.
+
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 19
+ ++-----------------
+ src/mm-base-modem.c | 20
+ --------------------
+ src/mm-base-modem.h | 1 -
+ 3 files changed, 2 insertions(+), 38 deletions(-)
+
+commit 1ffcb163493edf82bc7102b028450fca40b4dddd
+Author: Matthew Stanger <matthew_stanger@trimble.com>
+Date: Sun Oct 23 19:28:19 2016 -0600
+
+ cinterion: implement support for the new SWWAN interface
+
+ AUTHORS | 1 +
+ plugins/Makefile.am | 2 +
+ plugins/cinterion/mm-broadband-bearer-cinterion.c | 902
+ +++++++++++++++++++++
+ plugins/cinterion/mm-broadband-bearer-cinterion.h | 57 ++
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 229 +++++-
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 81 ++
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 7 +
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 135 +++
+ src/mm-base-modem.c | 20 +
+ src/mm-base-modem.h | 1 +
+ 10 files changed, 1434 insertions(+), 1 deletion(-)
+
+commit 2f12d96fe44f867eb7f9f1941dfe362837ccd351
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jan 4 13:44:12 2017 +0100
+
+ libmm-glib,modem: init/clear ports mutex
+
+ libmm-glib/mm-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 094fea5392c21beeaf7c06b43e19eccde6af35f5
+Author: Thomas Haller <thaller@redhat.com>
+Date: Wed Jan 4 13:15:31 2017 +0100
+
+ libmm-glib: fix memleak of MMModem's ports
+
+ Fixes: 3206e9566392e8a9678bbd49e0de9bb21ed75291
+
+ libmm-glib/mm-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 61dc32a72ce5bb17de5ca7fc6d76323c49963f08
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Tue Dec 20 16:22:41 2016 +0100
+
+ telit: wrong port peek in telit_qss_toggle_ready
+
+ qss unsolicited handler should be assigned to primary port first,
+ while secondary port was peeked.
+
+ plugins/telit/mm-broadband-modem-telit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9a92034cd3c47349a0c1d3c95de8672275352240
+Author: Carlo Lobrano <carlo.lobrano@telit.com>
+Date: Tue Dec 20 12:34:01 2016 +0100
+
+ device: fixed crash in SIM hot swap when removing the SIM
+
+ mm_device_create_modem needs a valid object_manager instance to
+ create the new
+ modem, while the one provided before was cleared out by a call to
+ mm_device_remove_modem few lines before.
+
+ Since the newly created modem refers to the same HW device, we can use
+ the same object_manager also.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=99160
+
+ src/mm-device.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit 0bf4db6561de9be61028eb6bc1792a3b7cc410b5
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Mon Dec 12 10:28:33 2016 +0100
+
+ telit: blacklist LE866 flashing device
+
+ Moved blacklist code to 77-mm-usb-device-blacklist.rules as per
+ code review
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 4197dd2e70bd9b13500fb700a841e8cfe478ed5b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 11 12:43:51 2016 +0100
+
+ bearer-qmi: signal id may be 0 even if enable == FALSE
+
+ E.g. if the connection attempt fails,
+ connect_context_complete_and_free() may
+ be called before the signals are connected to the QmiClients.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=99047
+
+ src/mm-bearer-qmi.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 905c8a48e96350af002536b627b46fbf517f727c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 23 16:19:57 2016 +0100
+
+ libqcdm,libwmc: use C99 sized types from stdint.h
+
+ libqcdm/src/commands.c | 203 ++++++++++---------
+ libqcdm/src/commands.h | 54 ++---
+ libqcdm/src/dm-commands.h | 377
+ ++++++++++++++++++-----------------
+ libqcdm/src/log-items.h | 152 +++++++-------
+ libqcdm/src/logs.c | 29 ++-
+ libqcdm/src/logs.h | 12 +-
+ libqcdm/src/nv-items.h | 19 +-
+ libqcdm/src/result-private.h | 11 +-
+ libqcdm/src/result.c | 41 ++--
+ libqcdm/src/result.h | 9 +-
+ libqcdm/src/utils.c | 13 +-
+ libqcdm/src/utils.h | 11 +-
+ libqcdm/tests/ipv6pref.c | 7 +-
+ libqcdm/tests/modepref.c | 21 +-
+ libqcdm/tests/reset.c | 4 +-
+ libqcdm/tests/test-qcdm-com.c | 21 +-
+ libqcdm/tests/test-qcdm-result.c | 5 +-
+ libwmc/src/commands.c | 33 ++--
+ libwmc/src/commands.h | 2 +-
+ libwmc/src/protocol.h | 416
+ +++++++++++++++++++--------------------
+ libwmc/src/result-private.h | 5 +-
+ libwmc/src/result.c | 19 +-
+ libwmc/src/result.h | 7 +-
+ libwmc/src/utils.c | 21 +-
+ libwmc/src/utils.h | 15 +-
+ libwmc/tests/test-wmc-com.c | 9 +-
+ src/mm-broadband-modem.c | 10 +-
+ uml290/uml290mode.c | 21 +-
+ 28 files changed, 764 insertions(+), 783 deletions(-)
+
+commit 944e34ecdb9028b68b2144dd2c6d698d508f1808
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 23 10:53:56 2016 +0100
+
+ tests,dbus: append pid to abstract socket name
+
+ So that different concurrent runs of this same test don't clash with
+ each other:
+
+ TEST: test-service-generic... (pid=11124)
+ /MM/Service/Generic/enable-disable:
+ Activating service name='org.freedesktop.ModemManager1'
+ Successfully activated service 'org.freedesktop.ModemManager1'
+ ** (plugins/.libs/lt-test-service-generic>:11124): ERROR **:
+ Cannot bind socket: Error binding to address: Address already
+ in use
+ cleaning up pid 11144
+ FAIL
+
+ plugins/generic/tests/test-service-generic.c | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+commit 20074c55746f4f87c38470b5da5105eef77f6cd3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 23 10:44:34 2016 +0100
+
+ tests,dbus: check if we're asked to use an abstract socket
+
+ plugins/tests/test-port-context.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit c1e62794aef2e26553bf6c90aace5e18c97851d1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 21 20:20:12 2016 +0100
+
+ introspection: expand list of XMLs to install
+
+ And avoid including the wip-* XMLs in the dist tarball.
+
+ introspection/Makefile.am | 26 +++++++++++++++++++++++---
+ 1 file changed, 23 insertions(+), 3 deletions(-)
+
+commit 3b38ecb01e9d208f3f4c4bce05986100bfc8b0cb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 21 13:55:49 2016 +0100
+
+ introspection: avoid white lines within <variablelist>
+
+ Looks like gdbus-codegen ends up making paragraphs and that breaks the
+ XML parsing:
+
+ DOC Building HTML
+ ../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml:60:
+ parser error : Opening and ending tag mismatch: variablelist
+ line 59 and para
+ </para><para>
+ <varlistentry><term><literal>action</literal></term>
+ ^
+ ../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml:110:
+ parser error : Opening and ending tag mismatch: para line 110
+ and variablelist
+ </para><para> </variablelist>
+ ^
+ ../xml/ModemManager-dbus-reference.xml:93:
+ element include: XInclude error : could not load
+ ../../../../libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml,
+ and no fallback was found
+
+ introspection/org.freedesktop.ModemManager1.xml | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 30c2790aa4a712e4cc834d43408d75803db47861
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 21 13:44:08 2016 +0100
+
+ kerneldevice,generic: load virtual devices without default rules
+
+ This is so that "make check" doesn't depend on having the rule files
+ installed in the default udev rules directory, which currently would
+ break the build:
+
+ TEST: test-service-generic... (pid=2601)
+ /MM/Service/Generic/enable-disable:
+ Activating service name='org.freedesktop.ModemManager1'
+ Successfully activated service 'org.freedesktop.ModemManager1'
+
+ **
+ (/home/aleksander/Development/foss/ModemManager/plugins/.libs/lt-test-service-generic:2601):
+ ERROR **: Error setting test profile:
+ GDBus.Error:org.freedesktop.ModemManager1.Error.Core.Failed:
+ Failed to find primary AT port
+ FAIL
+ GTester: last random seed: R02S3897abaae9df36f8d2eeb679406ab675
+ make[3]: *** [Makefile:3804: test-nonrecursive] Terminated
+
+ src/kerneldevice/mm-kernel-device-generic.c | 3 ++-
+ src/mm-plugin.c | 5 ++++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 51e3d3d8372e615e9c9a62408638cd8a480f5a14
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Nov 17 12:09:11 2016 +0100
+
+ modem-helpers: improve +CCLK parsing
+
+ Added support for 4-digit format years (i.e. YYYY), and also made the
+ timezone information optional, as per +CSDF in 3GPP TS 27.007.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=95319
+
+ src/mm-modem-helpers.c | 96
+ ++++++++++++++++++++++++++----------------
+ src/tests/test-modem-helpers.c | 7 +++
+ 2 files changed, 66 insertions(+), 37 deletions(-)
+
+commit 64b4afa960e7440505dfb1f18ca9c20506d7e16e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 7 19:46:40 2016 +0100
+
+ kernel-device: return G_MAXUINT when get_property_as_int_hex() fails
+
+ src/kerneldevice/mm-kernel-device-generic.c | 2 +-
+ src/kerneldevice/mm-kernel-device-udev.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 820ab01ddfdf3ddee150f9e84fbee71bae884dea
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 7 19:36:26 2016 +0100
+
+ kernel-device: ID_USB_INTERFACE_NUM should be read as an hex string
+
+ The original g_udev_device_get_property_as_int() uses strtol() without
+ an explicit base (i.e. 0) so that the base is autodetected from the
+ string whenever possible (e.g. if prefixes with '0x' it is treated
+ as a
+ hexadecimal string).
+
+ But, for ID_USB_INTERFACE_NUM, we explicitly require reading the
+ number
+ as an hex string, even if we don't have any '0x' prefix.
+
+ Reported-by: Matthew Stanger <stangerm2@gmail.com>
+
+ plugins/huawei/mm-plugin-huawei.c | 12 ++++++------
+ plugins/option/mm-plugin-option.c | 4 ++--
+ src/kerneldevice/mm-kernel-device-generic.c | 14 ++++++++++++++
+ src/kerneldevice/mm-kernel-device-udev.c | 20 ++++++++++++++++++++
+ src/kerneldevice/mm-kernel-device.c | 11 +++++++++++
+ src/kerneldevice/mm-kernel-device.h | 2 ++
+ 6 files changed, 55 insertions(+), 8 deletions(-)
+
+commit 4f748144b05375db436364e13186936eae6bcfd2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 7 17:47:55 2016 +0100
+
+ port-probe: don't probe ignored ports
+
+ If a port has been flagged as ignored with the ID_MM_PORT_IGNORE
+ udev property,
+ we shouldn't open and probe the ports in any way, just flag them as
+ ignored. We
+ still report them in the list of modem ports, but just with "unknown"
+ type and
+ therefore not using them for anything.
+
+ src/mm-port-probe.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit a0b95db2b98c46520adced4263dc9982d8a1c8fd
+Author: Sam Spilsbury <smspillaz@gmail.com>
+Date: Tue Jul 21 13:12:44 2015 +0800
+
+ Makefile: Move to AM_DISTCHECK_CONFIGURE_FLAGS
+
+ Since automake 1.11.2 it is recommended that packages
+ use AM_DISTCHECK_CONFIGURE_FLAGS instead of
+ DISTCHECK_CONFIGURE_FLAGS as the latter is intended
+ to be a user variable.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=95826
+
+ Makefile.am | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 9583ec98fd0d8ec53e5cdf048461166ea329b4ce
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Tue Oct 25 14:50:05 2016 +0200
+
+ broadband-modem-qmi: add QMI_PROTOCOL_ERROR_NOT_SUPPORTED case for
+ pin status checking
+
+ Telit LE922A does not like the legacy way for checking pin status, but
+ instead of returning QMI_PROTOCOL_ERROR_INVALID_QMI_COMMAND,
+ it returns
+ QMI_PROTOCOL_ERROR_NOT_SUPPORTED, making the modem not to be fully
+ initialized.
+
+ This patch adds QMI_PROTOCOL_ERROR_NOT_SUPPORTED as another error for
+ which the new pin checking status way is tried.
+
+ src/mm-broadband-modem-qmi.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 2c5af4f0bcd150b950462b2640dcd78dcbb522d6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Oct 24 13:32:59 2016 +0200
+
+ core: use a default timeout of 300s for the scan networks operation
+
+ This is the value which we actually suggest in the manpage for
+ the mmcli
+ operation, so just use the same one.
+
+ Scanning for 3GPP networks may really take a long time, so a
+ specific timeout must be given:
+ $ mmcli -m 0 --3gpp-scan --timeout=300
+
+ Found 4 networks:
+ 21404 - Yoigo (umts, available)
+ 21407 - Movistar (umts, current)
+ 21401 - vodafone ES (umts, forbidden)
+ 21403 - Orange (umts, forbidden)
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=98235
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 2 +-
+ src/mm-broadband-modem-mbim.c | 2 +-
+ src/mm-broadband-modem-qmi.c | 2 +-
+ src/mm-broadband-modem.c | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+commit ccea14ac476737535124b6e9e553fcdc57b67529
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Mon Oct 17 18:25:08 2016 +0200
+
+ systemd: tighten the service security a bit
+
+ What's left enabled:
+
+ * Access to /dev -- obviously
+ * CAP_SYS_ADMIN -- this is needed by TIOCSSERIAL only. Too bad
+ this also
+ allows TIOCSTI, which allows for code injection unless something
+ else
+ (SELinux) disallows access to ttys with shells.
+ Maybe kernel should use CAP_SYS_TTY_CONFIG for this.
+ * socket(AF_NETLINK) -- udev & kernel device changes
+ * socket(AF_UNIX) -- D-Bus
+
+ data/ModemManager.service.in | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit da2b0064eec3ff7710ef2efd79df53b426d6ef7a
+Author: Sławomir Bocheński <lkslawek@gmail.com>
+Date: Tue Jun 7 22:07:22 2016 +0200
+
+ blacklist: ignore Sigma Sport docking stations
+
+ These CDC ACM class devices are docking stations for Sigma Sport bike
+ computers. As they are sensitive to single byte commands, ModemManager
+ probing mechanism actually caused training data on attached bike
+ computer to be zeroed.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=96430
+
+ src/77-mm-usb-device-blacklist.rules | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 7078587f58b2fbf8356931cc2425d78c8bee0136
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Thu Oct 20 11:33:58 2016 +0200
+
+ telit: optimized supported and current band code
+
+ In place of two slightly different regexes for 2g/3g and 2g/3g/4g
+ modems
+ we now use only one regex with conditional patterns for both supported
+ and current Bands detection.
+
+ Adding also minor fix in test code
+
+ plugins/telit/mm-modem-helpers-telit.c | 18 ++++--------------
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 2 +-
+ 2 files changed, 5 insertions(+), 15 deletions(-)
+
+commit 0bd3ca202bd1df9c9a2cd70f12bde157bd14bd81
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 18 10:28:50 2016 +0200
+
+ broadband-modem-qmi: don't use PIN2 lock state if unknown
+
+ src/mm-broadband-modem-qmi.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 17a90b8fa64ebaef1422b972000f321107977e81
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 13 12:08:21 2016 +0200
+
+ libmm-glib,call-properties: fix wrong enum returned
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=98220
+
+ libmm-glib/mm-call-properties.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit af90506da4c1b7f65242a99aff96a59760c054dc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 13 12:00:26 2016 +0200
+
+ build: disable GLib deprecation warnings until fully ported to GTask
+
+ Otherwise the build log is very very dense...
+
+ ../../src/mm-broadband-modem-qmi.c: In function
+ 'modem_load_own_numbers':
+ ../../src/mm-broadband-modem-qmi.c:1406:5: warning:
+ 'g_simple_async_result_new' is deprecated (declared at
+ /usr/include/glib-2.0/gio/gsimpleasyncresult.h:51): Use
+ 'g_task_new' instead [-Wdeprecated-declarations]
+ result = g_simple_async_result_new (G_OBJECT (self),
+ ^
+ ../../src/mm-broadband-modem.c: In function
+ 'signal_quality_qcdm_ready':
+ ../../src/mm-broadband-modem-mbim.c: In function
+ 'modem_3gpp_scan_networks_finish':
+ ../../src/mm-broadband-modem.c:1986:9: warning:
+ 'g_simple_async_result_take_error' is deprecated (declared
+ at /usr/include/glib-2.0/gio/gsimpleasyncresult.h:116)
+ [-Wdeprecated-declarations]
+ g_simple_async_result_take_error (ctx->result, error);
+ ^
+ ../../src/mm-broadband-modem-mbim.c:2824:5: warning:
+ 'g_simple_async_result_propagate_error' is deprecated (declared
+ at /usr/include/glib-2.0/gio/gsimpleasyncresult.h:119)
+ [-Wdeprecated-declarations]
+ if (g_simple_async_result_propagate_error
+ (G_SIMPLE_ASYNC_RESULT (res), error))
+ ^
+
+ configure.ac | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 33e563fe489ea36493c2f00aaac1534906e1dade
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 13 11:49:30 2016 +0200
+
+ ublox: fix VPATH builds and distcheck
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=98216
+
+ plugins/Makefile.am | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+commit e3e803998c4c0bc65bfd5912928f70e932d80146
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 31 18:27:01 2016 +0200
+
+ ublox: add README explaining all details of the plugin
+
+ plugins/ublox/README | 162
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 162 insertions(+)
+
+commit 38bf567536d2a3f968dec661f914b4a0f9261eb8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 31 18:33:25 2016 +0200
+
+ ublox: longer timeout needed for AT probing
+
+ When the device is reset, it needs some time before the newly exposed
+ TTYs are
+ able to reply to our AT commands. We increase the default timeout
+ of the AT
+ probing commands in order to cope with that, or we'll end up with
+ TTYs of
+ 'unknown' type that aren't used for anything.
+
+ plugins/ublox/mm-plugin-ublox.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 5a9f093839029c10791fbc67047c3b4843a53063
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 22 23:34:53 2016 +0200
+
+ modem-helpers: implement less strict APN comparison
+
+ u-blox modems will append a string showing the MCC and MNC info to
+ the access
+ point name listed in AT+CGDCONT? responses. We will try to detect
+ when that
+ happens, and we just accept the match.
+
+ The logic doesn't just look for a string prefix; it also looks for
+ the special
+ MCC + MNC suffix, which is much more restrictive, to try to avoid
+ false
+ positives.
+
+ src/mm-broadband-bearer.c | 7 ++++---
+ src/mm-modem-helpers.c | 44
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 4 ++++
+ src/tests/test-modem-helpers.c | 39 +++++++++++++++++++++++++++++++++++++
+ 4 files changed, 91 insertions(+), 3 deletions(-)
+
+commit 75ad9bf98be802bec12b0c8ba0ed9fd95ce8902f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 22 22:17:21 2016 +0200
+
+ broadband-bearer: more detailed logging of why a given CID is chosen
+
+ src/mm-broadband-bearer.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit e64b964e8e2eb43b5555088a53890640865edbe8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 15 12:35:57 2016 +0200
+
+ ublox: implement connection statistics loading
+
+ The implementation uses +UGCNTRD=? to query whether the per-PDP
+ context
+ statistics are supported by the device, and if they are, +UGCNTRD
+ is used to
+ query them.
+
+ We only process the statistics for the specific CID we're using.
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 163
+ +++++++++++++++++++++++++++++-
+ plugins/ublox/mm-modem-helpers-ublox.c | 6 ++
+ 2 files changed, 166 insertions(+), 3 deletions(-)
+
+commit e6e53467ee738b493cc89c750818ccb688fb5d5f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 15 12:14:19 2016 +0200
+
+ ublox: new +UGCNTRD? response parser
+
+ The parser returns only the results for the CID being specified as
+ input. This
+ is so that we can just query the statistics of the CID currently in
+ use by the
+ bearer.
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 90
+ ++++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 11 ++++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 80
+ +++++++++++++++++++++++
+ 3 files changed, 181 insertions(+)
+
+commit 1775544dbc737c40aae31516f8ecc4d1822aac22
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 15 13:24:45 2016 +0200
+
+ base-bearer: allow deactivating stats loading if device says
+ unsupported
+
+ src/mm-base-bearer.c | 26 ++++++++++++++++++++------
+ 1 file changed, 20 insertions(+), 6 deletions(-)
+
+commit 79aebb9ba4e074f2378d0580d2bd00269b4b026c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 12 18:20:32 2016 +0200
+
+ ublox: implement current bands setting
+
+ Reuse the logic and context used to update current modes, as we need
+ the same
+ steps (check current power state, go into low power, config update,
+ and recover
+ previous power state).
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 196
+ ++++++++++++++++++-------------
+ 1 file changed, 115 insertions(+), 81 deletions(-)
+
+commit 1c69a847ae0ac2435d48525714bccdc699fab72b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 12 18:03:32 2016 +0200
+
+ ublox: new +UBANDSEL=X command builder
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 55
+ ++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 6 +++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 59
+ ++++++++++++++++++++++++++
+ 3 files changed, 120 insertions(+)
+
+commit c165f24514e1d5ab05c08dd7480241955006b2fa
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 12 12:54:53 2016 +0200
+
+ ublox: implement current bands loading
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 33
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit 09c9ca5749f2fc59e5d1adf84eb3a0e0c9a58cff
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 12 11:36:48 2016 +0200
+
+ ublox: new +UBANDSEL? response parser
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 87
+ ++++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 6 ++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 83
+ ++++++++++++++++++++++++
+ 3 files changed, 176 insertions(+)
+
+commit 4632836d40af6831835ecea2561be53676c578bd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Aug 11 13:12:48 2016 +0200
+
+ ublox: implement supported bands loading
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 40 +++++++++
+ plugins/ublox/mm-modem-helpers-ublox.c | 105
+ +++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 6 ++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 112
+ +++++++++++++++++++++++++
+ 4 files changed, 263 insertions(+)
+
+commit 292914cf65df5e5f87d95fb948a113b56635d1be
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Aug 11 14:03:45 2016 +0200
+
+ iface-modem: always sort supported and current bands before exposing
+ them
+
+ libmm-glib/mm-common-helpers.c | 6 ++++++
+ libmm-glib/mm-common-helpers.h | 3 ++-
+ src/mm-iface-modem.c | 7 ++++++-
+ 3 files changed, 14 insertions(+), 2 deletions(-)
+
+commit ca1b9cb686bcf634701d4a6421d60e4e82b6784c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 10 11:17:39 2016 +0200
+
+ ublox: use +UAUTHREQ to setup PDP context authentication
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 115
+ +++++++++++++++++++++++++++---
+ 1 file changed, 105 insertions(+), 10 deletions(-)
+
+commit 90943177ed7913ee506fb9e5d37bb693d38b54f6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 5 13:59:37 2016 +0200
+
+ broadband-modem: implement the Signal interface
+
+ Provide a generic +CESQ based implementation for the extended Signal
+ interface,
+ applicable to all AT-based modems.
+
+ We explicitly disable this check in MBIM modems.
+
+ src/mm-broadband-modem-mbim.c | 18 +++++++++--
+ src/mm-broadband-modem.c | 69
+ +++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 84 insertions(+), 3 deletions(-)
+
+commit 7ab3d3e727cdc03fa7e058416e57c7d6c83aeab7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 5 13:51:35 2016 +0200
+
+ modem-helpers: new helper to parse +CESQ response into MMSignal
+ objects
+
+ src/mm-modem-helpers.c | 217
+ ++++++++++++++++++++++++++++++++++-------
+ src/mm-modem-helpers.h | 6 ++
+ src/tests/test-modem-helpers.c | 123 ++++++++++++++++-------
+ 3 files changed, 276 insertions(+), 70 deletions(-)
+
+commit df6f6d1f37dfeb27c27cf54e6181df9eaf162322
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 5 13:45:41 2016 +0200
+
+ modem-helpers: new +CESQ response parser
+
+ src/mm-modem-helpers.c | 92
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 10 +++++
+ src/tests/test-modem-helpers.c | 76 ++++++++++++++++++++++++++++++++++
+ 3 files changed, 178 insertions(+)
+
+commit 9b3549e375af5d80fa9986cdbddfa51fe16dfe3e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 10 08:00:24 2016 +0200
+
+ api,signal: new RSCP item
+
+ cli/mmcli-modem-signal.c | 4 ++-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 2 ++
+ .../org.freedesktop.ModemManager1.Modem.Signal.xml | 8 +++++
+ libmm-glib/mm-signal.c | 38
+ ++++++++++++++++++++++
+ libmm-glib/mm-signal.h | 2 ++
+ 5 files changed, 53 insertions(+), 1 deletion(-)
+
+commit 4c02fba819d492c75ad4f79914663b43d8972518
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 11 17:58:30 2016 +0200
+
+ ublox: implement PIN retry count loading
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 46
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 29517c99ba9fee164b788a1f7cff43773e0b58be
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 9 17:31:04 2016 +0200
+
+ ublox: new +UPINCNT response parser
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 80
+ ++++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 10 ++++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 60 ++++++++++++++++++-
+ 3 files changed, 149 insertions(+), 1 deletion(-)
+
+commit fe460b2f54b6a035a207815252fe87ee3a06351c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 5 13:32:41 2016 +0200
+
+ 3gpp: update registration state enumeration with CSFB related states
+
+ Introduce "sms only" and "CSFB not preferred" home/roaming states
+ to be reported
+ for the CS context, while already registered on LTE.
+
+ Based on 3GPP TS 27.007 v13.5.0.
+
+ cli/mmcli-modem-simple.c | 14 +++++---
+ include/ModemManager-enums.h | 24 ++++++++++----
+ src/mm-base-bearer.c | 19 ++++++++++-
+ src/mm-iface-modem-3gpp.c | 75
+ +++++++++++++++++++++++++++++++++++-------
+ src/mm-modem-helpers.c | 14 ++++----
+ src/tests/test-modem-helpers.c | 24 ++++++++++++++
+ 6 files changed, 140 insertions(+), 30 deletions(-)
+
+commit a561f6edf0317ee4eb86e6811cd8cd5a7fbf5e60
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 9 12:35:29 2016 +0200
+
+ ublox: use +CEREG if LTE supported
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 7cb11f72cd3dcd460feee205d3faad267c5471c9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 9 12:09:57 2016 +0200
+
+ ublox: implement current modes setting and modem power
+ up/down/off/reset
+
+ Changing current allowed/preferred modes requires the device to be
+ in low-power
+ mode, so we will make sure we return an error if any power operation
+ is already
+ ongoing when a new one is requested.
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 369
+ +++++++++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.c | 31 +++
+ plugins/ublox/mm-modem-helpers-ublox.h | 5 +
+ 3 files changed, 405 insertions(+)
+
+commit 9d78f05cbd437169a6f4ca406166edbcc4042316
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 9 09:56:56 2016 +0200
+
+ ublox: new +URAT=X command builder
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 46
+ ++++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 6 ++++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 45
+ ++++++++++++++++++-------
+ 3 files changed, 85 insertions(+), 12 deletions(-)
+
+commit 5d2e89e7129fadc92474fc55a87a84f7e6c98e12
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 9 10:35:05 2016 +0200
+
+ ublox: implement power state loading
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 32
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+commit 151d608eec4c7728551e03c9b375306c147042b4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 11 16:28:17 2016 +0200
+
+ ublox: new u-blox specific +CFUN? response parser
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 32
+ ++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 7 +++++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 38
+ ++++++++++++++++++++++++++
+ 3 files changed, 77 insertions(+)
+
+commit d7fdda224765e8ea9c1b4713dfa3708f2251b8c3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 11 17:49:43 2016 +0200
+
+ linktop: new Linktop specific +CFUN? response parser
+
+ We handle all known CFUN? response values in the new parser, and
+ report an error
+ if an unknown value is found.
+
+ .gitignore | 1 +
+ plugins/Makefile.am | 20 +++++
+ plugins/linktop/mm-broadband-modem-linktop.c | 42 +---------
+ plugins/linktop/mm-modem-helpers-linktop.c | 55 +++++++++++++
+ plugins/linktop/mm-modem-helpers-linktop.h | 40 +++++++++
+ plugins/linktop/tests/test-modem-helpers-linktop.c | 94
+ ++++++++++++++++++++++
+ 6 files changed, 214 insertions(+), 38 deletions(-)
+
+commit 74fd7da774c3a4c644106618499d68eb92a95baf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 11 17:24:08 2016 +0200
+
+ mbm: new MBM specific +CFUN? response parsers
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 75
+ ++++++------------------------
+ plugins/mbm/mm-modem-helpers-mbm.c | 71
+ ++++++++++++++++++++++++++++
+ plugins/mbm/mm-modem-helpers-mbm.h | 9 ++++
+ plugins/mbm/tests/test-modem-helpers-mbm.c | 73
+ +++++++++++++++++++++++++++--
+ 4 files changed, 165 insertions(+), 63 deletions(-)
+
+commit aca6bb1c02ddc16d88fb8c9fd934466eb7debf5c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 11 16:27:51 2016 +0200
+
+ modem-helpers: new +CFUN? response parser
+
+ src/mm-broadband-modem.c | 40 +++------------------
+ src/mm-modem-helpers.c | 79
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 11 ++++++
+ src/tests/test-modem-helpers.c | 68 ++++++++++++++++++++++++++++++++++++
+ 4 files changed, 162 insertions(+), 36 deletions(-)
+
+commit b34f147ba27b9d328a17bee092d0d21bd20eb200
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 9 08:44:05 2016 +0200
+
+ ublox: implement current modes loading
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 34
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit bde9c4795a0680549f99bac2509f8520e1b2a738
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 9 08:43:56 2016 +0200
+
+ ublox: new +URAT? response parser
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 94
+ ++++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 9 +++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 53 +++++++++++++++
+ 3 files changed, 156 insertions(+)
+
+commit 29ace8b12076fc6b8e95dbb32230334c9768c82e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 8 16:46:51 2016 +0200
+
+ ublox: implement supported modes loading
+
+ AT+URAT=? provides the format expected, but looks like it isn't
+ implemented
+ differently for the different u-blox devices seen, so we need an
+ additional
+ level of filtering which currently is applied per device model string.
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 40 +++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.c | 63 ++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 8 +++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 79
+ +++++++++++++++++++-------
+ 4 files changed, 171 insertions(+), 19 deletions(-)
+
+commit a4466e83b71effb49d31d7fcbfe1f34c528fb547
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 8 10:57:34 2016 +0200
+
+ ublox: new +URAT=? response parser
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 124
+ +++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 6 ++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 101 ++++++++++++++++++++
+ 3 files changed, 231 insertions(+)
+
+commit 3a886d848dadd98eda8dff354c1d10450d7613fe
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 8 09:40:17 2016 +0200
+
+ modem-helpers: new uint list parser, including interval support
+
+ src/mm-modem-helpers.c | 99
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 3 ++
+ src/tests/test-modem-helpers.c | 45 +++++++++++++++++++
+ 3 files changed, 147 insertions(+)
+
+commit 37bd61421245de87d2c04852109d2a1b14d338cb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 5 08:21:08 2016 +0200
+
+ broadband-modem: implement default connection monitoring logic
+
+ A default implementation to monitor the ongoing connection is provided
+ in the
+ generic MMBroadbandModem, based on AT+CGACT? to check whether the
+ PDP context
+ of the connection (identified by the cached cid) is active or not.
+
+ This commit also disables the connection monitoring logic in those
+ plugins that
+ have custom connection methods.
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 4 ++
+ plugins/huawei/mm-broadband-bearer-huawei.c | 4 ++
+ plugins/icera/mm-broadband-bearer-icera.c | 4 ++
+ plugins/iridium/mm-bearer-iridium.c | 2 +
+ plugins/mbm/mm-broadband-bearer-mbm.c | 3 +
+ plugins/option/mm-broadband-bearer-hso.c | 3 +
+ plugins/sierra/mm-broadband-bearer-sierra.c | 7 +-
+ plugins/ublox/mm-broadband-bearer-ublox.c | 3 +
+ src/mm-bearer-mbim.c | 2 +
+ src/mm-bearer-qmi.c | 2 +
+ src/mm-broadband-bearer.c | 95
+ +++++++++++++++++++++++++
+ 11 files changed, 128 insertions(+), 1 deletion(-)
+
+commit 61fbab286c3ab231f7fd16c345cc7e352f33bae4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Aug 6 19:01:27 2016 +0200
+
+ modem-helpers: new CGACT? response parser
+
+ src/mm-modem-helpers.c | 84
+ ++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 9 +++++
+ src/tests/test-modem-helpers.c | 92
+ ++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 185 insertions(+)
+
+commit f2c2a6a05f82450383667eb32dca4fd63488ae4f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 7 14:09:41 2016 +0200
+
+ novatel: subclass the connection monitoring logic
+
+ Instead of setting up a custom timeout source to poll the connection
+ status, use
+ the generic logic in the base bearer object, and just re-implement
+ the command
+ used to check the status.
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 172
+ ++++++++++------------
+ plugins/novatel/mm-broadband-bearer-novatel-lte.h | 2 -
+ 2 files changed, 79 insertions(+), 95 deletions(-)
+
+commit 26d0d718f7834348146ab9e040051f7a538f04f0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 7 13:31:41 2016 +0200
+
+ base-bearer: new periodic monitoring of connection status
+
+ src/mm-base-bearer.c | 80
+ ++++++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-base-bearer.h | 11 ++++++++
+ 2 files changed, 85 insertions(+), 6 deletions(-)
+
+commit 467b3c57f01b37dbcec8d32a449654aac40f90d0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 3 11:10:04 2016 +0200
+
+ modem-helpers: new COPS? response parser
+
+ Split into two different actions the actual COPS? response parsing
+ and the
+ operator name normalization process.
+
+ Also, allow parsing not only the operator string, but also the
+ format, mode
+ and the optional access technology value.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 26 +++--
+ plugins/huawei/mm-broadband-modem-huawei.c | 12 +-
+ src/mm-broadband-modem.c | 26 +++--
+ src/mm-modem-helpers.c | 152
+ +++++++++++++++++--------
+ src/mm-modem-helpers.h | 12 +-
+ src/tests/test-modem-helpers.c | 79 +++++++++++++
+ 6 files changed, 243 insertions(+), 64 deletions(-)
+
+commit b117321980c39c2dcc50789058017fa3201e7003
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 7 11:45:25 2016 +0200
+
+ broadband-bearer: allow subclassing the CID selection step in the
+ 3GPP sequence
+
+ Instead of relying always on CGDCONT to look for a matching PDP
+ context or
+ creating a new one, we allow plugins to apply their own logic.
+
+ src/mm-broadband-bearer.c | 545
+ ++++++++++++++++++++++++++--------------------
+ src/mm-broadband-bearer.h | 13 +-
+ 2 files changed, 326 insertions(+), 232 deletions(-)
+
+commit 30772ffc2609e070306f6fd75c0d787d3ea0153a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Aug 6 17:29:12 2016 +0200
+
+ ublox: implement connection using the 2G/3G logic in router or
+ bridge mode
+
+ plugins/ublox/mm-broadband-bearer-ublox.c | 394
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 394 insertions(+)
+
+commit 654f718b062b01083786d3a2c19740d204b128c9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Aug 6 08:57:59 2016 +0200
+
+ modem-helpers: new +CGCONTRDP=N response parser
+
+ src/mm-modem-helpers.c | 198
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 12 +++
+ src/tests/test-modem-helpers.c | 164 ++++++++++++++++++++++++++++++++++
+ 3 files changed, 374 insertions(+)
+
+commit 81715ee591599d0774b43006691998bb461f8fa9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Aug 4 10:38:40 2016 +0200
+
+ ublox: new +UIPADDR=N response parser
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 97
+ ++++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 12 ++++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 80 +++++++++++++++++++++
+ 3 files changed, 189 insertions(+)
+
+commit bc07ec0835a524970e1c35b055788b35da9b0d23
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 2 13:40:39 2016 +0200
+
+ ublox: new broadband bearer object
+
+ plugins/Makefile.am | 2 +
+ plugins/ublox/mm-broadband-bearer-ublox.c | 177
+ ++++++++++++++++++++++++++++++
+ plugins/ublox/mm-broadband-bearer-ublox.h | 63 +++++++++++
+ plugins/ublox/mm-broadband-modem-ublox.c | 49 ++++++++-
+ 4 files changed, 289 insertions(+), 2 deletions(-)
+
+commit eade066d8a1f4ac94a1176a19002d244f63ad7dd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 2 13:26:49 2016 +0200
+
+ ublox: generate enum types for usb profile and networking mode
+
+ .gitignore | 2 ++
+ plugins/Makefile.am | 34
+ ++++++++++++++++++++++++++++++++
+ plugins/ublox/mm-broadband-modem-ublox.c | 28 +++++---------------------
+ plugins/ublox/mm-modem-helpers-ublox.h | 4 ++--
+ 4 files changed, 43 insertions(+), 25 deletions(-)
+
+commit 3b0ceabc5d87a30fc1da5c96174dc4616f06e066
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 30 20:29:54 2016 +0200
+
+ ublox: preload networking mode and usb profile when creating a
+ new bearer
+
+ plugins/ublox/mm-broadband-modem-ublox.c | 261
+ +++++++++++++++++++++++++++++--
+ 1 file changed, 251 insertions(+), 10 deletions(-)
+
+commit 9d2c2a75cc23a878ff48a1c70377dd49a488cd1a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 2 11:28:43 2016 +0200
+
+ ublox: new 'AT+UBMCONF?' response parser
+
+ plugins/ublox/mm-modem-helpers-ublox.c | 61
+ ++++++++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 13 ++++++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 37 ++++++++++++++++
+ 3 files changed, 111 insertions(+)
+
+commit 241b63304be4ca8a2532401458636ad46b776e45
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 2 09:19:05 2016 +0200
+
+ ublox: new 'AT+UUSBCONF?' response parser
+
+ .gitignore | 1 +
+ plugins/Makefile.am | 20 +++++
+ plugins/ublox/mm-modem-helpers-ublox.c | 83 ++++++++++++++++++++
+ plugins/ublox/mm-modem-helpers-ublox.h | 35 +++++++++
+ plugins/ublox/tests/test-modem-helpers-ublox.c | 101
+ +++++++++++++++++++++++++
+ 5 files changed, 240 insertions(+)
+
+commit 40f3725ef9f5914b89279f270f2b50fe5ada3847
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 1 19:28:26 2016 +0200
+
+ ublox: new broadband modem object
+
+ plugins/Makefile.am | 2 +
+ plugins/ublox/mm-broadband-modem-ublox.c | 67
+ ++++++++++++++++++++++++++++++++
+ plugins/ublox/mm-broadband-modem-ublox.h | 49 +++++++++++++++++++++++
+ plugins/ublox/mm-plugin-ublox.c | 24 ++++++------
+ 4 files changed, 130 insertions(+), 12 deletions(-)
+
+commit f22c088cee9489af0e97c3dad0cfe0a2d897f434
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 1 19:13:53 2016 +0200
+
+ ublox: new plugin skeleton
+
+ plugins/Makefile.am | 12 +++++++
+ plugins/ublox/mm-plugin-ublox.c | 76
+ +++++++++++++++++++++++++++++++++++++++++
+ plugins/ublox/mm-plugin-ublox.h | 40 ++++++++++++++++++++++
+ 3 files changed, 128 insertions(+)
+
+commit d91752529307ce9ebd73a73ebddb477660342e11
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 12 11:10:56 2016 +0200
+
+ build: include telit helpers in TELIT_COMMON_LIBADD_FLAGS
+
+ The dell plugin needs them.
+
+ ModemManager[727]: <warn> [1476194360.614829]
+ [mm-plugin-manager.c:1494] load_plugin():
+ [plugin manager] could not load plugin
+ '/usr/lib64/ModemManager/libmm-plugin-dell.so':
+ /usr/lib64/ModemManager/libmm-plugin-dell.so: undefined symbol:
+ mm_telit_get_band_flag
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=98207
+
+ Reported-by: Lubomir Rintel <lkundrak@v3.sk>
+
+ plugins/Makefile.am | 46 +++++++++++++++++++++++++---------------------
+ 1 file changed, 25 insertions(+), 21 deletions(-)
+
+commit 5a43f90a48d3b1494dcd338b2363eda783063e31
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Tue Oct 11 16:29:51 2016 +0200
+
+ plugins: only export useful symbols
+
+ This should avoid poluting the name space and also make module loading
+ faster.
+
+ plugins/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 6dc08a69adc4294e2b22f14b754b541c64109fba
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Tue Oct 11 16:41:52 2016 +0200
+
+ build: limit the available glib functionality to the version we
+ support
+
+ Otherwise we can accidentally use something that we ought not. Also,
+ there's deprecation warnings for stuff that's not deprecated in the
+ version we support yet:
+
+ mm-modem-simple.c: In function 'mm_modem_simple_connect_finish':
+ mm-modem-simple.c:117:5: warning:
+ 'g_simple_async_result_propagate_error' is deprecated
+ [-Wdeprecated-declarations]
+ if (g_simple_async_result_propagate_error
+ (G_SIMPLE_ASYNC_RESULT (res), error))
+ ^~
+
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 6f11ff10cd8da2d431eb9596185ccb577356c6ab
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Mon Oct 10 14:42:45 2016 +0200
+
+ telit: fix supported and current bands query with GE910
+
+ GE910 is a 2g only modem and when queried for bands it returns
+ only a 2g set of bands:
+
+ --> 'AT#BND=?<CR>'
+ <-- '<CR><LF>#BND: (0-3)<CR><LF><CR><LF>OK<CR><LF>'
+
+ Current regex fails, since it considers the 3g bands block mandatory.
+
+ A similar problem happens for current bands.
+
+ This patch modifies the regular expressions for properly
+ supporting GE910 and updates tests.
+
+ plugins/telit/mm-modem-helpers-telit.c | 4 ++--
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 8 ++++++++
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+commit d5cfad49d879a21f5f05eaa14fa5d19f12241dda
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Wed Oct 5 16:43:37 2016 +0200
+
+ telit: add GE910 #PORTCFG layouts
+
+ GE910 family supports #PORTCFG layouts different than HE910
+ family ones.
+
+ This patch properly tags GE910 ports according to Telit document
+ "GE910 Family Ports Arrangements, 1vv0301049"
+
+ plugins/telit/mm-common-telit.c | 19 ++++++++++++++++---
+ 1 file changed, 16 insertions(+), 3 deletions(-)
+
+commit 30bcf5605cf661cdc884fcc83adf7c2304bd072d
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Wed Oct 5 16:43:36 2016 +0200
+
+ telit: add udev rules for supporting GE910
+
+ This patch adds the udev rules for supporting GE910 (PID 0x22)
+
+ plugins/telit/77-mm-telit-port-types.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 14ccde2b5f7f1770950c70b03a0b9ccecc54d692
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 4 15:43:55 2016 -0500
+
+ huawei: handle some weird SYSCFG acquisition orders
+
+ <debug> (ttyUSB2): --> 'AT^SYSCFG?<CR>'
+ <debug> (ttyUSB2): <--
+ '<CR><LF>^SYSCFG:14,2,400380,1,2<CR><LF><CR><LF>OK<CR><LF>'
+ <warn> couldn't load current allowed/preferred modes: 'No SYSCFG
+ combination found matching the current one (14,2)'
+
+ 14,2 means "WCDMA-only; acquire WCDMA then GSM" which is somewhat
+ non-sensical. The supported modes parsing doesn't generate this
+ combination because it doesn't really make sense, so current mode
+ matching failed. Just fix up the non-sensical acquisition order
+ to 0 (automatic).
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 6 ++++++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 14 ++++++++++++++
+ 2 files changed, 20 insertions(+)
+
+commit 9548192985ad68601b069a1f267fcbdc652a5ba2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 4 12:53:13 2016 +0200
+
+ kerneldevice,generic: support ID_USB_INTERFACE_NUM and some other
+ udev properties
+
+ We need at least ID_USB_INTERFACE_NUM, as some plugins (Huawei,
+ Telit, Option)
+ require this property when gathering port type hints.
+
+ We also add support for other properties (ID_VENDOR_ID,
+ ID_MODEL_ID...) as we
+ already have those values preloaded.
+
+ src/kerneldevice/mm-kernel-device-generic.c | 55
+ ++++++++++++++++++++---------
+ 1 file changed, 39 insertions(+), 16 deletions(-)
+
+commit 58c955f5f23e874e4f8c2a4b389e46c0775e7f07
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 28 19:46:12 2016 +0200
+
+ core: allow building and running without udev
+
+ Instead of relying on the udev daemon and GUDev to manage the
+ devices reported
+ by the kernel, we can now run ModemManager relying solely on the
+ kernel events
+ reported via the new ReportKernelEvent() API. Therefore, the
+ '--no-auto-scan'
+ option is implicit for the ModemManager daemon when udev is disabled
+ in the
+ build.
+
+ Additionally, a new custom implementation of the kernel device
+ object is
+ provided, which uses sysfs to load the properties and attributes
+ required in
+ each kernel device, instead of using a GUdevDevice.
+
+ The udev rule files are kept in place, and a simple custom parser
+ is provided
+ which preloads all rules in memory once and then applies them to
+ the different
+ kernel objects reported via ReportKernelEvent(), e.g. to set port
+ type hints.
+ A simple unit test setup is prepared to validate the udev rules
+ during the
+ `check' Makefile target.
+
+ .gitignore | 3 +
+ cli/Makefile.am | 7 +-
+ cli/mmcli-manager.c | 31 +-
+ configure.ac | 30 +-
+ libmm-glib/mm-common-helpers.c | 43 ++
+ libmm-glib/mm-common-helpers.h | 2 +
+ plugins/Makefile.am | 38 ++
+ plugins/tests/test-udev-rules.c | 164 +++++
+ src/Makefile.am | 15 +
+ src/kerneldevice/mm-kernel-device-generic-rules.c | 446 +++++++++++++
+ src/kerneldevice/mm-kernel-device-generic-rules.h | 62 ++
+ src/kerneldevice/mm-kernel-device-generic.c | 772
+ +++++++++++++++++++++-
+ src/kerneldevice/mm-kernel-device-generic.h | 9 +-
+ src/mm-base-manager.c | 50 +-
+ src/mm-context.c | 27 +-
+ src/tests/Makefile.am | 5 +-
+ src/tests/test-udev-rules.c | 79 +++
+ test/Makefile.am | 29 +
+ test/mmrules.c | 173 +++++
+ 19 files changed, 1942 insertions(+), 43 deletions(-)
+
+commit ae9ede926a1747216b54e22398edde203ec9a03c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 28 20:34:48 2016 +0200
+
+ core: use the kernel device object in the port object and the plugin
+ interface
+
+ The mm_base_modem_grab_port() now receives a MMKernelDevice directly
+ from the
+ plugin, which is then stored in the MMPort corresponding to the port.
+
+ This means that we have direct access to e.g. all properties set by
+ udev rules
+ everywhere, and we don't need additional GUdevClient objects
+ (e.g. like the one
+ used in the Huawei plugin to detect NDISDUP support during runtime).
+
+ For virtual ports (e.g. generated during unit tests), we have a new
+ 'generic'
+ kernel device object which just provides the values from the kernel
+ device
+ properties given during its creation.
+
+ plugins/cinterion/mm-plugin-cinterion.c | 4 +-
+ plugins/dell/mm-plugin-dell.c | 4 +-
+ plugins/haier/mm-plugin-haier.c | 4 +-
+ plugins/huawei/mm-broadband-modem-huawei.c | 29 +--
+ plugins/huawei/mm-plugin-huawei.c | 4 +-
+ plugins/longcheer/mm-plugin-longcheer.c | 4 +-
+ plugins/mbm/mm-plugin-mbm.c | 4 +-
+ plugins/mtk/mm-plugin-mtk.c | 4 +-
+ plugins/nokia/mm-plugin-nokia-icera.c | 4 +-
+ plugins/option/mm-plugin-hso.c | 4 +-
+ plugins/option/mm-plugin-option.c | 4 +-
+ plugins/pantech/mm-plugin-pantech.c | 4 +-
+ plugins/sierra/mm-common-sierra.c | 4 +-
+ plugins/simtech/mm-plugin-simtech.c | 4 +-
+ plugins/telit/mm-common-telit.c | 4 +-
+ plugins/x22x/mm-plugin-x22x.c | 4 +-
+ plugins/zte/mm-plugin-zte.c | 4 +-
+ src/Makefile.am | 5 +-
+ src/kerneldevice/mm-kernel-device-generic.c | 309
+ ++++++++++++++++++++++++++++
+ src/kerneldevice/mm-kernel-device-generic.h | 51 +++++
+ src/mm-base-modem.c | 36 ++--
+ src/mm-base-modem.h | 13 +-
+ src/mm-plugin.c | 48 +++--
+ src/mm-port.c | 44 ++--
+ src/mm-port.h | 24 ++-
+ src/tests/Makefile.am | 1 +
+ test/Makefile.am | 2 +-
+ 27 files changed, 482 insertions(+), 144 deletions(-)
+
+commit c4a584416ab4af81b6cae653625c78f9158de1e6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 28 18:49:08 2016 +0200
+
+ core: allow disabling auto-scan and notifying ports one by one via API
+
+ This commit enables a new core ModemManager daemon option, so that
+ automatic
+ detection of available modems is totally disabled:
+ '--no-auto-scan'. Note that
+ this option also replaces the previously used '--test-no-auto-scan'
+ option,
+ which was only used during tests.
+
+ Along with the new ModemManager option, a new ReportKernelEvent()
+ method in
+ the API is defined, which allows notifying the daemon of which
+ interfaces it
+ should be accessing, as well as the main details of each
+ interface. The only
+ mandatory parameters in the new method are 'action' (add/remove),
+ 'name' (the
+ name of the interface) and 'subsystem' (the subsystem of the
+ interface).
+
+ The mmcli tool has support for using the new api method via several
+ new options:
+
+ * The '--report-kernel-event' option allows specifying device ports
+ one by
+ one, and is a direct mapping of the ReportKernelEvent() method:
+ $ sudo mmcli
+ --report-kernel-event="action=add,name=wwan0,subsystem=net"
+ $ sudo mmcli
+ --report-kernel-event="action=add,name=cdc-wdm0,subsystem=usbmisc"
+
+ * The '--report-kernel-event-auto-scan' option uses udev monitoring
+ to notify
+ events automatically to the daemon. This allows to operate in a way
+ equivalent to the default daemon operation (with implicit
+ auto-scan).
+
+ Worth noting that the ReportKernelEvent() method is only usable when
+ '--no-auto-scan' is explicitly used in the daemon. An error will be
+ reported if
+ the method is tried while standard udev monitoring is enabled
+ (implicit if
+ auto scan isn't explicitly disabled in the daemon).
+
+ If mmcli is going to be used only to report 'real time' events,
+ an optional
+ '--initial-kernel-events=[PATH]' may be given in the ModemManager
+ call to
+ automatically process a set of port kernel events one by one on
+ boot. The file
+ may e.g. contain:
+ action=add,name=wwan0,subsystem=net
+ action=add,name=cdc-wdm0,subsystem=usbmisc
+
+ cli/Makefile.am | 2 +
+ cli/mmcli-manager.c | 148 ++++++-
+ .../tests/org.freedesktop.ModemManager1.service.in | 2 +-
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 38 ++
+ introspection/org.freedesktop.ModemManager1.xml | 74 ++++
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-kernel-event-properties.c | 454
+ +++++++++++++++++++++
+ libmm-glib/mm-kernel-event-properties.h | 97 +++++
+ libmm-glib/mm-manager.c | 124 ++++++
+ libmm-glib/mm-manager.h | 14 +
+ src/kerneldevice/mm-kernel-device-udev.c | 221 ++++++++--
+ src/kerneldevice/mm-kernel-device-udev.h | 9 +-
+ src/main.c | 3 +-
+ src/mm-base-manager.c | 266 +++++++++++-
+ src/mm-base-manager.h | 2 +
+ src/mm-context.c | 32 +-
+ src/mm-context.h | 19 +-
+ 19 files changed, 1437 insertions(+), 73 deletions(-)
+
+commit aa4577dfb9b5a7863a4939ec2409eae392e2fc0c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 27 19:40:03 2016 +0200
+
+ core: new kernel device object instead of an explicit GUdevDevice
+
+ Instead of relying constantly on GUdevDevice objects reported by
+ GUdev, we now
+ use a new generic object (MMKernelDevice) for which we provide an
+ initial GUdev
+ based backend.
+
+ plugins/Makefile.am | 1 +
+ plugins/cinterion/mm-plugin-cinterion.c | 4 +-
+ plugins/dell/mm-plugin-dell.c | 6 +-
+ plugins/haier/mm-plugin-haier.c | 4 +-
+ plugins/huawei/mm-plugin-huawei.c | 20 +-
+ plugins/longcheer/mm-plugin-longcheer.c | 6 +-
+ plugins/mbm/mm-plugin-mbm.c | 4 +-
+ plugins/mtk/mm-plugin-mtk.c | 6 +-
+ plugins/nokia/mm-plugin-nokia-icera.c | 6 +-
+ plugins/option/mm-plugin-hso.c | 6 +-
+ plugins/option/mm-plugin-option.c | 4 +-
+ plugins/simtech/mm-plugin-simtech.c | 8 +-
+ plugins/telit/mm-common-telit.c | 24 +-
+ plugins/x22x/mm-plugin-x22x.c | 6 +-
+ plugins/zte/mm-plugin-zte.c | 8 +-
+ src/Makefile.am | 15 +
+ src/kerneldevice/mm-kernel-device-udev.c | 623
+ +++++++++++++++++++++++++++++++
+ src/kerneldevice/mm-kernel-device-udev.h | 48 +++
+ src/kerneldevice/mm-kernel-device.c | 179 +++++++++
+ src/kerneldevice/mm-kernel-device.h | 89 +++++
+ src/mm-base-manager.c | 231 +++---------
+ src/mm-device.c | 347 ++++-------------
+ src/mm-device.h | 96 +++--
+ src/mm-plugin-manager.c | 38 +-
+ src/mm-plugin.c | 78 ++--
+ src/mm-plugin.h | 10 +-
+ src/mm-port-probe.c | 205 +++++-----
+ src/mm-port-probe.h | 20 +-
+ 28 files changed, 1344 insertions(+), 748 deletions(-)
+
+commit 1f813c4e9691f22017802278ab6f5b1475185113
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 27 14:41:35 2016 +0200
+
+ core: allow identifying devices by a user-provided 'uid'
+
+ All ports of the same modem reported by the kernel will all be
+ associated with
+ a common 'uid' (unique id), which uniquely identifies the physical
+ device. This
+ logic was already in place, what we do now is avoid calling it the
+ 'sysfs
+ path' of the physical device, because we may not want to use that
+ to identify
+ a device.
+
+ This logic now also enables the possibility of "naming" the modems
+ in a unique
+ way by setting the "ID_MM_PHYSDEV_UID" property in the "usb_device"
+ that owns
+ all the ports.
+
+ E.g. a custom device has 4 modems in 4 different USB ports. The
+ device path of
+ each USB device will always be the same, so the naming rules could
+ go like this:
+
+ $ vim /usr/lib/udev/rules.d/78-mm-naming.rules
+
+ ACTION!="add|change|move", GOTO="mm_naming_rules_end"
+ DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.1",
+ ENV{ID_MM_PHYSDEV_UID}="USB-MODEM-1"
+ DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.2",
+ ENV{ID_MM_PHYSDEV_UID}="USB-MODEM-2"
+ DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.3",
+ ENV{ID_MM_PHYSDEV_UID}="USB-MODEM-3"
+ DEVPATH=="/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.5/4-1.5.4",
+ ENV{ID_MM_PHYSDEV_UID}="USB-MODEM-4"
+ LABEL="mm_naming_rules_end"
+
+ Each of the modems found will have a unique UID retrieved from the
+ previous list
+ of rules. Then, "mmcli" has also been updated to allow using the
+ UID instead of
+ the modem DBus path or index, e.g.:
+
+ $ sudo mmcli -m USB-MODEM-1
+ /org/freedesktop/ModemManager1/Modem/0 (device id
+ '988d83252c0598f670c2d69d5f41e077204a92fd')
+ -------------------------
+ Hardware | manufacturer: 'ZTE CORPORATION'
+ | model: 'MF637'
+ | revision: 'BD_W7P673A3F3V1.0.0B04'
+ | supported: 'gsm-umts'
+ | current: 'gsm-umts'
+ | equipment id: '356516027657837'
+ -------------------------
+ System | device: 'USB-MODEM-1'
+ | drivers: 'option'
+ | plugin: 'ZTE'
+ | primary port: 'ttyUSB5'
+ | ports: 'ttyUSB5 (at)'
+ ...
+
+ $ sudo mmcli -m USB-MODEM-1 --enable
+ ...
+
+ cli/mmcli-common.c | 98
+ +++++++++++++++++++++++---------
+ cli/mmcli-common.h | 4 +-
+ plugins/altair/mm-plugin-altair-lte.c | 4 +-
+ plugins/anydata/mm-plugin-anydata.c | 6 +-
+ plugins/cinterion/mm-plugin-cinterion.c | 6 +-
+ plugins/dell/mm-plugin-dell.c | 14 ++---
+ plugins/generic/mm-plugin-generic.c | 8 +--
+ plugins/haier/mm-plugin-haier.c | 4 +-
+ plugins/huawei/mm-plugin-huawei.c | 8 +--
+ plugins/iridium/mm-plugin-iridium.c | 4 +-
+ plugins/linktop/mm-plugin-linktop.c | 4 +-
+ plugins/longcheer/mm-plugin-longcheer.c | 4 +-
+ plugins/mbm/mm-plugin-mbm.c | 6 +-
+ plugins/motorola/mm-plugin-motorola.c | 4 +-
+ plugins/mtk/mm-plugin-mtk.c | 4 +-
+ plugins/nokia/mm-plugin-nokia-icera.c | 4 +-
+ plugins/nokia/mm-plugin-nokia.c | 4 +-
+ plugins/novatel/mm-plugin-novatel-lte.c | 4 +-
+ plugins/novatel/mm-plugin-novatel.c | 6 +-
+ plugins/option/mm-plugin-hso.c | 4 +-
+ plugins/option/mm-plugin-option.c | 4 +-
+ plugins/pantech/mm-plugin-pantech.c | 6 +-
+ plugins/samsung/mm-plugin-samsung.c | 4 +-
+ plugins/sierra/mm-plugin-sierra-legacy.c | 6 +-
+ plugins/sierra/mm-plugin-sierra.c | 8 +--
+ plugins/simtech/mm-plugin-simtech.c | 6 +-
+ plugins/telit/mm-plugin-telit.c | 4 +-
+ plugins/thuraya/mm-plugin-thuraya.c | 4 +-
+ plugins/via/mm-plugin-via.c | 4 +-
+ plugins/wavecom/mm-plugin-wavecom.c | 4 +-
+ plugins/x22x/mm-plugin-x22x.c | 6 +-
+ plugins/zte/mm-plugin-zte.c | 10 ++--
+ src/mm-base-manager.c | 66 ++++++++++-----------
+ src/mm-device.c | 55 ++++++++++--------
+ src/mm-device.h | 6 +-
+ src/mm-plugin-manager.c | 6 +-
+ src/mm-plugin.c | 2 +-
+ src/mm-plugin.h | 2 +-
+ 38 files changed, 225 insertions(+), 178 deletions(-)
+
+commit e5fa0233bb73a8374cf35e9170c66c580255815a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 28 09:26:47 2016 +0200
+
+ mmcli,ussd: don't rely on lock status to allow actions
+
+ Commit 001f35234e16d7aeb2ed1282ba3b57aea73c5a9e fixed this very same
+ thing in
+ all the other interface actions, but 3GPP USSD actions were not fixed.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=97954
+
+ cli/mmcli-modem-3gpp.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit dd98454a7ddeac98011cb1ed82be4cff588044a3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 22 19:58:08 2016 +0200
+
+ base-modem: add missing 'reprobe' property setup
+
+ The sim hotswap logic likely just uses the getter/setter methods,
+ but we should
+ anyway fix the property definition bits.
+
+ src/mm-base-modem.c | 8 ++++++++
+ src/mm-base-modem.h | 1 +
+ 2 files changed, 9 insertions(+)
+
+commit 2a499f5557fbc1726d4e8d5b39c7c59edf00bdbe
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Thu Sep 22 16:24:23 2016 +0200
+
+ blacklist: add another Infineon flashloader device
+
+ This patch adds another Infineon flashloader device 0x8087/0x0801
+ to the blacklist
+
+ Reference to the kernel commit:
+ github.com/torvalds/linux/commit/f190fd92458da3e869b4e2c6289e2c617490ae53
+
+ src/77-mm-usb-device-blacklist.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit fe6f374af6650e58acb8de312fa87afaab2aec92
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Sep 18 16:36:24 2016 +0200
+
+ huawei: fix interface class/subclass/protocol matching
+
+ Commit a66871a2876be2236f634ff6b5e59d20de1ce5df introduced an
+ additional
+ ATTRS{idVendor} match condition in the same rules matching by
+ interface class,
+ subclass and protocol. We shouldn't be doing that because we cannot
+ mix parent
+ attribute matchings from different parents.
+
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 07858461b87ed8356b48fb084c2ed2d2aa78fee9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Sep 18 15:51:32 2016 +0200
+
+ dell,telit: set one tag per rule match
+
+ plugins/dell/77-mm-dell-port-types.rules | 5 +++--
+ plugins/telit/77-mm-telit-port-types.rules | 6 ++++--
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+commit c7d8ac622a56142325af1e9b51d0cce1f06eaa3d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Sep 18 15:43:30 2016 +0200
+
+ udev: fix tagging per interface number
+
+ Commit 7ff57f9808f35d434b638a67b84481271c67c90e introduced a change
+ to try to
+ use ATTRS{bInterfaceNumber} as a common way to match by interface
+ number, but
+ this logic is broken because all the rules that we use to match
+ by interface
+ number (attribute in the interface device) also require matching
+ by idVendor
+ and idProduct (attributes in the physdev device), and udev rules
+ forbid matches
+ from more than one parent device at a time.
+
+ We could use ATTR{bInterfaceNumber} (instead of ATTRS) to tag the
+ actual USB
+ interface device, but that would require a change in all the plugins
+ to look for
+ the tag not in the TTY device, but in its parent.
+
+ So, recover the original behavior, where a hidden property is
+ created containing
+ the first bInterfaceNumber found in the list of parent devices,
+ and then run
+ the matches against idVendor and idProduct only if the hidden property
+ is found
+ with the expected value.
+
+ plugins/cinterion/77-mm-cinterion-port-types.rules | 3 +-
+ plugins/haier/77-mm-haier-port-types.rules | 3 +-
+ plugins/longcheer/77-mm-longcheer-port-types.rules | 168 +++++++-------
+ plugins/mbm/77-mm-ericsson-mbm.rules | 40 ++--
+ plugins/mtk/77-mm-mtk-port-types.rules | 26 ++-
+ plugins/nokia/77-mm-nokia-port-types.rules | 27 +--
+ plugins/simtech/77-mm-simtech-port-types.rules | 15 +-
+ plugins/telit/77-mm-telit-port-types.rules | 29 +--
+ plugins/x22x/77-mm-x22x-port-types.rules | 42 ++--
+ plugins/zte/77-mm-zte-port-types.rules | 245
+ +++++++++++----------
+ 10 files changed, 307 insertions(+), 291 deletions(-)
+
+commit aa0e1081070b1062c696d31ed3c68e9511733ad1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Sep 18 14:08:20 2016 +0200
+
+ udev: fix SUBSYSTEMS and ATTRS{idVendor} checks
+
+ Rules with a single condition where a parent property is checked
+ with != don't
+ work properly. E.g.:
+ SUBSYSTEMS!="usb", GOTO="end"
+ or:
+ ATTRS{idVendor}!="abcd", GOTO="end"
+
+ Instead, we can mix both those previous parent rules and match them:
+ SUBSYSTEMS=="usb",ATTRS{idVendor}=="abcd", GOTO="next"
+ GOTO="end"
+ LABEL="next"
+ # Apply rules here
+ LABEL="end"
+
+ In this case both SUBSYSTEMS and ATTRS conditions apply to the
+ parent usb_device
+ (idVendor attribute is only available in the usb_device), so they
+ apply to all
+ ports of the same device.
+
+ plugins/cinterion/77-mm-cinterion-port-types.rules | 7 ++++---
+ plugins/haier/77-mm-haier-port-types.rules | 7 ++++---
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 6 ++++--
+ plugins/longcheer/77-mm-longcheer-port-types.rules | 8 ++------
+ plugins/mbm/77-mm-ericsson-mbm.rules | 12 +++++-------
+ plugins/mtk/77-mm-mtk-port-types.rules | 8 +++-----
+ plugins/nokia/77-mm-nokia-port-types.rules | 7 ++++---
+ plugins/simtech/77-mm-simtech-port-types.rules | 7 ++++---
+ plugins/telit/77-mm-telit-port-types.rules | 7 ++++---
+ plugins/x22x/77-mm-x22x-port-types.rules | 7 ++-----
+ plugins/zte/77-mm-zte-port-types.rules | 6 ++++--
+ 11 files changed, 40 insertions(+), 42 deletions(-)
+
+commit 546d33db6c8faa9a6ab48ae3e00a0c8339a576a8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Sep 8 11:11:58 2016 -0500
+
+ broadband-modem-huawei: fix missing return in unsolicited voice
+ message enable
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 03a6d969ab594dab9124ef680cf3944e56870a85
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Aug 18 11:39:11 2016 -0500
+
+ broadband-modem-huawei: implement Modem.Signal extended signal
+ info interface
+
+ Implement the detailed signal info interface for some Huawei 3GPP
+ modems
+ including those based on HiSilicon chipsets like the E3276.
+ Known not to
+ work on many Qualcomm-based Huawei modems like E392, E397, and E367 as
+ they don't support the ^HCSQ command, but they do support QMI and so
+ have access to the extended signal interface via QMI.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 314
+ ++++++++++++++++++++++-
+ plugins/huawei/mm-modem-helpers-huawei.c | 71 +++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 12 +
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 61 +++++
+ src/mm-modem-helpers.c | 17 +-
+ 5 files changed, 467 insertions(+), 8 deletions(-)
+
+commit 3d95a9863bd9ee3c150d4039fe42e47980a9247a
+Author: Tabor Kelly <t.kelly@trailtech.net>
+Date: Fri Aug 19 12:44:29 2016 -0700
+
+ blacklist: add blacklist udev rule for U-blox7 GPS/GLOSNASS USB
+ dongle.
+
+ Signed-off-by: Tabor Kelly <t.kelly@trailtech.net>
+
+ src/77-mm-usb-device-blacklist.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 7fb366c41a7b62723df6ab67b611510216c14b0a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 15 13:11:22 2016 +0200
+
+ core: use MM-specific logging methods always instead of the generic
+ GLib ones
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 +++----
+ plugins/mbm/mm-modem-helpers-mbm.c | 11 ++++-----
+ src/mm-base-bearer.c | 2 +-
+ src/mm-broadband-modem-mbim.c | 12 +++++-----
+ src/mm-broadband-modem-qmi.c | 36
+ +++++++++++++++---------------
+ src/mm-charsets.c | 6 ++---
+ src/mm-error-helpers.c | 13 +++++------
+ src/mm-iface-modem.c | 2 +-
+ src/tests/test-charsets.c | 20 +++++++++++++++++
+ 9 files changed, 65 insertions(+), 45 deletions(-)
+
+commit 2306a466c8a9bf39d0035538a2b73c5e96c73111
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Aug 12 12:05:51 2016 -0500
+
+ api,signal: fix LTE signal dictionary docstring
+
+ introspection/org.freedesktop.ModemManager1.Modem.Signal.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 048667ffc2e137672fb78037342283997f732250
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 10 09:49:40 2016 +0200
+
+ core: minor coding style changes
+
+ src/mm-base-modem.c | 1 -
+ src/mm-broadband-modem.c | 11 +++--------
+ src/mm-broadband-modem.h | 2 --
+ src/mm-device.c | 4 +---
+ src/mm-iface-modem.c | 9 +++------
+ 5 files changed, 7 insertions(+), 20 deletions(-)
+
+commit f6708619393893507396f0a3314c3cc3e4b93791
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Mon Aug 8 15:47:19 2016 +0200
+
+ telit: add support to SIM hot swap
+
+ MMBroadbandModemTelit:
+ * added logic to set MMBroadbandModem's SIM_HOT_SWAP property to TRUE
+ * added function to enable QSS unsolicited
+ * added QSS unsolicited handler
+
+ plugins/telit/mm-broadband-modem-telit.c | 141
+ ++++++++++++++++++++++++++++++-
+ 1 file changed, 140 insertions(+), 1 deletion(-)
+
+commit 60f4f9e57df90cf094fffb6896ffce8dba15d244
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Mon Aug 8 15:47:18 2016 +0200
+
+ modem: support SIM hot swap
+
+ BaseModem
+ added reprobe property.
+
+ MMDevice
+ added logic to recreate the modem if it is set invalid and
+ "to reprobe"
+
+ MMBroadbandModem
+ * added initialization step for SIM hot swap:
+ 1. keep dedicated ports open to listen to modem's unsolicited
+ 2. dedicated error management in case of initialization failure
+ due to SIM missing
+ * added function to be called in order to act upon SIM
+ insertion/removal:
+ 1. close dedicated ports
+ 2. set the modem to be reprobed
+ 3. disable modem
+ * added SIM HOT SWAP boolean property
+
+ MMIfaceModem
+ * added initialization step for SIM hot swap, if supported by
+ the plugin
+ * dedicated error management in case of initialization failure due
+ to SIM missing
+
+ src/mm-base-modem.c | 26 ++++++++++
+ src/mm-base-modem.h | 4 ++
+ src/mm-broadband-modem.c | 120
+ +++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-broadband-modem.h | 4 ++
+ src/mm-device.c | 15 ++++++
+ src/mm-iface-modem.c | 56 ++++++++++++++++++++++
+ src/mm-iface-modem.h | 17 +++++--
+ 7 files changed, 233 insertions(+), 9 deletions(-)
+
+commit 3047522b2e494776d9aced64180e54c46e861de1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 10 07:46:34 2016 +0200
+
+ api,signal: Ec/Io is in dB, not dBm
+
+ introspection/org.freedesktop.ModemManager1.Modem.Signal.xml | 2 +-
+ libmm-glib/mm-signal.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 7460793caafe86af21c73b96b709253ae79346b5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 9 08:40:05 2016 +0200
+
+ libmm-glib,helpers: don't warn when trying to read invalid match
+ info index
+
+ We may want to use the mm_get_()_from_match_info() calls to read
+ optional items,
+ so that the method returns FALSE if the item index doesn't apply. So,
+ avoid the
+ implicit warning issued by g_return_val_if_fail().
+
+ libmm-glib/mm-common-helpers.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit f9e4e6b8f12ef345117dff9dd8adc28cf5154383
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Aug 6 13:02:19 2016 +0200
+
+ device: ignored ports are also owned by the device, so include them
+ in lookup
+
+ src/mm-device.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 764bfbce9d3b473fa3106e35bc11dc458d8f1429
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 30 12:50:43 2016 +0200
+
+ mtk,udev: single 'usb' subsystems check
+
+ plugins/mtk/77-mm-mtk-port-types.rules | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit c7c65e2d572793373b8105e2a78e94bc3b10fce6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:14:08 2016 +0200
+
+ udev: simpler check for rfcomm device names
+
+ Just the same kind of match we use for cdc-wdm devices.
+
+ src/80-mm-candidate.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1ca47e4b52b04ef4c7b652f39097c9469dde6429
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:14:07 2016 +0200
+
+ zte,udev: avoid making the rules tty-only, and simplify single
+ vendor check
+
+ The rules were matched only against devices with an exact 'tty'
+ subsystem, and
+ that means that we were not properly adding additional tags on
+ e.g. wwan or
+ cdc-wdm devices.
+
+ plugins/zte/77-mm-zte-port-types.rules | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+commit e47e654d335a5bd8311090fddef53b621c3a1496
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:14:06 2016 +0200
+
+ simtech,udev: simplify single vendor check
+
+ plugins/simtech/77-mm-simtech-port-types.rules | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+commit d9ff08749cd7482b2a2355a14ce72f3e6d6ba1a0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:14:05 2016 +0200
+
+ nokia,udev: simplify single vendor check
+
+ plugins/nokia/77-mm-nokia-port-types.rules | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit a5f33f0070992ed836cdfdbc8e82f19c779b42d2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:14:04 2016 +0200
+
+ telit,udev: single 'usb' subsystems check and simplified single
+ vendor check
+
+ plugins/telit/77-mm-telit-port-types.rules | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+commit 4d53e2eb98b394c49ad2800786fd624ff36ac26e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:14:03 2016 +0200
+
+ mbm,udev: additional per-vendor conditions for quicker processing
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 32
+ ++++++++++++++++++++++++++++----
+ 1 file changed, 28 insertions(+), 4 deletions(-)
+
+commit a66871a2876be2236f634ff6b5e59d20de1ce5df
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:14:02 2016 +0200
+
+ huawei,udev: single 'usb' systems check, and per-rule vendor-specific
+ conditions
+
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 20
+ ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+commit 55dbb9fdb99a3e59f8d4fbae05b97b246ce21f38
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:14:01 2016 +0200
+
+ longcheer,udev: single 'usb' subsystems check
+
+ plugins/longcheer/77-mm-longcheer-port-types.rules | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 2a171b49519e9ac948e7ed1e9a72a56e89982fb7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:14:00 2016 +0200
+
+ cinterion,udev: ensure 'usb' subsystems before idVendor/idProduct
+ rules
+
+ plugins/cinterion/77-mm-cinterion-port-types.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 840143aa3df2edf541d55dea91c3bfa86a1f7c3b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:13:59 2016 +0200
+
+ haier,udev: simplify single vendor check
+
+ plugins/haier/77-mm-haier-port-types.rules | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+commit 6e999584bec213fe2176764cb42b821bd891ab4e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:13:58 2016 +0200
+
+ x22x,udev: single 'usb' subsystems check
+
+ plugins/x22x/77-mm-x22x-port-types.rules | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 7ff57f9808f35d434b638a67b84481271c67c90e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:13:57 2016 +0200
+
+ udev: replace ENV{.MM_USBIFNUM} conditions with
+ ATTRS{bInterfaceNumber}
+
+ plugins/cinterion/77-mm-cinterion-port-types.rules | 4 +-
+ plugins/haier/77-mm-haier-port-types.rules | 3 +-
+ plugins/longcheer/77-mm-longcheer-port-types.rules | 170 +++++++-------
+ plugins/mbm/77-mm-ericsson-mbm.rules | 37 ++--
+ plugins/mtk/77-mm-mtk-port-types.rules | 26 +--
+ plugins/nokia/77-mm-nokia-port-types.rules | 27 ++-
+ plugins/simtech/77-mm-simtech-port-types.rules | 15 +-
+ plugins/telit/77-mm-telit-port-types.rules | 29 ++-
+ plugins/x22x/77-mm-x22x-port-types.rules | 42 ++--
+ plugins/zte/77-mm-zte-port-types.rules | 245
+ ++++++++++-----------
+ 10 files changed, 291 insertions(+), 307 deletions(-)
+
+commit 0b35e71d464fd8e422ddb8b7260d44969e1812f4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:13:56 2016 +0200
+
+ udev: replace ENV{ID_VENDOR_ID} conditions with ATTRS{idVendor}
+
+ plugins/cinterion/77-mm-cinterion-port-types.rules | 2 +-
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 1a213e3b62abd8e8afee3741ef88bfc6d4b913f0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 28 00:13:55 2016 +0200
+
+ udev: remove ENV{DEVTYPE}!="usb_device" rules
+
+ They're actually a subcase of SUBSYSTEM!="usb", which we apply
+ just before.
+
+ src/77-mm-usb-device-blacklist.rules | 1 -
+ src/77-mm-usb-serial-adapters-greylist.rules | 1 -
+ 2 files changed, 2 deletions(-)
+
+commit f33ea91ccf53be6f7177711f3560f806644ccf01
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 2 16:27:56 2016 -0500
+
+ base-call: formatting cleanups
+
+ src/mm-base-call.c | 19 +++++++++----------
+ 1 file changed, 9 insertions(+), 10 deletions(-)
+
+commit 5350b9f568dc4375c874a3e3912458d512a3cbe4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 25 23:07:03 2016 -0500
+
+ broadband-modem/libqcdm: add signal strength from QCDM EVDO Pilot
+ Sets log messages
+
+ When a CDMA-only modem is registered with the EVDO network, its not
+ possible to
+ read signal strength in the following cases:
+
+ 1) while a data connection is active on single-AT-port modems,
+ because the AT
+ port is used for PPP and not available for AT+CSQ, AT+CIND or
+ vendor-specific
+ signal strength commands
+
+ 2) when the modem reports only CDMA 1x signal strength with AT+CSQ
+
+ Now that we have a reasonable interpretation of RSSI from the QCDM
+ EVDO Pilot Sets V2 log messgae, use that when other means of getting
+ signal strength aren't available.
+
+ libqcdm/src/Makefile.am | 2 +
+ libqcdm/src/log-items.h | 34 +++----
+ libqcdm/src/logs.c | 184 +++++++++++++++++++++++++++++++++++
+ libqcdm/src/logs.h | 50 ++++++++++
+ src/mm-broadband-modem.c | 240
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-port-serial-qcdm.c | 160 ++++++++++++++++++++++++++++++-
+ src/mm-port-serial-qcdm.h | 16 ++++
+ 7 files changed, 663 insertions(+), 23 deletions(-)
+
+commit 30f60de7d3f4d61a100ce1e6a01a746bd2409b81
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Wed Jul 27 09:26:20 2016 +0200
+
+ blacklist: include some more Arduinos
+
+ All "2a03 dog hunter AG" devices seem to be Arduinos.
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=1261040
+
+ src/77-mm-usb-device-blacklist.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit bff43b26bf1fb678e0e13284a581b41fd2af7ec9
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Fri May 13 17:15:21 2016 +0200
+
+ telit: adding a short delay after SIM unlock
+
+ A short delay is necessary with some SIMs when
+ they have just been unlocked. Using 1 second as secure margin.
+
+ plugins/telit/mm-broadband-modem-telit.c | 38
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 38 insertions(+)
+
+commit 43d97a46233e65eb5d13a38b4fe4d70b6725e904
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Fri May 13 17:15:20 2016 +0200
+
+ iface-modem: inverted steps in update_lock_info_context_step
+
+ Inverted steps UPDATE_LOCK_INFO_CONTEXT_STEP_RETRIES and
+ UPDATE_LOCK_INFO_CONTEXT_STEP_AFTER_UNLOCK.
+
+ Soon after the unlock, the SIM can be busy and
+ loading unlock retries might fail.
+
+ When implemented, let run "after unlock" logic before any other
+ step in
+ update lock info, when SIM is not locked this change does not have any
+ effect since "after unlock" is not executed.
+
+ src/mm-iface-modem.c | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+commit dce9f056738d151e81070188f4312f11758411be
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 26 13:27:37 2016 +0200
+
+ build: post release version bump to 1.7.0
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 397761c9758c3a8c2d130afaf36dab645d6e0ecf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 26 12:53:04 2016 +0200
+
+ release: bump version to 1.6.0
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 7b4bd888f0e3cc095e566085b99c0061eb7c39a5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 26 13:07:37 2016 +0200
+
+ build: updated copyright years up to 2016
+
+ cli/mmcli.c | 2 +-
+ docs/reference/api/ModemManager-docs.xml | 3 +++
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 4 ++++
+ src/mm-context.c | 2 +-
+ 4 files changed, 9 insertions(+), 2 deletions(-)
+
+commit dbb05afba8b2f92cf61d6ea71a4ea14ce34835d6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 25 13:17:44 2016 +0200
+
+ examples: avoid warning in modem-watcher-python example
+
+ PyGIWarning: ModemManager was imported without specifying a
+ version first. Use gi.require_version('ModemManager', '1.0')
+ before import to ensure that the right version gets loaded.
+
+ examples/modem-watcher-python/ModemWatcher.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 24fd3ef5fb2b4795e7f3bad96d16ee36758e9e8d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jul 25 10:36:42 2016 +0200
+
+ examples: add SMS sender in python
+
+ configure.ac | 1 +
+ examples/Makefile.am | 2 +-
+ examples/sms-python/Makefile.am | 4 ++++
+ examples/sms-python/README | 20 ++++++++++++++++
+ examples/sms-python/sms-python | 51
+ +++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 77 insertions(+), 1 deletion(-)
+
+commit a7942177c9f969faec1d767c67d4019a61dc7e16
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Wed Jul 20 19:55:20 2016 +0200
+
+ build: don't disable the aliasing checks
+
+ We now don't break the strict aliasing rules.
+
+ Also, having a compiler flag that disables a warning among the flags
+ that are
+ meant to add extra sanity checking is not correct either:
+ --enable-extra-warnings=no would generate a bad aliasin warning while
+ the --enable-extra-warnings=yes would not.
+
+ m4/compiler_warnings.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 488992b0109e2a3fb55a1ebd9180b7fa208a8ff6
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Wed Jul 20 19:53:00 2016 +0200
+
+ qcdm: avoid upsetting the compiler with wrong aliasing
+
+ We shouldn't be accessiing u_int8_t * as u_int16_t *. Let's construct
+ the 16-bit value by or-ing the 8-bit halves directly; avoiding the
+ endianness conversion too.
+
+ libqcdm/src/commands.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 803caab80a8aea7bcdb846aa2b61cdd0bf794360
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 20 11:37:45 2016 -0500
+
+ libqcdm: add HDR Pilot Sets V2 log item structures
+
+ Apparently I was looking at this in 2012:
+ https://blogs.gnome.org/dcbw/2012/11/14/got-evdo-help-me-out/
+
+ So why not at least get the structures into libqcdm and figure
+ out a rough correlation between pilot energy and EC/IO.
+
+ libqcdm/src/log-items.h | 50
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 50 insertions(+)
+
+commit f137268ce12daaf56b79e508d6cba5e543feac36
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 20 07:51:54 2016 +0200
+
+ iface-modem: fix checking for single capabilities
+
+ The mm_iface_modem_is_*_only() checks were validating that all
+ the other
+ capabilities except for the ones being queried were unset, but the
+ check wasn't
+ explicitly checking that the actual capabilities being queried
+ were set.
+
+ This was making the check fail when capabilities ==
+ MM_MODEM_CAPABILITY_NONE.
+
+ Reported-by: Matthew Stanger <stangerm2@gmail.com>
+
+ src/mm-iface-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit ddbc2195687bf4f5c94d7e60d808ddb695052f7f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 15 12:23:01 2016 +0200
+
+ bearer-qmi: decide IP method during connection attempt
+
+ Deciding the IP method to use based on the underlying QMI port LLP
+ should not be
+ done when the bearer object is created, because the QMI port in use
+ may not
+ actually be open or have been opened at that time. During the
+ connection attempt
+ we do make sure the QMI port is open, so we should check the LLP to
+ use just
+ after that step.
+
+ src/mm-bearer-qmi.c | 97
+ ++++++++++++--------------------------------
+ src/mm-bearer-qmi.h | 5 +--
+ src/mm-broadband-modem-qmi.c | 11 +----
+ 3 files changed, 28 insertions(+), 85 deletions(-)
+
+commit 46b17908ce18e89280db3cb7fa0981ee4fec5a23
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 14 14:59:17 2016 +0200
+
+ broadband-modem-qmi: fix dhcp/static IP setting when kernel data
+ format updated
+
+ When the logic decided that we had to update the kernel data format
+ to match the
+ one configured in the WWAN network interface, we were not flagging
+ the port LLP
+ with the correct value, what resulted in NetworkManager trying to
+ use dhclient
+ on the raw-ip interface:
+
+ dhclient[3257]: Unsupported device type 65534 for "wwan1"
+ dhclient[3257]:
+ dhclient[3257]: If you think you have received this message due
+ to a bug rather
+ dhclient[3257]: than a configuration issue please read the
+ section on submitting
+ dhclient[3257]: bugs on either our web page at www.isc.org or
+ in the README file
+ dhclient[3257]: before submitting a bug. These pages explain
+ the proper
+ dhclient[3257]: process and the information we find helpful
+ for debugging..
+ dhclient[3257]:
+ dhclient[3257]: exiting.
+
+ Fix the internal LLP flag, so that Static IP addressing is requested
+ for all raw-ip
+ based interfaces.
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ src/mm-port-qmi.c | 8 +++++---
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+commit 48f02107395986c31b95067b5f08de256dab3c18
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 17 10:39:02 2016 -0500
+
+ bearer-mbim: use the context IP type MM asked to be activated instead
+ of modem response
+
+ MM never passes MBIM_CONTEXT_IP_TYPE_DEFAULT which would require
+ paying
+ attention to the ip_type in the reply to figure out what type
+ the modem
+ activated. Instead, MM always specifies the ip_type it wants to
+ activate,
+ and some modems (K5160) return a different type in the response.
+ The modem
+ is required to activate the type MM asks for or return an error, so if
+ the activation was successful we can safely assume the modem activated
+ the ip_type we want, and we can ignore the ip_type in the response.
+
+ src/mm-bearer-mbim.c | 24 +++++++++++++-----------
+ 1 file changed, 13 insertions(+), 11 deletions(-)
+
+commit d757c32b945da7eafcd95080b30116c98f4e665d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 7 20:22:31 2016 +0200
+
+ release: bump version to 1.5.993 (1.6-rc4)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b09b7dfc2d0ab2fde2c8b9557e494381a90ce327
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jul 7 20:22:00 2016 +0200
+
+ NEWS: update for 1.6-rc4
+
+ NEWS | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit f5cd7476f4bcd3961d408b603344ad5fff03e40d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jun 6 22:15:55 2016 +0200
+
+ broadband-modem-mbim: try to use FCC Auth through QMI-over-MBIM if
+ power up fails
+
+ configure.ac | 4 +-
+ src/mm-broadband-modem-mbim.c | 445
+ ++++++++++++++++++++++++++++++++++++------
+ 2 files changed, 382 insertions(+), 67 deletions(-)
+
+commit 8080be8209c406169f24d52b69ddda4dd8485c8c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jun 15 14:16:52 2016 -0500
+
+ broadband-bearer-mbim: log context IP type when connecting
+
+ src/mm-bearer-mbim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 182cf1fa891797438fc79e9cb01bd1cb1b4a3fd8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jun 1 12:12:21 2016 -0500
+
+ iface-modem-firmware: clarify log message about unsupported firmware
+ interface
+
+ src/mm-iface-modem-firmware.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f232afffe92e61b0c0471608ec55fa8e748196a2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jun 1 11:33:33 2016 -0500
+
+ broadband-modem: document why firmware/OMA interfaces are left
+ enabled in FAILURE state
+
+ src/mm-broadband-modem.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit a5baec65be1b20e0d3a223c54ed79230b6d9509e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 31 11:22:13 2016 +0200
+
+ simtech: support QMI devices
+
+ plugins/simtech/mm-plugin-simtech.c | 79
+ ++++++++++++++++++++-----------------
+ 1 file changed, 43 insertions(+), 36 deletions(-)
+
+commit 969189d42cc88bce9bdd6fb5e387352a02f81f2a
+Author: Ting-Yuan Huang <laszio@chromium.org>
+Date: Sat May 14 15:25:32 2016 +0800
+
+ plugin-manager: protect mm_plugin_{major,minor}_version
+
+ This patch makes declarations bind to definitions within the same
+ module
+ to prevent the potential ambiguity if referenced directly.
+
+ AddressSanitizer think they violated one definition rule, although
+ those symbols are accessed by address through their modules and do
+ not depend on the order of the libararies loaded.
+
+ plugins/altair/mm-plugin-altair-lte.c | 4 ++--
+ plugins/anydata/mm-plugin-anydata.c | 4 ++--
+ plugins/cinterion/mm-plugin-cinterion.c | 4 ++--
+ plugins/dell/mm-plugin-dell.c | 4 ++--
+ plugins/generic/mm-plugin-generic.c | 4 ++--
+ plugins/haier/mm-plugin-haier.c | 4 ++--
+ plugins/huawei/mm-plugin-huawei.c | 4 ++--
+ plugins/iridium/mm-plugin-iridium.c | 4 ++--
+ plugins/linktop/mm-plugin-linktop.c | 4 ++--
+ plugins/longcheer/mm-plugin-longcheer.c | 4 ++--
+ plugins/mbm/mm-plugin-mbm.c | 4 ++--
+ plugins/motorola/mm-plugin-motorola.c | 4 ++--
+ plugins/mtk/mm-plugin-mtk.c | 4 ++--
+ plugins/nokia/mm-plugin-nokia-icera.c | 4 ++--
+ plugins/nokia/mm-plugin-nokia.c | 4 ++--
+ plugins/novatel/mm-plugin-novatel-lte.c | 4 ++--
+ plugins/novatel/mm-plugin-novatel.c | 4 ++--
+ plugins/option/mm-plugin-hso.c | 4 ++--
+ plugins/option/mm-plugin-option.c | 4 ++--
+ plugins/pantech/mm-plugin-pantech.c | 4 ++--
+ plugins/samsung/mm-plugin-samsung.c | 4 ++--
+ plugins/sierra/mm-plugin-sierra-legacy.c | 4 ++--
+ plugins/sierra/mm-plugin-sierra.c | 4 ++--
+ plugins/simtech/mm-plugin-simtech.c | 4 ++--
+ plugins/telit/mm-plugin-telit.c | 4 ++--
+ plugins/thuraya/mm-plugin-thuraya.c | 4 ++--
+ plugins/via/mm-plugin-via.c | 4 ++--
+ plugins/wavecom/mm-plugin-wavecom.c | 4 ++--
+ plugins/x22x/mm-plugin-x22x.c | 4 ++--
+ plugins/zte/mm-plugin-zte.c | 4 ++--
+ src/mm-plugin.h | 9 +++++++++
+ 31 files changed, 69 insertions(+), 60 deletions(-)
+
+commit 55f3ab80835114342618083664c4fa585455b9e0
+Merge: 830b6ebc ba097f1a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 27 12:39:56 2016 -0500
+
+ merge: fix various mbm-related connect/disconnect issues (fdo #95302)
+ (fdo #95304)
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=95302
+ https://bugs.freedesktop.org/show_bug.cgi?id=95304
+
+commit ba097f1a434761a5129c07b5e4533e57bda43f3e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 11 13:18:12 2016 -0500
+
+ broadband-bearer-mbm: connect errors should trigger a disconnect
+
+ Otherwise we may leave a bearer connected when ModemManager doesn't
+ think it's connected. Prevents a CME ERROR 277 loop on connect when
+ the bearer hasn't been torn down correctly.
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 38
+ +++++++++++++++++++++++++++++++----
+ 1 file changed, 34 insertions(+), 4 deletions(-)
+
+commit 5c3461ff9c01583ee97a76cbed544144c44627db
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 11 12:27:56 2016 -0500
+
+ broadband-bearer-mbm: wait for disconnect to complete
+
+ Wait for either an E2NAP unsolicited disconnect status or (for older
+ devices) an ENAP poll response before completing the disconnect.
+ Otherwise the client may start connecting again (such as
+ NetworkManager autoconnect retry) and the unsolicited E2NAP may
+ abort it, or the modem may return CME ERROR 277 ("not disconnected
+ yet") for the next connection attempt.
+
+ https://bugs.freedesktop.org/attachment.cgi?id=123525
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 143
+ ++++++++++++++++++++++++++++++----
+ 1 file changed, 130 insertions(+), 13 deletions(-)
+
+commit 9cc851954d6c0525ae97b8b0be7661870aa17224
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 11 11:24:59 2016 -0500
+
+ broadband-bearer-mbm: simplify dial_3gpp connection setup flow
+
+ There are a few key parts to this patch:
+
+ 1) move the poll id into the Dial3gppContext structure as it is
+ conceptually part of the connection context data. This simplifies
+ context cleanup by keeping the poll id cleanup in one place.
+
+ 2) move unsolicited connection status (E2NAP) handling into the
+ normal connection codepath, instead of completing the connection
+ context from the report_connection_status() E2NAP handler. This
+ simplifies connect code by not requiring checks for a NULL context
+ everywhere, and allows us to pass the Dial3gppContext structure
+ around instead of the Bearer object, since the Dial3gppContext
+ will never be comleted/freed outside the normal connection flow
+ codepaths like GLib idles and AT command requests.
+
+ 3) use the connect context cancellable for all AT command requests
+ in the connect path. This lets us use the error return from
+ mm_base_modem_at_command_full_finish() to handle cancellation and
+ also not bother listening to the 'cancelled' signal of the
+ cancellable, since we can just check for cancellation the next time
+ the ENAP poll function runs.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=95304
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 297
+ +++++++++++++---------------------
+ 1 file changed, 112 insertions(+), 185 deletions(-)
+
+commit 830b6ebca8e218efeecd211b7a058366ef26272e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 11 16:25:59 2016 -0500
+
+ broadband-bearer-icera: deactivate context before authentication
+
+ If the modem thinks a PDP context is already active it'll return
+ 583 errors from IPDPCFG and IPDPACT until the context is
+ deactivated. Deactivation was previously done after authentication,
+ but needs to be done before any part of the connect process to
+ ensure the PDP context is inactive.
+
+ The previous approach worked only if the context was being
+ deactivated already (which can take a bit of time) because it would
+ be deactivated after a few seconds and the connect could continue.
+ This approach works for more cases (like a MM crash and restart
+ while the modem is connected).
+
+ plugins/icera/mm-broadband-bearer-icera.c | 99
+ ++++++++++++++++---------------
+ 1 file changed, 52 insertions(+), 47 deletions(-)
+
+commit e27f4a6226cc7c3293d16e9f57ea37a8aec6b60a
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Thu May 5 19:34:19 2016 +0200
+
+ mbm: clean up the context on activate_ready
+
+ Otherwise the dangling pointer to the context that's being deallocated
+ causes a
+ crash on spontaneous E2NAP receipt:
+
+ ModemManager[1567]: <info> [1462468083.031326]
+ [mm-iface-modem.c:1431] __iface_modem_update_state_internal():
+ Modem /org/freedesktop/ModemManager1/Modem/0: state changed
+ (connecting -> registered)
+ ModemManager[1567]: <debug> [1462468083.053745]
+ [mm-port-serial-at.c:459] debug_log(): (ttyACM0): <--
+ '<CR><LF>*E2NAP: 0,36<CR><LF>'
+ ModemManager[1567]: <debug> [1462468083.053857]
+ [mbm/mm-broadband-modem-mbm.c:824] e2nap_received(): disconnected
+
+ (ModemManager:1567): GLib-GIO-CRITICAL **:
+ g_simple_async_result_set_error: assertion 'G_IS_SIMPLE_ASYNC_RESULT
+ (simple)' failed
+
+ Program received signal SIGTRAP, Trace/breakpoint trap.
+ g_logv (log_domain=0x7ffff7086798 "GLib-GIO",
+ log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
+ args=args@entry=0x7fffffffcda0) at gmessages.c:1046
+ 1046 g_private_set (&g_log_depth, GUINT_TO_POINTER
+ (depth));
+ Missing separate debuginfos, use: debuginfo-install
+ libmbim-1.12.4-2.el7.centos.x86_64 libqmi-1.14.2-1.el7.centos.x86_64
+ (gdb) bt
+ #0 0x00007ffff6a508c3 in g_logv (log_domain=0x7ffff7086798
+ "GLib-GIO", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>,
+ args=args@entry=0x7fffffffcda0) at gmessages.c:1046
+ #1 0x00007ffff6a50a3f in g_log
+ (log_domain=log_domain@entry=0x7ffff7086798 "GLib-GIO",
+ log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
+ format=format@entry=0x7ffff6abe73d "%s: assertion '%s' failed")
+ at gmessages.c:1079
+ #2 0x00007ffff6a50a79 in g_return_if_fail_warning
+ (log_domain=log_domain@entry=0x7ffff7086798 "GLib-GIO",
+ pretty_function=pretty_function@entry=0x7ffff7092ce0
+ <__FUNCTION__.13394> "g_simple_async_result_set_error",
+ expression=expression@entry=0x7ffff7092a40 "G_IS_SIMPLE_ASYNC_RESULT
+ (simple)") at gmessages.c:1088
+ #3 0x00007ffff6ff9d3d in g_simple_async_result_set_error
+ (simple=0x7fffe8006e40, domain=297, code=0, format=0x7ffff175b53f
+ "Call setup failed") at gsimpleasyncresult.c:719
+ #4 0x00007ffff17569ea in report_connection_status
+ (bearer=0x7fffe4008a40 [MMBroadbandBearerMbm],
+ status=MM_BEARER_CONNECTION_STATUS_DISCONNECTED) at
+ mbm/mm-broadband-bearer-mbm.c:174
+ #5 0x000055555559c9f1 in mm_base_bearer_report_connection_status
+ (self=0x7fffe4008a40 [MMBroadbandBearerMbm],
+ status=MM_BEARER_CONNECTION_STATUS_DISCONNECTED) at
+ mm-base-bearer.c:1118
+ #6 0x00007ffff17548ed in bearer_list_report_status_foreach
+ (bearer=0x7fffe4008a40 [MMBroadbandBearerMbm], ctx=0x7fffffffd060)
+ at mbm/mm-broadband-modem-mbm.c:805
+ #7 0x00007ffff6a45f18 in g_list_foreach (list=<optimized
+ out>, func=0x7ffff17548c9 <bearer_list_report_status_foreach>,
+ user_data=0x7fffffffd060) at glist.c:994
+ #8 0x00005555555a224b in mm_bearer_list_foreach
+ (self=0x5555558e0680 [MMBearerList], func=0x7ffff17548c9
+ <bearer_list_report_status_foreach>, user_data=0x7fffffffd060)
+ at mm-bearer-list.c:146
+ #9 0x00007ffff1754a3d in e2nap_received (port=0x5555558e24c0
+ [MMPortSerialAt], info=0x555555935730, self=0x555555900330
+ [MMBroadbandModemMbm]) at mbm/mm-broadband-modem-mbm.c:850
+ #10 0x000055555563d9fd in parse_unsolicited (port=0x5555558e24c0
+ [MMPortSerialAt], response=0x7fffe80054f0) at
+ mm-port-serial-at.c:280
+ #11 0x0000555555639915 in parse_response_buffer (self=0x5555558e24c0
+ [MMPortSerialAt]) at mm-port-serial.c:889
+ #12 0x0000555555639f0b in common_input_available
+ (self=0x5555558e24c0 [MMPortSerialAt], condition=G_IO_IN) at
+ mm-port-serial.c:1019
+ #13 0x0000555555639fc7 in iochannel_input_available
+ (iochannel=0x555555926df0, condition=G_IO_IN, data=0x5555558e24c0)
+ at mm-port-serial.c:1042
+ #14 0x00007ffff6a4979a in g_main_context_dispatch
+ (context=0x5555558a4a00) at gmain.c:3109
+ #15 0x00007ffff6a4979a in g_main_context_dispatch
+ (context=context@entry=0x5555558a4a00) at gmain.c:3708
+ #16 0x00007ffff6a49ae8 in g_main_context_iterate
+ (context=0x5555558a4a00, block=block@entry=1,
+ dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3779
+ #17 0x00007ffff6a49dba in g_main_loop_run (loop=0x5555558acf10)
+ at gmain.c:3973
+ #18 0x000055555558d068 in main (argc=2, argv=0x7fffffffdc38)
+ at main.c:181
+ (gdb)
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=1333293
+ https://bugs.freedesktop.org/show_bug.cgi?id=95303
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ff8f030d2422d20bf5f7f74afb8c135610fba4c5
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Wed May 4 16:11:44 2016 +0200
+
+ mtk: add D-Link DWM-156 A3
+
+ plugins/mtk/77-mm-mtk-port-types.rules | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 1af8304a8f4916431d081a2dc34316dc7bdf717d
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Fri Apr 29 12:50:11 2016 +0200
+
+ build: modified Telit and Dell sections
+
+ This patch adds section for building Telit common code and modifies
+ Dell section for using Telit library
+
+ plugins/Makefile.am | 28 ++++++++++++++++++++++------
+ 1 file changed, 22 insertions(+), 6 deletions(-)
+
+commit ed97ebf6bfac937501d4cee8fe97919f30b627c4
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Fri Apr 29 12:50:10 2016 +0200
+
+ dell: add udev rules for 413c/81ba
+
+ udev rules for Dell-branded 413c/81ba Telit modem are used for dynamic
+ port configuration in Telit plugin custom init
+
+ plugins/dell/77-mm-dell-port-types.rules | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 4403bb7764268a3924ed0ed7d14c510751fdbb4d
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Fri Apr 29 12:50:09 2016 +0200
+
+ dell: add Telit manufacturer
+
+ Dell-branded AT based Telit modems should use Telit plugin functions
+
+ plugins/dell/mm-plugin-dell.c | 53
+ +++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 51 insertions(+), 2 deletions(-)
+
+commit 850318fd965d992994412688955f1e3ce8a9c97e
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Fri Apr 29 12:50:08 2016 +0200
+
+ telit: code refactoring
+
+ This patch moves init and port grabbing functions to a separate file
+ to allow functions call from Dell plugin
+
+ plugins/telit/mm-common-telit.c | 318
+ ++++++++++++++++++++++++++++++++++++++++
+ plugins/telit/mm-common-telit.h | 40 +++++
+ plugins/telit/mm-plugin-telit.c | 300
+ +------------------------------------
+ 3 files changed, 360 insertions(+), 298 deletions(-)
+
+commit f5a061efbf29642521e3da6f5f6ff98129643143
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 20 11:09:13 2016 -0500
+
+ bearer-mbim: fine-tune bearer IP method reporting
+
+ v4: modems/providers may not return DNS servers and not all modems
+ support DHCP, so lack of DNS servers should not indicate a bearer
+ IP method of "DHCP". IP config daemon/scripts already have to handle
+ missing DNS anyway.
+
+ v6: IPv6 requires SLAAC or DHCPv6 as part of the specification, so for
+ now we assume modems will support it. Provide all the info the modem
+ sent, but if there is any missing information use an IP method of
+ "DHCP" to indicate that info should be obtained via SLAAC/DHCPv6.
+ Only
+ use an IP method of "STATIC" when all basic properties are given by
+ the modem.
+
+ include/ModemManager-enums.h | 16 +++++++----
+ src/mm-bearer-mbim.c | 66
+ +++++++++++++++++++++++++++++---------------
+ 2 files changed, 54 insertions(+), 28 deletions(-)
+
+commit ccc148fe9bc24a687ba868070014028d7ad0bb22
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Apr 19 13:14:00 2016 +0200
+
+ libmm-glib,common-helpers: fix reading boolean from string
+
+ The "0" case wasn't being handled properly:
+ $ sudo mmcli -m 0 --create-bearer="apn=,allow-roaming=0"
+ Error parsing properties string: 'Cannot get boolean from string
+ '0''
+
+ libmm-glib/mm-common-helpers.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit 59f57befa4be81b562f9adfbac39fbe19d88c111
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Apr 18 08:11:45 2016 +0200
+
+ release: bump version to 1.5.992 (1.6-rc3)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5286eaca51b8a871e9b6a2d0825967414aa93249
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Apr 18 08:11:00 2016 +0200
+
+ NEWS: include QMI network disconnections
+
+ NEWS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 80ce59385fb0bc24f9167f339d5673ede735e1c3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 13 12:16:57 2016 -0500
+
+ bearer-qmi: listen for Packet Service Status indication and handle
+ disconnection
+
+ Hook up to the WDS Packet Service Status indication, listen for
+ disconnection events, and disconnect the bearer when we get one.
+
+ src/mm-bearer-qmi.c | 139
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 139 insertions(+)
+
+commit 650f4a2e911e5d626e1c9d365437c7e1b2191fcc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Apr 13 11:39:21 2016 +0200
+
+ huawei: fix reading IPv4 address in BE systems
+
+ Tested by: <than@redhat.com>
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=94777
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 62805a11f1cfbd92c36cb8215f2451f5018873c1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Apr 13 09:45:02 2016 +0200
+
+ port-probe: fix missing task disposals
+
+ src/mm-port-probe.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 276e28fe81e7aeef8a4270fb7be3b542688c27e9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 8 16:38:00 2016 +0200
+
+ port-probe: make sure stored task pointer is set to NULL before
+ completing
+
+ When we were completing tasks in idle, the logic was like this:
+
+ * Schedule task completion in idle
+ * self->priv->task = NULL
+ * (idle) Task completion callback called
+
+ This meant that the self->priv->task was always set to NULL before the
+ completion callback was called, which is what we wanted as a new
+ task may be
+ scheduled in the callback itself.
+
+ Now, without completing in idle, we were wrongly doing:
+
+ * Task completion callback called
+ * self->priv->task = NULL
+
+ This commit fixes the logic by making sure self->priv->task = NULL
+ before any
+ task completion.
+
+ src/mm-port-probe.c | 184
+ ++++++++++++++++++++++++++++------------------------
+ 1 file changed, 100 insertions(+), 84 deletions(-)
+
+commit 8a386218690aeff7e2c923a14f91da7bbc046ed2
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Tue Apr 5 08:18:57 2016 +0200
+
+ dell: fixed cgmi_retries in dell_custom_init
+
+ Initialized "cgmi_retries" variable from CustomInitContext with the
+ same value as the other retries, moreover the context is now allocated
+ with g_slice_new0.
+
+ Before this changes, when cgmi_retries assumed big values during the
+ probing of no AT-capable ports, the command AT+CGMI
+ (mm-plugin-dell.c:custom_init_step)
+ was sent a semi-infinite number of times, blocking the plugin's
+ initialization.
+
+ plugins/dell/mm-plugin-dell.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 1f13909d9b59176afd9cec32cfbd623b44ec8d80
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 1 13:06:55 2016 +0200
+
+ build: make '--with-suspend-resume' auto by default
+
+ If systemd is found, enable suspend resume support.
+
+ configure.ac | 24 +++++++++++++++++-------
+ 1 file changed, 17 insertions(+), 7 deletions(-)
+
+commit ae2988da933f39d8983c94aaeef3c1b6f98f3e4e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 1 12:59:25 2016 +0200
+
+ build: use 'no' to disable suspend/resume support, instead of 'none'
+
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 0e5fdadcd39c0a51a62be29b42752415d4892a71
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 1 12:58:55 2016 +0200
+
+ build: use 'no' to disable polkit, instead of 'none'
+
+ configure.ac | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+commit 55408e8b946b4db77096d1ad403102823e1e6e25
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 27 21:52:46 2016 +0200
+
+ device: port probe may be in the ignored list
+
+ src/mm-device.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit f156ec06fb74d2401ab7147c0977e4fdff20eb52
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 27 21:39:11 2016 +0200
+
+ context: use G_OPTION_ARG_FILENAME when a file path is expected
+
+ cli/mmcli-modem-messaging.c | 2 +-
+ src/mm-context.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 0f9377686d08f4ac360c9f1df3366c91af44209f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 27 21:35:44 2016 +0200
+
+ context: fix --help output
+
+ The options that require an argument should explicitly specify so.
+
+ Before:
+ --log-level=INFO Log level: one of [ERR, WARN, INFO,
+ DEBUG]
+ --log-file Path to log file
+
+ After:
+ --log-level=[LEVEL] Log level: one of ERR, WARN, INFO,
+ DEBUG
+ --log-file=[PATH] Path to log file
+
+ src/mm-context.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 6ba37aa041627d7246303cd7e46c8ff88f5634cc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 27 18:15:55 2016 +0200
+
+ base-modem: remove unused 'mm_base_modem_get_port()' method
+
+ src/mm-base-modem.c | 24 ------------------------
+ src/mm-base-modem.h | 3 ---
+ 2 files changed, 27 deletions(-)
+
+commit 1583452554385f0f714764467052d70dd1f384c4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 27 18:14:20 2016 +0200
+
+ base-modem: remove unused 'mm_base_modem_owns_port()' method
+
+ src/mm-base-modem.c | 8 --------
+ src/mm-base-modem.h | 3 ---
+ 2 files changed, 11 deletions(-)
+
+commit 547b9b9d87963a3dcc827df65d835bbeb2e44dc7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 27 18:11:24 2016 +0200
+
+ base-modem: remove unused 'mm_base_modem_release_port()' method
+
+ src/mm-base-modem.c | 82
+ -----------------------------------------------------
+ src/mm-base-modem.h | 3 --
+ 2 files changed, 85 deletions(-)
+
+commit ad03445bf7edc2a4e294b4179a03b42f1c759a1a
+Author: Tomas Jura <tomas.jura1@gmail.com>
+Date: Sat Mar 26 15:43:13 2016 +0100
+
+ serial: do not restore termios on port close
+
+ src/mm-port-serial.c | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+commit d6cee7782b550f0664a70080c38a3dad1f657723
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 25 11:15:14 2016 +0100
+
+ release: bump version to 1.5.991 (1.6-rc2)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 34961f20a6a7fc892983841eec6eee4796ce7450
+Author: Brian Norris <computersforpeace@gmail.com>
+Date: Thu Mar 24 13:58:35 2016 -0700
+
+ libmm-glib: fix enum conversion warning/error
+
+ mm-modem-oma.c:400:51: error: implicit conversion from enumeration
+ type 'MMOmaSessionType' to different enumeration type 'MMOmaFeature'
+ [-Werror,-Wenum-conversion]
+ g_return_val_if_fail (MM_IS_MODEM_OMA (self),
+ MM_OMA_SESSION_TYPE_UNKNOWN);
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ /usr/include/glib-2.0/glib/gmessages.h:382:11: note: expanded from
+ macro 'g_return_val_if_fail'
+ return (val);
+ \
+ ~~~~~~ ^~~
+
+ This should be MMOmaFeature, not MMOmaSessionType. The end result
+ is the same,
+ as both are 0.
+
+ libmm-glib/mm-modem-oma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2c1230ba7ba9d70f26bc2f76198a458321283a58
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 23 22:50:34 2016 +0100
+
+ po: sleep monitor source file was renamed
+
+ Reported by: Michael Biebl <biebl@debian.org>
+
+ po/POTFILES.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8fee9a99f065b845bd0a9915c8777e6ac60a67b2
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Tue Mar 22 21:00:31 2016 +0100
+
+ port-probe: unlink the task from probe before completing it
+
+ The task completion may try to enqueue a next probe task and in
+ mm_port_probe_run() it asserts there's no task linked.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=94664
+
+ Fixes: 1939c5ace50240127276efacec5c7f166483bb79
+
+ src/mm-port-probe.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit a0e8505156a31fc6fa119e4f4aefa3f1670588a6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 21 23:48:46 2016 +0100
+
+ build: rename sleep monitor source file, only one implementation
+ available
+
+ src/Makefile.am | 2 +-
+ src/{mm-sleep-monitor-systemd.c => mm-sleep-monitor.c} | 0
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+commit 6197a06931ffd197b4f66b92c4d729b5911e0e36
+Author: poma <pomidorabelisima@gmail.com>
+Date: Sun Mar 20 20:39:16 2016 +0100
+
+ UPower signaling obsolescence
+
+ "Newer upower versions no longer emit that signal since this handled
+ by systemd."
+ by Michael Biebl <mbiebl@gmail.org>
+ https://lists.freedesktop.org/archives/devkit-devel/2014-March/001575.html
+
+ See also "Plans for UPower 1.0"
+ by Richard Hughes <hughsient@gmail.com>
+ https://lists.freedesktop.org/archives/devkit-devel/2013-January/001339.html
+
+ Signed-off-by: poma <pomidorabelisima@gmail.com>
+
+ configure.ac | 8 +--
+ src/Makefile.am | 5 --
+ src/mm-sleep-monitor-upower.c | 150
+ ------------------------------------------
+ 3 files changed, 2 insertions(+), 161 deletions(-)
+
+commit 342ea24e346f855f57c69a7fc1fccbbf4e12277d
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Mon Mar 21 14:58:41 2016 +0100
+
+ cinterion: drop unused constants
+
+ GCC 6 doesn't like this. Unused since f2024b7.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 24
+ ------------------------
+ 1 file changed, 24 deletions(-)
+
+commit 2a5909af17324442e052d3833ac7d4ff0ab689ba
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Mon Mar 21 14:58:40 2016 +0100
+
+ wmc: fix a typo in the test
+
+ GCC 6 notices an unused constant and errors out.
+
+ libwmc/tests/test-wmc-utils.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 6512fde74da33861591a089390201f2522978db2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 20 17:38:38 2016 +0100
+
+ build: fix missing MMCLI_LIBS variable
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 021e57a28306115c315f8686c30a122f692f394b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 21 10:45:25 2016 +0100
+
+ build: run configure script from builddir rather than srcdir
+
+ Based on an equivalent patch from Philip Withnall
+ <philip@tecnocode.co.uk>
+ for libmbim; see:
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=94639
+
+ autogen.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 07f899a9d3a1b688a06b858db36d8eea163e1d13
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 18 12:55:58 2016 +0100
+
+ release: bump version to 1.5.900 (1.6-rc1)
+
+ Also bump soname of libmm-glib, as the interface has grown since
+ the last tag.
+
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 0c2f98d2a7ad96c7144f3ef0e8e6c2fad1b56d2c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 18 12:49:39 2016 +0100
+
+ NEWS: update for 1.6.0
+
+ NEWS | 101
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 101 insertions(+)
+
+commit c6dda5e502d40cdb6599b8b6f64f5e5a893e2a0a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 18 11:36:52 2016 +0100
+
+ build: require libmbim 1.12 and libqmi 1.14
+
+ Preparing for the new ModemManager stable release, we now require
+ the latest
+ stable series of both libmbim and libqmi.
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d7a643b16ac538be5fb6b82da9855420ad9f1a0e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 16 18:26:33 2016 +0100
+
+ libmm-glib,modem-voice: fix unknown methods in documentation
+
+ html/MMCallProperties.html:141: warning: no
+ link for: 'mm-modem-voice-create' -> (<code
+ class="function">mm_modem_voice_create()</code>).
+ html/MMCallProperties.html:141: warning: no
+ link for: 'mm-modem-voice-create-sync' -> (<code
+ class="function">mm_modem_voice_create_sync()</code>).
+ html/MMModemVoice.html:379: warning: no link
+ for: 'mm-modem-voice-delete-finish' -> (<code
+ class="function">mm_modem_voice_delete_finish()</code>).
+ html/MMModemVoice.html:380: warning: no link
+ for: 'mm-modem-voice-delete-sync' -> (<code
+ class="function">mm_modem_voice_delete_sync()</code>).
+
+ libmm-glib/mm-call-properties.c | 2 +-
+ libmm-glib/mm-modem-voice.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 4055488fd0ab7522a8d967086c55c7e706de5173
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 16 18:13:18 2016 +0100
+
+ libmm-glib,modem-location: fix unknown method in documentation
+
+ html/MMModemLocation.html:516: warning: no
+ link for: 'mm-modem-dup-supl-server' -> (<code
+ class="function">mm_modem_dup_supl_server()</code>).
+
+ libmm-glib/mm-modem-location.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1ae6a7be8abab4b13520679f42c6cc8e2fb57d05
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 15 16:17:42 2016 -0500
+
+ build: work around automake-1.15 & intltool complaining about
+ translations in build dir
+
+ make distcheck runs a build in dist directory subtirs and then runs
+ intltool -m
+ which in turn complains about translations in a built file:
+
+ The following files contain translations and are currently not in
+ use. Please
+ consider adding these to the POTFILES.in file, located in the po/
+ directory.
+
+ sub/data/org.freedesktop.ModemManager.policy.in
+
+ The issue is reported to intltool upstream already:
+ https://bugs.launchpad.net/intltool/+bug/1117944
+
+ po/POTFILES.skip | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 93bf189fa245078aa3e8791e8ba89a63da5f3530
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 15 15:56:06 2016 +0100
+
+ build,libmm-glib: built headers shouldn't be included in dist
+
+ libmm-glib/generated/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit eeb9e2bdcc8001d77d2b81ad6e2275fe634c4469
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 15 12:28:56 2016 +0100
+
+ build: end all multiline list variables with $(NULL)
+
+ So that appending a new item in the list only inserts one new line
+ (i.e. the
+ last $(NULL) is the last item always).
+
+ Makefile.am | 32 +++++++++++++++++++++++++++-----
+ cli/Makefile.am | 10 ++++++----
+ libmm-glib/Makefile.am | 32 +++++++++++++++++++++-----------
+ libmm-glib/generated/Makefile.am | 24 +++++++++++++-----------
+ src/Makefile.am | 30 ++++++++++++++++++++----------
+ 5 files changed, 87 insertions(+), 41 deletions(-)
+
+commit f9c63bfa058bdab29e00f13a0bedf4b4af39797e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 15 12:57:01 2016 +0100
+
+ build,plugins: update build rules
+
+ We try to combine in common envvars the compiler and linker flags
+ shared by the
+ different components, and where possible, also re-using the implicit
+ AM_CFLAGS
+ and AM_LDFLAGS variables that automake provides, and which apply to
+ all objects
+ being built in the same Makefile.am.
+
+ The plugins build rules are also updated so that whenever a plugin
+ has some
+ testable 'helpers', these are compiled into a noinst library and
+ then the new
+ library included by both the plugin and the tester program. This
+ avoids multiple
+ recompilations of the same sources for different objects.
+
+ plugins/Makefile.am | 847
+ +++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 514 insertions(+), 333 deletions(-)
+
+commit 3b8361eb0635e2a56f8db11823d0b5837f1bb6de
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 15 12:47:13 2016 +0100
+
+ build,core: update build rules
+
+ We try to combine in common envvars the compiler and linker flags
+ shared by the
+ different components, and where possible, also re-using the implicit
+ AM_CFLAGS
+ and AM_LDFLAGS variables that automake provides, and which apply to
+ all objects
+ being built in the same Makefile.am.
+
+ The internal libmodem-helpers.la library is also renamed to
+ libhelpers.la
+
+ plugins/Makefile.am | 12 +--
+ src/Makefile.am | 211
+ ++++++++++++++++++++++++++++----------------------
+ src/tests/Makefile.am | 203
+ +++++++++---------------------------------------
+ test/Makefile.am | 32 ++++++--
+ 4 files changed, 184 insertions(+), 274 deletions(-)
+
+commit 3bac0a17f5187aa22d433470146875cac15944bf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 15 12:27:20 2016 +0100
+
+ build,libmm-glib: fix gdbus-codegen rules
+
+ The rule with multiple targets means that for each of the target
+ the command
+ specified is run; not that a single run of the command generates
+ all the targets
+ specified.
+
+ So, generate the .c file with the command, and make the .h and the
+ .xml files
+ a side-effect of the .c generation.
+
+ libmm-glib/generated/Makefile.am | 57
+ +++++++++++++++++++++++++++++++---------
+ 1 file changed, 45 insertions(+), 12 deletions(-)
+
+commit 0a9cbf65ea285ebe58b27e1bf40d078504351a80
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 15 10:33:30 2016 -0500
+
+ modem-helpers: fix handling split PDP context ID reporting in
+ CGDCONT=? response
+
+ Cinterion PHS8-US devices send split PDP context ID like
+ "(1-17,101-112)" and
+ that caused the modem-helpers to choke.
+
+ src/mm-modem-helpers.c | 2 +-
+ src/tests/test-modem-helpers.c | 16 ++++++++++++++++
+ 2 files changed, 17 insertions(+), 1 deletion(-)
+
+commit 8ac075d768cf36b6de19032a2ba208bf3e029cc5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 13 18:01:03 2016 +0100
+
+ build: ignore thuraya helpers test
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit e00fd54a200f97aa5ae44e981da152669521f83c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 13 17:38:26 2016 +0100
+
+ build: bump required gettext version to 0.19.3
+
+ Otherwise:
+ configure.ac:86: warning: The 'AM_PROG_MKDIR_P' macro is
+ deprecated, and its use is discouraged.
+ configure.ac:86: You should use the Autoconf-provided
+ 'AC_PROG_MKDIR_P' macro instead,
+ configure.ac:86: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in
+ your Makefile.am files.
+
+ .gitignore | 3 +++
+ configure.ac | 2 +-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+
+commit a9b69d210d12acc458d2d8ba4e79554f818e8337
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 19 12:44:02 2015 -0500
+
+ huawei: use AT^DHCP response if available for NDISDUP-capable devices
+
+ For non-QMI/non-MBIM Huawei devices that use HiSense chipsets,
+ the recommended way to create the connection is to use NDISDUP
+ and either DHCP on the net interface, or the ^DHCP command.
+ There are some reports of devices that connect successfully, but
+ don't respond to DHCP requests on the interface. Try to get
+ IP addressing info from the device via ^DHCP and fall back to
+ telling clients to use actual DHCP if that fails.
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=1254886
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 112
+ +++++++++++++++++++++--
+ plugins/huawei/mm-modem-helpers-huawei.c | 112
+ +++++++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 10 ++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 51 +++++++++++
+ 4 files changed, 276 insertions(+), 9 deletions(-)
+
+commit 91d343520fec5c5905a4cc3ce898f75025f3f2a8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 13 13:21:05 2016 +0100
+
+ huawei: ignore ^LTERSRP unsolicited message
+
+ Based on a previous patch from Dan Williams <dcbw@redhat.com>
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 1939c5ace50240127276efacec5c7f166483bb79
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Mar 10 00:24:54 2016 +0100
+
+ port-probe: simplify task completion
+
+ We no longer need to complete in idle, because the limitation imposed
+ by the
+ serial port methods no longer exists.
+
+ src/mm-port-probe.c | 230
+ ++++++++++++++++++----------------------------------
+ 1 file changed, 81 insertions(+), 149 deletions(-)
+
+commit d9596587e294ffde715fb2a7ef877da9f903558a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Mar 10 00:34:59 2016 +0100
+
+ port-serial: allow completions not in idle
+
+ Port serial command completions may be performed in several different
+ places:
+ * When a cached response is set during command sending.
+ * When errors happen during command sending.
+ * When we process a response (i.e. common_input_available())
+ * When we process a timeout (i.e. port_serial_timed_out())
+ * When cancelled (i.e. port_serial_response_wait_cancelled())
+
+ We're currently safe with the previous logic only because the users
+ of the
+ serial port explicitly complete operations in idle, which means
+ that whenever
+ we're processing in a internal callback (e.g. during response
+ or timeout
+ processing) the serial port object is valid for as long as the
+ callback runs.
+
+ But, if we ever end up using the serial port with a not-in-idle
+ completion,
+ it may happen that if the command is completed within a internal
+ signal callback
+ the serial port object may get fully closed and unref-ed before
+ exiting the
+ callback.
+
+ We could force a valid port reference to exist as long as the
+ internal signal
+ is scheduled, but then we may lose the ability to automatically
+ close the port
+ during a full unref(), as the internal signals are set as long as
+ the port is
+ open.
+
+ So, to cope with this possibility of not-in-idle completion, we
+ instead force
+ references to be valid whenever we see that a command completion
+ may happen,
+ which is basically whenever port_serial_got_response() is called;
+ but we only
+ do that if we're going to use the port object after that, otherwise,
+ we ignore
+ the problem.
+
+ In addition to the problems with the references, we also update the
+ common_input_available() method so that the source isn't kept if
+ the last
+ response buffer processing ended up closing the port.
+
+ src/mm-port-serial.c | 137
+ ++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 87 insertions(+), 50 deletions(-)
+
+commit 1322201a43fa4731b0a79dd892bc4a988ae4a428
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Thu Mar 10 15:02:51 2016 +0100
+
+ telit: implemented set current bands
+
+ plugins/telit/mm-broadband-modem-telit.c | 117 +++++++++++++
+ plugins/telit/mm-modem-helpers-telit.c | 85 ++++++++++
+ plugins/telit/mm-modem-helpers-telit.h | 2 +
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 191
+ ++++++++++++++++++++++
+ 4 files changed, 395 insertions(+)
+
+commit 93056fe3f2038a4144f6f652726831458e849cf2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 16 18:57:25 2016 +0100
+
+ plugin-manager: allow early cancel of port tasks when they haven't
+ been run yet
+
+ src/mm-plugin-manager.c | 59
+ ++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 48 insertions(+), 11 deletions(-)
+
+commit c605b0bc468429f6f9421b964eea97c62f32056a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 16 01:41:51 2016 +0100
+
+ port-probe: allow cancellation
+
+ src/mm-plugin.c | 1 +
+ src/mm-port-probe.c | 1006
+ +++++++++++++++++++++++++++------------------------
+ src/mm-port-probe.h | 2 +-
+ 3 files changed, 533 insertions(+), 476 deletions(-)
+
+commit d3bf07e7a87bac85778750a87463b95f2180c55c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 15 17:54:51 2016 +0100
+
+ plugin: allow cancellation of the port probe operation
+
+ src/mm-plugin-manager.c | 3 +
+ src/mm-plugin.c | 224
+ ++++++++++++++++++++++--------------------------
+ src/mm-plugin.h | 20 +++--
+ 3 files changed, 117 insertions(+), 130 deletions(-)
+
+commit fd4fdbf21b20983cdd46fc925389dd96ca3a99d3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jan 11 19:46:25 2016 +0100
+
+ plugin-manager: refactor device/port support checks and allow
+ cancellations
+
+ src/mm-base-manager.c | 45 +-
+ src/mm-plugin-manager.c | 1732
+ ++++++++++++++++++++++++++++++++---------------
+ src/mm-plugin-manager.h | 32 +-
+ 3 files changed, 1222 insertions(+), 587 deletions(-)
+
+commit be9b5e0141bbebdff0694a6a664e1074448c3618
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jan 11 20:08:30 2016 +0100
+
+ plugin-manager: improve logging when loading plugins
+
+ src/mm-plugin-manager.c | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+commit be317e8b80cd984149ea152c9d00c6bb814e7c88
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Wed Mar 9 11:27:43 2016 +0100
+
+ broadband-modem: fix +CPMS empty parameter support
+
+ * Add new async virtual method init_current_storages to
+ MMIfaceModemMessaging
+ * Add logic of init_current_storages to MMBroadbandModem
+ * Add step "INIT_CURRENT_STORAGES" in MMIfaceModemMessaging
+ initialization in order to load and store current SMS
+ storages for mem1 and mem2.
+ * Add usage of current sms storage value for mem1 in place
+ of an empty string parameter when the command AT+CPMS
+ is used.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=93135
+
+ src/mm-broadband-modem.c | 92
+ +++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-messaging.c | 37 +++++++++++++++++
+ src/mm-iface-modem-messaging.h | 7 ++++
+ src/mm-modem-helpers.c | 76 ++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 10 +++++
+ src/tests/test-modem-helpers.c | 35 ++++++++++++++++
+ 6 files changed, 256 insertions(+), 1 deletion(-)
+
+commit 7c2d5b1aa358c4edb94203d7de586d489b656576
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 2 17:09:33 2016 +0100
+
+ helpers: fix check for pid when creating device identifier
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=94364
+
+ src/mm-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c8a26e472e05e8a02be881ad97cd9d15cd636f94
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Mon Feb 22 13:32:22 2016 +0100
+
+ telit: add current modes setting
+
+ This patch adds current modes setting in Telit plugin
+
+ plugins/telit/mm-broadband-modem-telit.c | 98
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 98 insertions(+)
+
+commit 6e7ff47109058e553beb4d9044a302d78e17944c
+Author: Michael Farrell <micolous@gmail.com>
+Date: Sat Feb 20 16:29:11 2016 +0100
+
+ proxmark3 is not a modem, blacklist it.
+
+ ModemManager locks the proxmark3 when it is connected. As it is not
+ a modem,
+ ModemManager shouldn't be talking to it.
+
+ At present, the recommended action in the proxmark3 documentation
+ is to
+ purge ModemManager to fix this issue.
+
+ Note that this vendor uses an unregistered USB device ID, so it is
+ instead matched by the manufacturer string.
+
+ References:
+ - http://store.ryscc.com/blogs/news/45802433
+ - http://www.proxmark.org/forum/viewtopic.php?id=1759
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 7652486433cbfaf14c1c3fe35aeb69622ca97b79
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 4 22:11:28 2016 -0800
+
+ build: ignore telit unit test
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit beeabdea2fd4f9b0719cf2d2605ed429a59aa5b5
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Mon Feb 15 12:10:57 2016 +0100
+
+ telit: add load_current_bands interface
+
+ plugins/telit/mm-broadband-modem-telit.c | 80
+ ++++++++++++++-----
+ plugins/telit/mm-modem-helpers-telit.c | 97
+ +++++++++++++++--------
+ plugins/telit/mm-modem-helpers-telit.h | 21 +++--
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 89
+ +++++++++++++++++++--
+ 4 files changed, 221 insertions(+), 66 deletions(-)
+
+commit c533e56e1e9fd2c2c52093369f8a21ebd3f932ea
+Author: Michael Biebl <biebl@debian.org>
+Date: Fri Jan 22 23:40:10 2016 +0100
+
+ tests: white space / indentation fixes
+
+ Fixes problems with GCC 6
+
+ Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811583
+ Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94149
+
+ libwmc/tests/test-wmc-com.c | 10 +++++-----
+ libwmc/tests/test-wmc.c | 16 ++++++++--------
+ 2 files changed, 13 insertions(+), 13 deletions(-)
+
+commit a08708c10ded19c5a0d369905f13beb8ee7cdc49
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Feb 15 00:31:27 2016 +0100
+
+ huawei: avoid trying to disable parent voice unsolicited events
+
+ Which actually segfaults, as MMBroadbandModem doesn't implement the
+ disable_unsolicited_events() method in the voice interface.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 39
+ ++++++++----------------------
+ 1 file changed, 10 insertions(+), 29 deletions(-)
+
+commit 5d8b26eeeb9d18ff6022998edd200aa480203d93
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Feb 15 00:12:11 2016 +0100
+
+ huawei: ignore ^ECCLIST unsolicited messages
+
+ These messages list the emergency numbers reported by the network,
+ we don't use
+ them yet.
+
+ E.g.:
+
+ ^ECCLIST: 112,911\r\n
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit eeb23637bd5a637e67955281a97223809023f23b
+Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
+Date: Sat Feb 13 17:37:15 2016 +0100
+
+ thuraya: filter by vendor ID instead of vendor string
+
+ Probe the Thuraya XT modem by USB vendor ID; there are no RS232
+ versions
+ to my knowledge.
+
+ One of my computers exhibiting the probing issue (VID/PID of the PCI
+ host controller instead of the USB device) fixed itself after
+ a reboot.
+
+ Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>
+
+ plugins/thuraya/mm-plugin-thuraya.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit cffba7e0ee512800329476d7da13046171c99067
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Feb 13 14:33:12 2016 +0100
+
+ modem-helpers: regex creation should never fail
+
+ We should really consider errors if we expect that the regex string
+ may not
+ compile; but in this case the pattern is fixed, so should never
+ happen.
+
+ src/mm-modem-helpers.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 95876c6f576875503f20f7e3ad27440bffd9067c
+Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
+Date: Sat Feb 13 14:19:13 2016 +0100
+
+ helpers: move +CRSM parsing to mm_3gpp_parse_crsm_response
+
+ Also added test cases.
+
+ Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>
+
+ src/mm-base-sim.c | 117
+ +++++++++++++----------------------------
+ src/mm-modem-helpers.c | 51 ++++++++++++++++++
+ src/mm-modem-helpers.h | 8 +++
+ src/tests/test-modem-helpers.c | 54 +++++++++++++++++++
+ 4 files changed, 151 insertions(+), 79 deletions(-)
+
+commit a33615d6cb087c646de3b1899fbed0f7284f9340
+Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
+Date: Sat Feb 13 14:19:12 2016 +0100
+
+ helpers: allow optional quotes in +CREG: <stat>,"<lac>","<ci>"
+
+ GSM 07.07 CREG=2 unsolicited pattern.
+
+ Added testcase for Thuraya XT.
+
+ Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>
+
+ src/mm-modem-helpers.c | 11 ++++++++++-
+ src/tests/test-modem-helpers.c | 26 ++++++++++++++++++++++++--
+ 2 files changed, 34 insertions(+), 3 deletions(-)
+
+commit 9cb0b22f915777a92ac4aa6442edfcf51a1f5601
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 11 11:07:38 2016 -0600
+
+ broadband-modem-qmi: fix compile errors with newest QMI commands
+ enabled
+
+ src/mm-broadband-modem-qmi.c | 24 ++++++++++++++++--------
+ 1 file changed, 16 insertions(+), 8 deletions(-)
+
+commit 232d4d4aaed69d7e0cdb75c19d0af2fd86c9469a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 26 12:46:09 2016 -0600
+
+ broadband-bearer: don't send disconnect CGACT on data port for
+ multi-port modems
+
+ A Huawei E173 (with FW 11.126.15.00.445) seems to stop responding
+ on the
+ primary port (ttyUSB2) when the CGACT is resent on the data port
+ (ttyUSB0).
+ The CGACT-on-data-port was originally added as a fallback attempt
+ to get
+ single-port modems to disconnect when all other methods failed.
+
+ For single-port modems, the primary port is also the data port so this
+ patch will have no effect.
+
+ For multi-port modems, this patch will retry the CGACT on the primary
+ port which has a higher chance of success because we already know
+ the primary port is talking to us, while the data port may still
+ be stuck in PPP mode.
+
+ src/mm-broadband-bearer.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+commit 504f422ddd99848adba2a85055f2ce33c0fbb612
+Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
+Date: Thu Feb 11 13:45:12 2016 +0100
+
+ thuraya: add plugin for the Thuraya XT satellite phone modem
+
+ Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>
+
+ plugins/Makefile.am | 25 ++
+ plugins/thuraya/mm-broadband-modem-thuraya.c | 295
+ +++++++++++++++++++++
+ plugins/thuraya/mm-broadband-modem-thuraya.h | 50 ++++
+ plugins/thuraya/mm-modem-helpers-thuraya.c | 156 +++++++++++
+ plugins/thuraya/mm-modem-helpers-thuraya.h | 27 ++
+ plugins/thuraya/mm-plugin-thuraya.c | 85 ++++++
+ plugins/thuraya/mm-plugin-thuraya.h | 48 ++++
+ .../thuraya/tests/test-mm-modem-helpers-thuraya.c | 131 +++++++++
+ 8 files changed, 817 insertions(+)
+
+commit 4442173dcff34fb6f2ce0d07b10c95a06a31a8f5
+Author: Thomas Sailer <t.sailer@alumni.ethz.ch>
+Date: Thu Feb 11 13:45:09 2016 +0100
+
+ modem-helpers: allow optional whitespace in +CGDCONT response
+
+ Add testcase for Thuraya XT.
+
+ Signed-off-by: Thomas Sailer <t.sailer@alumni.ethz.ch>
+
+ src/mm-modem-helpers.c | 4 ++--
+ src/tests/test-modem-helpers.c | 14 ++++++++++++++
+ 2 files changed, 16 insertions(+), 2 deletions(-)
+
+commit 18c8dd60a7ffec58fc1846f0a3894c951018e260
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 30 20:14:25 2016 -0800
+
+ qmi: just one InvalidCommand error is enough to avoid all DMS UIM
+ commands
+
+ The MMBroadbandModemQmi will not create a MMSimQmi until the unlock
+ status has
+ been checked, and therefore this means that when the SIM object is
+ being created
+ we already know whether the modem supports DMS UIM commands or not,
+ so avoid
+ further fallbacks in the SIM object.
+
+ src/mm-broadband-modem-qmi.c | 16 +++----
+ src/mm-sim-qmi.c | 109
+ ++++++++++++++++++++++++-------------------
+ src/mm-sim-qmi.h | 15 +++---
+ 3 files changed, 77 insertions(+), 63 deletions(-)
+
+commit 9cbd0c61b0562b2f2370d5c192d06fe8694bb021
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 30 20:14:24 2016 -0800
+
+ sim-qmi: implement SIM verify/unblock/change/enable with UIM service
+
+ Newer modems like the MC7455 don't implement the "DMS UIM" commands
+ in the
+ DMS service, and therefore these modems need to use the UIM service
+ directly.
+
+ We include a new flag to detect whether any of the DMS UIM commands
+ is flagged
+ as invalid, and if so, we'll fallback to the UIM specific
+ implementations for
+ all.
+
+ libqmi version bump to 1.13.7, which includes the new required
+ methods.
+
+ configure.ac | 2 +-
+ src/mm-sim-qmi.c | 552
+ +++++++++++++++++++++++++++++++++++++++++++++++++------
+ src/mm-sim-qmi.h | 2 +
+ 3 files changed, 500 insertions(+), 56 deletions(-)
+
+commit 7ded4f3c3be0a437d39777f38dfd58df4b570c07
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 30 20:14:23 2016 -0800
+
+ broadband-modem-qmi: implement unlock retries loading with UIM service
+
+ Newer modems like the MC7455 don't implement the "DMS UIM" commands
+ in the
+ DMS service, and therefore these modems need to use the UIM service
+ directly.
+
+ src/mm-broadband-modem-qmi.c | 357
+ ++++++++++++++++++++++++++++---------------
+ 1 file changed, 236 insertions(+), 121 deletions(-)
+
+commit 6a675536d678d1855859b5d5dd07fe22e0ceef88
+Author: Tomas Jura <tomas_jura1@gmail.com>
+Date: Tue Feb 2 15:30:23 2016 +0100
+
+ serial: remove duplicated ECHO & ECHOE
+
+ src/mm-port-serial.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 0ccbd5d85d65f932524ca851f2ffa7c18f284f07
+Author: Tomas Jura <tomas_jura1@gmail.com>
+Date: Tue Feb 2 15:30:21 2016 +0100
+
+ mbm: stop echos on gps port
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7f173dfd151708369b53083c996d0b98b0a07c2f
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Mon Feb 1 14:53:34 2016 +0100
+
+ plugin: telit: add current mode loading
+
+ This patch adds current mode loading in Telit plugin
+
+ plugins/telit/mm-broadband-modem-telit.c | 82
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 82 insertions(+)
+
+commit 85e6c5b915b242f46a528e6415b3e735599ee0c0
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Mon Feb 1 14:53:33 2016 +0100
+
+ plugin: telit: add supported modes loading
+
+ This patch add supported modes loading in Telit plugin.
+
+ plugins/telit/mm-broadband-modem-telit.c | 104
+ +++++++++++++++++++++++++++++++
+ 1 file changed, 104 insertions(+)
+
+commit aeb63621723fd3d7e39870466d2cffcf56fc6570
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 30 11:05:30 2016 -0800
+
+ sim-qmi: port to GTask
+
+ src/mm-sim-qmi.c | 451
+ ++++++++++++++++++++++---------------------------------
+ 1 file changed, 176 insertions(+), 275 deletions(-)
+
+commit b23dace6dd165b4043c54a11521b2cb75eca5a23
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 30 16:27:42 2016 -0800
+
+ broadband-modem-qmi: plug memleak when listing SMS messages
+
+ src/mm-broadband-modem-qmi.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8c905383b7f8f59e7b78c054ace828096a7fe6ba
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 30 16:25:20 2016 -0800
+
+ broadband-modem-qmi: locked states also indicate readiness of the
+ SIM card
+
+ When the card application is flagged as needing PIN or PUK, then
+ the card can be
+ considered as being ready.
+
+ src/mm-broadband-modem-qmi.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 3911ea5a0f6b26e12a3586c75d72bb2c5820e3c1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jan 25 13:58:57 2016 +0100
+
+ telit: minor coding style fixes
+
+ plugins/telit/mm-broadband-modem-telit.c | 2 +-
+ plugins/telit/mm-modem-helpers-telit.c | 37
+ +++++++++++------------
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 18 +++++++----
+ 3 files changed, 30 insertions(+), 27 deletions(-)
+
+commit 70b8ec1a88477eea3a2f569a83fc270ccaff9504
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Mon Jan 25 11:02:17 2016 +0100
+
+ telit: add load_supported_bands interface
+
+ plugins/telit/mm-broadband-modem-telit.c | 86 +++++
+ plugins/telit/mm-modem-helpers-telit.c | 372
+ +++++++++++++++++++++-
+ plugins/telit/mm-modem-helpers-telit.h | 67 ++++
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 150 ++++++++-
+ 4 files changed, 671 insertions(+), 4 deletions(-)
+
+commit 81019ca5b519d505da90f119b0037d9cc9916fe4
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Mon Jan 25 09:54:39 2016 +0100
+
+ telit: add udev rule for Telit LE910 V2 modem
+
+ plugins/telit/77-mm-telit-port-types.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 83868c61b10146795a7369a8db452143363a6edb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Dec 29 01:25:59 2015 +0100
+
+ broadband-modem-qmi: use "UIM Get Card Status" if "DMS UIM" command
+ unavailable
+
+ The newer modules like the MC7455 which support multiple SIM cards
+ won't
+ implement the legacy "DMS UIM" commands.
+
+ src/mm-broadband-modem-qmi.c | 452
+ +++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 390 insertions(+), 62 deletions(-)
+
+commit cf66d1bcbfa3c124a30302c9bb9a76957c9e4b75
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Dec 29 01:25:00 2015 +0100
+
+ bearer-qmi: use static IP if LLP is raw-ip
+
+ When using raw-ip we'll default to request static IP setup for now,
+ so that we
+ don't rely on the DHCP client supporting raw-ip interfaces.
+
+ src/mm-broadband-modem-qmi.c | 9 ++++++++-
+ src/mm-port-qmi.c | 25 +++++++++++++++++++++----
+ src/mm-port-qmi.h | 2 ++
+ 3 files changed, 31 insertions(+), 5 deletions(-)
+
+commit f8ba106a20d678e50619c5bf3f1a9e3c61b3463f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 28 23:28:45 2015 +0100
+
+ port-qmi: support new Qualcomm chipsets working always in raw-ip
+
+ The port opening logic is changed completely.
+
+ Before this change, the logic would only try 802.3 setting via CTL
+ when the
+ QmiDevice was being open.
+
+ With this new change, instead, we'll use WDA and the new libqmi APIs
+ to query
+ the link layer protocol expected by both the device and the kernel. If
+ the LLP
+ matches in both, we assume we're done; if they differ we'll try to
+ update the
+ LLP expected by the kernel to the one setup in WDA. This change will
+ allow us
+ to run with the modem using raw-ip if that is what WDA reports
+ by default.
+
+ Also bumped the libqmi version to 1.13.6, which has support for the
+ new required
+ APIs.
+
+ configure.ac | 2 +-
+ src/mm-port-qmi.c | 351
+ +++++++++++++++++++++++++++++++++++++++++++++---------
+ 2 files changed, 295 insertions(+), 58 deletions(-)
+
+commit 1bdb1a558a05970e436e562cc3f8d3f43640933a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 24 15:26:12 2016 +0100
+
+ build: require GLib 2.36
+
+ We now need it for GTask support.
+
+ configure.ac | 15 +++++++--------
+ plugins/Makefile.am | 8 --------
+ 2 files changed, 7 insertions(+), 16 deletions(-)
+
+commit 97962bb65caaabc4133740a2698dae2406be319e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jan 18 18:23:40 2016 +0100
+
+ port-serial: rework response parsing
+
+ Response parsing was being done in different places for AT and
+ QCDM subclasses;
+ in the case of AT it was being done early, before returning the byte
+ array in
+ the mm_serial_port_command_finish() response. In the case of QCDM,
+ it was being
+ done after mm_serial_port_command_finish(), and that was forcing
+ every caller to
+ cleanup the response buffer once the response was processed.
+
+ With the new logic in this patch, the response is always parsed
+ (i.e. looked for
+ a valid response or an error detected) before
+ mm_serial_port_command_finish()
+ returns, and actually this method now returns a totally different
+ GByteArray,
+ not the internal response buffer GByteArray, so there's no longer
+ any need for
+ the caller to explicitly clean it up. The one doing the cleanup is
+ the parser
+ method itself in every case.
+
+ This change also allows us to return serial port responses in idle,
+ but that's
+ not changed for now as there's no immediate need.
+
+ src/mm-port-serial-at.c | 45 +++++++++++-----
+ src/mm-port-serial-gps.c | 11 ++--
+ src/mm-port-serial-qcdm.c | 134
+ +++++++++++++++++++++++-----------------------
+ src/mm-port-serial.c | 118 +++++++++++++++++++++-------------------
+ src/mm-port-serial.h | 34 ++++++++----
+ 5 files changed, 194 insertions(+), 148 deletions(-)
+
+commit ede17bd41c044af1d59b347f8859a9894272d27e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 17 00:55:12 2016 +0100
+
+ port-serial: remove response buffer when an error is returned
+
+ When valid responses were returned to the caller of the serial
+ command, the
+ caller itself was responsible for removing from the GByteArray the
+ data that
+ it was successfully processed (all the data in AT, just 1 message
+ in QCDM). But,
+ the same logic was missing for the case of errors; we were not
+ explicitly
+ removing the response and therefore in some cases we would see
+ it propagated
+ into the next command response. It was common to see this issue when
+ the echo
+ removal was disabled in the serial port, as in Option/HSO modems:
+
+ <debug> (ttyHS3): --> 'AT+CNUM<CR>'
+ <debug> (ttyHS3): <-- '<CR><LF>+CME ERROR: 14<CR><LF>'
+ <debug> Got failure code 14: SIM busy
+ <debug> (ttyHS3) device open count is 1 (close)
+ <warn> couldn't load list of Own Numbers: 'Failed to parse NV
+ MDN command result: -17'
+ <debug> (ttyHS3) device open count is 2 (open)
+ <debug> (ttyHS3): --> 'AT_OPSYS?<CR>'
+ <debug> (ttyHS3): <-- '<CR><LF>_OPSYS:
+ 1,2<CR><LF><CR><LF>OK<CR><LF>'
+ <warn> couldn't load current allowed/preferred modes: 'Couldn't
+ parse OPSYS response: '+CME ERROR: 14
+ _OPSYS: 1,2''
+
+ src/mm-port-serial.c | 20 ++++++++++++++++----
+ 1 file changed, 16 insertions(+), 4 deletions(-)
+
+commit 0512a820cda8e0934ce11339726e66c6dea85d3f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 20 17:06:07 2016 -0600
+
+ libmm-glib: make C++ happy by not using 'class'
+
+ libmm-glib/mm-sms-properties.c | 8 ++++----
+ libmm-glib/mm-sms-properties.h | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 98c58ca64b7fa80ebe7cf96bcee77c7e9ef02f99
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 17:19:22 2016 -0600
+
+ bearer-qmi: print IP details at 'info' log level
+
+ src/mm-bearer-qmi.c | 42 +++++++++++++++++++++---------------------
+ 1 file changed, 21 insertions(+), 21 deletions(-)
+
+commit 3b97d7e3d7f126ded63393af932d0e147b302fac
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 16 19:19:15 2016 +0100
+
+ broadband-modem: plug memleaks when processing QCDM responses
+
+ src/mm-broadband-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 884d7bee1b25697a4fa378f43801e0cafd0a8c5e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 15 20:02:04 2016 +0100
+
+ broadband-modem,time: make sure that error is set when operation fails
+
+ src/mm-broadband-modem.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+commit 6d4597694268f7feab339aa5b903d9b6c6bda829
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 16 17:36:08 2016 +0100
+
+ tests,generic: rename basic DBus test
+
+ plugins/generic/tests/test-service-generic.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 7136c0b32103eda1d62a16a47dfdb37b166fa610
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 16 17:32:13 2016 +0100
+
+ tests,port-context: explicitly close the socket that is added to
+ the listener
+
+ Since GLib 2.42, the sockets that are added to socket listeners may
+ no longer
+ be closed automatically when the listener is finalized. In order to
+ avoid that,
+ we will keep our own socket reference and close/unref it ourselves.
+
+ This issue was preventing adding new test cases with the same
+ port names.
+
+ $ ./test-service-generic --verbose
+ GTest: random seed: R02S889153ee0f2e59c570f4edff9caa4176
+ GTest: run: /MM/Service/Generic/enable-disable
+ Activating service name='org.freedesktop.ModemManager1'
+ Successfully activated service 'org.freedesktop.ModemManager1'
+ (MSG: DEBUG: client connection closed)
+ (MSG: MESSAGE: Found modem at
+ '/org/freedesktop/ModemManager1/Modem/0')
+ ** Message: Found modem at
+ '/org/freedesktop/ModemManager1/Modem/0'
+ (MSG: DEBUG: client connection closed)
+ GTest: result: OK
+ GTest: run: /MM/Service/Generic/cme-error-detected
+ Activating service name='org.freedesktop.ModemManager1'
+ Successfully activated service 'org.freedesktop.ModemManager1'
+ (MSG: FATAL-ERROR: Cannot bind socket: Error binding to address:
+ Address already in use)
+
+ **
+ (/home/aleksander/Development/foss/ModemManager/plugins/.libs/lt-test-service-generic:32043):
+ ERROR **: Cannot bind socket: Error binding to address: Address
+ already in use
+
+ plugins/tests/test-port-context.c | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+commit dfd111f29112918d7f2046297670a7481a883354
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 16 17:30:01 2016 +0100
+
+ tests,test-fixture: don't rely on other threads to update dbus
+ properties
+
+ We were wrongly using a main loop in the port context thread to
+ manage the
+ global main context. That was silently making the DBus property
+ notifications
+ kind of work, as they were being updated via another thread, so here
+ we could
+ just sleep() and recheck the property values.
+
+ Given that having that unrelated thread updating the dbus properties
+ of our
+ MMManager object is not a good thing, we'll instead totally ignore
+ that and
+ fully re-create the MMManager in each iteration with the sync()
+ method, which
+ has its own internal thread.
+
+ plugins/tests/test-fixture.c | 109
+ +++++++++++++++++--------------------------
+ 1 file changed, 43 insertions(+), 66 deletions(-)
+
+commit 87bafa33dc6b1d58a67147a802bd498f9a2f80d6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 16 17:25:59 2016 +0100
+
+ tests,port-context: properly setup per-thread main context
+
+ Instead of creating a new main context to be used in the thread,
+ we were using
+ the global context. So, fix that, and create a totally new pair of
+ main context
+ and main loop to be used within the thread.
+
+ plugins/tests/test-port-context.c | 29 +++++++++++++++++++++++++----
+ 1 file changed, 25 insertions(+), 4 deletions(-)
+
+commit 99ae6777893d0b149cbefac3f290c63c47e29f42
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 13 15:29:50 2016 -0600
+
+ libqcdm: fix mixed whitespace in test-qcdm.c
+
+ libqcdm/tests/test-qcdm.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 6a60090d681df313b9416597325d60effed006cf
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jan 12 16:37:28 2016 +0100
+
+ broadband-modem,voice: fix regex leak
+
+ src/mm-broadband-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0ebf6d5da5b013faceb8d635d0896e9794c35fae
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 21 17:08:53 2015 +0100
+
+ mbm: query supported modes to the modem with +CFUN=?
+
+ We were trying to load the generic modes supported reported by either
+ *CNTI=2 or
+ AT+WS46=?, so that then we could filter out the MBM-specific modes
+ unsupported.
+
+ But, this may not be ideal, as both these two commands may fail:
+
+ [mm-broadband-modem.c:1612] modem_load_supported_modes():
+ loading supported modes...
+ [mm-port-serial.c:1237] mm_port_serial_open(): (ttyACM1) device
+ open count is 3 (open)
+ [mm-port-serial.c:1294] _close_internal(): (ttyACM1) device open
+ count is 2 (close)
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): -->
+ 'AT*CNTI=2<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <--
+ '<CR><LF>ERROR<CR><LF>'
+ [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got
+ failure code 100: Unknown error
+ [mm-broadband-modem.c:1546] supported_modes_cnti_ready():
+ Generic query of supported 3GPP networks with *CNTI failed:
+ 'Unknown error'
+ [mm-port-serial.c:1237] mm_port_serial_open(): (ttyACM1) device
+ open count is 3 (open)
+ [mm-port-serial.c:1294] _close_internal(): (ttyACM1) device open
+ count is 2 (close)
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): -->
+ 'AT+WS46=?<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <--
+ '<CR><LF>ERROR<CR><LF>'
+ [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got
+ failure code 100: Unknown error
+ [mm-broadband-modem.c:1494] supported_modes_ws46_test_ready():
+ Generic query of supported 3GPP networks with WS46=? failed:
+ 'Unknown error'
+ [mm-iface-modem.c:3974] load_supported_modes_ready(): couldn't
+ load Supported Modes: 'Couldn't retrieve supported modes'
+
+ Instead, we'll ask the modem for the list of modes supported, and
+ return that
+ directly.
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 93 ++++++++++-----------
+ plugins/mbm/mm-modem-helpers-mbm.c | 100 ++++++++++++++++++++++-
+ plugins/mbm/mm-modem-helpers-mbm.h | 14 ++++
+ plugins/mbm/tests/test-modem-helpers-mbm.c | 62 +++++++++++++-
+ src/mm-modem-helpers.c | 126
+ +++++++++++++++--------------
+ src/mm-modem-helpers.h | 2 +
+ 6 files changed, 281 insertions(+), 116 deletions(-)
+
+commit 138b3dabc23f7e56adccbd76c42d9136af5b4329
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Dec 19 14:07:10 2015 +0100
+
+ cli: validate SUPL server before showing it
+
+ cli/mmcli-modem-location.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 9123c7bd93c8ca4f8fc3cc45d105946c4517dbb2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Dec 19 14:06:55 2015 +0100
+
+ cli: allow enabling/disabling location signaling via DBus
+
+ Not making them '--location-enable|disable-signal' because that's
+ the pattern
+ used to enable/disable location sources. Instead, use the
+ '--location-set-*'
+ pattern, as that is what we're already using for the other location
+ setup
+ update.
+
+ cli/mmcli-modem-location.c | 41 ++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 36 insertions(+), 5 deletions(-)
+
+commit 6c35878f12ab37604d85cb3a864e3859973bd195
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 3 17:06:16 2015 +0100
+
+ location: support updating the GPS refresh time
+
+ The default setup uses a refresh time of 30s, which means that even
+ if the GPS
+ location updates are received at a higher frequency, the DBus
+ interface will
+ still expose at most one update every 30s.
+
+ This patch includes a new "SetGpsRefreshTime()" method in the Location
+ interface, which takes a single 'u' parameter, specifying the refresh
+ rate to
+ use, in seconds. This method also allows 0 being passed, which will
+ make the
+ implementation to publish the GPS location updates are soon as
+ ModemManager
+ detects them.
+
+ Along with the new method, a "GpsRefreshTime" read-only property
+ is exposed
+ to specify the refresh time in effect.
+
+ The new method and property will only be applicable if the device
+ has GPS
+ capabilities.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=89924
+
+ cli/mmcli-modem-location.c | 93
+ +++++++++++++++++-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 10 ++
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 21 +++++
+ libmm-glib/mm-modem-location.c | 103
+ ++++++++++++++++++++
+ libmm-glib/mm-modem-location.h | 15 +++
+ src/mm-iface-modem-location.c | 104
+ ++++++++++++++++++++-
+ 6 files changed, 339 insertions(+), 7 deletions(-)
+
+commit aae96778c54a59dcf3955c2d81bee393c0348077
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Dec 19 11:54:26 2015 +0100
+
+ build: don't redefine test_modem_helpers_telit_LDADD
+
+ plugins/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 0a88ae2d6d87967c0d951cc95de0c1917c78b0ed
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Dec 19 11:51:11 2015 +0100
+
+ telit: use explicit FIRST step name
+
+ plugins/telit/mm-broadband-modem-telit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 46f601edf6046c6d6459f7aee45fca68bc93cee3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Dec 19 11:50:09 2015 +0100
+
+ telit: don't talk to the user in a GError
+
+ plugins/telit/mm-broadband-modem-telit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a74edab57f53ee8c920e681145070b252f5e656e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Dec 19 11:45:32 2015 +0100
+
+ telit: prefix helper methods with 'mm_telit'
+
+ plugins/telit/mm-broadband-modem-telit.c | 2 +-
+ plugins/telit/mm-modem-helpers-telit.c | 5 ++++-
+ plugins/telit/mm-modem-helpers-telit.h | 4 +++-
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 4 ++--
+ 4 files changed, 10 insertions(+), 5 deletions(-)
+
+commit 740e1b5461bda9ff28f3ad2210ecf7238c38e785
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Dec 19 11:43:17 2015 +0100
+
+ telit: fix minor coding style issues
+
+ plugins/telit/mm-broadband-modem-telit.c | 18 +++++++++---------
+ plugins/telit/mm-modem-helpers-telit.c | 2 +-
+ plugins/telit/mm-modem-helpers-telit.h | 3 +--
+ 3 files changed, 11 insertions(+), 12 deletions(-)
+
+commit c4ffe572aeeefac240f16822ca1d2d258f78ad8d
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Wed Dec 16 15:38:58 2015 +0100
+
+ telit: add load_unlock_retries interface
+
+ plugins/Makefile.am | 18 ++-
+ plugins/telit/mm-broadband-modem-telit.c | 183
+ ++++++++++++++++++++++
+ plugins/telit/mm-modem-helpers-telit.c | 75 +++++++++
+ plugins/telit/mm-modem-helpers-telit.h | 25 +++
+ plugins/telit/tests/test-mm-modem-helpers-telit.c | 104 ++++++++++++
+ 5 files changed, 404 insertions(+), 1 deletion(-)
+
+commit 7978225934dc87bc74fac4d79a1080bc0501e581
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Wed Dec 9 18:06:41 2015 +0100
+
+ telit: add modem_reset to telit plugin
+
+ plugins/telit/mm-broadband-modem-telit.c | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+commit ae04c4179f423883545e9e6de8b6347c17723029
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Dec 2 16:18:34 2015 +0100
+
+ bearer-mbim: implement stats loading
+
+ src/mm-bearer-mbim.c | 109
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 109 insertions(+)
+
+commit cb59c6d93edba6f3ddc9db92e03588913b192059
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 27 14:30:00 2015 +0100
+
+ bearer-qmi: implement stats loading
+
+ Use the "WDS Get Packet Statistics" method to query for the ongoing
+ number
+ of bytes transmitted or received. The QMI implementation uses
+ different WDS
+ clients for IPv4 and IPv6; the stats reported are a combination of
+ the values
+ retrieved from both WDS clients.
+
+ src/mm-bearer-qmi.c | 158
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 158 insertions(+)
+
+commit 3bf118d01a90ac486ebe4ab9ed9c043930feac26
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 27 14:30:00 2015 +0100
+
+ base-bearer: setup periodic stats loading
+
+ If the bearer implementation supports it, load stats periodically. By
+ default
+ every 30s for now.
+
+ src/mm-base-bearer.c | 123
+ +++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-base-bearer.h | 16 +++++--
+ 2 files changed, 133 insertions(+), 6 deletions(-)
+
+commit 810e52c6dbdc876c43899f4dfdf7c753a285536f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 27 14:30:00 2015 +0100
+
+ cli: print stats if bearer reports them
+
+ cli/mmcli-bearer.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+commit 730123598a22fd176986bb0da455f762be1bcba8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 27 14:30:00 2015 +0100
+
+ libmm-glib: retrieve stats from the bearer
+
+ The MMBearer object is updated to provide getter methods to retrieve
+ the new
+ MMBearerStats object.
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 2 +
+ libmm-glib/mm-bearer.c | 116
+ ++++++++++++++++++++++
+ libmm-glib/mm-bearer.h | 4 +
+ 3 files changed, 122 insertions(+)
+
+commit 27c6f15873e3fbfb151f4948a65f214453fe17b0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 27 14:30:00 2015 +0100
+
+ libmm-glib: new helper object to handle bearer stats
+
+ The new MMBearerStats object provides a simple API to interact with
+ the new
+ dictionary containing the bearer connection stats.
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 30 +++
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/mm-bearer-stats.c | 222
+ ++++++++++++++++++++++
+ libmm-glib/mm-bearer-stats.h | 85 +++++++++
+ 5 files changed, 341 insertions(+)
+
+commit 03ead02686544c6daee48d8a0b0d51ab8cf255b4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 27 14:30:00 2015 +0100
+
+ introspection: new 'Stats' property in the bearer object
+
+ The new property is a dictionary which may include different
+ parameters,
+ depending on what is actually supported by the underlying modem. For
+ now,
+ just bytes RX/TX.
+
+ Note that this object will expose the stats *as reported by the
+ modem*. These
+ values may differ from e.g. what is seen in the network interface
+ stats.
+
+ .../org.freedesktop.ModemManager1.Bearer.xml | 31
+ ++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+commit ee85a463cf806cd01a61587520245a4818ab1fbb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Dec 7 13:10:21 2015 +0100
+
+ license: mmcli is GPLv2+, not GPLv3+
+
+ mmcli is GPLv2+; that's what --version has always said and that's
+ what the
+ README in ModemManager sources specifies:
+ License.
+ The ModemManager and mmcli binaries are both GPLv2+.
+ The libmm-glib library is LGPLv2+.
+
+ cli/mmcli-bearer.c | 2 +-
+ cli/mmcli-call.c | 2 +-
+ cli/mmcli-common.c | 2 +-
+ cli/mmcli-common.h | 11 ++++++++---
+ cli/mmcli-manager.c | 2 +-
+ cli/mmcli-modem-3gpp.c | 2 +-
+ cli/mmcli-modem-cdma.c | 2 +-
+ cli/mmcli-modem-firmware.c | 2 +-
+ cli/mmcli-modem-location.c | 2 +-
+ cli/mmcli-modem-messaging.c | 2 +-
+ cli/mmcli-modem-oma.c | 2 +-
+ cli/mmcli-modem-signal.c | 2 +-
+ cli/mmcli-modem-simple.c | 2 +-
+ cli/mmcli-modem-time.c | 2 +-
+ cli/mmcli-modem-voice.c | 2 +-
+ cli/mmcli-modem.c | 2 +-
+ cli/mmcli-sim.c | 2 +-
+ cli/mmcli-sms.c | 2 +-
+ cli/mmcli.c | 2 +-
+ cli/mmcli.h | 2 +-
+ 20 files changed, 27 insertions(+), 22 deletions(-)
+
+commit 14e47710561b2021b79814afa5ecd6b2abc4fad0
+Author: Carlo Lobrano <c.lobrano@gmail.com>
+Date: Fri Dec 4 09:06:40 2015 +0100
+
+ telit: add modem_power_down to telit plugin
+
+ plugins/telit/mm-broadband-modem-telit.c | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+commit 4c036eb8f96cae06da1f968fb9eb48f6faa12796
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 3 12:01:00 2015 +0100
+
+ iface-modem: explicitly disconnect bearer before removing it
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=90408
+
+ src/mm-bearer-list.c | 23 ++++++++++++++---------
+ src/mm-bearer-list.h | 2 ++
+ src/mm-iface-modem.c | 53
+ +++++++++++++++++++++++++++++++++++++++++++++-------
+ 3 files changed, 62 insertions(+), 16 deletions(-)
+
+commit ea3cb005b8e276178187654bd1aadbe8b33abf63
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 3 12:00:22 2015 +0100
+
+ bearer-list: rename bearer find method to specify properties are
+ compared
+
+ src/mm-bearer-list.c | 4 ++--
+ src/mm-bearer-list.h | 4 ++--
+ src/mm-iface-modem-simple.c | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 75c23479902fd63a9b3bd81e25598ac8c6f22c2a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 3 11:43:21 2015 +0100
+
+ bearer-list: no need for the method to remove all bearers
+
+ src/mm-bearer-list.c | 16 ++++------------
+ src/mm-bearer-list.h | 1 -
+ 2 files changed, 4 insertions(+), 13 deletions(-)
+
+commit 508a37a8916a70831cc74cba1d8b977cf95e4a27
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Dec 2 21:38:06 2015 +0100
+
+ modem-helpers: fix parsing CPMS=? responses without groups
+
+ The CPMS test parser was expecting 3 groups (parenthesis enclosed
+ lists) of
+ memory IDs, e.g.:
+
+ +CPMS: ("SM","ME"),("SM","ME"),("SM","ME")
+
+ But some modems like the Huawei MU609 may just report single
+ elements, not
+ groups, e.g.:
+
+ +CPMS: "SM","SM","SM"
+
+ This patch avoids using g_strsplit() to split the groups, as that
+ is unaware
+ of the possible replies without groups. Instead, a new helper
+ method is
+ implemented which does the group/item split itself, considering
+ also the
+ possibility of a reply with mixed groups and non-groups, like e.g.:
+
+ +CPMS: ("SM","ME"),"SM","SM"
+
+ Additionally, we also now support the case where the groups are
+ empty, e.g.:
+
+ +CPMS: (),(),()
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=92243
+
+ src/mm-modem-helpers.c | 108 +++++++++++++++++++++++++-------
+ src/tests/test-modem-helpers.c | 137
+ +++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 220 insertions(+), 25 deletions(-)
+
+commit ffde4298435bf1e3232042c6ac7cb61ddfc1a183
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Dec 2 17:07:11 2015 +0100
+
+ core: use G_SOURCE_REMOVE and G_SOURCE_CONTINUE in GSourceFuncs
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 4 ++--
+ plugins/huawei/mm-broadband-bearer-huawei.c | 6 +++---
+ plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
+ plugins/huawei/mm-plugin-huawei.c | 2 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 6 +++---
+ plugins/mbm/mm-broadband-bearer-mbm.c | 4 ++--
+ plugins/mbm/mm-broadband-modem-mbm.c | 2 +-
+ plugins/mbm/mm-sim-mbm.c | 2 +-
+ plugins/mtk/mm-broadband-modem-mtk.c | 2 +-
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 6 +++---
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 2 +-
+ plugins/novatel/mm-common-novatel.c | 2 +-
+ plugins/option/mm-broadband-bearer-hso.c | 2 +-
+ plugins/option/mm-broadband-modem-option.c | 2 +-
+ plugins/pantech/mm-broadband-modem-pantech.c | 2 +-
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 +-
+ plugins/sierra/mm-common-sierra.c | 2 +-
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 2 +-
+ plugins/zte/mm-broadband-modem-zte.c | 2 +-
+ src/mm-base-bearer.c | 4 ++--
+ src/mm-base-manager.c | 2 +-
+ src/mm-base-modem.c | 2 +-
+ src/mm-broadband-modem-mbim.c | 2 +-
+ src/mm-broadband-modem-qmi.c | 2 +-
+ src/mm-broadband-modem.c | 6 +++---
+ src/mm-iface-modem-3gpp.c | 4 ++--
+ src/mm-iface-modem-cdma.c | 2 +-
+ src/mm-iface-modem-signal.c | 2 +-
+ src/mm-iface-modem-time.c | 2 +-
+ src/mm-iface-modem.c | 12 +++++------
+ src/mm-plugin-manager.c | 4 ++--
+ src/mm-port-probe.c | 26
+ +++++++++++------------
+ src/mm-port-serial.c | 18 ++++++++--------
+ test/mmtty.c | 2 +-
+ 35 files changed, 73 insertions(+), 73 deletions(-)
+
+commit 2a99bdfa00c8b26266049e2c760ec7705c0ae739
+Author: Felix Janda <felix.janda@posteo.de>
+Date: Sat Oct 17 16:53:58 2015 +0200
+
+ Do not use obsolete XCASE terminal mode flag
+
+ The XCASE terminal mode flag because is no longer specified by POSIX
+ and has no effect on linux. Because of the latter fact we can remove
+ it. This fixes a compilation error with musl libc.
+
+ libqcdm/src/com.c | 2 +-
+ libwmc/src/com.c | 2 +-
+ src/mm-port-serial.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 3129516736bb6eb49458ece7df86f57fce51200e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 11 12:38:49 2015 -0600
+
+ broadband-modem-qmi: implement power-cycle reset functionality
+
+ src/mm-broadband-modem-qmi.c | 49
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 49 insertions(+)
+
+commit 4e00558fcbdcfc9232f1007e718b9e2afae6520a
+Author: Yunlian Jiang <yunlian@google.com>
+Date: Wed Oct 28 14:16:24 2015 -0700
+
+ broadband-modem: fix a undifined behavior
+
+ . A shift has undefined behaviour if the mathematical result
+ (lhs * 2^{rhs}) doesn't fit in the range of the resulting type.
+ In other words, you can't left shift into the sign bit of a
+ signed integer type.
+ The error message is:
+
+ mm-broadband-modem.c:3308:15: runtime error: left shift of 1 by 31
+ places cannot be represented in type 'int'
+ SUMMARY: AddressSanitizer: undefined-behavior
+ mm-broadband-modem.c:3308:15 in
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 30cbf7202c6b5c721ac59ac93052d678428d99d6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Oct 25 15:41:08 2015 +0100
+
+ build: on configure errors, show the specific libqmi or libmbim
+ version required
+
+ configure.ac | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit 35ab3dedd6fde556536feafe21a3e3fbb33ae942
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Oct 25 15:36:14 2015 +0100
+
+ sim-qmi: try to gather from the optional TLV whether MNC is 2 or
+ 3 digits
+
+ We bump libqmi requiremetn to 1.13.5, which is the one with support
+ for the new TLV.
+
+ configure.ac | 2 +-
+ src/mm-sim-qmi.c | 28 +++++++++++++++++++++++++---
+ 2 files changed, 26 insertions(+), 4 deletions(-)
+
+commit 77b6b02fd37cd8d89961dc32814b186639d1bafa
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Oct 25 15:15:25 2015 +0100
+
+ sim-qmi: fix building MCCMNC string
+
+ For now, use 2 digits for MNC if < 100 and 3 digits otherwise.
+
+ src/mm-sim-qmi.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+commit 3f3ad507e264ec23342269171df57db7a92618df
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 22 15:16:37 2015 -0500
+
+ sim-qmi: load operator identifier and name from NAS home network
+
+ src/mm-sim-qmi.c | 177
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 173 insertions(+), 4 deletions(-)
+
+commit 267b13c231003bddb51afdc91ea85637b7e678bb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 22 17:13:31 2015 -0500
+
+ api: correct description of SimIdentifier property
+
+ In MM 0.6 days it used to be obfuscated, but that was pointless. Now
+ it's just the ICCID.
+
+ introspection/org.freedesktop.ModemManager1.Sim.xml | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit a89dadcbc630099fce11a9fc0088d5269e34aee8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 20 10:37:48 2015 +0200
+
+ bearer-qmi: don't add auth settings if no user/pass/auth given
+
+ Auth settings will be added in a QMI message only if at least one
+ of these is
+ requested:
+ * An explicit auth preference is requested.
+ * User string is given and isn't empty.
+ * Password string is given and isn't empty.
+
+ src/mm-bearer-qmi.c | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+commit 5b568e97f8126879099c349486465cc9f14f64e5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 15 10:07:08 2015 +0200
+
+ iface-modem-3gpp: allow LAC/CID updates reported while registering
+
+ When changing from idle to registered we'll load registration info
+ before really
+ reporting that we're registered (so that clients can get the new
+ registration
+ info directly). During this time, we should also allow LAC/CID
+ updates triggered
+ in the location interface.
+
+ E.g. when receiving this QMI message, we're not processing LAC/CID
+ because when
+ they get reported, the registration state was not yet 'registered':
+
+ [/dev/cdc-wdm0] Received message (translated)...
+ >>>>>> QMUX:
+ >>>>>> length = 67
+ >>>>>> flags = 0x80
+ >>>>>> service = "nas"
+ >>>>>> client = 1
+ >>>>>> QMI:
+ >>>>>> flags = "indication"
+ >>>>>> transaction = 0
+ >>>>>> tlv_length = 55
+ >>>>>> message = "Serving System" (0x0024)
+ >>>>>> TLV:
+ >>>>>> type = "MNC PCS Digit Include Status" (0x29)
+ >>>>>> length = 5
+ >>>>>> value = D6:00:01:00:00
+ >>>>>> translated = [ mcc = '214' mnc = '1' includes_pcs_digit =
+ 'no' ]
+ >>>>>> TLV:
+ >>>>>> type = "LTE TAC" (0x25)
+ >>>>>> length = 2
+ >>>>>> value = 08:01
+ >>>>>> translated = 264
+ >>>>>> TLV:
+ >>>>>> type = "Detailed Service Status" (0x22)
+ >>>>>> length = 5
+ >>>>>> value = 02:03:00:01:00
+ >>>>>> translated = [ status = 'available' capability =
+ 'cs-ps' hdr_status = 'none' hdr_hybrid = 'yes' forbidden = 'no' ]
+ >>>>>> TLV:
+ >>>>>> type = "CID 3GPP" (0x1e)
+ >>>>>> length = 4
+ >>>>>> value = 01:A1:4D:04
+ >>>>>> translated = 72196353
+ >>>>>> TLV:
+ >>>>>> type = "LAC 3GPP" (0x1d)
+ >>>>>> length = 2
+ >>>>>> value = FE:FF
+ >>>>>> translated = 65534
+ >>>>>> TLV:
+ >>>>>> type = "Current PLMN" (0x12)
+ >>>>>> length = 5
+ >>>>>> value = D6:00:01:00:00
+ >>>>>> translated = [ mcc = '214' mnc = '1' description = '' ]
+ >>>>>> TLV:
+ >>>>>> type = "Data Service Capability" (0x11)
+ >>>>>> length = 2
+ >>>>>> value = 01:0B
+ >>>>>> translated = { [0] = 'lte '}
+ >>>>>> TLV:
+ >>>>>> type = "Serving System" (0x01)
+ >>>>>> length = 6
+ >>>>>> value = 01:01:01:02:01:08
+ >>>>>> translated = [ registration_state = 'registered'
+ cs_attach_state = 'attached' ps_attach_state = 'attached'
+ selected_network = '3gpp' radio_interfaces = '{ [0] = 'lte '}' ]
+ <debug> [1444895382.427216] Processing 3GPP info...
+ <info> [1444895382.433423] Modem
+ /org/freedesktop/ModemManager1/Modem/3: 3GPP Registration state
+ changed (idle -> registering)
+
+ [ Here we tried to update LAC/CID ]
+
+ <debug> [1444895382.439668] Modem
+ /org/freedesktop/ModemManager1/Modem/3: 3GPP location updated
+ (MCC: '214', MNC: '1', Location area code: '0', Cell ID: '0')
+ <info> [1444895382.446788] Modem
+ /org/freedesktop/ModemManager1/Modem/3: 3GPP Registration state
+ changed (registering -> home)
+ <info> [1444895382.452383] Modem
+ /org/freedesktop/ModemManager1/Modem/3: state changed (enabled
+ -> registered)
+
+ src/mm-iface-modem-3gpp.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+commit 0579ac076a073f2847c5171c5e72c0db5e3a8e51
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 14 19:24:37 2015 +0200
+
+ mm-broadband-modem: trigger registration checks only after enabling
+ all ifaces
+
+ Given that the Location interface requires 3GPP info reported by
+ the 3GPP
+ interface, we should only trigger registration checks once the
+ Location
+ interface has been already enabled and ready to be used. If we don't
+ do this,
+ we'll end up e.g. getting initial MCCMNC values but never reaching
+ the Location
+ interface properly.
+
+ So, fix this by triggering all registration checks (CDMA and 3GPP)
+ only after
+ having enabled all interfaces.
+
+ src/mm-broadband-modem.c | 63
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.c | 27 --------------------
+ src/mm-iface-modem-cdma.c | 25 -------------------
+ 3 files changed, 63 insertions(+), 52 deletions(-)
+
+commit 1cb68c810e9e3f3589bdd121f0c383da1556cdeb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 13 10:41:10 2015 +0200
+
+ broadband-modem-qmi: LAC/CID not given in all serving system
+ indications
+
+ LAC/CID may only be given in the serving system indications when
+ the values
+ change, and therefore we shouldn't reset the values to 0 whenever
+ they're not
+ reported.
+
+ This seems to happen in newer devices; older devices like the MC7710
+ did always
+ report the values in the indications.
+
+ src/mm-broadband-modem-qmi.c | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
+
+commit 2c0da9431918ea2aea6f871ab522425b8466b942
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 6 19:44:51 2015 +0200
+
+ build: diagrams and logos are no longer generated during build,
+ so don't remove them
+
+ docs/reference/api/Makefile.am | 6 ------
+ docs/reference/libmm-glib/Makefile.am | 5 -----
+ 2 files changed, 11 deletions(-)
+
+commit b58ff7cdf01d24e6409440d7e278ec6c6fad83b3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 6 19:44:08 2015 +0200
+
+ build: don't add PNGs in content_files, no longer needed
+
+ docs/reference/api/Makefile.am | 7 +------
+ docs/reference/libmm-glib/Makefile.am | 1 -
+ 2 files changed, 1 insertion(+), 7 deletions(-)
+
+commit b35de2b15f7e3a5b6e58505829cf097d84e51820
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Sep 25 22:41:06 2015 +0200
+
+ modem-helpers-qmi: remove wrong check warning
+
+ This check makes no sense. We're converting from a ModemManager enum
+ to a QMI
+ enum, nothing else; i.e. 'caps' is *not* the current capabilities
+ of the modem.
+
+ src/mm-modem-helpers-qmi.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 7cb3b3faad7043374b01c96e875ba10694b40517
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Sep 24 14:54:45 2015 -0500
+
+ broadband-modem-qmi: update access technology from signal info for
+ newest QMI commands
+
+ src/mm-broadband-modem-qmi.c | 171
+ ++++++++++++++++++++++++-------------------
+ 1 file changed, 96 insertions(+), 75 deletions(-)
+
+commit a8666bd98f4cdd4c4cad7e40ef48e9980717705f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Sep 24 14:17:03 2015 -0500
+
+ sierra: fix build error when MBIM and QMI are disabled
+
+ Found by Jean-Christian de Rivaz
+
+ plugins/sierra/mm-plugin-sierra.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d281b9bddb6440ae00d7e8ec507b27e7a6cfabb3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 24 21:13:26 2015 +0200
+
+ broadband-modem-qmi: fix invalid read
+
+ Breakpoint 2, g_log (log_domain=log_domain@entry=0x7ffff6ad744e
+ "GLib", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
+ format=format@entry=0x7ffff6ae0c1d "%s: assertion '%s' failed")
+ at gmessages.c:1075
+ 1075 {
+ (gdb) bt
+ #0 0x00007ffff6a71b20 in g_log
+ (log_domain=log_domain@entry=0x7ffff6ad744e "GLib",
+ log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
+ format=format@entry=0x7ffff6ae0c1d "%s: assertion '%s' failed")
+ at gmessages.c:1075
+ #1 0x00007ffff6a71be9 in g_return_if_fail_warning
+ (log_domain=log_domain@entry=0x7ffff6ad744e "GLib",
+ pretty_function=pretty_function@entry=0x7ffff6b316a0
+ <__FUNCTION__.5266> "g_variant_new_string",
+ expression=expression@entry=0x7ffff6b2f1e8 "g_utf8_validate
+ (string, -1, NULL)") at gmessages.c:1088
+ #2 0x00007ffff6a9e925 in g_variant_new_string (string=0x7cf850
+ "260\366\377\177") at gvariant.c:1230
+ #3 0x00007ffff7068cfe in g_dbus_gvalue_to_gvariant
+ (gvalue=gvalue@entry=0x7fffffffdec0, type=0x7ffff7b9df91)
+ at gdbusutils.c:604
+ #4 0x00007ffff7b8f1eb in
+ _mm_gdbus_modem3gpp_skeleton_handle_get_property
+ (connection=<optimized out>, sender=sender@entry=0x0,
+ object_path=object_path@entry=0x7bd340
+ "/org/freedesktop/ModemManager1/Modem/1",
+ interface_name=interface_name@entry=0x7ffff7b97320
+ "org.freedesktop.ModemManager1.Modem.Modem3gpp",
+ property_name=property_name@entry=0x7ffff7baa0a4 "OperatorCode",
+ error=error@entry=0x0, user_data=0x799ab0)
+ at mm-gdbus-modem.c:19680
+ #5 0x00007ffff7b8f894 in
+ mm_gdbus_modem3gpp_skeleton_dbus_interface_get_properties
+ (_skeleton=<optimized out>) at mm-gdbus-modem.c:19759
+ #6 0x00007ffff708e791 in g_dbus_interface_skeleton_get_properties
+ (interface_=0x799ab0 [MmGdbusModem3gppSkeleton]) at
+ gdbusinterfaceskeleton.c:371
+ #7 0x00007ffff70937a2 in manager_method_call
+ (connection=<optimized out>, sender=sender@entry=0x7fffe0005200
+ ":1.270", object_path=object_path@entry=0x7fffe0002fd0
+ "/org/freedesktop/ModemManager1",
+ interface_name=interface_name@entry=0x7fffe0002dd0
+ "org.freedesktop.DBus.ObjectManager",
+ method_name=method_name@entry=0x7fffe00059e0 "GetManagedObjects",
+ parameters=parameters@entry=0x7c1e70, invocation=0x7fffe0003260
+ [GDBusMethodInvocation], user_data=0x713cd0) at
+ gdbusobjectmanagerserver.c:845
+ #8 0x00007ffff7076aac in call_in_idle_cb
+ (user_data=0x7fffe0003260) at gdbusconnection.c:4884
+ #9 0x00007ffff6a6a7fb in g_main_context_dispatch
+ (context=0x713a00) at gmain.c:3111
+ #10 0x00007ffff6a6a7fb in g_main_context_dispatch
+ (context=context@entry=0x713a00) at gmain.c:3710
+ #11 0x00007ffff6a6ab98 in g_main_context_iterate
+ (context=0x713a00, block=block@entry=1, dispatch=dispatch@entry=1,
+ self=<optimized out>) at gmain.c:3781
+ #12 0x00007ffff6a6aec2 in g_main_loop_run (loop=0x71bf50)
+ at gmain.c:3975
+ #13 0x0000000000430e57 in main (argc=<optimized out>,
+ argv=<optimized out>) at main.c:150
+
+ src/mm-broadband-modem-qmi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 51447bd06bc8e06667843a3921a95a299ce2333d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Sep 24 19:58:02 2015 +0200
+
+ libmm-glib: don't create a SIM object if empty path (/) given
+
+ Instead, we'll return NULL and an error set.
+
+ libmm-glib/mm-modem.c | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+commit b8245b55025e93ef09dfb9a213c7b8933e93e89d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Sep 23 21:24:04 2015 +0200
+
+ broadband-modem-qmi: don't warn on invalid ESN/MEIDs reported
+
+ The MC7304, which is a 3GPP only device, reports a ESN with value 0 in
+ "DMS Get IDs":
+
+ ModemManager[10121]: [/dev/cdc-wdm0] Received message
+ (translated)...
+ >>>>>> QMUX:
+ >>>>>> length = 45
+ >>>>>> flags = 0x80
+ >>>>>> service = "dms"
+ >>>>>> client = 2
+ >>>>>> QMI:
+ >>>>>> flags = "response"
+ >>>>>> transaction = 6
+ >>>>>> tlv_length = 33
+ >>>>>> message = "Get IDs" (0x0025)
+ >>>>>> TLV:
+ >>>>>> type = "Result" (0x02)
+ >>>>>> length = 4
+ >>>>>> value = 00:00:00:00
+ >>>>>> translated = SUCCESS
+ >>>>>> TLV:
+ >>>>>> type = 0x13
+ >>>>>> length = 1
+ >>>>>> value = 42
+ >>>>>> TLV:
+ >>>>>> type = "Esn" (0x10)
+ >>>>>> length = 1
+ >>>>>> value = 30
+ >>>>>> translated = 0
+ >>>>>> TLV:
+ >>>>>> type = "Imei" (0x11)
+ >>>>>> length = 15
+ >>>>>> value = <hidden>
+ >>>>>> translated = <hidden>
+
+ src/mm-broadband-modem-qmi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 585320e0b4cf4e4e7ec9616c4d5bac43e4781000
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Sep 22 09:34:22 2015 +0200
+
+ tests: plug memleak in +CMGR response parser
+
+ src/tests/test-modem-helpers.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit eaf65ed98dd7e04b985be6b4241e9adab66750aa
+Author: Nick Stevens <Nick.Stevens@digi.com>
+Date: Thu Sep 17 21:31:28 2015 +0000
+
+ core: process SMS +CGMR response with regex
+
+ Variability in the response style from certain modems causes the
+ parsing
+ of the +CGMR response to fail. For example, the Telit HE910 inserts an
+ empty string ("") in the second field of the response, causing the
+ sscanf implementation to fail.
+
+ This patch converts the parsing of the CGMR response to a regex that
+ allows for more flexibility and robustness, and adds unit tests around
+ the parsing call.
+
+ Signed-off-by: Nick Stevens <Nick.Stevens@digi.com>
+
+ src/mm-broadband-modem.c | 17 ++++------
+ src/mm-modem-helpers.c | 73
+ +++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-helpers.h | 5 +++
+ src/mm-sms-part-3gpp.h | 2 --
+ src/tests/test-modem-helpers.c | 64 ++++++++++++++++++++++++++++++++++++
+ 5 files changed, 148 insertions(+), 13 deletions(-)
+
+commit 0ca68657fbcd5bace3d303a0babe2da292784385
+Author: Krzysztof Kotlenga <k.kotlenga@sims.pl>
+Date: Wed Sep 16 15:46:12 2015 +0200
+
+ libmm-glib, simple: add missing introspection annotations to
+ disconnect()
+
+ libmm-glib/mm-modem-simple.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8df7f83278e88402ce463c241e72de42b30103f0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Sep 15 16:34:50 2015 +0200
+
+ broadband-modem: minor coding style fixes
+
+ src/mm-broadband-modem.c | 36 +++++++++++++++++++++++-------------
+ 1 file changed, 23 insertions(+), 13 deletions(-)
+
+commit 7f47f136737007876df190767331b28e3ec32764
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Sep 15 16:33:48 2015 +0200
+
+ broadband-modem: don't issue failure setting up messaging in secondary
+ port as a warning
+
+ src/mm-broadband-modem.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 48cd903189c2bc664da0f26ba7e6845e1950091e
+Author: Nick Stevens <Nick.Stevens@digi.com>
+Date: Mon Sep 14 18:06:48 2015 +0000
+
+ core: enable unsolicited messages on secondary
+
+ Previously the enable unsolicited messages command (+CNMI) was only
+ being sent on the primary. This patch adds support for sending the
+ enable on the secondary as well. If the secondary doesn't exist, or if
+ setting the enable causes an error, a warning is logged but no
+ error is
+ propagated up.
+
+ This change is needed for proper SMS operation on the Telit HE910,
+ which
+ requires that +CNMI be sent to both primary and secondary. Since a
+ failure to send the +CNMI command on the secondary is a non-fatal
+ error,
+ it is unlikely that this will cause issues with other modems.
+
+ Signed-off-by: Nick Stevens <Nick.Stevens@digi.com>
+
+ src/mm-broadband-modem.c | 91
+ +++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 78 insertions(+), 13 deletions(-)
+
+commit 2034918d7b015f1176ec135cc023d4d161db56f7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Aug 20 11:43:39 2015 -0500
+
+ broadband-modem-mbim: disable CDMA capabilities until we actually
+ support MBIM+CDMA
+
+ CDMA-capable modems (like a Sierra EM7355) will fail to even enable,
+ because the internal CDMA code tries to initialize using AT
+ commands and
+ that fails because many MBIM modems don't have an AT port. We should
+ figure out how to support minimal MBIM + CDMA using MBIM instead of
+ AT-anything.
+
+ [mm-broadband-modem.c:9000] enabling_step(): Modem has CDMA
+ capabilities, enabling the Modem CDMA interface...
+ [mm-iface-modem-cdma.c:946]
+ mm_iface_modem_cdma_run_registration_checks(): Running registration
+ checks (CDMA1x: 'yes', EV-DO: 'yes')
+ [mm-broadband-modem.c:7397]
+ setup_registration_checks_context_complete_and_free(): Will skip
+ all QCDM-based registration checks
+ [mm-broadband-modem.c:7418]
+ setup_registration_checks_context_complete_and_free(): Will skip
+ generic detailed registration check, we don't have Sprint commands
+ [mm-iface-modem-cdma.c:768] registration_check_step(): Starting
+ QCDM-based registration checks
+ [mm-iface-modem-cdma.c:780] registration_check_step(): Skipping
+ all QCDM-based checks and falling back to AT-based checks
+ [mm-iface-modem-cdma.c:823] registration_check_step(): Starting
+ AT-based registration checks
+ [mm-iface-modem-cdma.c:641] get_service_status_ready(): Could not
+ get service status: No AT port available to run command
+ [mm-iface-modem.c:1392] __iface_modem_update_state_internal(): Modem
+ /org/freedesktop/ModemManager1/Modem/0: state changed (enabling ->
+ disabled)
+
+ src/mm-broadband-modem-mbim.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 0e7fc1dff9b3b8f72f6537f7f2b68e5c94a4c751
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Aug 25 18:53:30 2015 +0200
+
+ blacklist: include MediaTek preloader
+
+ https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1473246
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 707a2ef417b138540d5cc8d1f5c8fe1479845fb0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 12:05:51 2015 +0200
+
+ libmm-glib,docs: fix missing documentations
+
+ libmm-glib/mm-bearer-properties.c | 8 ++++----
+ libmm-glib/mm-modem-messaging.c | 2 +-
+ libmm-glib/mm-modem.c | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 7a7fddc931337ecfceb2be5497b3feed9c4c6fcc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 11:50:51 2015 +0200
+
+ libmm-glib,docs: update types
+
+ # Extra options to supply to gtkdoc-scan
+ SCAN_OPTIONS = --rebuild-types
+
+ docs/reference/libmm-glib/libmm-glib.types | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+commit 4043edfd173e1807b95d98dd54bad4179dce9c65
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 11:40:05 2015 +0200
+
+ libmm-glib,docs: avoid already defined id
+
+ DOC Building HTML
+ ../libmm-glib-docs.xml:6: element indexdiv: validity error : ID
+ api-index-full already defined
+ DOC Fixing cross-references
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c4c3afa865b3bfc6319cf1a6649144b63f2a81fd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 11:31:41 2015 +0200
+
+ libmm-glib,call: add missing 'dtmf' variable description
+
+ libmm-glib/mm-call.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 6fbed014dbe6d963a7b5f2a56368430bdd952be7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 11:28:39 2015 +0200
+
+ docs,libmm-glib: add missing voice/call documentation
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 17 ++
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 277
+ ++++++++++++++++++++++
+ 2 files changed, 294 insertions(+)
+
+commit d0b0c3c3e575de1259a5b7f58a95737f54f91208
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 11:06:01 2015 +0200
+
+ api,call: fix Hangup() description
+
+ There's no MM_CALL_DIRECTION_TERMINATED enum; plus, anyway, hangup()
+ should be
+ allowed regardless the direction.
+
+ introspection/org.freedesktop.ModemManager1.Call.xml | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit fcf54bd8b27e4b19837b496019a145011b03f550
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 10:49:14 2015 +0200
+
+ huawei: plug memleak
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d1dab38a0689918a772dea53d71623df5e7e5bc0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 10:46:37 2015 +0200
+
+ api,call: minor documentation fix
+
+ introspection/org.freedesktop.ModemManager1.Call.xml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c55fcab3b3d3b9386e40b1578df588232edb945b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 10:45:17 2015 +0200
+
+ mmcli,call: minor alignment and message fixes
+
+ cli/mmcli-call.c | 40 ++++++++++++++++++++--------------------
+ 1 file changed, 20 insertions(+), 20 deletions(-)
+
+commit f6779d60fef803cef3e508249c29b2092cfc70c3
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Thu Jul 23 18:23:26 2015 +0200
+
+ huawei,voice: ignore undocumented ^CSCHANNELINFO unsolicited command
+
+ This command is sent by Huawei ME909s-120 with firmware
+ 23.613.61.00.00
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 74325b547add635b9e3916091d01e0b506bc4eb2
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Thu Jun 4 09:24:36 2015 +0200
+
+ core,libmm-glib,cli,voice: Replaced 'SendTone' method and
+ 'ToneReceived' signal with 'SendDtmf' and 'DtmfReceived'
+
+ cli/mmcli-call.c | 38 ++++-----
+ .../org.freedesktop.ModemManager1.Call.xml | 16 ++--
+ libmm-glib/mm-call.c | 40 ++++-----
+ libmm-glib/mm-call.h | 10 +--
+ src/mm-base-call.c | 98
+ +++++++++++-----------
+ src/mm-base-call.h | 8 +-
+ src/mm-call-list.c | 4 +-
+ src/mm-call-list.h | 2 +-
+ src/mm-iface-modem-voice.c | 4 +-
+ src/mm-iface-modem-voice.h | 2 +-
+ 10 files changed, 111 insertions(+), 111 deletions(-)
+
+commit 2ac5d620c458ddc8771ae6c8789608b87d58f56b
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Wed Jun 3 09:37:39 2015 +0200
+
+ libmm-glib,cli: Replaced 'list call' with 'list calls'
+
+ cli/mmcli-common.c | 12 +++++-----
+ cli/mmcli-modem-voice.c | 18 +++++++-------
+ libmm-glib/mm-modem-voice.c | 58
+ ++++++++++++++++++++++-----------------------
+ libmm-glib/mm-modem-voice.h | 6 ++---
+ 4 files changed, 47 insertions(+), 47 deletions(-)
+
+commit 9f3801df3f1ee8f5b8d9dfbf7e7a1968fdf85f0b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 18:17:12 2015 +0200
+
+ core,voice: remove explicit "NO CARRIER" response matching
+
+ This response is already managed by the generic AT serial port
+ and translates
+ it into a proper error. This change also avoids the Call.Start()
+ call to report
+ a timeout in the serial port, instead we get a proper no-carrier
+ error.
+
+ Before:
+
+ $ sudo mmcli -m 0 --voice-create-call="number=12345678"
+ Successfully created new call:
+ /org/freedesktop/ModemManager1/Call/1 outgoing (unknown)
+ $ sudo mmcli -o 1 --start
+ error: couldn't start the call:
+ 'GDBus.Error:org.freedesktop.ModemManager1.Error.Serial.ResponseTimeout:
+ Serial command timed out'
+
+ After:
+
+ $ sudo mmcli -m 0 --voice-create-call="number=12345678"
+ Successfully created new call:
+ /org/freedesktop/ModemManager1/Call/1 outgoing (unknown)
+ $ sudo mmcli -o 1 --start
+ error: couldn't start the call:
+ 'GDBus.Error:org.freedesktop.ModemManager1.Error.Connection.NoCarrier:
+ No carrier'
+
+ src/mm-broadband-modem.c | 17 -----------------
+ src/mm-modem-helpers.c | 12 ------------
+ src/mm-modem-helpers.h | 1 -
+ 3 files changed, 30 deletions(-)
+
+commit b600e6c9ce1552d95652e1e9623a1880941036d9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 18:06:20 2015 +0200
+
+ mmcli,voice: align values of printed Call parameters
+
+ cli/mmcli-call.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d5bc19f7db1bbbe8c54c2dc7d31bbc7a68c28d66
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 18:03:49 2015 +0200
+
+ policy: fix minor typo
+
+ data/org.freedesktop.ModemManager1.policy.in.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 69585b1374877a97c7dfb15d366cab284cc8f0d2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 18:01:35 2015 +0200
+
+ polkit: added Voice policy rule
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 35
+ +++++++++++++++++++++++++
+ data/org.freedesktop.ModemManager1.policy.in.in | 9 +++++++
+ 2 files changed, 44 insertions(+)
+
+commit 6ca7c49d802f3e3c87dc5f2532e6d2064a3e6bf6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 17:54:44 2015 +0200
+
+ docs,api: add missing links to the new Voice interface and Call object
+
+ docs/reference/api/ModemManager-dbus-reference.xml | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 394bf91032e7544d323fe861ac13113e9bcfa26d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 17:49:52 2015 +0200
+
+ mmcli,voice: fix minor typo
+
+ cli/mmcli-modem-voice.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a6adf041022ce54e3114c61ec387383a56838707
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 17:36:56 2015 +0200
+
+ docs,voice: add missing voice related enum values
+
+ docs/reference/api/ModemManager-sections.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit e75d888b512c31847c757e0f62df5241602cb1fe
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 17:31:19 2015 +0200
+
+ core,voice: minor coding style fixes
+
+ src/mm-base-call.c | 148
+ ++++++++++++++++++++----------------------
+ src/mm-base-call.h | 77 +++++++++++-----------
+ src/mm-broadband-modem.c | 44 ++++++-------
+ src/mm-iface-modem-voice.c | 156
+ +++++++++++++++++++++++----------------------
+ src/mm-modem-helpers.h | 8 +--
+ 5 files changed, 216 insertions(+), 217 deletions(-)
+
+commit 61562fbe8b48e747442f5302cc434f8bfb63ba2a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 17:31:06 2015 +0200
+
+ huawei,voice: minor coding style fixes
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 104
+ +++++++++++++++--------------
+ plugins/huawei/mm-call-huawei.c | 42 ++++++------
+ plugins/huawei/mm-call-huawei.h | 2 +-
+ 3 files changed, 77 insertions(+), 71 deletions(-)
+
+commit d00fe0d628eb53047963330da1b7c148a4c8209f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 17:30:57 2015 +0200
+
+ libmm-glib,voice: minor coding style fixes
+
+ libmm-glib/mm-call-properties.c | 32 +++++------
+ libmm-glib/mm-call-properties.h | 32 +++++------
+ libmm-glib/mm-call.c | 76 ++++++++++++-------------
+ libmm-glib/mm-call.h | 98 ++++++++++++++++----------------
+ libmm-glib/mm-modem-voice.c | 121
+ ++++++++++++++++++----------------------
+ libmm-glib/mm-modem-voice.h | 50 ++++++++---------
+ 6 files changed, 197 insertions(+), 212 deletions(-)
+
+commit ca88d6333fecc5a06f433c9e9135c70fe29abe95
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 17:30:42 2015 +0200
+
+ api,voice: minor coding style fixes
+
+ include/ModemManager-enums.h | 2 +-
+ introspection/org.freedesktop.ModemManager1.Call.xml | 17
+ ++++++++++++-----
+ .../org.freedesktop.ModemManager1.Modem.Voice.xml | 5 +++--
+ 3 files changed, 16 insertions(+), 8 deletions(-)
+
+commit c0e05dbd43bf6b6752ff69b1c27071f88a123923
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat May 23 17:30:16 2015 +0200
+
+ cli,voice: minor coding style fixes
+
+ cli/mmcli-call.c | 62
+ ++++++++++++++++++++++++-------------------------
+ cli/mmcli-common.c | 45 +++++++++++++++++------------------
+ cli/mmcli-common.h | 20 ++++++++--------
+ cli/mmcli-modem-voice.c | 32 ++++++++++++-------------
+ 4 files changed, 80 insertions(+), 79 deletions(-)
+
+commit f67cc379563928ec09e859301d89d7408befcd1c
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Mon May 11 16:24:00 2015 +0200
+
+ iface-modem-voice: cleaned error debug messages
+
+ src/mm-iface-modem-voice.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 8242a991dc59296ca94109f4592ab86e34b44ece
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Mon May 11 11:24:54 2015 +0200
+
+ huawei: fixed status_change reason on new outgoing call
+
+ plugins/huawei/mm-call-huawei.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 915e0e74222573f30cec73ba34e32fe5f1dbced1
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Fri May 8 13:55:37 2015 +0200
+
+ huawei: signal incoming DTMF to DBus
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 4a13bc8fec66efc6f74055c4778e569cf830ac5b
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Fri May 8 13:54:40 2015 +0200
+
+ mmcli: added --send-tone option
+
+ cli/mmcli-call.c | 59
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 58 insertions(+), 1 deletion(-)
+
+commit 9874f10e1f27509219b6fe6b0a5374d04d1a3e3b
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Mon May 11 13:40:46 2015 +0200
+
+ base-call,iface-modem-voice:: handle DTMF
+
+ src/mm-base-call.c | 194
+ ++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-base-call.h | 20 +++--
+ src/mm-call-list.c | 23 ++++++
+ src/mm-call-list.h | 2 +
+ src/mm-iface-modem-voice.c | 18 ++++-
+ src/mm-iface-modem-voice.h | 2 +
+ 6 files changed, 252 insertions(+), 7 deletions(-)
+
+commit 8edead919343809d7c4bd7732a15c1a6c3912cba
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Fri May 8 13:51:17 2015 +0200
+
+ api,voice: added DTMF interface specification
+
+ .../org.freedesktop.ModemManager1.Call.xml | 25 +++++-
+ libmm-glib/mm-call.c | 88
+ +++++++++++++++++++++-
+ libmm-glib/mm-call.h | 17 +++++
+ 3 files changed, 126 insertions(+), 4 deletions(-)
+
+commit 40fae5fcbae32a37ae974245008359435e70a91f
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Thu May 7 17:16:29 2015 +0200
+
+ base-call: refactoring of error handling when call starts
+
+ plugins/huawei/mm-call-huawei.c | 20 ++++++++++++++++----
+ src/mm-base-call.c | 24 +++++++++++++++++-------
+ 2 files changed, 33 insertions(+), 11 deletions(-)
+
+commit bf416045dfda22f91e066640d1202e8241a21c0a
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Thu May 7 12:39:43 2015 +0200
+
+ huawei: acquire incoming DTMF on active call
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 189
+ +++++++++++++++++++++++++++++
+ src/mm-broadband-modem.c | 42 -------
+ src/mm-modem-helpers.c | 12 --
+ src/mm-modem-helpers.h | 1 -
+ 4 files changed, 189 insertions(+), 55 deletions(-)
+
+commit be09f500bd2ad1c22040c91e5cc6dbad0dcb6745
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Thu May 7 09:43:53 2015 +0200
+
+ huawei: added proprietary Huawei call handling
+
+ plugins/Makefile.am | 2 +
+ plugins/huawei/mm-broadband-modem-huawei.c | 7 ++
+ plugins/huawei/mm-call-huawei.c | 143
+ +++++++++++++++++++++++++++++
+ plugins/huawei/mm-call-huawei.h | 46 ++++++++++
+ 4 files changed, 198 insertions(+)
+
+commit 3b5e43324180c0f46f0e891f94ae41a9ea241c9b
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Wed May 6 16:22:03 2015 +0200
+
+ mmcli: set call-start timeout to 2 minutes
+
+ cli/mmcli-call.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 55ae2c7f2f5729346e28425f84a28b810b33efed
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Wed May 6 16:21:17 2015 +0200
+
+ huawei: handle voice call state changes
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 15 +++-----
+ src/mm-call-list.c | 54
+ ++++++++++++++++++++++++--
+ src/mm-call-list.h | 2 +
+ src/mm-iface-modem-voice.c | 62
+ +++++++++++++++++++++++++-----
+ src/mm-iface-modem-voice.h | 2 +
+ 5 files changed, 113 insertions(+), 22 deletions(-)
+
+commit 5a281dbd34eaebef88299d60d014fa2e82eb6328
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Wed May 6 13:29:17 2015 +0200
+
+ base-call: created an unique function to switch call's state and
+ reason
+
+ src/mm-base-call.c | 83
+ ++++++++++++++++++++++++++++--------------------------
+ src/mm-base-call.h | 1 +
+ 2 files changed, 44 insertions(+), 40 deletions(-)
+
+commit 65a64c924860eb41fa10c1eba5baf309f0ea2447
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Wed May 6 12:36:54 2015 +0200
+
+ core: set number of incoming call
+
+ src/mm-broadband-modem.c | 2 +-
+ src/mm-modem-helpers.c | 3 +--
+ 2 files changed, 2 insertions(+), 3 deletions(-)
+
+commit ae7292203105de918b979c88dbceb169ae11913d
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Wed May 6 12:09:57 2015 +0200
+
+ huawei: handle custom voice unsolicited events
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 257
+ ++++++++++++++++++++++++++++-
+ 1 file changed, 256 insertions(+), 1 deletion(-)
+
+commit 94c83710760ca2998af0593644172fad0bc02423
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Wed May 6 10:00:20 2015 +0200
+
+ base-call: fixed bug when hangup call.
+
+ Ok, busy and no carrier messages are handled by serial-parser.
+
+ src/mm-base-call.c | 87
+ +++++++++++++++++++++---------------------------------
+ 1 file changed, 34 insertions(+), 53 deletions(-)
+
+commit 6d85146bba3edceeaf9f23e0e7a5281fda527d59
+Author: Marco Bascetta <marco.bascetta@sadel.it>
+Date: Tue May 5 18:00:09 2015 +0200
+
+ core: handle incoming calls (RING/CRING, CLIP, NO CARRIER).
+
+ src/mm-broadband-modem.c | 59 ++++++++++++++++++++++---
+ src/mm-call-list.c | 59 +++++++++++++++++++++++++
+ src/mm-call-list.h | 3 ++
+ src/mm-iface-modem-voice.c | 104
+ +++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-voice.h | 8 +++-
+ src/mm-modem-helpers.c | 26 ++++++++++++
+ src/mm-modem-helpers.h | 8 ++--
+ 7 files changed, 258 insertions(+), 9 deletions(-)
+
+commit c53bc10092563eb361b4980afb00080009067661
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Mon May 4 16:03:34 2015 +0200
+
+ base-call: added deletion of a specified call
+
+ src/mm-base-call.c | 24 +++++++++++++++++++++++-
+ 1 file changed, 23 insertions(+), 1 deletion(-)
+
+commit ecbd146d5aca225c4873f08cc01e069cc284d38e
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Mon May 4 14:51:46 2015 +0200
+
+ fixes: added voice support in libmm-glib MMManager, also fixed wrong
+ number of parameters in mm-call-list class init
+
+ libmm-glib/mm-manager.c | 1 +
+ src/mm-call-list.c | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit 5c9e2488bff45dca2a762d666bb883a90870530c
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Mon May 4 11:14:09 2015 +0200
+
+ build: added voice call include in libmm-glib and modified Makefile.am
+
+ libmm-glib/libmm-glib.h | 2 ++
+ src/Makefile.am | 6 ++++++
+ src/mm-auth-provider.h | 1 +
+ 3 files changed, 9 insertions(+)
+
+commit 5c446c3f4364ad2bf4fc2a581e664ba90d3474ba
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Mon May 4 11:13:19 2015 +0200
+
+ broadband-modem: added voice call support
+
+ src/mm-broadband-modem.c | 370
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-broadband-modem.h | 1 +
+ src/mm-modem-helpers.c | 39 +++++
+ src/mm-modem-helpers.h | 7 +
+ 4 files changed, 417 insertions(+)
+
+commit 886e2963df8951fa163c27527352ebd10321d3e3
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Mon May 4 11:12:18 2015 +0200
+
+ core: implemented MMIfaceModemVoice interface
+
+ src/mm-iface-modem-voice.c | 959
+ +++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-voice.h | 127 ++++++
+ 2 files changed, 1086 insertions(+)
+
+commit ec5c539f553fdb6d1474aa9216b6944aa61e5bb0
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Mon May 4 11:11:43 2015 +0200
+
+ core: implemented new MMBaseCall object
+
+ src/mm-base-call.c | 1030
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-base-call.h | 102 ++++++
+ src/mm-call-list.c | 311 ++++++++++++++++
+ src/mm-call-list.h | 75 ++++
+ 4 files changed, 1518 insertions(+)
+
+commit c3bec1537b96b3b3071c2de787126ba11479ed88
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Mon Apr 27 11:41:59 2015 +0200
+
+ mmcli: added Modem.Voice and Call support
+
+ cli/Makefile.am | 4 +-
+ cli/mmcli-call.c | 357 +++++++++++++++++++++++++++++++++++++++
+ cli/mmcli-common.c | 281 +++++++++++++++++++++++++++++++
+ cli/mmcli-common.h | 15 ++
+ cli/mmcli-modem-voice.c | 438
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 22 +++
+ cli/mmcli.h | 16 ++
+ 7 files changed, 1132 insertions(+), 1 deletion(-)
+
+commit 0bf4ad6b66b1ea7626df28dc2417686b9e2d03f7
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Mon Apr 27 11:38:57 2015 +0200
+
+ libmm-glib: added support for Modem.Voice and Call interfaces
+
+ build-aux/header-generator.xsl | 3 +
+ libmm-glib/Makefile.am | 9 +
+ libmm-glib/generated/Makefile.am | 20 ++
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-call-properties.c | 478 +++++++++++++++++++++++++++++++
+ libmm-glib/mm-call-properties.h | 94 ++++++
+ libmm-glib/mm-call.c | 422 +++++++++++++++++++++++++++
+ libmm-glib/mm-call.h | 118 ++++++++
+ libmm-glib/mm-common-helpers.c | 66 +++++
+ libmm-glib/mm-common-helpers.h | 8 +
+ libmm-glib/mm-modem-voice.c | 599
+ +++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-voice.h | 111 ++++++++
+ libmm-glib/mm-object.c | 36 +++
+ libmm-glib/mm-object.h | 3 +
+ 14 files changed, 1968 insertions(+)
+
+commit 0feb4acef4d47bc3c22bb1b8f121e5959fb55901
+Author: Riccardo Vangelisti <riccardo.vangelisti@sadel.it>
+Date: Mon Apr 27 11:37:18 2015 +0200
+
+ api: added Modem.Voice and Call interfaces for voice call handling
+
+ include/ModemManager-enums.h | 56 ++++++++++++++
+ introspection/all.xml | 2 +
+ .../org.freedesktop.ModemManager1.Call.xml | 88
+ ++++++++++++++++++++++
+ .../org.freedesktop.ModemManager1.Modem.Voice.xml | 88
+ ++++++++++++++++++++++
+ 4 files changed, 234 insertions(+)
+
+commit 0337781ba746fb869198cff9705e521a2722b26d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Aug 2 09:03:06 2015 +0200
+
+ base-manager: plug memleak
+
+ Don't g_strdup() the physdev string to store it in the hash table;
+ instead store
+ the original string right away as it is already created with
+ g_strdup_printf().
+
+ Reported by: Yunlian Jiang <yunlian@chromium.org>
+
+ https://code.google.com/p/chromium/issues/detail?id=515929
+
+ src/mm-base-manager.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit 9b051b14ed33b5eca2e7d1b384d6a9f60d08e482
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 20 12:17:12 2015 -0500
+
+ iface-modem: don't check the cache when asking for required unlocks
+
+ When passing known_lock=UNKNOWN to mm_iface_modem_update_lock_info()
+ we actually do want to ask the modem itself for locks instead of
+ checking the cache. For example, when an unknown error is returned
+ after performing PIN/PUK operations, the cache value may well be
+ NONE if that was the prior lock state, and that bypasses the modem
+ which might now be locked. Thus the state gets messed up.
+
+ Reproducer is to send 'ChangePin' with the wrong "old" PIN 3 times,
+ then send a wrong PUK. No error was returned from mmcli and
+ the modem's lock state was shown as 'none'.
+
+ src/mm-iface-modem.c | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+commit 99da30059f136600e4bf5ac2faec8b42def17d65
+Author: David Herrmann <dh.herrmann@gmail.com>
+Date: Wed Jul 15 13:49:49 2015 +0200
+
+ policy: don't prevent us from receiving signals
+
+ By using:
+ <deny send_destination="org.freedesktop.ModemManager1"/>
+
+ ..we prevent anyone on the system from sending us signals, even if we
+ subscribed to them. This is clearly not what this line intended. More
+ importantly, we silently break mm-auth-provider-polkit, as we never
+ receiver 'changed' signals via PolkitAuthority. Right now, this is not
+ required by the implementation of PolkitAuthority, but ModemManager
+ should not place restrictions on the implementation of external
+ libraries.
+
+ So make sure we only prevent Method-Calls to be sent to us. Any other
+ message that we didn't expect is automatically discarded by gdbus,
+ anyway.
+
+ Without this change, debugging dbus policies constantly shows messages
+ that Polkit couldn't send the 'changed' signal to ModemManager. This
+ is
+ suppressed in non-debugging mode. But it would make debugging a lot
+ easier, if we'd avoid force-dropping those events and not clutter the
+ debug-log.
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit ad2c2ad14cbf894fa755a56536fa72b0db83e3d3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 2 10:30:58 2015 -0500
+
+ blacklist: ignore POSNET POLSKA S.A. devices
+
+ src/77-mm-usb-device-blacklist.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit e09463dfb28e2024767184cb7f3489618a4839ac
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 19 12:20:03 2015 -0700
+
+ blacklist: ignore Palm M5xx devices
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=91032
+
+ src/77-mm-usb-device-blacklist.rules | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 1f270c09d03b6c2c4c57fb9b8ca539243035992b
+Author: Marc Murphy <marc.murphy@marcm.co.uk>
+Date: Thu Jun 18 08:28:28 2015 +0100
+
+ huawei: update to correct secondary port request and regex masking
+ for ^POSITION
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+commit 0ac7feb79720715a4a4f91e5e3f6c0775a092e0e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 5 17:42:18 2015 +0200
+
+ broadband-modem-qmi: retry unlock checks on 'UimUninitialized' errors
+
+ The Pantech UML290 takes a horribly great time to initialize the
+ SIM, and
+ therefore we may even be losing the 3GPP capabilities as the SIM
+ is not
+ detected during the initial checks:
+
+ load_unlock_required_ready(): Couldn't check if unlock required:
+ 'SIM failure: QMI protocol error (37): 'UimUninitialized''
+ current_capabilities_internal_load_unlock_required_ready():
+ Multimode device without SIM, no 3GPP capabilities
+
+ To avoid this, let 'UimUninitialized' be a retriable error.
+
+ src/mm-broadband-modem-qmi.c | 17 ++++-------------
+ 1 file changed, 4 insertions(+), 13 deletions(-)
+
+commit d5fb4284e13b534b57660282cf80c33bf981929e
+Author: David McCullough <david.mccullough@accelecon.com>
+Date: Thu May 28 11:23:45 2015 +1000
+
+ qmi: fix '0' prefixed IMEI/ESN/MEID on QMI modems
+
+ QMI modems are incorrectly ignoring IMEI/ESN/MEID numbers that start
+ with a
+ '0'. Fix this up. Seen on an AT&T Beam (340u)
+
+ Signed-off-by: David McCullough <david.mccullough@accelecon.com>
+
+ src/mm-broadband-modem-qmi.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 4fcae938fc93415857fd1eb6dfdbcac34848ec5e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon May 4 09:27:33 2015 +0200
+
+ build: request to generate the enum types support files before
+ building
+
+ Instead of providing explicit dependency rules to generate the
+ enum types
+ support files before they're first used, just pre-generate them
+ before building
+ anything. Maintaining the explicit dependency rules is not really
+ worth it.
+
+ src/Makefile.am | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit d5adce08f5c17d25da782e611b377a8e1a815638
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 17 09:57:57 2015 +0200
+
+ build: only compile dbus tests if GIO >= 2.34 is available
+
+ configure.ac | 4 ++++
+ plugins/Makefile.am | 7 +++++++
+ 2 files changed, 11 insertions(+)
+
+commit cc5f7311027b4062e2566d3b03e6dad65daf3b6e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 10 12:45:33 2015 +0200
+
+ blacklist: ignore all devices from Access Interface Solutions
+
+ src/77-mm-usb-device-blacklist.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit f60b0551429bbb767d0154f9c1335146641d340a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 10 08:23:28 2015 +0200
+
+ mbm: enable GPS port for HS2350
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=85008
+
+ As reported by Dan Williams <dcbw@redhat.com>.
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5fb8e87abd82d4eb463fdb601ca33ead153f5fc2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 10 08:22:24 2015 +0200
+
+ mbm: enable GPS port for H5321gw
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=85008
+
+ As reported by Sven Arvidsson <sa@whiz.se>.
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 534eea345dd8dda96a88559b621ab1a55028cee8
+Author: Fabrice Bellet <fabrice@bellet.info>
+Date: Wed Apr 8 16:48:29 2015 +0200
+
+ mbm: add GPS location gathering support
+
+ The udev rules file is updated according to the list of devices
+ supporting gps features provided by the udev rules file from the
+ mbm-gpsd project.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=85008
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 16 ++
+ plugins/mbm/mm-broadband-modem-mbm.c | 346
+ ++++++++++++++++++++++++++++++++++-
+ plugins/mbm/mm-plugin-mbm.c | 31 ++++
+ 3 files changed, 392 insertions(+), 1 deletion(-)
+
+commit 9293fd2bca31a09fe79334d20aa33fa91eecd044
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 9 11:38:39 2015 -0500
+
+ base-manager: quiet message about unsupported ports
+
+ This message gets printed for all netdevs and ttys, including most
+ machines normal ethernet/Wi-Fi interfaces. It seems a bit less
+ critical
+ than 'warning' level would indicate.
+
+ ModemManager[32097]: <warn> Couldn't find support for device at
+ '/sys/devices/pci0000:00/0000:00:19.0': not supported by any plugin
+ ModemManager[32097]: <warn> Couldn't find support for device at
+ '/sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0': not supported
+ by any plugin
+
+ src/mm-base-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8009f16ecb4408024e1d793d7aac5d08a31e2399
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Mar 28 19:03:19 2015 +0100
+
+ huawei: allow responses like ^NDISSTATQry (e.g. Huawei E353)
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 91
+ ++++++++++++++++--------
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 4 ++
+ 2 files changed, 66 insertions(+), 29 deletions(-)
+
+commit 977cf658a6bf92a764632f69e99fe39a39e0ee4d
+Author: Yunlian Jiang <yunlian@google.com>
+Date: Fri Mar 27 20:30:18 2015 +0100
+
+ tests: fix memory leaks
+
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 14 +++++++++-----
+ plugins/icera/tests/test-modem-helpers-icera.c | 2 ++
+ plugins/mbm/tests/test-modem-helpers-mbm.c | 2 ++
+ 3 files changed, 13 insertions(+), 5 deletions(-)
+
+commit 948be2343a592d35403a8e7319fbe21952e56256
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 27 19:06:43 2015 +0100
+
+ telit: minor coding style fixes
+
+ plugins/telit/mm-plugin-telit.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+commit 12318970a7df2e0dd83b8284762e4cf7294fe0d3
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Tue Mar 24 14:17:34 2015 +0100
+
+ telit: changing udev rules for HE910/UE910/UL865
+
+ Changing udev rules for HE910/UE910/UL865 in order to use dynamic port
+ identification through #PORTCFG (tag ID_MM_TELIT_PORTS_TAGGED)
+
+ plugins/telit/77-mm-telit-port-types.rules | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit ad6d15b535e80392ee04581f5d638cb73367170c
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Tue Mar 24 14:17:33 2015 +0100
+
+ telit: implementing dynamic port identification with #PORTCFG
+
+ Adding dynamic port identification for Telit modems that support
+ AT#PORTCFG
+ command. Port configurations for HE910/UE910/UL865 taken from document
+ "HE910/UE910/UL865 Families Ports Arrangements User Guide"
+
+ plugins/telit/mm-plugin-telit.c | 260
+ +++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 257 insertions(+), 3 deletions(-)
+
+commit 0e97dc3a7aaf5c2d1291eb5f2baf216e2ad4d9a5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 25 08:38:42 2015 +0100
+
+ zte: add support for ZTE MF700
+
+ Fix suggested by Pablo Nazar <pablo.e.nazar@gmail.com>
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=89721
+
+ plugins/zte/77-mm-zte-port-types.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 3ad64c8f5aed43697bf289fce277bde48f208051
+Author: Jason Simmons <jsimmons@chromium.org>
+Date: Fri Mar 13 15:30:58 2015 -0700
+
+ broadband-modem: default implementation of the network time interface
+
+ Add a default implementation that queries the real-time clock
+ using the
+ AT+CCLK? command. Also set AT+CTZU=1 in case a modem requires it.
+
+ src/mm-broadband-modem.c | 96
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.c | 75 +++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 9 ++++
+ src/tests/test-modem-helpers.c | 73 ++++++++++++++++++++++++++++++++
+ 4 files changed, 253 insertions(+)
+
+commit a92566ec0e01bc606fd3673276eb5f7ece3b8291
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Fri Mar 13 16:25:48 2015 +0100
+
+ telit: adding 3gpp unsolicited events support for Telit modems
+
+ Mobile Equipment Event Reporting command for Telit modems (+CMER)
+ does not support <ind>=1. Changing to <ind>=2
+
+ plugins/telit/mm-broadband-modem-telit.c | 52
+ +++++++++++++++++++++++++++++++-
+ 1 file changed, 51 insertions(+), 1 deletion(-)
+
+commit f9a5848d71972797a2871c6ccceaa6d9123eb8de
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Thu Mar 12 11:33:39 2015 +0100
+
+ telit: add custom flow control settings for Telit HE910, UE910, UL865
+
+ Telit HE910, UE910 and UL865 do not support XON/XOFF; defaulting
+ to RTS/CTS
+
+ plugins/telit/mm-broadband-modem-telit.c | 48
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+commit 00b5ae3e5b61eaf2757d7d34044842299181d80e
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Thu Mar 12 09:15:37 2015 +0100
+
+ telit: Adding udev rules for Telit HE910, UE910 and UL865
+
+ Adding udev rules for proper modem identification.
+
+ plugins/telit/77-mm-telit-port-types.rules | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 46b2aeae531ea47d3cf3d455305c40694d4f60b7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 11 19:37:07 2015 +0100
+
+ novatel: fix checking for time support
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 61ced36f8341ecedc403818c378f78f17f55ca9a
+Author: Daniele Palmas <dnlplm@gmail.com>
+Date: Fri Mar 6 16:12:34 2015 +0100
+
+ Adding IMC flashing device in blacklist
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 6a8fbf917a220416913a5e64a40bd4d26c6448f5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 2 14:37:25 2015 +0100
+
+ iface-modem: don't artificially forbid power updates when in OFF state
+
+ If for any reason the modem is in OFF state and still can talk to
+ the modem,
+ allow running the remaining transition requests to LOW or ON. This
+ can happen
+ for example for modems that use CFUN:0, i.e. which can still go
+ online with
+ CFUN=1.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=89368
+
+ src/mm-iface-modem.c | 16 ----------------
+ 1 file changed, 16 deletions(-)
+
+commit 28d4bb932cfdbf7a4320382d17312b3d1f2d1be0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 27 17:30:43 2015 +0100
+
+ greylist: add Cypress USB<->RS232 adapters
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=89362
+
+ src/77-mm-usb-serial-adapters-greylist.rules | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 0a31a466cbeb42c613a80def224c94bba14431c3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 26 12:37:20 2015 +0100
+
+ bearer,qmi: also print IPv6 gateway prefix
+
+ src/mm-bearer-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2dbebbd0bf0fcc9d1080b96f899d4e57332839db
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 26 10:36:20 2015 +0100
+
+ bearer-qmi: avoid unref-ing arrays owned by the output bundles
+
+ When we get an array from a libqmi output or input bundle, the array
+ is always
+ owned by the bundle (i.e. transfer-none).
+
+ src/mm-bearer-qmi.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit de9446e13b7849ef4aad2664bc500c2fa2bb6d9c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 20 10:14:58 2015 +0100
+
+ build: refactor and cleanup configure.ac
+
+ configure.ac | 137
+ +++++++++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 92 insertions(+), 45 deletions(-)
+
+commit 9f7006616c8ee4d5e5381fa3637eff21d1d9c4fc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 20 09:40:09 2015 +0100
+
+ build: disable static libraries by default
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ee41e57507eb890d4e320a0e3fdf53d48925bf31
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 20 09:39:10 2015 +0100
+
+ build: setup silent-rules
+
+ And bump automake requirement to 1.11.
+
+ configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 9186e2aa39668c0d071f52d47d6a1aea087bc8a7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 23 10:25:14 2015 -0600
+
+ iface-modem-3gpp: used DENIED registration state if others are UNKNOWN
+
+ If all other registration states are UNKNOWN, use a registration state
+ of DENIED as the global modem state.
+
+ src/mm-iface-modem-3gpp.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+commit 37bda21a370bfd5c125a7093bec55dca3914af9b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 17 10:57:22 2015 +0100
+
+ plugin: add implicit QMI and MBIM forbidden drivers check
+
+ src/mm-plugin.c | 45 +++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 43 insertions(+), 2 deletions(-)
+
+commit 57b5ffa8c4a7fdd48a8ae944010422a4754654d2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Feb 16 17:36:12 2015 +0100
+
+ gobi: remove plugin
+
+ There's no real need for a custom Gobi plugin any more. All the
+ vendor-specific
+ Gobi-powered modems should be handled by vendor-provided plugins
+ supporting QMI
+ modems; or otherwise, as a last resort, by the generic plugin.
+
+ plugins/Makefile.am | 10 ---
+ plugins/gobi/mm-broadband-modem-gobi.c | 124
+ ---------------------------------
+ plugins/gobi/mm-broadband-modem-gobi.h | 49 -------------
+ plugins/gobi/mm-plugin-gobi.c | 95 -------------------------
+ plugins/gobi/mm-plugin-gobi.h | 41 -----------
+ 5 files changed, 319 deletions(-)
+
+commit 93d6e4f102da51e72ecd2fbfcfa096cd2fd2e02e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 16:35:52 2015 +0100
+
+ dell: new Dell plugin
+
+ For Dell-branded Novatel, Sierra and Ericsson modems.
+
+ The Novatel plugin will no longer accept every Dell-branded modem,
+ which was
+ the current situation. Instead, a new Dell plugin will take care of
+ probing for
+ the correct vendor string, and based on the results create a specific
+ Novatel,
+ Sierra or Ericsson modem.
+
+ In order to properly support this, the Novatel, Sierra and MBM
+ plugins now
+ export their implementations into non-inst libraries that the Dell
+ plugin will
+ import.
+
+ Also, for now, the Dell plugin doesn't make any difference between
+ e.g. Sierra
+ or Ericsson MBIM implementations, just a generic MBIM modem is
+ created in both
+ cases, as that is anyway what the Ericsson MBM and Sierra plugins
+ do already.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=86713
+
+ plugins/Makefile.am | 9 +
+ plugins/dell/mm-plugin-dell.c | 448
+ ++++++++++++++++++++++++++++++++++++
+ plugins/dell/mm-plugin-dell.h | 46 ++++
+ plugins/novatel/mm-plugin-novatel.c | 4 +-
+ 4 files changed, 504 insertions(+), 3 deletions(-)
+
+commit 6bbc4c1746c9e7c48e12dcb1e1986f1e16327161
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 20:02:20 2015 +0100
+
+ sierra: move all the legacy Sierra support to a new 'sierra-legacy'
+ plugin
+
+ In short:
+
+ * The 'sierra-legacy' plugin will handle all the old AT based
+ modems,
+ including the DirectIP ones. This plugin is filtered by driver
+ ('sierra' or
+ 'sierra_net') and forbidden-drivers ('qmi_wwan' and
+ 'cdc_mbim'). This plugin
+ should also grab HP and AT&T branded models if they are handled
+ by the
+ proper kernel driver.
+
+ * The 'sierra' plugin will only handle QMI or MBIM based Sierra
+ modems, which
+ are really all the new ones. This plugin is filtered by VID
+ (0x1199) and
+ driver (qmi_wwan and cdc_mbim).
+
+ For this separation to work, the 'sierra' and 'sierra_net' plugins
+ need to be
+ complementary to each other.
+
+ plugins/Makefile.am | 18 ++++--
+ plugins/sierra/mm-plugin-sierra-legacy.c | 99
+ ++++++++++++++++++++++++++++++++
+ plugins/sierra/mm-plugin-sierra-legacy.h | 40 +++++++++++++
+ plugins/sierra/mm-plugin-sierra.c | 34 ++++-------
+ 4 files changed, 162 insertions(+), 29 deletions(-)
+
+commit 3c6a7ed3f344e565271f26390da8d6db43fa0f70
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 21:05:05 2015 +0100
+
+ plugin-manager: make sure there is some wait time before probing
+ the first port
+
+ We really do need a wait time to make sure most ports are exposed
+ by the
+ kernel, so that plugin filters based on "forbidden-drivers" work
+ correctly. E.g.
+ the "gobi" plugin now flags as forbidden the "qmi_wwan" driver,
+ which means that
+ modems exposing both TTYs and QMI/WWAN ports should never be handled
+ by the Gobi
+ plugin.
+
+ src/mm-plugin-manager.c | 95
+ +++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 68 insertions(+), 27 deletions(-)
+
+commit 07fcb807dd002be829b1462c131ca2f2dfb56b36
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 21:13:56 2015 +0100
+
+ plugin: allow having both 'drivers' and 'forbidden drivers' filters
+
+ src/mm-plugin.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 51ab292802e21d1031c54bcab8c449d18b97ceaa
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 18:38:32 2015 +0100
+
+ plugin: let vendor/product filter be complementary
+
+ So that a plugin can specify a full VID and a specific PID subset
+ of another VID
+ as supported.
+
+ src/mm-plugin.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit b1159453998e6dc89ba31a803c4c3886c8da0605
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 17:29:56 2015 +0100
+
+ sierra: move custom init and port grabbing methods to separate
+ source files
+
+ plugins/sierra/mm-common-sierra.c | 217
+ ++++++++++++++++++++++++++++++++++++
+ plugins/sierra/mm-common-sierra.h | 17 +++
+ plugins/sierra/mm-plugin-sierra.c | 224
+ +-------------------------------------
+ 3 files changed, 239 insertions(+), 219 deletions(-)
+
+commit 5a268430c4c89e21d977403ec764c59b86498af8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 17:11:52 2015 +0100
+
+ mbm: build a common non-inst library with the core Ericsson modem
+ support
+
+ plugins/Makefile.am | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+commit 299280166301d00c2b0e2b8868a96013388b2a3f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 16:51:13 2015 +0100
+
+ sierra: build a common non-inst library with the core Sierra modem
+ support
+
+ plugins/Makefile.am | 23 ++++++++++++++++-------
+ 1 file changed, 16 insertions(+), 7 deletions(-)
+
+commit 60a17df4c78d7bd9f27ca1425dba6c53298fd3d3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 15:55:18 2015 +0100
+
+ novatel: build a common non-inst library with the core Novatel
+ modem support
+
+ plugins/Makefile.am | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+commit 7c929b5cf19ca6fd3ed8c5667efc026df13046a1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 15:30:50 2015 +0100
+
+ novatel: move custom init method to separate source files
+
+ plugins/Makefile.am | 2 +
+ plugins/novatel/mm-common-novatel.c | 158
+ ++++++++++++++++++++++++++++++++++++
+ plugins/novatel/mm-common-novatel.h | 31 +++++++
+ plugins/novatel/mm-plugin-novatel.c | 146
+ +--------------------------------
+ 4 files changed, 194 insertions(+), 143 deletions(-)
+
+commit 553666d63a8a13baccfffa236f38f7f26dc1df9f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Feb 16 16:48:57 2015 +0100
+
+ build: use absolute paths when ignoring specific files in subdirs
+
+ If paths are not prefixed with '/' they are taken as filename-ignores
+ that apply
+ to the whole tree.
+
+ .gitignore | 320
+ ++++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 159 insertions(+), 161 deletions(-)
+
+commit 8b985af3b6c3ac1aa40227a2116f107949b3b39d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 11 19:26:36 2015 +0100
+
+ build: remove obsolete ignored files
+
+ .gitignore | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit f4ec32e6335b20c22db5b964ec5e667bbb8f8c39
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 11 18:24:50 2015 +0100
+
+ test: new 'mmtty' utility
+
+ The new tester allows to play with the AT-capable TTY using the same
+ code as
+ ModemManager itself.
+
+ $ sudo ./test/mmtty -d /dev/ttyHS0 --verbose
+ opening serial port '/dev/ttyHS0'...
+ (ttyHS0) opening serial port...
+ (ttyHS0): port attributes not fully set
+ (ttyHS0) device open count is 1 (open)
+ flashing serial port '/dev/ttyHS0'...
+ ready
+ > AT+GCAP
+ (ttyHS0): --> 'AT+GCAP<LF><CR>'
+ (ttyHS0): <-- '<CR><LF>+GCAP:
+ +CGSM,+DS,+ES<CR><LF><CR><LF>OK<CR><LF>'
+ +GCAP: +CGSM,+DS,+ES
+ > AT+GMI
+ (ttyHS0): --> 'AT+GMI<LF><CR>'
+ (ttyHS0): <-- '<CR><LF>Option N.V.<CR><LF><CR><LF>OK<CR><LF>'
+ Option N.V.
+ > ^C
+
+ cancelling the main loop...
+
+ (ttyHS0) device open count is 0 (close)
+ (ttyHS0) closing serial port...
+ (ttyHS0) serial port closed
+ (ttyHS0) forced to close port
+
+ .gitignore | 4 +-
+ test/Makefile.am | 17 +++-
+ test/mmtty.c | 299
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 318 insertions(+), 2 deletions(-)
+
+commit 7133d72f698c551d01cbc8f35102dc4d61148e20
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 11 19:24:46 2015 +0100
+
+ ports: move serial parsers to the internal libports
+
+ src/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit b7ed2c6b0ed163dcf67bdfd43c3fb73d5e51d069
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 11 19:32:49 2015 +0100
+
+ po: added systemd sleep management file to the list of translatable
+ files
+
+ po/POTFILES.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 9b2b46e2be90553f0389a5395d5312d232ffa018
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 10 18:17:37 2015 +0100
+
+ broadband-modem-qmi: don't try FCC auth if the first Set Operating
+ Mode succeeds
+
+ src/mm-broadband-modem-qmi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit a83d1c70b1f433bcb9a33b4cb1b5e3032050a104
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Feb 7 21:39:00 2015 +0100
+
+ broadband-modem-qmi: use 'DMS Set FCC Authentication' if online
+ mode fails
+
+ Some new devices, like the Dell DW5770, will return an internal
+ error when
+ trying to bring the power mode to online. We can avoid this by
+ sending the
+ magic "DMS Set FCC Auth" message before retrying.
+
+ Bumping libqmi version to 1.13.4, which is the one that supports
+ this new
+ message.
+
+ https://bugzilla.kernel.org/show_bug.cgi?id=92101
+
+ configure.ac | 2 +-
+ src/mm-broadband-modem-qmi.c | 185
+ +++++++++++++++++++++++++++++++++----------
+ 2 files changed, 143 insertions(+), 44 deletions(-)
+
+commit b6f8e5f08de8860b4c54609a3648cb86a04244ea
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 16 09:52:05 2015 +0100
+
+ suspend: invalidate and remove modems on suspend, reprobe on resume
+
+ configure.ac | 9 +++++++--
+ src/main.c | 33 ++++++++++++++++++++++++++++++++-
+ src/mm-base-manager.c | 34 ++++++++++++++++++++++++++++------
+ src/mm-base-manager.h | 3 ++-
+ 4 files changed, 69 insertions(+), 10 deletions(-)
+
+commit 132fbb0a7f51d01f11094367ee1f76cdafca350b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 15 12:51:26 2015 +0100
+
+ suspend: port upower backend to GDBus
+
+ src/mm-sleep-monitor-upower.c | 69
+ +++++++++++++++++++++++++------------------
+ 1 file changed, 41 insertions(+), 28 deletions(-)
+
+commit a92b6f286bc8a9cd487a88e841e78c627ed98f85
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 15 11:53:03 2015 +0100
+
+ suspend: imported suspend/resume support from NetworkManager
+
+ We're going to make this optional during build, not mandatory as
+ was the case
+ in NM.
+
+ configure.ac | 22 ++++
+ src/Makefile.am | 10 ++
+ src/mm-sleep-monitor-systemd.c | 247
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-sleep-monitor-upower.c | 137 +++++++++++++++++++++++
+ src/mm-sleep-monitor.h | 43 +++++++
+ 5 files changed, 459 insertions(+)
+
+commit c6ba09403a404d191e388db3b54d0145f057075c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 15 11:33:51 2015 +0100
+
+ utils: imported singleton setup from NetworkManager
+
+ src/Makefile.am | 1 +
+ src/mm-utils.h | 83
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 84 insertions(+)
+
+commit 6fb83b5e029134ab9844f05517a444f2df501773
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Feb 6 15:29:52 2015 +0100
+
+ novatel: remove unused custom AT probe array
+
+ plugins/novatel/mm-plugin-novatel.c | 13 -------------
+ 1 file changed, 13 deletions(-)
+
+commit 60cd66b4fa77fe470772aa4957b43ce060555c2c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 29 21:28:52 2015 +0100
+
+ helpers: avoid segfault when empty pdp type string is given
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=1183250
+
+ src/mm-modem-helpers.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit dc38332224f804be1f0557789c95442898827d72
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 29 12:07:43 2015 +0100
+
+ plugin: avoid segfault when port driver is unknown
+
+ Based on a patch from Bastiaan Jacques <bastiaan@bjacques.org>
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=1177799
+ https://bugs.freedesktop.org/show_bug.cgi?id=88864
+
+ src/mm-device.c | 1 +
+ src/mm-plugin.c | 10 ++++------
+ 2 files changed, 5 insertions(+), 6 deletions(-)
+
+commit 086a10ede07bc37c3603d70d7d5b4880e75b7df7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 26 17:02:13 2015 -0600
+
+ blacklist: ignore PalmOS devices driven by 'visor'
+
+ MM probing appears to make 'visor' module die; and anyway
+ most of the devices driven by 'visor' are not phones, and
+ of the 3 that are phones they are so old (2002 - 2005 era)
+ that nobody is likely using them for dialup anymore.
+
+ http://www.spinics.net/lists/linux-usb/msg120483.html
+
+ src/77-mm-usb-device-blacklist.rules | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit f9489a06bed0c410d9bba694af6d681a143be09d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 25 21:49:01 2015 +0100
+
+ mmcli: add command completion
+
+ cli/Makefile.am | 12 ++++
+ cli/mmcli-completion | 171
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 183 insertions(+)
+
+commit 1e62589cb160607afa490b716f253de357b95802
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 24 18:05:41 2015 +0100
+
+ bearer-qmi: even if we request DHCP in the bearer, expose available
+ IPv4 config
+
+ Same as we do in IPv6. Note that NM won't use it if DHCP is requested.
+
+ src/mm-bearer-qmi.c | 74
+ ++++++++++++++++++++++++++---------------------------
+ 1 file changed, 37 insertions(+), 37 deletions(-)
+
+commit 67392272271c9ea455f1f333289491c9b726b209
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Dec 25 12:51:38 2014 +0100
+
+ nokia: 20s for CSCS=? test command
+
+ Nokia N9 via Bluetooth DUN may require up to 20s for the supported
+ charsets
+ query; so update the timeout in the Nokia plugin.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=87635
+ https://bugzilla.gnome.org/show_bug.cgi?id=741813
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 39
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit 4a0a10c795d81576bff5a2019b51f301ad72b301
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Oct 14 16:34:20 2014 +0200
+
+ haier: new Haier plugin to handle port type hints in the CE81B
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=685011
+ https://bugs.freedesktop.org/show_bug.cgi?id=85001
+
+ plugins/Makefile.am | 11 ++-
+ plugins/haier/77-mm-haier-port-types.rules | 15 +++++
+ plugins/haier/mm-plugin-haier.c | 105
+ +++++++++++++++++++++++++++++
+ plugins/haier/mm-plugin-haier.h | 40 +++++++++++
+ 4 files changed, 170 insertions(+), 1 deletion(-)
+
+commit fcfd52df10c176dbc930c63011bfe8a48a0347dd
+Author: Jakub Sitnicki <jsitnicki@gmail.com>
+Date: Sun Jan 11 15:07:23 2015 +0100
+
+ core: perform clean-up when terminating due to a Unix signal
+
+ Since commit 2d700043abc5 ("core: use g_unix_signal_add() for more
+ reliable Unix signal handling") we no longer have to stick to
+ signal-safe functions in the SIGTERM/SIGINT handler.
+
+ Use exit() to terminate so that the clean-up functions are ran
+ and code
+ coverage data gets written into files.
+
+ src/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7552030ef90004857b4535f835e19fe734b22a39
+Author: Jakub Sitnicki <jsitnicki@gmail.com>
+Date: Sun Jan 11 15:07:22 2015 +0100
+
+ build: add code coverage support
+
+ Build all targets, except for CLI tools (mmcli, uml290), with special
+ flags needed for collecting code coverage information when the
+ build has
+ been configured with --enable-code-coverage.
+
+ Three new targets are available in the top build directory:
+
+ - `check-code-coverage' runs the test suite and generates a code
+ coverage report,
+
+ - `code-coverage-capture' generates a code coverage report from
+ already
+ collected data, which can come in handy when one wants to see code
+ paths touched by a particular test,
+
+ - `code-coverage-clean' removes the collected coverage data and the
+ generated reports.
+
+ .gitignore | 5 +++++
+ Makefile.am | 7 +++++++
+ configure.ac | 9 +++++++++
+ libmm-glib/Makefile.am | 6 +++++-
+ libmm-glib/generated/Makefile.am | 3 +++
+ libmm-glib/generated/tests/Makefile.am | 3 ++-
+ libmm-glib/tests/Makefile.am | 3 +++
+ libqcdm/src/Makefile.am | 4 +++-
+ libqcdm/tests/Makefile.am | 3 +++
+ libwmc/src/Makefile.am | 4 +++-
+ libwmc/tests/Makefile.am | 3 +++
+ plugins/Makefile.am | 9 +++++++--
+ src/Makefile.am | 3 +++
+ src/tests/Makefile.am | 3 +++
+ 14 files changed, 59 insertions(+), 6 deletions(-)
+
+commit ffe2106d4e556526119b89eedb62047fd8eab7de
+Author: Jakub Sitnicki <jsitnicki@gmail.com>
+Date: Sun Jan 11 15:07:21 2015 +0100
+
+ build: include ax_code_coverage.m4 serial 5
+
+ So that we don't require a fairly recent version of
+ autoconf-archive (v2014.10.15 or newer) to build.
+
+ m4/ax_code_coverage.m4 | 229
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 229 insertions(+)
+
+commit ebf516c074e39ce81f7681e0c285e22751534047
+Author: Jakub Sitnicki <jsitnicki@gmail.com>
+Date: Sun Jan 11 15:07:20 2015 +0100
+
+ build: remove incomplete support for code coverage
+
+ Looks like make targets for generating code coverage reports with LCOV
+ were copied from GLib but corresponding changes to configure.ac
+ were not
+ made. Clean it up.
+
+ gtester.make | 20 --------------------
+ 1 file changed, 20 deletions(-)
+
+commit 470b02e8c8ee97277a2cfbb7e79853c03340b09b
+Author: Roshan Pius <rpius@chromium.org>
+Date: Tue Dec 9 09:55:56 2014 -0800
+
+ port-probe: Increase AT probe command timeout to 7 seconds for altair.
+
+ This patch increases the response timeout for the probe AT commands
+ for
+ altair modems.
+
+ We've been noticing some altair modems taking upto 6 seconds to
+ respond to the
+ initial probe command after a reset which results in modem-manager
+ timing out and sending a second probe command. The modem sends
+ a response
+ after about 6 seconds for the initial probe command which
+ modem-manager
+ treats as response to second probe command and this results in the
+ modem-manager and modem going out of sync because the modem's second
+ probe response is treated as response to the next initialization
+ AT command
+ sent by modem-manager and so on.
+
+ Change-Id: Iad8b0786327b153fd95c8ee4516f352325a42cf7
+
+ plugins/altair/mm-plugin-altair-lte.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 2edb00cbcb0ab7ad0bef82f4d7f4111f2edb75a6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 9 12:47:54 2015 +0100
+
+ broadband-modem-qmi: fix memleak when listing SMS
+
+ If we get multiple message lists, we need to make sure the previous
+ one is
+ cleared out before going to the next one.
+
+ src/mm-broadband-modem-qmi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 46b707f8477c2dfbf6e6b4f48c73c2d3cbf5cd12
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 28 17:55:50 2014 +0100
+
+ mbim: use the new response checker helper method
+
+ mbim_message_response_get_result() is available in libmbim-glib
+ 1.11.1.
+
+ configure.ac | 2 +-
+ src/mm-bearer-mbim.c | 10 +++++-----
+ src/mm-broadband-modem-mbim.c | 30 +++++++++++++++---------------
+ src/mm-sim-mbim.c | 16 ++++++++--------
+ src/mm-sms-mbim.c | 4 ++--
+ 5 files changed, 31 insertions(+), 31 deletions(-)
+
+commit 35575ccc158651d56f7cf39031d559d0974cf837
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Dec 28 18:00:36 2014 +0100
+
+ port-qmi: always use QMI proxy
+
+ We already require libqmi > 1.7.0 in the build.
+
+ src/mm-port-qmi.c | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+commit 0dd707a2793c28369991377a0e09e00d3a09636f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Dec 26 16:36:32 2014 +0100
+
+ iface-modem-location: don't print location info to syslog with
+ info level
+
+ Use debug level, which has to be explicitly requested by the user.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=87498
+
+ src/mm-iface-modem-location.c | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+commit 3b2ed15abdb12a1a55404897dcffb447ac035d87
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Dec 3 19:25:26 2014 +0100
+
+ port-probe: retry icera probing up to 3 times, with some time in
+ between cmds
+
+ Icera-based modems need to return a correct response to the
+ AT%IPSYS? command,
+ so that they are properly detected as being Icera-based.
+
+ Now, some modems, like the Nokia 21M-02, don't seem to return a
+ correct response
+ to AT%IPSYS just after being plugged in. So, setup a retry mechanism
+ (3 retries,
+ with 2 seconds between retries) to try to cope with this issue.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=85012
+
+ Logs from the error situation:
+
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM0): --> 'ATE1 E0<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM2): --> 'ATE1 E0<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'ATE1 E0<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- 'E0'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <--
+ '<CR><CR><LF>ERROR<CR><LF>'
+ [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure
+ code 100: Unknown error
+ [mm-port-probe-at.c:43] mm_port_probe_response_processor_is_at():
+ Parsing AT got: 'Unknown error'
+ [mm-port-probe.c:155] mm_port_probe_set_result_at(): (tty/ttyACM0)
+ port is AT-capable
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM2): <-- 'ATE1 E0'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- ' E0'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM2): <-- '<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <--
+ '<CR><CR><LF>ERROR<CR><LF>'
+ [mm-serial-parsers.c:364] mm_serial_parser_v1_parse(): Got failure
+ code 100: Unknown error
+ [mm-port-probe-at.c:43] mm_port_probe_response_processor_is_at():
+ Parsing AT got: 'Unknown error'
+ [mm-port-probe.c:155] mm_port_probe_set_result_at(): (tty/ttyACM1)
+ port is AT-capable
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM2): <--
+ '<CR><LF>OK<CR><LF>'
+ [mm-port-probe.c:155] mm_port_probe_set_result_at(): (tty/ttyACM2)
+ port is AT-capable
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM0): --> 'AT%IPSYS?<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): --> 'AT%IPSYS?<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM2): --> 'AT%IPSYS?<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- 'AT%IPSYS?'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM0): <-- '<CR>'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <-- 'AT%IPSYS?'
+ [mm-port-serial-at.c:440] debug_log(): (ttyACM1): <--
+ '<CR><CR><LF>ERROR<CR><LF>'
+
+ src/mm-port-probe.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit fd28a4d5cd6139f19f814328bfe860f69c418a25
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 14 12:32:10 2014 +0100
+
+ icera: IPv6 '::' is a placeholder for 'no IPv6', so don't error out
+ if found
+
+ Also, allow IPDPADDR returns where only DNS IPv6 is given (i.e. no
+ IPv6 address
+ to set), and in that case default to DHCP method in the bearer.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=85012
+
+ plugins/icera/mm-modem-helpers-icera.c | 67
+ +++++++++++++++-----------
+ plugins/icera/tests/test-modem-helpers-icera.c | 31 +++++++++---
+ 2 files changed, 61 insertions(+), 37 deletions(-)
+
+commit 71a1b64b3b60527a15dea72d0cc9a2bb31adcf9f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 24 20:53:23 2014 +0100
+
+ huawei: expect 'modem' and 'pcui' in ^GETPORTMODE responses
+
+ Newer huawei modems, like the E3372, use the following ^GETPORTMODE
+ response
+ format:
+ ^GETPORTMODE: TYPE: WCDMA: ,pcui:1,modem:2,ncm:3,mass:4,mass_two:5,
+
+ This patch updates the parser that looks for the control TTY (pcui)
+ and data TTY
+ (modem).
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=86658
+
+ plugins/huawei/mm-plugin-huawei.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit b51f701524778acde8ed33d3e4f1a2ac0f694f81
+Author: Tyler <twsmith85@gmail.com>
+Date: Fri Nov 14 12:11:14 2014 +0100
+
+ bearer: PDP context APN scan should be case insensitive
+
+ src/mm-broadband-bearer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 692e6d344a6b2b9d943a577cfe3df1994e6d42a4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 9 16:53:33 2014 +0100
+
+ tests,port-context: joining thread takes the reference already
+
+ plugins/tests/test-port-context.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit bc410ce03f6bfbfc970a89d79f200cece4c582de
+Author: Torsten Hilbrich <torsten.hilbrich@secunet.com>
+Date: Wed Nov 12 12:45:38 2014 +0100
+
+ qmi: retrieve MM_MODEM_3GPP_FACILITY_SIM
+
+ This facility cannot be retrieved via 'DMS UIM Get CK Status'
+ and seems
+ currently unimplemented for mm-broadband-modem-qmi. The SIM enabled
+ status is however available via 'DMS UIM Get PIN Status'.
+
+ Using this message to add the retrieval of PIN status just after the
+ other facilities were queried.
+
+ Succesfully tested with Gobi2000 (05c6:9205), both retrieval of 3gpp
+ SIM lock status and enabling/disabling the PIN.
+
+ src/mm-broadband-modem-qmi.c | 68
+ ++++++++++++++++++++++++++++++++++++++++----
+ src/mm-modem-helpers-qmi.c | 26 +++++++++++++++++
+ src/mm-modem-helpers-qmi.h | 1 +
+ 3 files changed, 90 insertions(+), 5 deletions(-)
+
+commit d44690489b57969bfdc44ebfcbfefce6cf3c5b42
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Wed Oct 1 12:00:14 2014 +0200
+
+ udev: Don't mark disconnected RFCOMM ttys as candidates
+
+ Bluetooth serial devices are weird. They begin life being bound with
+ RFCOMMCREATEDEV ioctl() and then move around the sysfs tree when
+ they are
+ connected and disconnected. The connection is estabilished upon
+ the first
+ open() and torn down upon last close(), their first user virtually
+ being
+ "owner" of the connection. We don't want to be that process,
+ we're only
+ interested in actually connected modems. However, currently we have no
+ knowledge of that and therefore we connect and disconnect multiple
+ times while
+ probing.
+
+ This patch marks unconnected RFCOMM devices as uninteresting to us.
+ The actual connection and disconnection will be handled by
+ NetworkManager.
+
+ src/80-mm-candidate.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit f79ec9bf4d94a6ae204e24647bf844d6af2ecb96
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Wed Oct 1 12:00:14 2014 +0200
+
+ manager: Remove devices which are deemed unfit during addition attempt
+
+ device_added() might be called in response to a "change" or "move"
+ attempt that
+ might have changed a candidate device to a non-candidate one.
+
+ src/mm-base-manager.c | 118
+ ++++++++++++++++++++++++++------------------------
+ 1 file changed, 62 insertions(+), 56 deletions(-)
+
+commit b8cd5ae838b1a17ce1bb6f01e6491c7b887e8474
+Author: Lubomir Rintel <lkundrak@v3.sk>
+Date: Wed Oct 1 12:02:36 2014 +0200
+
+ device: Keep track of devices as they are move across sysfs
+
+ For certain devices the name changes with their status. Notably,
+ RFCOMM
+ devices move from /devices/virtual/ to underneath the HCI that is used
+ for the connection as the session is estabilished, and return
+ back when
+ it's torn down.
+
+ src/mm-device.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 98f21ec195a090618139c601870bcc4b1883c33f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Oct 30 00:05:35 2014 +0100
+
+ modem-helpers: fix IP4 -> IPV4
+
+ Stupid me, introduced a bug when manually writing the previous patch.
+
+ :/
+
+ src/mm-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 01bd5006f5b0fb322fde03e3faa6ead5a80fe40a
+Author: Oskar Enoksson <enok@lysator.liu.se>
+Date: Wed Oct 29 23:12:26 2014 +0100
+
+ modem-helpers: handle "IPV4" pdp type response
+
+ My modem (Samsung GI B3740) responded "IPV4" to "CGDCONT=?". This was
+ not handled in mm-modem-helpers.c. The obvious fix was to return
+ MM_BEARER_IP_FAMILY_IPV4.
+
+ src/mm-modem-helpers.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 555ec15a16414414dae1e71b889f38fa159e49fd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 29 22:35:52 2014 +0100
+
+ mm-broadband-modem-qmi: avoid using NULL pointer coming from an
+ empty GArray
+
+ src/mm-broadband-modem-qmi.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 3a76c0df5790dc4cd2019bd67b1e36c7f4114b32
+Author: Greg Suarez <gpsuarez2512@gmail.com>
+Date: Thu Oct 23 13:15:17 2014 -0700
+
+ bearer-mbim: Implement report_connection_status() to set the port
+ as disconnected
+
+ When the MBIM modem unexpectedly loses connection the port state never
+ gets set as disconnected thus when trying to reestablish a new
+ connection the bearer cannot find a port in the disconnected state.
+
+ Signed-off-by: Greg Suarez <gpsuarez2512@gmail.com>
+
+ src/mm-bearer-mbim.c | 27 +++++++++++++++++++++++++--
+ 1 file changed, 25 insertions(+), 2 deletions(-)
+
+commit 046d9141c4277ac4b66c227a6e4649b1276f6a71
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 28 11:46:51 2014 -0500
+
+ blacklist: ignore GW Instek AFG-2225 arbitrary waveform generator
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit a72b120798e7298e039acbf1144272ec5f54dc0e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Oct 17 15:55:12 2014 +0200
+
+ tests,fixture: fix comment
+
+ plugins/tests/test-fixture.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f2fa7a7fbf739ad38e0c10338bbcc59818c7670e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Oct 15 18:29:18 2014 +0200
+
+ qcdm: don't retry probing if QCDM unescaping fails
+
+ But keep the retries when the frame marker isn't found.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=708861
+
+ include/ModemManager-errors.h | 2 ++
+ src/mm-port-probe.c | 3 +++
+ src/mm-port-serial-qcdm.c | 10 +++++-----
+ src/tests/test-qcdm-serial-port.c | 3 ++-
+ 4 files changed, 12 insertions(+), 6 deletions(-)
+
+commit 41b7e7b048e67a0b329c820c81beccf42bf0957e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 7 15:53:53 2014 -0500
+
+ port-serial: fix forced closing after b28230411
+
+ b28230411 moved up the self->priv->forced_close = TRUE, which
+ caused mm_port_serial_close() to just return without actually
+ closing the port and cleaning up.
+
+ Also, cancel the reopen separately from closing the port since
+ the two operations are actually independent of each other.
+
+ src/mm-port-serial.c | 43 +++++++++++++++++++++++--------------------
+ 1 file changed, 23 insertions(+), 20 deletions(-)
+
+commit 1e5ec7e1b147fc6dd2227d7ebf7510a96eb0503e
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 3 13:42:49 2014 -0700
+
+ tests: increase timeout for starting ModemManager on test bus
+
+ The timeout for starting ModemManager on the test bus was 3s, which is
+ sufficient under normal conditions. However, when running ModemManager
+ tests on a build infrastructure under a heavy load, we've observed
+ that
+ the timeout isn't always sufficient and that becomes the source
+ of false
+ test failures. This patch increases the timeout to 30s, which
+ shouldn't
+ introduce any unexpected behavior under normnal conditions while
+ addressing the timeout issue on heavily loaded systems.
+
+ plugins/tests/test-fixture.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8718ed53bee53519fb11f313dfbe55be527f6d76
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Sep 15 10:56:36 2014 +0200
+
+ build: remove --with-newest-qmi-commands configure option
+
+ We don't want people to use the logic enabled by this switch, so
+ remove it from
+ configure to avoid confusions. Developers can still enable the
+ related code by
+ defining WITH_NEWEST_QMI_COMMANDS via CFLAGS; e.g.:
+
+ $ NOCONFIGURE=1 ./autogen.sh
+ $ ./configure CFLAGS="-DWITH_NEWEST_QMI_COMMANDS"
+
+ configure.ac | 20 --------------------
+ 1 file changed, 20 deletions(-)
+
+commit 340ff7dce3517b2b476a408572794e5206f43bac
+Author: David McCullough <david.mccullough@accelecon.com>
+Date: Thu Sep 11 12:00:33 2014 +1000
+
+ broadband-modem-qmi: fix registration state when built with
+ --with-newest-qmi-commands
+
+ This patch fixes the registration reporting/checking when ModemManager
+ is
+ built with --with-newest-qmi-commands. apply_cs and apply_ps were not
+ properly initialised and may never be true. Also fixes a CnP error for
+ mm_ps_registration_state.
+
+ Signed-off-by: David McCullough <david.mccullough@accelecon.com>
+
+ src/mm-broadband-modem-qmi.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 84db93956591947843f640d11ab474c77486f6b5
+Author: David McCullough <david.mccullough@accelecon.com>
+Date: Thu Sep 11 11:55:01 2014 +1000
+
+ broadband-modem-qmi: fix signal strength when built with
+ --with-newest-qmi-commands
+
+ This patch fixes the signal strength values when using ModemManager
+ built
+ with --with-newest-qmi-commands.
+
+ It was never getting a valid signal strength because the default
+ (0) is
+ always greater than a valid signal strength, and the rssi_max handling
+ was completely wrong.
+
+ Signed-off-by: David McCullough <david.mccullough@accelecon.com>
+
+ src/mm-broadband-modem-qmi.c | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+commit fd7d0a08f73cb0f8e7166dd34bc713ec0089f62f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 19:07:53 2014 +0100
+
+ broadband-modem-qmi: implement A-GPS enabling/disabling
+
+ src/mm-broadband-modem-qmi.c | 371
+ ++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 310 insertions(+), 61 deletions(-)
+
+commit 75f35cdb9edd0a9822b8af62cd3c36e8de95c655
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 17:58:09 2014 +0100
+
+ broadband-modem-qmi: implement SUPL server setting
+
+ src/mm-broadband-modem-qmi.c | 139
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 139 insertions(+)
+
+commit 8d2b4fa5f9fb5e926cfa49231051ce09b8426bb3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 15:32:15 2014 +0100
+
+ broadband-modem-qmi: implement SUPL server loading
+
+ src/mm-broadband-modem-qmi.c | 129
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 129 insertions(+)
+
+commit 836892902e73c7046f2f2352d711e44d05675afb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 15:31:54 2014 +0100
+
+ broadband-modem-qmi: A-GPS available by default
+
+ Also bump libqmi requirement to 1.11.1, which is the one exposing
+ the new A-GPS
+ related commands.
+
+ configure.ac | 2 +-
+ src/mm-broadband-modem-qmi.c | 7 +++++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+commit 63f2e72c6c14ecef88d0a89b48729876b3cec931
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 12:20:56 2014 +0100
+
+ iface-modem-location: load SUPL server setup when initializing
+ interface
+
+ src/mm-iface-modem-location.c | 41
+ ++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-location.h | 8 ++++++++
+ 2 files changed, 48 insertions(+), 1 deletion(-)
+
+commit d20f3e5d6002cb64d5e0f55fc1085b889da75c3f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 12:15:32 2014 +0100
+
+ iface-modem-location: handle setting SUPL server
+
+ src/mm-iface-modem-location.c | 116
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-location.h | 9 ++++
+ 2 files changed, 125 insertions(+)
+
+commit 72f4aa75d79b22cdcfec4612d7ab9916c4660181
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 12:04:35 2014 +0100
+
+ cli,location: allow enabling/disabling A-GPS
+
+ cli/mmcli-modem-location.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+commit 9dc5cdf78e528603f52c56cd9da9bfe0dd41d746
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 11:58:48 2014 +0100
+
+ cli,location: allow getting/setting SUPL server address
+
+ cli/mmcli-modem-location.c | 65
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 64 insertions(+), 1 deletion(-)
+
+commit cd5ca169f1a4d9de1fd6802a4c735ffec634a245
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 11:51:03 2014 +0100
+
+ libmm-glib,location: add helpers to get/set the SUPL server address
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 5 +
+ libmm-glib/mm-modem-location.c | 122
+ ++++++++++++++++++++++
+ libmm-glib/mm-modem-location.h | 16 +++
+ 3 files changed, 143 insertions(+)
+
+commit fbeee20d5b7789bd0bcd4e4ab1dce784390e5ebd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 11:10:53 2014 +0100
+
+ introspection,api: add SUPL server configuration in the Location
+ interface
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 7 ++++++
+ include/ModemManager-enums.h | 2 ++
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 25
+ ++++++++++++++++++++++
+ src/mm-iface-modem-location.c | 10 ++++++---
+ 4 files changed, 41 insertions(+), 3 deletions(-)
+
+commit 02961c388b54fe3a00419004d2e9f1ce6025751c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Sep 5 11:19:05 2014 +0200
+
+ docs,man: renew the ModemManager man page and add several missing
+ commands
+
+ docs/man/ModemManager.8 | 70
+ +++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 47 insertions(+), 23 deletions(-)
+
+commit c4e7fdf02530f13c037945d6abe70c3e11277df5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Sep 5 11:18:01 2014 +0200
+
+ core: add --version option to the ModemManager daemon
+
+ It was actually included in the man page of the daemon, but we didn't
+ have it.
+
+ src/main.c | 4 ----
+ src/mm-context.c | 19 +++++++++++++++++++
+ src/mm-context.h | 5 +++++
+ 3 files changed, 24 insertions(+), 4 deletions(-)
+
+commit 50ec0907de15cb6311088b81d0181b10943772bc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Apr 7 14:10:50 2014 +0200
+
+ zte: blacklist QMI and net interface in the MF60
+
+ The MF60 exposes a QMI+net pair, but they are unusable as the
+ WDS service
+ returns error when e.g. launching a connection.
+
+ So, fallback to AT+PPP in this device.
+
+ plugins/zte/77-mm-zte-port-types.rules | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 31f81725e628fd94233e62752ec386215d2b9e13
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Sep 5 09:33:38 2014 +0200
+
+ plugin: allow to explicitly ignore any kind of port via udev
+
+ The new 'ID_MM_PORT_IGNORE' tag will tell ModemManager to fully
+ avoid using a
+ given port.
+
+ Note that it is key to not only flag the port probe as ignored,
+ but also to
+ fully ignore the ports in e.g. mm_port_probe_list_has_qmi_port()
+ as those
+ methods will be used to decide which kind of modem object to
+ create. We don't
+ want to create a QMI-based modem which may have all QMI ports
+ blacklisted.
+
+ src/mm-plugin.c | 13 +++++++++++++
+ src/mm-port-probe.c | 26 +++++++++++++++++++++++---
+ src/mm-port-probe.h | 1 +
+ 3 files changed, 37 insertions(+), 3 deletions(-)
+
+commit 8450e563bb79bd1e300bba1d2e89c6d39a173694
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Sep 5 08:52:22 2014 +0200
+
+ plugin: if no QMI or no MBIM still grab the WWAN ports, flagged
+ as ignored
+
+ E.g. this would be the result when having ModemManager compiled
+ without QMI
+ support, and a modem with 2 QMI/WWAN pairs:
+
+ $ mmcli -m 2
+
+ /org/freedesktop/ModemManager1/Modem/2 (device id
+ '417e4dcff7f232b62cfe6c972e2099701848fd7f')
+ -------------------------
+ Hardware | manufacturer: 'Sierra Wireless, Incorporated'
+ | model: 'MC7304'
+ | revision: 'SWI9X15C_05.05.02.00 r19147
+ carmd-fwbuild1 2013/11/15 13:54:28'
+ | supported: 'gsm-umts'
+ | current: 'gsm-umts'
+ | equipment id: 'unknown'
+ -------------------------
+ System | device:
+ '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7'
+ | drivers: 'qcserial, qmi_wwan'
+ | plugin: 'Gobi'
+ | primary port: 'ttyUSB8'
+ | ports: 'ttyUSB8 (at), wwp0s29u1u7i8
+ (unknown), ttyUSB6 (qcdm), wwp0s29u1u7i10 (unknown)'
+
+ The /dev/cdc-wdm ports don't even appear (as they were not even
+ probed), but the
+ newly ignored WWAN ports do appear in the list, but flagged as
+ UNKNOWN type
+ (instead of NET).
+
+ src/mm-plugin.c | 24 ++++++++++++++++--------
+ 1 file changed, 16 insertions(+), 8 deletions(-)
+
+commit d2544ac044aea6b24e2f60e71fb3c1291552a2f9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Sep 5 08:47:30 2014 +0200
+
+ base-modem: always grab ports marked as ignored
+
+ Modems may expose ports that are either just not used (e.g. modems
+ exposing more
+ than 2 functional AT ports) or explicitly avoided (e.g. WWAN ports
+ when we don't
+ know how to use them).
+
+ Those kind of ports are part of the modem, but not used by
+ ModemManager. Still,
+ ModemManager should list them in the list of ports available for
+ the modem, with
+ IGNORED type.
+
+ src/mm-base-modem.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit a22681ba99f8249a5d516dca773b125c0bdf0912
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 27 13:45:10 2014 +0200
+
+ port-mbim: use the mbim-proxy by default
+
+ src/mm-port-mbim.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 1acfb0ad2f37df03c4d76627792a247750ae0278
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 22 18:11:27 2014 +0200
+
+ build: post release version bump to 1.5.0 (development)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a2a71317015e6bcf600bbf131c629e62c5859b1c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 22 16:56:05 2014 +0200
+
+ release: bump version to 1.4.0
+
+ NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 6 +++---
+ 2 files changed, 46 insertions(+), 3 deletions(-)
+
+commit 8fcfae43e0316dab0086a7ae535b4f383b31fed8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Aug 22 16:52:31 2014 +0200
+
+ AUTHORS: update from git log
+
+ $ git shortlog -s -n
+
+ AUTHORS | 74
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 71 insertions(+), 3 deletions(-)
+
+commit 0c6f1ae6c4bae4b4d82d015f6940e0448749aee3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 18 09:47:59 2014 -0500
+
+ qmi: always use DHCP for IPv4 configuration instead of STATIC
+
+ Some newer modems (Huawei E1750, Sierra 73xx) provide what looks like
+ legitimate static IPv4 configuration through the WDSGetCurrentSettings
+ call, but when configured the interface does not pass traffic.
+ Running
+ DHCP on the same interface provides a slightly different IPv4
+ configuration but does allow traffic to pass.
+
+ Since QMI was switched to static originally for consistency with IPv6
+ and for speed of IP configuration (since DHCP takes a bit of time),
+ but
+ not for any known problems with modems, let's switch back to DHCP
+ until
+ we have time to figure out what's actually going on.
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b03e1cfd582d433694ac9b4f13e9e2757da61348
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Aug 13 20:04:03 2014 +0200
+
+ bearer-qmi: allow forcing DHCP instead of static IP config
+
+ src/mm-bearer-qmi.c | 154
+ +++++++++++++++++++++++++++++++------------
+ src/mm-bearer-qmi.h | 5 +-
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 3 files changed, 117 insertions(+), 44 deletions(-)
+
+commit 46696114124d1a69cd3d90ba83abff36014a7326
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Aug 11 12:42:38 2014 -0700
+
+ broadband-modem,plugins: fix GMatchInfo leaks
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 2 ++
+ plugins/mtk/mm-broadband-modem-mtk.c | 5 +++--
+ plugins/novatel/mm-broadband-modem-novatel.c | 1 +
+ plugins/x22x/mm-broadband-modem-x22x.c | 1 +
+ src/mm-broadband-modem.c | 1 +
+ 5 files changed, 8 insertions(+), 2 deletions(-)
+
+commit da933468c81d45fa1eb8a80b926b5fe06876ebef
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 11 18:31:27 2014 +0200
+
+ huawei: minor style fixes
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit bd0ffd24f1c95a1974176a1cc0eb6f3444f45e8e
+Author: David McCullough <david.mccullough@accelecon.com>
+Date: Wed Aug 6 17:30:22 2014 +1000
+
+ huawei: improve support for network time on Huawei modules
+
+ Third revision of Huawei nwtime support. Takes on feedback from the
+ mailing list including helpers, some basic tests and use of the ^NTCT
+ command to determine network time support (^NWTIME). Expanded test
+ cases,
+ more use of g_assert and more logical helper return values/errors.
+
+ Signed-off-by: David McCullough <david.mccullough@accelecon.com>
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 168
+ ++++++++++++++---------
+ plugins/huawei/mm-modem-helpers-huawei.c | 151
+ ++++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 16 +++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 134 ++++++++++++++++++
+ 4 files changed, 404 insertions(+), 65 deletions(-)
+
+commit 8c4318d87a5cc604d04913c66ac3e4ebda10bc18
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 11 10:45:41 2014 -0500
+
+ iface-mode: downgrade "access technology changed" message to debug
+
+ We have a report of a modem that switches access technologies
+ frequently,
+ in this case almost every 10 seconds. While that's unusual, it's not
+ unexpected depending on the RF environment. We shouldn't spam syslog
+ with that info; if we need it we can get it with mmcli.
+
+ src/mm-iface-modem.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 31695a3912ee396836b6af017f9eb9a0b2d46073
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 5 09:52:20 2014 -0500
+
+ build: INCLUDES -> AM_CPPFLAGS to quiet automake warning
+
+ docs/reference/api/Makefile.am | 2 +-
+ docs/reference/libmm-glib/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 3dd6f931330e75a644d92e8f96f3268fc39938ae
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Aug 4 15:20:57 2014 +0200
+
+ build: require libmbim 1.10.0
+
+ We were depending on some new MbimNwError values defined at some
+ point in the
+ 1.9 development series. Depend on the new stable 1.10 version now
+ that it's been
+ released.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b8138d93f5b56ea5681a6f5dd3629a4ec1a78879
+Author: David McCullough <david.mccullough@accelecon.com>
+Date: Tue Jul 29 09:34:44 2014 +1000
+
+ libmbim-glib: handle explicit '+' on positive numbers
+
+ libmm-glib/mm-common-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f203b1bf00f6dbf37d6fb11be869ecdfcd4f7397
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 27 13:55:10 2014 +0200
+
+ plugin: improve probing decision logic for QMI and MBIM
+
+ So, we may have modems with multiple /dev/cdc-wdm ports, like
+ Ericsson modems,
+ where only 1 of them is MBIM. With the previous logic, we would
+ probe all
+ /dev/cdc-wdm ports for MBIM as soon as one of the ports was handled
+ by the
+ cdc_mbim driver. That is totally not optimal, as we are already know
+ that they
+ are not MBIM (not handled by cdc_mbim).
+
+ Instead, fix the logic to just probe for MBIM or QMI if the actual
+ driver
+ managing the port is MBIM or QMI.
+
+ src/mm-plugin.c | 19 ++-----------------
+ 1 file changed, 2 insertions(+), 17 deletions(-)
+
+commit 0284daf87e8f0ba780a4dcbe4741713cb3c779eb
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 17 00:19:41 2014 -0700
+
+ broadband-modem-mbim: increase timeout for powering modem up and down
+
+ It's been observed that some modems occasionally take a long time to
+ power down (which may be due to some shutdown sequence that involves
+ communicating with network). This patch increases the timeout for
+ powering modem up and down from 10s to 20s.
+
+ src/mm-broadband-modem-mbim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8a56cd4c2a0578ee2a191c89926bb36bb55da80e
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 17 00:19:42 2014 -0700
+
+ bearer-mbim: increase disconnect timeout
+
+ It's been observed that modems may take a long time to disconnect from
+ the network under certain network conditions. This patch increases the
+ timeout for the MBIM_CID_CONNECT set command in the disconnect
+ sequence
+ from 10s to 30s.
+
+ src/mm-bearer-mbim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c8572c8098d02dfb8102028e055f29d35c878719
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 11 18:56:37 2014 +0200
+
+ polkit: fix Location.Setup() authorization rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e5920efe092ea41965ecf11fc98193e18bd502b3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 11 11:51:38 2014 +0200
+
+ broadband-modem-mbim: VZ20M returns ERROR_PIN_REQUIRED in PIN query
+ response
+
+ VID/PID: 258d:e000
+
+ Instead of returning success and the PIN type + PIN status +
+ Remaining attempts,
+ this modem returns a plain ERROR_PIN_REQUIRED error, so try to
+ handle that...
+
+ src/mm-broadband-modem-mbim.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 6062462dcb8f68aff25607b742e05a4a53148c79
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 9 11:58:46 2014 +0200
+
+ broadband-modem-mbim: reset strings to NULL, not 0
+
+ src/mm-broadband-modem-mbim.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 0be8808cbd6cd490d842876cefd249796838b377
+Author: kuonirat <konrad.procak@gmail.com>
+Date: Tue Jul 8 16:15:18 2014 +0200
+
+ broadband-modem-mbim: update_registration_info immune to null
+ pointers passed
+
+ src/mm-broadband-modem-mbim.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 5358d6fea0b27ae4c71de6ce0b4d71060906216e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 6 16:50:30 2014 +0200
+
+ sim: rename 'MMSim' to 'MMBaseSim'
+
+ Just so that we don't have same header names in src/ and /libmm-glib.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
+ plugins/huawei/mm-sim-huawei.c | 34 +--
+ plugins/huawei/mm-sim-huawei.h | 18 +-
+ plugins/iridium/mm-broadband-modem-iridium.c | 2 +-
+ plugins/iridium/mm-sim-iridium.c | 28 +--
+ plugins/iridium/mm-sim-iridium.h | 18 +-
+ plugins/mbm/mm-broadband-modem-mbm.c | 2 +-
+ plugins/mbm/mm-sim-mbm.c | 30 +--
+ plugins/mbm/mm-sim-mbm.h | 18 +-
+ plugins/nokia/mm-broadband-modem-nokia.c | 2 +-
+ plugins/nokia/mm-sim-nokia.c | 24 +-
+ plugins/nokia/mm-sim-nokia.h | 18 +-
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 2 +-
+ plugins/novatel/mm-sim-novatel-lte.c | 22 +-
+ plugins/novatel/mm-sim-novatel-lte.h | 18 +-
+ plugins/pantech/mm-broadband-modem-pantech.c | 2 +-
+ plugins/pantech/mm-sim-pantech.c | 30 +--
+ plugins/pantech/mm-sim-pantech.h | 18 +-
+ plugins/sierra/mm-common-sierra.c | 2 +-
+ plugins/sierra/mm-common-sierra.h | 13 +-
+ plugins/sierra/mm-sim-sierra.c | 22 +-
+ plugins/sierra/mm-sim-sierra.h | 18 +-
+ src/Makefile.am | 4 +-
+ src/{mm-sim.c => mm-base-sim.c} | 282
+ +++++++++++------------
+ src/mm-base-sim.h | 168 ++++++++++++++
+ src/mm-broadband-modem-mbim.c | 2 +-
+ src/mm-broadband-modem-qmi.c | 2 +-
+ src/mm-broadband-modem.c | 20 +-
+ src/mm-iface-modem-3gpp.c | 6 +-
+ src/mm-iface-modem-simple.c | 16 +-
+ src/mm-iface-modem.c | 22 +-
+ src/mm-iface-modem.h | 8 +-
+ src/mm-sim-mbim.c | 80 +++----
+ src/mm-sim-mbim.h | 18 +-
+ src/mm-sim-qmi.c | 72 +++---
+ src/mm-sim-qmi.h | 18 +-
+ src/mm-sim.h | 168 --------------
+ 37 files changed, 614 insertions(+), 615 deletions(-)
+
+commit a29382be70ead81b31a1e7f14ad6fc0984082536
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 6 16:20:47 2014 +0200
+
+ sms: rename 'MMSms' to 'MMBaseSms'
+
+ Just so that we don't have same header names in src/ and /libmm-glib.
+
+ src/Makefile.am | 4 +-
+ src/{mm-sms.c => mm-base-sms.c} | 276
+ ++++++++++++++++++++--------------------
+ src/mm-base-sms.h | 126 ++++++++++++++++++
+ src/mm-broadband-modem-mbim.c | 2 +-
+ src/mm-broadband-modem-qmi.c | 2 +-
+ src/mm-broadband-modem.c | 4 +-
+ src/mm-iface-modem-messaging.c | 12 +-
+ src/mm-iface-modem-messaging.h | 6 +-
+ src/mm-sms-list.c | 80 ++++++------
+ src/mm-sms-list.h | 2 +-
+ src/mm-sms-mbim.c | 48 +++----
+ src/mm-sms-mbim.h | 8 +-
+ src/mm-sms-qmi.c | 66 +++++-----
+ src/mm-sms-qmi.h | 8 +-
+ src/mm-sms.h | 129 -------------------
+ 15 files changed, 384 insertions(+), 389 deletions(-)
+
+commit 3ca267b01f5496e1d03f31801a14a383acbd33a2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 6 15:55:34 2014 +0200
+
+ bearer: rename 'MMBearer' to 'MMBaseBearer'
+
+ Just so that we don't have same header names in src/ and /libmm-glib.
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 12 +-
+ plugins/altair/mm-broadband-bearer-altair-lte.h | 16 +-
+ plugins/altair/mm-broadband-modem-altair-lte.c | 12 +-
+ plugins/huawei/mm-broadband-bearer-huawei.c | 40 ++--
+ plugins/huawei/mm-broadband-bearer-huawei.h | 14 +-
+ plugins/huawei/mm-broadband-modem-huawei.c | 20 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 28 +--
+ plugins/icera/mm-broadband-bearer-icera.h | 16 +-
+ plugins/icera/mm-broadband-modem-icera.c | 16 +-
+ plugins/iridium/mm-bearer-iridium.c | 30 +--
+ plugins/iridium/mm-bearer-iridium.h | 10 +-
+ plugins/iridium/mm-broadband-modem-iridium.c | 8 +-
+ plugins/mbm/mm-broadband-bearer-mbm.c | 22 +--
+ plugins/mbm/mm-broadband-bearer-mbm.h | 14 +-
+ plugins/mbm/mm-broadband-modem-mbm.c | 12 +-
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 20 +-
+ plugins/novatel/mm-broadband-bearer-novatel-lte.h | 14 +-
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 6 +-
+ plugins/option/mm-broadband-bearer-hso.c | 28 +--
+ plugins/option/mm-broadband-bearer-hso.h | 14 +-
+ plugins/option/mm-broadband-modem-hso.c | 14 +-
+ plugins/sierra/mm-broadband-bearer-sierra.c | 16 +-
+ plugins/sierra/mm-broadband-bearer-sierra.h | 16 +-
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 8 +-
+ plugins/sierra/mm-broadband-modem-sierra.c | 8 +-
+ src/Makefile.am | 10 +-
+ src/{mm-bearer.c => mm-base-bearer.c} | 227
+ +++++++++++-----------
+ src/{mm-bearer.h => mm-base-bearer.h} | 97 ++++-----
+ src/mm-bearer-list.c | 24 +--
+ src/mm-bearer-list.h | 10 +-
+ src/mm-bearer-mbim.c | 42 ++--
+ src/mm-bearer-mbim.h | 12 +-
+ src/mm-bearer-qmi.c | 46 ++---
+ src/mm-bearer-qmi.h | 10 +-
+ src/mm-broadband-bearer.c | 64 +++---
+ src/mm-broadband-bearer.h | 24 +--
+ src/mm-broadband-modem-mbim.c | 16 +-
+ src/mm-broadband-modem-qmi.c | 12 +-
+ src/mm-broadband-modem.c | 8 +-
+ src/mm-iface-modem-simple.c | 50 ++---
+ src/mm-iface-modem.c | 24 +--
+ src/mm-iface-modem.h | 22 +--
+ 42 files changed, 554 insertions(+), 558 deletions(-)
+
+commit ff478e301ea82b0c41776b80c478312bc52a721e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jul 6 13:23:37 2014 +0200
+
+ manager: rename 'MMManager' to 'MMBaseManager'
+
+ Just so that we don't have same header names in src/ and /libmm-glib.
+
+ src/Makefile.am | 4 +-
+ src/main.c | 28 ++++-----
+ src/{mm-manager.c => mm-base-manager.c} | 104
+ ++++++++++++++++----------------
+ src/mm-base-manager.h | 64 ++++++++++++++++++++
+ src/mm-manager.h | 64 --------------------
+ 5 files changed, 132 insertions(+), 132 deletions(-)
+
+commit 07fd7faea5a24fb1a17e60820cdbd4ee7c8788cc
+Author: David McCullough <david.mccullough@accelecon.com>
+Date: Sat Jul 5 01:44:51 2014 +1000
+
+ huawei: enable GPS_UNMANAGED for Huawei modems
+
+ Signed-off-by: David McCullough <david.mccullough@accelecon.com>
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 137
+ ++++++++++++++++-------------
+ 1 file changed, 78 insertions(+), 59 deletions(-)
+
+commit 054c77224d6d97de03c864d64695b5330991e36e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 4 09:52:19 2014 +0200
+
+ option,hso: add missing GPS unamanged capability
+
+ plugins/option/mm-broadband-modem-hso.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit b7cf21dc24d56ec7e5617082480c95fde2cd1525
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jul 4 09:47:49 2014 +0200
+
+ huawei: close GPS port once GPS has been disabled
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit f6b0fd3f7bc75bceb6c09e0f1c7fadaa82b53d9c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue May 13 19:05:07 2014 +0200
+
+ libqcdm: new 'reset' tester
+
+ Just like 'modepref', but not doing any mode changes, just
+ OFFLINE+RESET.
+
+ .gitignore | 2 +
+ libqcdm/tests/Makefile.am | 11 +-
+ libqcdm/tests/reset.c | 260
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 272 insertions(+), 1 deletion(-)
+
+commit d73b633639d1549b8543282a4af5a8906e645233
+Author: David McCullough <david.mccullough@accelecon.com>
+Date: Wed Jul 2 21:26:16 2014 +1000
+
+ huawei: GPS support for MU609/MU909
+
+ Implement GPS support on the MU609 and MU090 Huawei modules.
+ Its highly likely the commands are the same for other Huawei modems
+ and it just needs to be activated via udev rules that flag the
+ GPS port
+ with ID_MM_HUAWEI_GPS_PORT=1.
+
+ There are a lot of options that can be tweaked on the Huawei GPS
+ setup,
+ this code just chooses a simple default for unassisted, standalone GPS
+ operation.
+
+ Signed-off-by: David McCullough <david.mccullough@accelecon.com>
+
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 5 +
+ plugins/huawei/mm-broadband-modem-huawei.c | 322
+ +++++++++++++++++++++++
+ plugins/huawei/mm-plugin-huawei.c | 12 +-
+ 3 files changed, 337 insertions(+), 2 deletions(-)
+
+commit 09eb87f8994551e11ab3844101a4302fa0a3cb99
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 2 12:21:01 2014 +0200
+
+ cinterion: allow 'unmanaged' GPS setup
+
+ plugins/cinterion/mm-common-cinterion.c | 67
+ ++++++++++++++++++++++-----------
+ 1 file changed, 44 insertions(+), 23 deletions(-)
+
+commit 40cdf3bac4e21f20d881f16de38141f66a4b32a1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jul 2 12:12:03 2014 +0200
+
+ option,hso: print port type before parsing
+
+ plugins/option/mm-plugin-hso.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d43363ef14de14bb944c531ad7a00894f650bcb3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 27 10:41:26 2014 +0200
+
+ option,hso: allow 'unmanaged' GPS setup
+
+ plugins/option/mm-broadband-modem-hso.c | 145
+ ++++++++++++++++++--------------
+ 1 file changed, 83 insertions(+), 62 deletions(-)
+
+commit ad67d68179263355510306c500f31a4d7f8cd87d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 27 10:28:16 2014 +0200
+
+ location: new 'unmanaged' GPS setup
+
+ Standard GPS setup (raw/nmea) will both enable the GPS module and
+ take full
+ control of the GPS port. This prevents other processes from reading
+ the NMEA
+ traces from e.g. a tty. In order to handle this, a new 'unmanaged'
+ GPS location
+ source is introduced, which will just enable/disable the GPS module,
+ without
+ reading anything from the GPS port. Of course, both raw/nmea and
+ unmanaged
+ setups cannot be enabled at the same time.
+
+ cli/mmcli-modem-location.c | 28 +++++++++++++++++++++++++---
+ docs/man/mmcli.8 | 7 +++++++
+ include/ModemManager-enums.h | 12 +++++++-----
+ src/mm-iface-modem-location.c | 28 +++++++++++++++++++++++++---
+ 4 files changed, 64 insertions(+), 11 deletions(-)
+
+commit 915a5beac0e10b0246adc9eefdb2dc29eb2c071e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 1 16:30:18 2014 -0500
+
+ bearer-mbim: ignore empty DNS server addresses
+
+ src/mm-bearer-mbim.c | 30 ++++++++++++++++++------------
+ 1 file changed, 18 insertions(+), 12 deletions(-)
+
+commit 15a3ebbd354017347d3d296980c7a7460c916bae
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Jul 1 15:46:12 2014 +0200
+
+ cinterion: enable GPS location reporting for the PHS8 in QMI-mode
+
+ The PHS8 in QMI-mode doesn't support GPS location retrieval via QMI,
+ so we will
+ fallback to use the AT-based setup and the TTY for reading NMEA
+ traces.
+
+ plugins/Makefile.am | 9 +
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 344 +---------------
+ .../cinterion/mm-broadband-modem-qmi-cinterion.c | 92 +++++
+ .../cinterion/mm-broadband-modem-qmi-cinterion.h | 48 +++
+ plugins/cinterion/mm-common-cinterion.c | 445
+ +++++++++++++++++++++
+ plugins/cinterion/mm-common-cinterion.h | 51 +++
+ plugins/cinterion/mm-plugin-cinterion.c | 12 +-
+ 7 files changed, 666 insertions(+), 335 deletions(-)
+
+commit ce5c3f5af6bac03421e329900f0a1eaa1f775eb0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 27 14:17:57 2014 +0200
+
+ ifaces: always include <libmm-glib.h>
+
+ As they all use the 'MMSimpleStatus' type.
+
+ src/mm-iface-modem-firmware.h | 3 +++
+ src/mm-iface-modem-location.h | 3 +++
+ src/mm-iface-modem-messaging.h | 3 +++
+ src/mm-iface-modem-oma.h | 3 +++
+ src/mm-iface-modem-time.h | 3 +++
+ 5 files changed, 15 insertions(+)
+
+commit 83c8db88193e910981c06ea0d35c3b182dddb49d
+Author: David McCullough <david.mccullough@accelecon.com>
+Date: Mon Jun 30 17:10:01 2014 +1000
+
+ huawei: avoid AT^GETPORTMODE in Huawei MU609
+
+ The MU609 modems from Huawei have a bug (confirmed by Huawei)
+ that causes
+ the modem to reset if AT^GETPORTMODE is issued.
+
+ I have provided and example udev rule I use to disable this command
+ as a
+ patch, feel free to drop that if its not acceptable. Since I
+ cannot tell
+ the modem type from within the udev rules this is less specific
+ than my
+ previous code based patch, but much simpler ;-)
+
+ I have two modems that share the same USB ID, however, neither
+ supports the
+ ^GETPORTMODE command (and one of them crashes when it is issued).
+ Perhaps
+ someone with a Huawei that supports ^GETPORTMODE can check their
+ USB ID's
+ and see if they clash.
+
+ Here is a comment from the Huawei devs:
+ > We confirmed this is a issue. This is Qualcomm baseband command
+ at Data
+ > Card. We didn’t delete and block it. We will fix this issue in
+ next FW.
+ > Thank you very much.
+
+ Sign-off-by: David McCullough <david.mccullough@accelecon.com>
+
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 3 +++
+ plugins/huawei/mm-plugin-huawei.c | 4 +++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 8f837b830d5f636a113bacc8c552f990766694fa
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 27 12:58:50 2014 +0200
+
+ cinterion: enable GPS location reporting for the PHS8 in AT-mode
+
+ This enables support for GPS location reporting when the PHS8 is
+ NOT used in QMI
+ mode.
+
+ plugins/Makefile.am | 2 +
+ plugins/cinterion/77-mm-cinterion-port-types.rules | 11 +
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 347
+ ++++++++++++++++++++-
+ plugins/cinterion/mm-plugin-cinterion.c | 19 +-
+ 4 files changed, 376 insertions(+), 3 deletions(-)
+
+commit e0f3716d2627dead7c8cb5f8f59fa2c126a86d72
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 27 09:08:42 2014 +0200
+
+ modem-helpers: don't return any result if an error happens when
+ parsing CPMS=?
+
+ We shouldn't rely on the caller to cleanup intermediate results
+ when returning
+ an error.
+
+ src/mm-modem-helpers.c | 42
+ ++++++++++++++++++++++++++++++------------
+ src/tests/test-modem-helpers.c | 6 +++---
+ 2 files changed, 33 insertions(+), 15 deletions(-)
+
+commit 4406b1e6ece6507518362cf5fdb53d09243ddfb8
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jun 25 17:40:06 2014 +0200
+
+ modem-helpers: improve +CMTI indication regex
+
+ Allow whitespaces added in several places, like between the comma
+ and the index,
+ which is what the Cinterion PHS8 does:
+ <CR><LF>+CMTI: "MT", 5<CR><LF>
+
+ src/mm-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9637c1ed3825673103fbbf10005f4547682fbf56
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jun 25 15:39:45 2014 +0200
+
+ cinterion: update default setting for new SMS indications
+
+ The setup in Cinterion modems goes as follows:
+ AT+CNMI=<mode>[, <mt>[, <bm>[, <ds>[, <bfr>]]]]
+
+ For each field, several setups are available, so we could use a
+ default value,
+ as we were doing until now (+CNMI=2,1,2,2,1).
+
+ BUT, not every Cinterion modem allows the same set of settings. For
+ example, the
+ new PHS8 only allows '0' for the <ds> value:
+ AT+CNMI=?
+ +CNMI: (0,1,2),(0,1),(0,2),(0),(1)
+
+ So, instead of hardcoding the setup, try to find the best suitable
+ one for each
+ modem. We'll parse the +CNMI=? test response to know which values
+ are supported
+ during the messaging support check, which is run once during
+ initialization.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 224
+ ++++++++++++++++++++++-
+ 1 file changed, 215 insertions(+), 9 deletions(-)
+
+commit 58d2806f4cceba6adde76d5df8f0781129bc7e1f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jun 25 15:04:09 2014 +0200
+
+ cinterion: new 'AT+CNMI=?' parser helper
+
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 149
+ +++++++++++++++++++++
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 11 ++
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 118 ++++++++++++++++
+ 3 files changed, 278 insertions(+)
+
+commit 08ecc147221b6f02c6db83d16b7c241efdfbc91e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jun 22 17:54:33 2014 +0200
+
+ base-modem: quicker find matching cdc-wdm QMI or MBIM ports
+
+ src/mm-base-modem.c | 250
+ ++++++++++------------------------------------------
+ 1 file changed, 48 insertions(+), 202 deletions(-)
+
+commit b520503686ced256146335d6e51bab5c150188d1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jun 22 17:41:04 2014 +0200
+
+ huawei: quicker find matching cdc-wdm AT port
+
+ Without using a new GUdevClient.
+
+ Based on a patch from Dan Williams <dcbw@redhat.com>
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 83
+ ++++++------------------------
+ 1 file changed, 15 insertions(+), 68 deletions(-)
+
+commit 7c347aa3ec1d5540c23c20dcb5edd3c6ccb28c24
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jun 22 17:29:50 2014 +0200
+
+ port: store parent sysfs path in each MMPort
+
+ plugins/cinterion/mm-plugin-cinterion.c | 1 +
+ plugins/huawei/mm-plugin-huawei.c | 1 +
+ plugins/longcheer/mm-plugin-longcheer.c | 1 +
+ plugins/mtk/mm-plugin-mtk.c | 3 ++-
+ plugins/nokia/mm-plugin-nokia-icera.c | 1 +
+ plugins/option/mm-plugin-hso.c | 6 +++---
+ plugins/option/mm-plugin-option.c | 1 +
+ plugins/pantech/mm-plugin-pantech.c | 1 +
+ plugins/sierra/mm-plugin-sierra.c | 1 +
+ plugins/simtech/mm-plugin-simtech.c | 1 +
+ plugins/telit/mm-plugin-telit.c | 1 +
+ plugins/x22x/mm-plugin-x22x.c | 1 +
+ plugins/zte/mm-plugin-zte.c | 1 +
+ src/mm-base-modem.c | 6 ++++++
+ src/mm-base-modem.h | 1 +
+ src/mm-plugin.c | 2 ++
+ src/mm-port-probe.c | 11 +++++++++++
+ src/mm-port-probe.h | 1 +
+ src/mm-port.c | 28 +++++++++++++++++++++++++++-
+ src/mm-port.h | 24 +++++++++++-------------
+ 20 files changed, 75 insertions(+), 18 deletions(-)
+
+commit 7752c9920d83059836d010a61e44daa4232c4c65
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 16 13:55:46 2014 +0100
+
+ huawei: flag /dev/cdc-wdm as primary if no primary found already
+
+ plugins/huawei/mm-plugin-huawei.c | 23 +++++++++++++++++++++--
+ 1 file changed, 21 insertions(+), 2 deletions(-)
+
+commit e9d016f0886de3946bb5eaa6889f28c44b5b93bf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 20 18:25:48 2013 +0100
+
+ huawei: setup unsolicited message handlers also in the AT cdc-wdm
+ ports
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 131
+ +++++++++++++++++------------
+ 1 file changed, 79 insertions(+), 52 deletions(-)
+
+commit 75a5c48345351585ad176b1a56c76309720248e2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 20 00:02:13 2013 +0100
+
+ huawei: use the cdc-wdm port dialing if available
+
+ With the new 'huawei-cdc-ncm' driver in the kernel, we now may get a
+ /dev/cdc-wdm AT-capable port exposed by the Huawei device. If so,
+ we must use
+ this port for NDISDUP dialling in order to get the network interface
+ connected.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 34 +++++-
+ plugins/huawei/mm-broadband-modem-huawei.c | 167
+ ++++++++++++++++++++++++----
+ plugins/huawei/mm-broadband-modem-huawei.h | 3 +
+ 3 files changed, 177 insertions(+), 27 deletions(-)
+
+commit 293b032149d387109eab2164da6a7139c068c9bb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jun 22 18:18:33 2014 +0200
+
+ build: ignore test files
+
+ .gitignore | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit a691eec6ca6b942152e11edb878a8c338c8b295b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jun 22 17:56:56 2014 +0200
+
+ build: avoid using 'INCLUDES' in Makefile.am
+
+ Avoids warnings during build; e.g.:
+ warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or
+ '*_CPPFLAGS')
+
+ libqcdm/tests/Makefile.am | 19 ++++++++++++-------
+ libwmc/tests/Makefile.am | 11 ++++++-----
+ 2 files changed, 18 insertions(+), 12 deletions(-)
+
+commit 9e93e22482a0f418d48d7c3ecdaf38b75df0a775
+Author: Prathmesh Prabhu <pprabhu@chromium.org>
+Date: Thu Jun 19 11:20:02 2014 -0700
+
+ bearer-mbim: fix disconnect error handling case split
+
+ The first case, with no error, needs to check that there was no
+ original error.
+ Currently, if an error occurs and the resulting NwError is parsed
+ correctly, the
+ case split treats it as a no-error case.
+
+ src/mm-bearer-mbim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 699a25b802f6e18c5c00e4573ac5e3febe9b0093
+Author: Prathmesh Prabhu <pprabhu@chromium.org>
+Date: Thu Jun 19 09:01:28 2014 -0700
+
+ modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentError
+
+ Commit 55e40ea b1ae81a in libmbim ("libmbim-glib: add additional GMM
+ cause codes to MbimNwError") added one more GMM cause code to
+ MbimNwError. This patch maps that to MMMobileEquipmentError.
+
+ This patch requires libmbim >= 1.9.0
+
+ src/mm-modem-helpers-mbim.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 6491d82655ac0ac9dacc6abd4c24f51e3e93443b
+Author: Prathmesh Prabhu <pprabhu@chromium.org>
+Date: Wed Jun 18 07:24:57 2014 -0700
+
+ bearer-mbim: disconnect attempt should succeed if bearer is already
+ disconnected
+
+ When trying to disconnect bearer, if the modem responds with
+ MBIM_STATUS_ERROR_CONTEXT_NOT_ACTIVATED, take it to mean that the
+ bearer has
+ already been disconnected.
+
+ src/mm-bearer-mbim.c | 64
+ ++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 39 insertions(+), 25 deletions(-)
+
+commit 9e5020901977456987430e74a18be83fa56cbc4d
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jun 17 23:56:45 2014 -0700
+
+ icera: fix 'sometimes-uninitialized' variable issues
+
+ plugins/icera/mm-broadband-bearer-icera.c | 2 +-
+ plugins/icera/mm-modem-helpers-icera.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit ed623f662849a9b784280bcb7e6500b962a7e041
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jun 16 16:22:51 2014 +0200
+
+ iface-modem-messaging: don't skip MT storage when reading if it's
+ the only one
+
+ src/mm-iface-modem-messaging.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 6e490944d07061ca15837963552d023807958feb
+Merge: ff4e4579 02f9b926
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 13 14:57:08 2014 -0500
+
+ merge: fix IPv6 support and operation
+
+ Notable changes include reporting all available IP configruation
+ information in the bearer IP details, even if the method is DHCP,
+ in which case the client should apply the given configuration and
+ then proceed with DHCP/PPP/SLAAC/etc addressing mechanisms.
+
+ QMI, MBIM, and some other plugins have been switched to the "STATIC"
+ configuration method from DHCP when the firmware supplies all the
+ necessary details.
+
+commit 02f9b926cd5776835bcd7c2b77c452e2ff8169d9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 10 01:18:41 2014 -0500
+
+ broadband-bearer-mbm: support IPv6 DNS and use static IPv4
+ configuration
+
+ plugins/Makefile.am | 16 +++
+ plugins/mbm/mm-broadband-bearer-mbm.c | 161
+ ++++++++++++++++++++++++++++
+ plugins/mbm/mm-modem-helpers-mbm.c | 166
+ +++++++++++++++++++++++++++++
+ plugins/mbm/mm-modem-helpers-mbm.h | 27 +++++
+ plugins/mbm/tests/test-modem-helpers-mbm.c | 162
+ ++++++++++++++++++++++++++++
+ 5 files changed, 532 insertions(+)
+
+commit ca0a567f74f30a719f11b749165731630528834a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 15 15:22:11 2014 -0500
+
+ broadband-bearer-qmi: support IPv6 configuration and use static
+ for IPv4
+
+ src/mm-bearer-qmi.c | 306
+ +++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 195 insertions(+), 111 deletions(-)
+
+commit 801762835309bdaeb6c6a9758b41c58e03cbdf38
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 4 09:26:03 2014 -0600
+
+ cli: print IP details for all valid bearer types
+
+ Even DHCP or PPP may have some IP details, like the link-local
+ address for IPv6 bearers.
+
+ cli/mmcli-bearer.c | 72
+ ++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 38 insertions(+), 34 deletions(-)
+
+commit 7673a1d3a35c3e0a26301b5c605b2f68d4b58de1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 28 10:22:28 2014 -0600
+
+ bearer-mbim: use DHCP method when only an IPv6 link-local address
+ is found
+
+ When only given a link-local address, then SLAAC must be used to
+ retrieve the real prefix.
+
+ src/mm-bearer-mbim.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 33eba0393d259b6dc97e991be6c1dc4585e15f5d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 27 13:01:38 2014 -0600
+
+ api: update documentation about IPv6 bearer methods
+
+ Even if the IPv6 bearer method is DHCP, the client should use SLAAC
+ (eg, IPv6 Router Solicitations, Router Adverisements, and possibly
+ DHCPv6) to determine the correct prefix and DNS information. In
+ some cases, even with the DHCP method, and IPv6 "address" will be
+ given which should be assigned to the data port before beginning
+ an IP addressing as the mobile network may expect this address
+ to be used.
+
+ include/ModemManager-enums.h | 8 ++++++--
+ introspection/org.freedesktop.ModemManager1.Bearer.xml | 13 +++++++++----
+ 2 files changed, 15 insertions(+), 6 deletions(-)
+
+commit 6e5d013eb12d6ee134a59d4131128374af139fb3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 18 12:16:54 2014 -0600
+
+ broadband-bearer-sierra: use Icera authentication for Icera devices
+
+ Devices with Icera chipsets (USB305) don't support the Qualcomm
+ proprietary $QCPDPP command, and we must use the Icera command
+ instead. Otherwise authenticated bearer creation will fail.
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 90
+ ++++++++++++++++++++++--
+ plugins/sierra/mm-broadband-bearer-sierra.h | 3 +
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 1 +
+ plugins/sierra/mm-broadband-modem-sierra.c | 1 +
+ 4 files changed, 89 insertions(+), 6 deletions(-)
+
+commit a416d8056c9f9bbc8b926ffbe8f066859054a990
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 17 12:32:02 2014 -0600
+
+ broadband-bearer-icera: add IPv6 support
+
+ Split out the %IPDPADDR parsing into a helper and add testcases
+ for it,
+ and add support for IPv6 handling. If the returned IPv6 is
+ link-local,
+ the address should be assigned to the interface and SLAAC performed to
+ retrieve the actual IPv6 prefix and RDNSS/DNSSD information.
+
+ plugins/Makefile.am | 17 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 187 ++++++-----------
+ plugins/icera/mm-modem-helpers-icera.c | 277
+ +++++++++++++++++++++++++
+ plugins/icera/mm-modem-helpers-icera.h | 28 +++
+ plugins/icera/tests/test-modem-helpers-icera.c | 191 +++++++++++++++++
+ 5 files changed, 571 insertions(+), 129 deletions(-)
+
+commit e68d51f439190eb5434581c8db072687028f0b55
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 19 12:06:55 2014 -0600
+
+ broadband-bearer: also return IPv6 config if IPv6 context is used
+
+ If the subclass doesn't override IP config retrieval, and IPv6 was
+ used when connecting the bearer, return IPv6 config too.
+
+ src/mm-broadband-bearer.c | 29 +++++++++++++++++++++--------
+ 1 file changed, 21 insertions(+), 8 deletions(-)
+
+commit e9395d83e388aba8b46f2fbe371c247c42bd6452
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 20 12:29:27 2014 -0600
+
+ broadband-bearer: pass the IP family to subclasses when getting
+ IP config
+
+ Subclasses may need to know which IP families were used for the setup
+ so they can return the correct IP configuration. We can't just use
+ the MMBearer default_ip_family becuase that isn't the family that
+ was actually used during the connection.
+
+ plugins/icera/mm-broadband-bearer-icera.c | 1 +
+ plugins/option/mm-broadband-bearer-hso.c | 1 +
+ src/mm-broadband-bearer.c | 1 +
+ src/mm-broadband-bearer.h | 1 +
+ 4 files changed, 4 insertions(+)
+
+commit 502a5dbaf5555515cf6a81d69403aaf6aa6ea656
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 18 12:19:25 2014 -0600
+
+ broadband-bearer-sierra: use correct modem type when creating bearer
+
+ MMBroadbandModemSierraIcera is not a subclass of
+ MMBroadbandModemSierra, so we cannot cast it to that type when
+ passing it to bearer creation. Luckily the bearer doesn't
+ care, so just downgrade the type to MMBroadbandModem.
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 2 +-
+ plugins/sierra/mm-broadband-bearer-sierra.h | 2 +-
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 2 +-
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 1e30bad1741a7322142e7cf129f92cdfff4f9216
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 10 18:31:39 2014 -0500
+
+ libmm-glib: always return all bearer properties
+
+ IPv6 may have addresses and other information even if the bearer's
+ method is DHCP.
+
+ libmm-glib/mm-bearer-ip-config.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+commit ff4e45791ddac7086c6b45b9b732c67d54dc6c1a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jun 13 16:54:06 2014 +0200
+
+ build: use the correct pkg-config in checks
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6313f5707e7ff69f81fcb80784196f35ddd7c56f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jun 11 17:14:18 2014 +0200
+
+ build: look for gdbus-codegen through pkg-config
+
+ configure.ac | 2 ++
+ libmm-glib/generated/Makefile.am | 10 +++++-----
+ libmm-glib/generated/tests/Makefile.am | 2 +-
+ 3 files changed, 8 insertions(+), 6 deletions(-)
+
+commit 8ca6c6cbad0d56cdda99b95795ab308c6fe3c493
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Jun 11 17:12:52 2014 +0200
+
+ build: glib-genmarshal no longer needed
+
+ configure.ac | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 235fb874c993d95bd128f28d75beabad4d83baf7
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jun 9 14:15:05 2014 -0700
+
+ modem-helpers-mbim: map more MbimNwError to MMMobileEquipmentError
+
+ Commit b1ae81a in libmim ("libmbim-glib: add additional GMM cause
+ codes
+ to MbimNwError") added additional GMM cause codes to MbimNwError. This
+ patch maps some of those MbimNwError to MMMobileEquipmentError.
+
+ This patch requires libmbim >= 1.9.0
+
+ configure.ac | 2 +-
+ src/mm-modem-helpers-mbim.c | 24 ++++++++++++++++++++++++
+ 2 files changed, 25 insertions(+), 1 deletion(-)
+
+commit 0b975f226627b4a3197a46734c11c8d83fbff884
+Author: Thieu Le <thieule@chromium.org>
+Date: Fri Jun 6 12:35:42 2014 -0700
+
+ altair-lte: update PCO to handle latest VZW deployment
+
+ Update PCO handling code such that it conforms to the latest VZW
+ network
+ behavior. This includes updating the way we mark a SIM as provisioned.
+ In the old network, only provisioned SIMs can attach to the network.
+ Now, unprovisioned SIMs can attach and connect to the network.
+
+ Change-Id: Ie454f6fb6d8764161f167e93a4235bb93fbde59a
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 51
+ +++-------------------
+ plugins/altair/mm-modem-helpers-altair-lte.c | 28 ++++++++----
+ plugins/altair/mm-modem-helpers-altair-lte.h | 4 +-
+ .../altair/tests/test-modem-helpers-altair-lte.c | 30 +++++++++----
+ src/mm-broadband-modem.c | 9 +---
+ 5 files changed, 48 insertions(+), 74 deletions(-)
+
+commit af810a0a87642a0947ec1692b4952105e893bdbf
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 5 23:20:45 2014 -0700
+
+ bearer-mbim: pass the right GError pointer to response parsers
+
+ src/mm-bearer-mbim.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit aedcb376a85c059ffe667ef2a10c7577bfcf3ad4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jun 4 14:10:22 2014 -0500
+
+ iface-modem: make "signal quality updated" log message debug not info
+
+ Otherwise your logs fill up if the signal quality changes, which is
+ pretty frequently for many devices.
+
+ src/mm-iface-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit dcb627a61f33076169ef01374e9f2bb05327eb29
+Author: Yegor Yefremov <yegorslists@googlemail.com>
+Date: Wed May 28 16:46:19 2014 +0200
+
+ trivial: resolve maybe-uninitialized warnings
+
+ Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+
+ src/mm-port-serial.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a038ff172b086181ba656a42529992e248ce940c
+Author: Thieu Le <thieule@chromium.org>
+Date: Mon Jun 2 18:48:09 2014 -0700
+
+ altair-lte: handle optional quotes around sim refresh
+
+ Some firmware version sends quotes around SIMREFRESH, this patch
+ adds support
+ for those versions.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8680e066b5530fedcbb1dc14c446443cbc11db9a
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jun 2 14:27:07 2014 -0700
+
+ cinterion: fix memory leaks in tests
+
+ plugins/cinterion/tests/test-modem-helpers-cinterion.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 7c389511d8d1f86facf93f8884526386457fac85
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jun 2 14:26:59 2014 -0700
+
+ tests: fix more memory leaks
+
+ src/tests/test-modem-helpers.c | 16 ++++++++++++----
+ src/tests/test-sms-part-3gpp.c | 1 +
+ src/tests/test-sms-part-cdma.c | 1 +
+ 3 files changed, 14 insertions(+), 4 deletions(-)
+
+commit 830ef27bac5e3ba54bb3f273b7e3f8b98f572a87
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jun 2 13:35:43 2014 -0700
+
+ libmm-glib: fix a memory leak of GMutex
+
+ libmm-glib/mm-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit c9dc702eaa50ea54981b1bcfb9e2f2492a2f9b33
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Jun 2 09:25:36 2014 +0200
+
+ plugin-manager: fix defer-until-suggested probing tasks
+
+ If a task is marked as defer-until-suggested (e.g. a wwan port)
+ and there was
+ already a 'best' plugin set in the parent device, use it to
+ complete the
+ deferred task.
+
+ This may happen in e.g. MBIM devices if the WWAN port arrives later
+ than the
+ already probed /dev/cdc-wdm character device.
+
+ src/mm-plugin-manager.c | 165
+ +++++++++++++++++++++++++++++-------------------
+ 1 file changed, 99 insertions(+), 66 deletions(-)
+
+commit 239ab6ca6b6e8af45a25a32692cdc10e5f0071f1
+Author: Bjørn Mork <bjorn@mork.no>
+Date: Mon Jun 2 15:33:52 2014 +0200
+
+ blacklist: ignore Infineon flashloader device
+
+ A device like this shows up briefly while the Sierra EM7345 is
+ booting:
+
+ P: Vendor=8087 ProdID=0716 Rev= 0.00
+ C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=500mA
+ I:* If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
+ E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
+ E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
+
+ We do have a driver identifying this as an "Infineon Flashloader"
+ device. It is not a modem in any case, and should be ignored.
+
+ Signed-off-by: Bjørn Mork <bjorn@mork.no>
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 4213d2fe69ed66b2541f8245ad4e2f2d1a3ea61f
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat May 31 18:03:30 2014 -0700
+
+ broadband-modem: report an error when enabling a modem in FAILED state
+
+ If the initialization of the Modem3gpp / ModemCdma interface fails,
+ the
+ modem transitions to the FAILED state. But since the Modem interface
+ is
+ already initialized and exported over DBus, it is possible to
+ invoke the
+ Enable method on the Modem interface. This patch changes
+ MMBroadbandModem to report an error if one tries to enable the
+ modem in
+ the FAILED state instead of raising an assertion.
+
+ src/mm-broadband-modem.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit cdb334649dcf317672b50943466ba9296e41924b
+Author: Thieu Le <thieule@chromium.org>
+Date: Fri May 30 13:53:39 2014 -0700
+
+ altair-lte: fix memory leak in PCO parsing code
+
+ This patch fixes memory leaks in PCO parsing code detected by
+ LeakSanitizer.
+
+ plugins/altair/mm-modem-helpers-altair-lte.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+commit 6e7bae9dc5be47b0a41ad3cee0212e1793beb073
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu May 29 23:19:38 2014 -0700
+
+ tests: fix memory leaks
+
+ This patch fixes memory leaks in unit tests detected by LeakSanitizer.
+
+ src/tests/test-modem-helpers.c | 10 ++++++++++
+ src/tests/test-qcdm-serial-port.c | 1 +
+ src/tests/test-sms-part-3gpp.c | 7 ++++++-
+ 3 files changed, 17 insertions(+), 1 deletion(-)
+
+commit c2d3704aa5ca67a7b5836717c6f98567a6e80390
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu May 29 10:10:16 2014 +0200
+
+ api,doc: add missing documentation for the new GPRS errors
+
+ include/ModemManager-errors.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit c8f62fb4de0420a1c0876b3076a1a1a903bd8bff
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed May 28 23:13:15 2014 -0700
+
+ altair-lte: ignore invalid bands in %BANDCAP / %GETCFG="BAND"
+ responses
+
+ Due to a firmware issue, the modem may reply an invalid band value,
+ such
+ as 0, for the %BANDCAP or %GETCFG="BAND" command. This patch moves
+ parse_bands_response() to mm-modem-helpers-altair-lte.c, modifies the
+ function to ignore any invalid band outside the range of E-UTRAN
+ operating bands, and add unit tests for the function.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 35
+ ++-----------------
+ plugins/altair/mm-modem-helpers-altair-lte.c | 39
+ ++++++++++++++++++++++
+ plugins/altair/mm-modem-helpers-altair-lte.h | 3 ++
+ .../altair/tests/test-modem-helpers-altair-lte.c | 29 ++++++++++++++++
+ 4 files changed, 73 insertions(+), 33 deletions(-)
+
+commit 8cdf45c66c3c2660ed7e49e1edf241b30f7c037c
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed May 28 23:13:14 2014 -0700
+
+ core: add E-UTRAN operating band 44
+
+ E-UTRAN operating band 44 is specified in 3GPP release 11 (see Table
+ 5.5-1 "E-UTRA operating bands" in 3GPP TS 36.101 version 11.2.0
+ Release
+ 11).
+
+ include/ModemManager-enums.h | 2 ++
+ src/mm-modem-helpers-qmi.c | 4 +++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit 54b75e3bcd87f026fe449349691fbc096932749e
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed May 28 23:12:43 2014 -0700
+
+ qcdm: fix memory leaks in tests
+
+ libqcdm/tests/test-qcdm-result.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit f0542aa8092ed6a8f91bbc406b6c76bd6fd4c734
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed May 28 23:12:30 2014 -0700
+
+ cli: show a nicer modem description if manufacturer or model is
+ unknown
+
+ cli/mmcli-manager.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 08d8524b17fb52b08657cec287f2bf3e20f3e42f
+Author: Thieu Le <thieule@chromium.org>
+Date: Tue May 27 14:27:51 2014 -0700
+
+ altair-lte: prevent connect while processing sim refresh
+
+ This patch modifies the Altair LTE plugin to fail connect requests
+ while the
+ modem has detached from the network when processing sim refresh.
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 14 ++++++++++++++
+ plugins/altair/mm-broadband-modem-altair-lte.c | 19 ++++++++++++++++++-
+ plugins/altair/mm-broadband-modem-altair-lte.h | 2 ++
+ 3 files changed, 34 insertions(+), 1 deletion(-)
+
+commit 551197b4e51a6caf096cf0957d8bb69583b52c09
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 20 09:56:50 2014 -0700
+
+ plugins: remove unnecessary MM_BASE_MODEM() casts
+
+ plugins/huawei/mm-sim-huawei.c | 2 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 4 ++--
+ plugins/mbm/mm-broadband-bearer-mbm.c | 2 +-
+ plugins/option/mm-broadband-bearer-hso.c | 4 ++--
+ plugins/sierra/mm-broadband-bearer-sierra.c | 10 +++++-----
+ plugins/sierra/mm-sim-sierra.c | 2 +-
+ 6 files changed, 12 insertions(+), 12 deletions(-)
+
+commit c8ad177db9e215d46069b7488af660f8e0c7547a
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 20 09:54:18 2014 -0700
+
+ sms: remove unnecessary MM_BASE_MODEM() casts
+
+ src/mm-sms.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit d375224ffebd721c08c609a097ebebe86a258a3e
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 20 09:54:12 2014 -0700
+
+ broadband-bearer: remove unnecessary MM_BASE_MODEM() casts
+
+ src/mm-broadband-bearer.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3d378bef5dbe483c8a1aeec776ed0382b28e9664
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 20 09:53:47 2014 -0700
+
+ tests: consistently use spaces for indentation
+
+ plugins/tests/test-fixture.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 37b0402ee52ee98271d75681fee5dd4de0bebb8f
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 19 23:46:55 2014 -0700
+
+ core: minor coding style fixes
+
+ src/main.c | 2 +-
+ src/mm-auth-provider-polkit.c | 8 ++--
+ src/mm-base-modem.c | 2 +-
+ src/mm-bearer-list.c | 2 +-
+ src/mm-bearer-mbim.c | 2 +-
+ src/mm-bearer-qmi.c | 2 +-
+ src/mm-bearer-qmi.h | 2 +-
+ src/mm-bearer.c | 2 +-
+ src/mm-broadband-bearer.c | 2 +-
+ src/mm-broadband-modem-mbim.c | 2 +-
+ src/mm-broadband-modem-mbim.h | 8 ++--
+ src/mm-broadband-modem-qmi.c | 2 +-
+ src/mm-broadband-modem.c | 2 +-
+ src/mm-charsets.c | 86
+ +++++++++++++++++++--------------------
+ src/mm-device.c | 2 +-
+ src/mm-log.h | 18 ++++----
+ src/mm-manager.c | 6 +--
+ src/mm-modem-helpers.c | 18 ++++----
+ src/mm-plugin-manager.c | 6 +--
+ src/mm-port-probe.c | 4 +-
+ src/mm-port-serial-gps.c | 2 +-
+ src/mm-port-serial.c | 2 +-
+ src/mm-sim.c | 2 +-
+ src/mm-sms-list.c | 2 +-
+ src/mm-sms-part-cdma.c | 16 ++++----
+ src/mm-sms.c | 2 +-
+ src/tests/test-modem-helpers.c | 66 +++++++++++++++---------------
+ src/tests/test-qcdm-serial-port.c | 12 +++---
+ 28 files changed, 141 insertions(+), 141 deletions(-)
+
+commit d4177f554bab5e596aeb8a2f80ad8466d837e799
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 19 23:46:27 2014 -0700
+
+ cli: consistently use spaces for indentation
+
+ cli/mmcli-bearer.c | 18 ++++-----
+ cli/mmcli-common.c | 18 ++++-----
+ cli/mmcli-manager.c | 18 ++++-----
+ cli/mmcli-modem-3gpp.c | 16 ++++----
+ cli/mmcli-modem-cdma.c | 16 ++++----
+ cli/mmcli-modem-firmware.c | 16 ++++----
+ cli/mmcli-modem-location.c | 16 ++++----
+ cli/mmcli-modem-messaging.c | 16 ++++----
+ cli/mmcli-modem-oma.c | 16 ++++----
+ cli/mmcli-modem-signal.c | 16 ++++----
+ cli/mmcli-modem-simple.c | 16 ++++----
+ cli/mmcli-modem-time.c | 16 ++++----
+ cli/mmcli-modem.c | 18 ++++-----
+ cli/mmcli-sim.c | 18 ++++-----
+ cli/mmcli-sms.c | 18 ++++-----
+ cli/mmcli.c | 96
+ ++++++++++++++++++++++-----------------------
+ 16 files changed, 174 insertions(+), 174 deletions(-)
+
+commit 5d47478d06944cb420a78982604a0eded5d1c9e2
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 19 23:46:12 2014 -0700
+
+ libmbim-glib: consistently use spaces for indentation
+
+ libmm-glib/mm-common-helpers.c | 84
+ +++++++++++++++++++++---------------------
+ 1 file changed, 42 insertions(+), 42 deletions(-)
+
+commit 7c656cce47cb99099b0bef3ecbea932798d0ceb4
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 19 23:45:55 2014 -0700
+
+ mbm: minor coding style fixes
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 4 ++--
+ plugins/mbm/mm-broadband-modem-mbm.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit bdab75d0b8e7bbdd1a6a561c819a801f5498406a
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 19 23:45:48 2014 -0700
+
+ option,hso: minor coding style fixes
+
+ plugins/option/mm-broadband-bearer-hso.c | 16 ++++++++--------
+ plugins/option/mm-broadband-modem-hso.c | 2 +-
+ plugins/option/mm-broadband-modem-option.c | 2 +-
+ 3 files changed, 10 insertions(+), 10 deletions(-)
+
+commit f5d7213a3cd5f1026d131c70e97c8158d4c92a42
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 19 23:45:35 2014 -0700
+
+ icera: minor coding style fixes
+
+ plugins/icera/mm-broadband-bearer-icera.c | 4 ++--
+ plugins/icera/mm-broadband-modem-icera.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit a0d15f23c9c1ec719f4cba23574203d3da38dada
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat May 17 00:10:17 2014 -0700
+
+ huawei: minor coding style fixes
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 24 ++++++++++++------------
+ plugins/huawei/mm-broadband-bearer-huawei.h | 12 ++++++------
+ plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
+ 3 files changed, 19 insertions(+), 19 deletions(-)
+
+commit adcda0a544b5e70ab63c4e032e59d6f8585ce53c
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 12 23:24:05 2014 -0700
+
+ broadband-modem-mbim: refine access technology updates
+
+ This patch refines the access technology updates on a MBIM modem by
+ observing the MBIM_CID_PACKET_SERVICE notifications in addition to the
+ MBIM_CID_REGISTER_STATE notifications. If a MBIM_CID_PACKET_SERVICE
+ notification indicates the highest available data class, the current
+ access technology is updated to reflect that. Otherwise, the access
+ technology is updated according to the available data classes
+ indicated
+ by a MBIM_CID_REGISTER_STATE notification.
+
+ src/mm-broadband-modem-mbim.c | 82
+ +++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 71 insertions(+), 11 deletions(-)
+
+commit 66e4b0d6034c3c6b29ba3321ae45cab5b9d7b078
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 7 16:11:50 2014 -0500
+
+ api,errors: define new EPS-related errors
+
+ We can use these to return better error messages if an operator
+ does not support the default subscription APN functionality,
+ and the user does not give us an APN.
+
+ include/ModemManager-errors.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 8e3b67bf44bf339a9b341ab02d67af92d6d185e2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 7 13:46:38 2014 -0500
+
+ broadband-bearer-qmi: don't set APN if it isn't given
+
+ If the APN was empty (implying that the modem/network should choose
+ the default APN) this caused an assertion in libqmi. Just don't
+ set an APN if we aren't given one.
+
+ src/mm-bearer-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 828e2e00eb8e4ced54ec51fb61bfdb37df526935
+Author: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Wed Apr 30 15:57:30 2014 +0200
+
+ libmm-glib: Initialize result array
+
+ In mm_modem_messaging_get_supported_storages(), initialize array to
+ avoid a
+ potential crash with an uninitialized value, and a build failure
+ due to
+
+ mm-modem-messaging.c:168:24: error: 'array' may be used uninitialized
+ in this
+ function [-Werror=maybe-uninitialized]
+ *n_storages = array->len;
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=729267
+
+ libmm-glib/mm-modem-messaging.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0126eb63114ddd5099a4f63dac67e190ccd00706
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon May 5 20:25:31 2014 +0200
+
+ sierra: PCSTATE=0 needs to be treated as low-power mode
+
+ OFF only applies to a real shutdown, where the modem no longer
+ replies.
+
+ plugins/sierra/mm-common-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 771c83a73a3bd4ddf5045b86bb3d64d71f9d02c1
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Apr 30 00:59:21 2014 -0700
+
+ huawei: treat CFUN 0 as low power state
+
+ The Huawei plugin uses +CFUN=0 to put the modem in low power mode as
+ +CFUN=4 isn't supported by all Huawei modems. This patch modifies the
+ plugin to treat CFUN 0 as the 'LOW' power state, which is necessary as
+ otherwise ModemManager would prevent the modem from transitioning
+ to the
+ 'ON' power state.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit ae99c452eb46d0f0c36a8e44e627994ce261a726
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Apr 11 09:27:51 2014 +0200
+
+ examples: add modem watcher example in JS
+
+ configure.ac | 1 +
+ examples/Makefile.am | 2 +-
+ examples/modem-watcher-javascript/Makefile.am | 5 ++
+ examples/modem-watcher-javascript/README | 22 ++++++
+ examples/modem-watcher-javascript/main.js | 11 +++
+ .../modem-watcher-javascript | 20 +++++
+ examples/modem-watcher-javascript/modemWatcher.js | 89
+ ++++++++++++++++++++++
+ 7 files changed, 149 insertions(+), 1 deletion(-)
+
+commit ebff76cfaa0e5809ef5883d7588f55dc3e11f828
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Apr 10 19:05:13 2014 +0200
+
+ examples: add modem watcher example in python
+
+ Makefile.am | 2 +-
+ configure.ac | 2 +
+ examples/Makefile.am | 1 +
+ examples/modem-watcher-python/Makefile.am | 4 +
+ examples/modem-watcher-python/ModemWatcher.py | 108
+ +++++++++++++++++++++
+ examples/modem-watcher-python/README | 22 +++++
+ examples/modem-watcher-python/modem-watcher-python | 42 ++++++++
+ 7 files changed, 180 insertions(+), 1 deletion(-)
+
+commit 79b34b77b4703eaaf7e007c294325a660a51bc9e
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Apr 2 23:34:42 2014 -0700
+
+ port-probe: remove the 3s wait before opening a MBIM port
+
+ The 3s wait before opening a MBIM port is not necessary for handling a
+ delayed response to the MBIM OPEN messages. mbim_device_open() already
+ retries the MBIM OPEN message when the MBIM device does not respond.
+
+ src/mm-port-probe.c | 23 ++++++-----------------
+ 1 file changed, 6 insertions(+), 17 deletions(-)
+
+commit 09d92ef3338effa85eff7f4efa416afe11f780a0
+Author: David (Pololu) <dev-david@pololu.com>
+Date: Tue Apr 1 16:26:26 2014 -0700
+
+ blacklist: All devices from Pololu Corporation except some possible
+ future products.
+
+ We make many USB virtual COM port devices, none of which are modems.
+ ModemManager's automatic attempts to access those devices can cause
+ problems.
+
+ That might change in the future, so we have left two potential
+ future product IDs off of the blacklist.
+
+ src/77-mm-usb-device-blacklist.rules | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 1af1d1fb780f9f53f4c924818d261dc3107c2471
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Apr 1 18:29:25 2014 +0200
+
+ novatel: read HDR signal quality
+
+ (ttyUSB0): --> 'AT$NWRSSI<CR>'
+ (ttyUSB0): <-- '<CR><LF><CR><CR><LF> HDR RSSI=
+ 93<CR><LF><CR><LF><CR><LF>OK<CR><LF>
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 2a5230c93e054a96902626740f2e364421f4565e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Mar 25 17:13:59 2014 +0100
+
+ docs,libmm-glib: add methods to manage the MTU in the MMBearerIpConfig
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit a0ddcaa7a485580f3bcb88cff819f002a30fb4d0
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 25 00:18:34 2014 -0700
+
+ bearer-mbim: update MTU in bearer IP config properties
+
+ This patch modifies MMBearerMbim to update the MTU value in the bearer
+ IPv4 and IPv6 config property when such information is available
+ in the
+ MBIM_CID_IP_CONFIGURATION response.
+
+ src/mm-bearer-mbim.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit c184c2f1be65fa0af966771fe2d6d0509bb057f3
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 25 00:18:33 2014 -0700
+
+ cli: print MTU in bearer IP config properties
+
+ cli/mmcli-bearer.c | 86
+ +++++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 50 insertions(+), 36 deletions(-)
+
+commit e4db8c5302e61b84d796e9a84f57fa51cfce2577
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 25 00:18:32 2014 -0700
+
+ api: add MTU to bearer IP config properties
+
+ This patch adds a 'mtu' value to the Ip4Config and Ip6Config
+ property of
+ a Bearer object, which indicates the value of the maximum transmission
+ unit for the established connection when such information is available
+ (e.g. via QMI_WDS_GET_RUNTIME_SETTINGS on a QMI modem or
+ MBIM_CID_IP_CONFIGURATION on a MBIM modem).
+
+ .../org.freedesktop.ModemManager1.Bearer.xml | 18 ++++++++++
+ libmm-glib/mm-bearer-ip-config.c | 39
+ ++++++++++++++++++++++
+ libmm-glib/mm-bearer-ip-config.h | 3 ++
+ 3 files changed, 60 insertions(+)
+
+commit 4de728447a1b5825e5a9bd29cc54f196540fb6c1
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 25 00:17:50 2014 -0700
+
+ bearer-mbim: fix a misleading comment
+
+ src/mm-bearer-mbim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit aa9af0ba68aaae7dae4c28d6a76f7b829360f40a
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Mar 24 22:37:53 2014 -0700
+
+ introspection: fix typos
+
+ introspection/org.freedesktop.ModemManager1.Bearer.xml |
+ 6 +++---
+ introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit e9cae166cc1e67d93e2497ab2ec381980669808f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 24 16:24:48 2014 +0100
+
+ blacklist: ignore empiriKit science lab controller device
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 4827933f0c4a85febb39bfed05329389f5bc64dd
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 18 00:06:58 2014 -0700
+
+ port-serial: fix command context completion when clearing command
+ queue
+
+ This patch removes an extra invocation of
+ g_simple_async_result_complete
+ on the result associated with each command context in the command
+ queue
+ when mm_port_serial_close clears the queue. It also changes the
+ code to
+ complete the results in idle, which avoids a nested invocation of
+ mm_port_serial_close. That could happen if the completion of the
+ result
+ calls mm_port_serial_close again (e.g. via at_command_context_free,
+ at_sequence_context_free in mm-base-modem-at.c). The nested invocation
+ of mm_port_serial_close could create undesirable effects (e.g. the
+ assertion on open_count > 0 fails in case of a forced close).
+
+ src/mm-port-serial.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 31a19c2299b10c51475a778880be2d0ef863f6b6
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Mar 13 15:45:08 2014 -0700
+
+ broadband-modem,modem-helpers: improve +CGDCONT? error handling
+
+ This patch fixes the following crash, which happens when
+ MMBroadbandBearer tries to parse the NULL response of a failed
+ +CGDCONT?
+ query. It also fixes a leak in parse_pdp_list where it fails to
+ free the
+ GError object return by mm_3gpp_parse_cgdcont_read_response.
+
+ Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )
+
+ 0x7feb15564c11 [ModemManager] - mm-modem-helpers.c:850
+ mm_3gpp_parse_cgdcont_read_response
+ 0x7feb15518e51 [ModemManager] - mm-broadband-bearer.c:927
+ parse_pdp_list
+ 0x7feb1551ada2 [ModemManager] - mm-base-modem-at.c:189
+ at_sequence_parse_response
+ 0x7feb151d4b86 [libgio-2.0.so.0.3400.3] - gsimpleasyncresult.c:775
+ g_simple_async_result_complete
+ 0x7feb1556e223 [ModemManager] - mm-port-serial-at.c:355
+ serial_command_ready
+ 0x7feb151d4b86 [libgio-2.0.so.0.3400.3] - gsimpleasyncresult.c:775
+ g_simple_async_result_complete
+ 0x7feb1556a834 [ModemManager] - mm-port-serial.c:141
+ command_context_complete_and_free
+ 0x7feb1556bc26 [ModemManager] - mm-port-serial.c:734
+ port_serial_got_response
+ 0x7feb1556c51a [ModemManager] - mm-port-serial.c:758
+ port_serial_timed_out
+ 0x7feb1508cc33 [libglib-2.0.so.0.3400.3] - gmain.c:4026
+ g_timeout_dispatch
+ 0x7feb1508c087 [libglib-2.0.so.0.3400.3] - gmain.c:2715
+ g_main_context_dispatch
+ 0x7feb1508c437 [libglib-2.0.so.0.3400.3] - gmain.c:3290
+ g_main_context_iterate
+ 0x7feb1508c891 [libglib-2.0.so.0.3400.3] - gmain.c:3484
+ g_main_loop_run
+ 0x7feb1550ad16 [ModemManager] - main.c:154
+ main
+ 0x7feb14a9e9c6 [libc-2.15.so] - libc-start.c:234
+ __libc_start_main
+ 0x7feb1550a808 [ModemManager + 0x00023808
+
+ src/mm-broadband-bearer.c | 14 ++++++++++++--
+ src/mm-modem-helpers.c | 2 +-
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+commit 6bdcd7cb226c75e72a4ef351adb257ef92e74578
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Mar 9 22:15:16 2014 +0100
+
+ data: add icon
+
+ data/ModemManager-icon.svg | 197
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 197 insertions(+)
+
+commit 4eb733c07c68da40c492d44b46d05e222b5ac6f1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Mar 7 12:29:56 2014 +0100
+
+ wavecom: avoid +COPS=0 if already in automatic registration mode
+
+ AT+COPS=0 in a FXT009 may end up making the device stuck in a
+ weird state
+ in which it only replies "+CME ERROR: 515" to every AT command. So
+ try to
+ avoid this command whenever possible.
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 174
+ ++++++++++++++++++++++++++-
+ 1 file changed, 170 insertions(+), 4 deletions(-)
+
+commit f14a2ea14eec298e023225f48fa8082ff0570f27
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 4 00:29:20 2014 -0800
+
+ broadband-modem-mbim: handle subscriber info updates
+
+ Subscriber information like MSISDNs / MDNs may not be readily
+ available
+ when MMIfaceModem queries for it during modem initialization.
+
+ This patch modifies MMBroadbandModemMbim to subscribe to the
+ MBIM_CID_SUBSCRIBER_READY_STATUS notification and update the
+ 'OwnNumbers' property of the Modem interface when the information
+ becomes available.
+
+ src/mm-broadband-modem-mbim.c | 53
+ ++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 47 insertions(+), 6 deletions(-)
+
+commit a7da3fc387749182bfdd680b8b4c6526ea65e021
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Feb 18 12:43:26 2014 -0800
+
+ broadband-modem-mbim: update to use
+ mbim_message_device_service_subscribe_list
+
+ libmbim renames 'MBIM_CID_DEVICE_SERVICE_SUBSCRIBER_LIST' to
+ 'MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST' to be consistent with
+ the MBIM
+ specification. This patch updates MMBroadbandModemMbim accordingly.
+
+ src/mm-broadband-modem-mbim.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit a2ef167ccd476e2574b598df8786582664f6c570
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Mar 6 14:30:56 2014 +0100
+
+ build: require libmbim 1.8
+
+ We're going to add support for some features only available in
+ that version.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 70fb7c2ede2668013eb1cc1c7319d70d2be62f9f
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Mar 5 19:30:57 2014 -0800
+
+ broadband-modem: fix hdr_subsys_state_info_ready
+
+ hdr_subsys_state_info_ready() did not implement the
+ GAsyncReadyCallback
+ function signature, which led to a crash. This patch fixes
+ hdr_subsys_state_info_ready() to properly extract the QCDM response
+ from
+ the GAsyncResult object.
+
+ src/mm-broadband-modem.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 22193e2f3aafe5a314d7a891bf0b1e713cfd34c5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Mar 5 11:47:15 2014 +0100
+
+ license: add LGPLv2+ license in addition to the GPLv2+ one
+
+ This is not a license change; the daemon and command line tool are
+ still GPLv2+,
+ and the libmm-glib library LGPLv2+.
+
+ For reference, see libqmi bug:
+ https://bugs.freedesktop.org/show_bug.cgi?id=74220
+
+ COPYING.LIB | 502
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Makefile.am | 3 +-
+ README | 4 +
+ 3 files changed, 508 insertions(+), 1 deletion(-)
+
+commit 4a5a0197b5ae170575bc816ecaefc77ea6c057b4
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 4 00:17:34 2014 -0800
+
+ port-mbim: increase timeout of device open operation
+
+ A MBIM device typically delays its response to an 'Open' command
+ when it
+ has not completed the initialization process. This patch increases the
+ timeout of the MBIM device open operation from 10s to 30s to handle
+ situations where the device takes much longer to initialize.
+
+ src/mm-port-mbim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f3ded99af1c296781a564c4539b351db93ad0a59
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 3 16:33:51 2014 +0100
+
+ cinterion: implement unlock retries loading
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 120
+ +++++++++++++++++++++++
+ 1 file changed, 120 insertions(+)
+
+commit 191168e3ef2796eb9d06414c384482d88c3bb5ee
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Mar 3 14:33:12 2014 +0100
+
+ cinterion: after SIM unlock, query SIM status until ready
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 116
+ +++++++++++++++++++++
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 47 +++++++++
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 9 ++
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 45 +++++++-
+ 4 files changed, 213 insertions(+), 4 deletions(-)
+
+commit f20724ec3f5bb4ad9821059021a5d4ee1d74528c
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Feb 28 12:30:18 2014 -0800
+
+ iface-modem: allow setting power state to OFF when modem is in
+ FAILED state
+
+ src/mm-iface-modem.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit 17bf3f8578c2e4a43d81630071daf15a5f374254
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 27 22:15:01 2014 +0100
+
+ cinterion: request to force refresh access tech after current
+ bands update
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 019d038c17f9d633379ab29b9fb7ea15bc0f3fab
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 27 16:23:12 2014 +0100
+
+ cinterion: force band preference update to be applied immediately
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit f2024b78b297079c61f51d1a7f6cd73611bc7de2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 27 11:32:05 2014 +0100
+
+ cinterion: consolidate setting current bands in 2G and 3G devices
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 95
+ +++++++-----------------
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 19 +++++
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 1 +
+ 3 files changed, 46 insertions(+), 69 deletions(-)
+
+commit c1e2a3a5bc686f310a705724e806d058f3cee68c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 20:42:15 2014 +0100
+
+ cinterion: consolidate current bands loading for 2G and 3G devices
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 101
+ ++-------------------
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 53 +++++++----
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 7 +-
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 48 +++++++++-
+ 4 files changed, 92 insertions(+), 117 deletions(-)
+
+commit 0877f68a8481c5d011652831cfe523f7a629604e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 17:11:25 2014 +0100
+
+ cinterion: consolidate supported bands loading for 2G and 3G devices
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 32 ++++-----------
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 46
+ ++++++++++++++--------
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 7 ++--
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 5 ++-
+ 4 files changed, 45 insertions(+), 45 deletions(-)
+
+commit 65eda92ceb411982331f8ee2922852c9587456d6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 17:09:54 2014 +0100
+
+ broadband-modem: allow querying current charset
+
+ So that plugins can use it.
+
+ src/mm-broadband-modem.c | 6 ++++++
+ src/mm-broadband-modem.h | 3 +++
+ 2 files changed, 9 insertions(+)
+
+commit 87d867c8aedf59a55fdbed358e252592fc86fc35
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 16:23:27 2014 +0100
+
+ cinterion: add helper to build Cinterion band mask
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 96
+ ++++++------------------
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 46 ++++++++++++
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 8 ++
+ 3 files changed, 78 insertions(+), 72 deletions(-)
+
+commit e6430acaaaa56eae95206a564109e2a04c99e7c5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 15:51:11 2014 +0100
+
+ cinterion: add helper to parse AT^SCFG="Radio/Band" response in
+ 3G devices
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 68
+ +++------------------
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 71
+ ++++++++++++++++++++++
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 7 +++
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 60
+ +++++++++++++++++-
+ 4 files changed, 146 insertions(+), 60 deletions(-)
+
+commit 82067915d16a5e367346a3b62489b6efcb19f834
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 15:12:43 2014 +0100
+
+ cinterion: use AT^SCFG=? to parse supported bands in 3G devices
+
+ .gitignore | 1 +
+ plugins/Makefile.am | 15 +++
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 77 +++++++----
+ plugins/cinterion/mm-modem-helpers-cinterion.c | 121
+ +++++++++++++++++
+ plugins/cinterion/mm-modem-helpers-cinterion.h | 28 ++++
+ .../cinterion/tests/test-modem-helpers-cinterion.c | 149
+ +++++++++++++++++++++
+ 6 files changed, 363 insertions(+), 28 deletions(-)
+
+commit e6cfa57c608a4097c9d63067f8dba261b3cddfe4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 13:06:30 2014 +0100
+
+ cinterion: request access tech update after allowed mode change
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 8a47dce5fb19c8b183ef47cb9ab90f6183a5508b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 13:01:44 2014 +0100
+
+ iface-modem-3gpp: request access tech update after registration
+ attempt
+
+ src/mm-iface-modem-3gpp.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 73dad3d899316352ab4f058f526069a8724b2b13
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 12:59:05 2014 +0100
+
+ iface-modem: allow requesting the refresh of the access tech
+
+ For periodic updates, we may want to request an explicit re-check
+ at some point,
+ instead of waiting for the next scheduled update.
+
+ src/mm-iface-modem.c | 31 ++++++++++++++++++++++++++-----
+ src/mm-iface-modem.h | 3 +++
+ 2 files changed, 29 insertions(+), 5 deletions(-)
+
+commit 82340cd5f7e1c464eda820632b07cf55e78cc90f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 12:45:04 2014 +0100
+
+ cinterion: add support for HSUPA+HSDPA reported access tech
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 27
+ ++++++++++++++----------
+ 1 file changed, 16 insertions(+), 11 deletions(-)
+
+commit a9a4a2a337d14baecbcc6a76670ed48ce6b91259
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 12:37:01 2014 +0100
+
+ cinterion: allow recovering automatic mode
+
+ When automatic mode (i.e. 2G+3G+none preferred) is selected, we
+ need to
+ explicitly request it by giving the AT+COPS write command with values
+ (i.e. not
+ just empty fields).
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 34
+ +++++++++++++++---------
+ 1 file changed, 21 insertions(+), 13 deletions(-)
+
+commit 177f15f295810614d1ee8f845745b9b40a02dac7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 12:30:04 2014 +0100
+
+ cinterion: cache operator id if manual selection attempted
+
+ We'll need it afterwards for proper mode switching
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 87
+ +++++++++++++++++++++++-
+ 1 file changed, 86 insertions(+), 1 deletion(-)
+
+commit 914caf0f3b2da220388aae56ba35f56cbc76b117
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 12:28:00 2014 +0100
+
+ cinterion: unsupported modes are already filtered out
+
+ So no need to try to handle error cases or fallbacks to support them.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 45
+ +++++-------------------
+ 1 file changed, 8 insertions(+), 37 deletions(-)
+
+commit ece4f0f0144ad8fc34a93aa2add0a933edbc4ab1
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 11:55:45 2014 +0100
+
+ cinterion: increase AT command timeout when changing modes
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e3bebc85c44f4d7826a2c4cdef937b33aeceb329
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 27 13:03:04 2014 -0600
+
+ libmm-glib: deep-copy ports array in ensure_internal_ports()
+ (bgo #724900)
+
+ ensure_internal_ports() didn't deep-copy the ports array, which
+ meant that anything calling mm_modem_port_info_array_free() was
+ freeing the internal memory owned by MMModem if it retrieved
+ the array with mm_modem_get_ports().
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=724900
+
+ libmm-glib/mm-modem.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+commit 5d88c2ff8f6bb3a59fa12f35d354eea0e7c26324
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Feb 26 14:56:34 2014 -0800
+
+ broadband-modem-mbim: handle if unlock retries info is not available
+
+ By setting the 'RemainingAttempts' field of a MBIM_CID_PIN response to
+ 0xffffffff, a MBIM modem indicates that it does not support the
+ information on the number of remaining attempts for pin-related
+ operations. This patch modifies MMBroadbandModemMbim to handle
+ this case
+ properly, instead of reporting a very large unlock retries count.
+
+ src/mm-broadband-modem-mbim.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit accb611e1f7ec648c6a7a6080c89b41fa5f9fd5c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 26 11:52:33 2014 +0100
+
+ base-modem: if no AT primary given, try to use data port
+
+ The Cinterion PHS8 reports a single AT port to be used as data port,
+ and no
+ other port as primary. In this case, recover the tty as primary AT
+ port, instead
+ of failing with an error.
+
+ src/mm-base-modem.c | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+commit e3c4dec3d7db6cb61fd68f5b82452c236ed91843
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 18 11:33:28 2014 +0100
+
+ wavecom: implement power off
+
+ Powering off Wavecom devices is done via the AT^CPOF=1 command. These
+ devices
+ seem to not only power-off, but also power-cycle when this command
+ is received,
+ which means that the user needs to make sure to fully cut the power
+ to the
+ device when the SetPowerState() method replies.
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 28
+ ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit f9b9f25cd1bee4996d918e6976c53e74edfa364a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 18 11:03:33 2014 +0100
+
+ cinterion: implement power off
+
+ Powering off Cinterion modems is done with the AT^SMSO command. Once
+ this
+ command is sent to the device, ModemManager still needs to wait to
+ get an
+ unsolicited ^SHUTDOWN message from the modem, which is when the
+ shutdown
+ is considered complete.
+
+ Newer Cinterion devices, though, don't seem to follow this rule
+ and just
+ reply OK to AT^SMSO (i.e. no ^SHUTDOWN), but instead, they will
+ remove the
+ tty ports.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 154
+ +++++++++++++++++++++++
+ 1 file changed, 154 insertions(+)
+
+commit 00a924617c407f5e3144992eaca4ed6eb8460ada
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 18 10:47:58 2014 +0100
+
+ broadband-modem-qmi: implement full power off
+
+ The power off command will transition the device to the OFFLINE
+ state. After
+ this, the modem will not be able to go online again unless it is
+ power-cycled,
+ either externally (cut power and re-establish power) or through
+ another
+ transition to QMI_DMES_OPERATING_MODE_RESET (which ModemManager
+ will not
+ implement for this case).
+
+ src/mm-broadband-modem-qmi.c | 51
+ +++++++++++++++++++++++++++-----------------
+ 1 file changed, 32 insertions(+), 19 deletions(-)
+
+commit fe9f3a65531a4f02771a20290498dc033544c67b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 18 10:45:31 2014 +0100
+
+ cli: new '--set-power-state-off' command
+
+ cli/mmcli-modem.c | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+commit 9239fbcd7a137f2bb349592d649fc80847e6e731
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 18 10:35:58 2014 +0100
+
+ iface-modem: allow transitioning to the OFF power state
+
+ There are systems in which the modem power source can be controlled
+ externally,
+ e.g. to switch it on or off. In these cases, it is sometimes advisable
+ to be
+ able to tell the modem to cleanly shut off completely before the
+ power is cut.
+ So, allow transitioning to the OFF power state if the modem supports
+ it, even if
+ afterwards the modem could be completely unreachable.
+
+ src/mm-iface-modem.c | 88
+ ++++++++++++++++++++++++++++++++++++++++++++++------
+ src/mm-iface-modem.h | 7 +++++
+ 2 files changed, 86 insertions(+), 9 deletions(-)
+
+commit 705dd0133d8a02c0bf2a2cfa3d8920030dc1392d
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Feb 19 21:44:23 2014 -0800
+
+ broadband-modem-mbim: handle network initiated disconnect
+
+ Observing registration updates via the MBIM_CID_REGISTER_STATE
+ notification alone is not always sufficient to detect if the modem is
+ disconnected from the network. In case of a network-initiated
+ disconnect, it is possible that the modem is disconnected from the
+ network but remains registered.
+
+ This patch modifies MMBroadbandModemMbim to subscribe to the
+ MBIM_CID_CONNECT notification. Upon receiving a notification of a
+ deactivated session ID, the corresponding bearer is reported as
+ disconnected.
+
+ src/mm-broadband-modem-mbim.c | 85
+ ++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 79 insertions(+), 6 deletions(-)
+
+commit 1866aad9d3a628572fb8c22e5a7ae1ad1c7ad9d2
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Feb 19 22:32:05 2014 -0800
+
+ bearer: remove unnecessary MM_BEARER() casts
+
+ src/mm-bearer.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit acc7b4b8b91cb5428cf2dcd16328febaeece680b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 19 18:59:24 2014 -0600
+
+ Revert "broadband-modem-mbim: update to use
+ mbim_message_device_service_subscribe_list"
+
+ This reverts commit 8327db70b9b5b08481ce1666d7a0192f306ff5ee.
+
+ libmbim change not committed yet...
+
+ configure.ac | 4 ++--
+ src/mm-broadband-modem-mbim.c | 10 +++++-----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 8327db70b9b5b08481ce1666d7a0192f306ff5ee
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Feb 18 12:43:26 2014 -0800
+
+ broadband-modem-mbim: update to use
+ mbim_message_device_service_subscribe_list
+
+ libmbim renames 'MBIM_CID_DEVICE_SERVICE_SUBSCRIBER_LIST' to
+ 'MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST' to be consistent with
+ the MBIM
+ specification. This patch updates MMBroadbandModemMbim accordingly.
+
+ configure.ac | 4 ++--
+ src/mm-broadband-modem-mbim.c | 10 +++++-----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 1bd939d4b8e6e5d28ffdb9cd63e7b9c560469b1d
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Feb 19 12:08:24 2014 -0800
+
+ huawei: fix a debug message
+
+ This patch simply fixes the following debug message:
+
+ from:
+ <debug> (Huawei) couldn't turn off unsolicited messages insecondary
+ ports: 'Unknown error'
+
+ to:
+ <debug> (Huawei) couldn't turn off unsolicited messages in secondary
+ ports: 'Unknown error'
+
+ plugins/huawei/mm-plugin-huawei.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 9e1472d5ecb04e30c4b1259ab84510c601aa5f37
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 17 12:33:51 2014 -0600
+
+ trivial: fix dist of gsm-port.conf
+
+ plugins/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 759f13f693a149b3a10d11b402d174d97e9bc5f8
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Feb 14 19:09:53 2014 -0800
+
+ cli: align printout of bearer IPv6 configuration properties
+
+ cli/mmcli-bearer.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit ccbd5a2e2da263de35917d841fdf3bc44a776e52
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Feb 13 12:42:11 2014 -0800
+
+ port-serial: fix gsize/gssize type mismatch
+
+ This patch fixes the following type mismatch in
+ MMPortSerial::port_serial_process_command():
+
+ mm-port-serial.c:612:21: error: comparison of unsigned expression <
+ 0 is always false [-Werror,-Wtautological-compare]
+ if (written < 0) {
+ ~~~~~~~ ^ ~
+
+ src/mm-port-serial.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit d278f381d28f6a4ebc82f4f7ea838961ebb466a3
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Feb 13 13:10:17 2014 -0800
+
+ tests: fix array bound checks in process_next_command
+
+ This patch fixes the out-of-bounds array accesses in
+ test-port-context.c,
+ which is detected by AddressSanitizer, by checking the index
+ against the
+ array length before accessing the array.
+
+ plugins/tests/test-port-context.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 0ce424451789a5ffacde7ff3cce038c2fbda97eb
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Feb 13 12:42:19 2014 -0800
+
+ tests: add missing call to g_type_init()
+
+ This patches fixes the following error when testing ModemManager with
+ glib < 2.36, which still requires g_type_init() to be called:
+
+ TEST: test-service-generic... (pid=20166)
+ /MM/Service/Generic:
+ (/work/ModemManager/plugins/.libs/lt-test-service-generic:20166):
+ GLib-GObject-CRITICAL **: gtype.c:2720: You forgot to call
+ g_type_init()
+ FAIL
+
+ plugins/generic/tests/test-service-generic.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 50de6798b0ae86692ad1f9a7b3e3188f16d2e45a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 13 15:55:35 2014 -0600
+
+ broadband-modem: fix double-free of QCDM mode-pref query
+
+ Caused by a merge conflict between 81ee0783 and 529e94b0.
+
+ src/mm-broadband-modem.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 42ad7b758a09b91bba6cda7fe9ac06525aa86f6a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 13 15:18:16 2014 -0600
+
+ manager: make Bluetooth rfcomm ports work again
+
+ At some point rfcomm serial ports stopped having parents in sysfs,
+ so checks to get the physical device fail because the rfcomm port
+ is /sys/devices/virtual/rfcommX and has no parents. So we have
+ to fall back on checking the interface name.
+
+ src/mm-device.c | 7 +++++++
+ src/mm-manager.c | 9 ++++++++-
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+commit fbb35628d525a7072ef87a9968cbc2ab1a705a6b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Feb 4 11:10:20 2014 +0100
+
+ po: don't translate test files
+
+ po/POTFILES.skip | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit bff2a8d2f29fbf5e493c115101e48dd0ce37c3cd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 25 18:32:20 2013 +0100
+
+ tests: added support for DBus service tests
+
+ We can now run 'simulated' modems against a ModemManager running in
+ its own
+ session bus.
+
+ .gitignore | 1 +
+ plugins/Makefile.am | 53 +++-
+ plugins/generic/tests/test-service-generic.c | 84 ++++++
+ plugins/tests/gsm-port.conf | 46 ++++
+ plugins/tests/test-fixture.c | 186 +++++++++++++
+ plugins/tests/test-fixture.h | 54 ++++
+ plugins/tests/test-port-context.c | 391
+ +++++++++++++++++++++++++++
+ plugins/tests/test-port-context.h | 35 +++
+ 8 files changed, 849 insertions(+), 1 deletion(-)
+
+commit ba58aa42f2ff931b561c45e2073772bc9b419dfc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 25 18:03:32 2013 +0100
+
+ base-modem: don't apply auth checks if running in the SESSION bus
+
+ src/mm-base-modem.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit f85e345a9e0f6cd78e69092a55adfacb911f89bc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 25 18:03:08 2013 +0100
+
+ manager: as soon as we know we're going to stop, clear DBus connection
+
+ So that the ObjectManager interface doesn't try to signal about
+ e.g. interface
+ removals; see:
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=715157.
+
+ src/main.c | 7 +++++++
+ src/mm-manager.c | 21 +++++++++++++++++++--
+ 2 files changed, 26 insertions(+), 2 deletions(-)
+
+commit 247a9459509a1eeee7ffb686034920d3614c2b99
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 24 16:34:15 2013 +0100
+
+ context: new '--test-plugin-dir' to allow specifying where the
+ plugins are
+
+ .../tests/org.freedesktop.ModemManager1.service.in | 2 +-
+ src/main.c | 1 +
+ src/mm-context.c | 8 +++
+ src/mm-context.h | 1 +
+ src/mm-manager.c | 24 +++++++-
+ src/mm-manager.h | 2 +
+ src/mm-plugin-manager.c | 72
+ ++++++++++++++++++++--
+ src/mm-plugin-manager.h | 5 +-
+ 8 files changed, 107 insertions(+), 8 deletions(-)
+
+commit ea362ce18e0e594bf2815e8c94f3491e73fc68d7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 24 15:50:18 2013 +0100
+
+ service,tests: run in MM in debug mode in service tests
+
+ data/tests/org.freedesktop.ModemManager1.service.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6810aff8641151a092adda02a84e90ac10b48b0c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 23:42:15 2013 +0100
+
+ manager: allow to remotely setup test profiles with 'virtual' ports
+
+ src/mm-manager.c | 54
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 52 insertions(+), 2 deletions(-)
+
+commit 2d9d15f892cd0b2181b6fab73290d81bad63e7e3
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 23:40:55 2013 +0100
+
+ plugin: allow creating 'virtual' modems with 'virtual' ports
+
+ src/mm-plugin.c | 43 +++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 35 insertions(+), 8 deletions(-)
+
+commit c182a04f6438850875319862cf8d22de2250e907
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 23:40:31 2013 +0100
+
+ base-modem: allow grabbing 'virtual' AT ports
+
+ src/mm-base-modem.c | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+commit abb88a5e0ab7a0ed4a661372aa24e82aa38bc89f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 23:40:05 2013 +0100
+
+ plugin-manager: allow looking plugins by name
+
+ src/mm-plugin-manager.c | 22 ++++++++++++++++++++++
+ src/mm-plugin-manager.h | 4 ++++
+ 2 files changed, 26 insertions(+)
+
+commit 9641d27518e3f0a33c909ce46331d34eed76b432
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 23:32:28 2013 +0100
+
+ device: allow creating 'virtual' devices
+
+ src/mm-device.c | 146
+ ++++++++++++++++++++++++++++++++++++++++++++++++--------
+ src/mm-device.h | 11 +++++
+ 2 files changed, 136 insertions(+), 21 deletions(-)
+
+commit b7fa48dd22f9bf4cb38a60e7c78184b7eea5fcf7
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 21:15:15 2013 +0100
+
+ device: new 'hotplugged' property
+
+ src/mm-device.c | 29 +++++++++++++++++++++--------
+ src/mm-device.h | 4 +++-
+ 2 files changed, 24 insertions(+), 9 deletions(-)
+
+commit 84ab92d85a331e835ab5672865e0238d08ee8857
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 16:58:25 2013 +0100
+
+ port-serial: allow ports based on Unix sockets
+
+ src/mm-port-serial-at.c | 4 +-
+ src/mm-port-serial.c | 363
+ +++++++++++++++++++++++++++++++++++-------------
+ src/mm-port.h | 3 +-
+ 3 files changed, 273 insertions(+), 97 deletions(-)
+
+commit 65f87561c58571bce8fca18c568a03f53f3d40eb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 13:47:11 2013 +0100
+
+ context: new '--test-enable' to enable the Test interface
+
+ .../tests/org.freedesktop.ModemManager1.service.in | 2 +-
+ src/Makefile.am | 5 +-
+ src/main.c | 1 +
+ src/mm-context.c | 8 +++
+ src/mm-context.h | 1 +
+ src/mm-manager.c | 63
+ ++++++++++++++++++++++
+ src/mm-manager.h | 6 ++-
+ 7 files changed, 82 insertions(+), 4 deletions(-)
+
+commit 243720414e2d7a1b1c6d42bed3275296b4bc1da0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 11:54:30 2013 +0100
+
+ context: new '--test-no-auto-scan' to avoid automatic scanning
+ for devices
+
+ .../tests/org.freedesktop.ModemManager1.service.in | 2 +-
+ src/main.c | 4 ++-
+ src/mm-context.c | 8 ++++++
+ src/mm-context.h | 1 +
+ src/mm-manager.c | 31
+ +++++++++++++++++++++-
+ src/mm-manager.h | 2 ++
+ 6 files changed, 45 insertions(+), 3 deletions(-)
+
+commit bf57da537d62c5ef15b7be32818cd4a531f89d38
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 11:27:14 2013 +0100
+
+ context: new '--test-session' allows launching the MM daemon in the
+ session bus
+
+ .../tests/org.freedesktop.ModemManager1.service.in | 2 +-
+ src/main.c | 5 ++-
+ src/mm-context.c | 49
+ ++++++++++++++++++----
+ src/mm-context.h | 3 ++
+ 4 files changed, 49 insertions(+), 10 deletions(-)
+
+commit 46ff06ff80b404ceb92297c4d8ca8cec40c7c51e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 10:11:36 2013 +0100
+
+ service,tests: new DBus service file for tests
+
+ .gitignore | 1 +
+ configure.ac | 2 ++
+ data/Makefile.am | 2 ++
+ data/tests/Makefile.am | 2 ++
+ data/tests/org.freedesktop.ModemManager1.service.in | 5 +++++
+ 5 files changed, 12 insertions(+)
+
+commit 4827e79848da98c600fd228d02ea6fb56dc4e814
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 09:25:21 2013 +0100
+
+ libmm-glib,tests: use gdbus-codegen to generate code for the new
+ Test interface
+
+ .gitignore | 1 +
+ configure.ac | 1 +
+ docs/reference/libmm-glib/Makefile.am | 9 +++++++-
+ libmm-glib/generated/Makefile.am | 2 ++
+ libmm-glib/generated/tests/Makefile.am | 38
+ ++++++++++++++++++++++++++++++++++
+ 5 files changed, 50 insertions(+), 1 deletion(-)
+
+commit 1eaa416f22d7d247a3a69afe6ff025984f10b491
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Nov 22 09:24:07 2013 +0100
+
+ introspection,tests: add new 'Test' interface
+
+ configure.ac | 1 +
+ introspection/Makefile.am | 3 +++
+ introspection/tests/Makefile.am | 3 +++
+ .../tests/org.freedesktop.ModemManager1.Test.xml | 31
+ ++++++++++++++++++++++
+ 4 files changed, 38 insertions(+)
+
+commit e684851698924e5b3872ac3adc93c2773ef910ee
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 18:31:39 2013 +0100
+
+ huawei: use shortened version of NDISDUP when possible
+
+ Adds support for the Huawei E3276 by sending the shortened form of the
+ AT^NDISDUP command where possible, as the E3276 fails with an
+ '+CME ERROR:
+ Incorrect parameters' if encoded_auth is set to 0. This behaviour
+ is slightly
+ different to the E1820 and K4605 (E372) which will happily establish a
+ connection with encoded_auth set to 0, 1 or 2.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 24 +++++++++++++++++++-----
+ 1 file changed, 19 insertions(+), 5 deletions(-)
+
+commit b28230411a3f47bbba71b905e3982575308f81f4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 18:24:38 2013 +0100
+
+ port-serial: always set the forced_close flag if forced to close
+
+ src/mm-port-serial.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 0d0f5de161562df82a47bdc387b6ecb62e902719
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 19 23:59:57 2013 +0100
+
+ base-modem: allow looking for a subset of the available ports
+
+ src/mm-base-modem.c | 32 ++++++++++++++++++++++++++++++++
+ src/mm-base-modem.h | 5 +++++
+ 2 files changed, 37 insertions(+)
+
+commit 2b46f658799e51d3db0ad61bbde45b3426622827
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 19 23:15:48 2013 +0100
+
+ base-modem: allow grabbing non-tty AT ports
+
+ src/mm-base-modem.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 070f4938f3ff5425f8c4f18f57e79d935ad05b32
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 19 20:48:20 2013 +0100
+
+ plugin: allow probing non-tty AT ports
+
+ src/mm-plugin.c | 20 +++++++++++++-------
+ src/mm-port-probe.c | 6 ++----
+ 2 files changed, 15 insertions(+), 11 deletions(-)
+
+commit 38ebf7c95b94f065f80c85505e65f102cef733d2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 19 20:24:27 2013 +0100
+
+ port-serial-at: allow specifying subsystem when creating a
+ 'MMPortSerialAt'
+
+ Don't just assume that all AT ports are TTYs.
+
+ src/mm-base-modem.c | 2 +-
+ src/mm-port-probe.c | 7 ++++++-
+ src/mm-port-serial-at.c | 13 ++++++++++---
+ src/mm-port-serial-at.h | 3 ++-
+ 4 files changed, 19 insertions(+), 6 deletions(-)
+
+commit 9432674087617b8140ca2e517e367bf74061e87e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 17:47:19 2013 +0100
+
+ port-serial: use the GIOChannel also for writing data
+
+ src/mm-port-serial.c | 113
+ +++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 74 insertions(+), 39 deletions(-)
+
+commit 3ef71e45414b6797d464bb572a1dfb29c9c49d16
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 19 20:22:45 2013 +0100
+
+ port-serial: allow non-tty 'MMPortSerial' objects
+
+ Allow having 'MMPortSerial' objects for non-tty devices. This will
+ allow us e.g.
+ handling /dev/cdc-wdm ports speaking the AT protocol.
+
+ src/mm-port-serial.c | 112
+ +++++++++++++++++++++++++++++----------------------
+ 1 file changed, 64 insertions(+), 48 deletions(-)
+
+commit 6fc14f6611cb94fe0b2d280cfeddf658fdce8c53
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 19 20:19:22 2013 +0100
+
+ port-serial: remove unneeded method
+
+ src/mm-port-serial.c | 8 --------
+ src/mm-port-serial.h | 2 --
+ 2 files changed, 10 deletions(-)
+
+commit a2f4fbe373de4f0cf094004b954504e510546b6e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 18 12:07:25 2013 +0100
+
+ port-serial-qcdm: commands are never cached
+
+ The QCDM port commands are never cached, so remove the option from
+ the command()
+ method. Will also simplify command caching afterwards as it will be
+ an AT-only
+ thing.
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 4 ----
+ src/mm-broadband-modem.c | 10 ----------
+ src/mm-port-probe.c | 2 --
+ src/mm-port-serial-qcdm.c | 3 +--
+ src/mm-port-serial-qcdm.h | 1 -
+ src/tests/test-qcdm-serial-port.c | 2 +-
+ 6 files changed, 2 insertions(+), 20 deletions(-)
+
+commit 5792bcc876c9e3152d0444fca938091c112d05af
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 19 18:51:50 2013 +0100
+
+ port: remove 'constructor' checking for property validity
+
+ A constructor cannot return NULL, specially when there are subclasses,
+ as it
+ would segfault. Just remove it, as it doesn't really do anything
+ useful.
+
+ src/mm-port.c | 41 -----------------------------------------
+ 1 file changed, 41 deletions(-)
+
+commit ef77e35a7f203bbe64cc13fb00feb1602ccbc1f5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Tue Nov 19 18:50:14 2013 +0100
+
+ port: use a 'priv' pointer to handle the private info
+
+ src/mm-port.c | 56
+ +++++++++++++++++++++++++++-----------------------------
+ src/mm-port.h | 2 ++
+ 2 files changed, 29 insertions(+), 29 deletions(-)
+
+commit 3f8f88499e100a3c0cce7775c3bf36c09052ac4a
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 18 00:34:10 2013 +0100
+
+ port-serial: use a 'priv' pointer to handle the private info
+
+ src/mm-port-serial.c | 469
+ ++++++++++++++++++++++++---------------------------
+ src/mm-port-serial.h | 3 +-
+ 2 files changed, 220 insertions(+), 252 deletions(-)
+
+commit dbe13520eedfce385ef5f2e09185ba0321ed9d86
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 18 00:18:47 2013 +0100
+
+ port-serial-at: use a 'priv' pointer to handle the private info
+
+ src/mm-port-serial-at.c | 125
+ ++++++++++++++++++++++--------------------------
+ src/mm-port-serial-at.h | 2 +
+ 2 files changed, 60 insertions(+), 67 deletions(-)
+
+commit e909edcf1fb18d884ebf9915e15a53ff19bbe00d
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Mon Nov 18 00:07:04 2013 +0100
+
+ port-serial: use GIO Async API like method for command()
+
+ src/mm-port-serial-at.c | 75 ++++----
+ src/mm-port-serial-qcdm.c | 152 +++++++---------
+ src/mm-port-serial.c | 445
+ ++++++++++++++++++++++------------------------
+ src/mm-port-serial.h | 32 +---
+ 4 files changed, 318 insertions(+), 386 deletions(-)
+
+commit 8122153a88b6f87962d2702c14b642d4f344eca2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 17 14:50:22 2013 +0100
+
+ port-serial: use GIO Async API like method for flash()
+
+ src/mm-broadband-bearer.c | 22 ++++--
+ src/mm-broadband-modem.c | 11 +--
+ src/mm-port-probe.c | 10 +--
+ src/mm-port-serial.c | 180
+ ++++++++++++++++++++++++++++------------------
+ src/mm-port-serial.h | 12 ++--
+ 5 files changed, 144 insertions(+), 91 deletions(-)
+
+commit 6e35f0a8881de9f5a81a9abb2db17a15fda618bc
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 17 14:13:50 2013 +0100
+
+ port-serial: use GIO Async API like method for reopen()
+
+ src/mm-broadband-bearer.c | 20 +++---
+ src/mm-port-serial.c | 161
+ ++++++++++++++++++++++++++++------------------
+ src/mm-port-serial.h | 12 ++--
+ 3 files changed, 117 insertions(+), 76 deletions(-)
+
+commit d4dfd661b9bcfdad5a79e2a3f28374f0d0982c23
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Nov 17 01:11:12 2013 +0100
+
+ port-serial-at: use GIO Async API like methods
+
+ plugins/cinterion/mm-plugin-cinterion.c | 31 ++++----
+ plugins/huawei/mm-plugin-huawei.c | 55 ++++++++------
+ plugins/longcheer/mm-plugin-longcheer.c | 19 +++--
+ plugins/novatel/mm-plugin-novatel.c | 28 ++++---
+ plugins/sierra/mm-plugin-sierra.c | 32 +++++---
+ plugins/x22x/mm-plugin-x22x.c | 19 +++--
+ src/mm-base-modem-at.c | 107 +++++++++++++-------------
+ src/mm-port-probe.c | 35 +++++----
+ src/mm-port-serial-at.c | 130
+ +++++++++++++++++++-------------
+ src/mm-port-serial-at.h | 31 +++-----
+ 10 files changed, 276 insertions(+), 211 deletions(-)
+
+commit 81ee07832d3ab733f59f869ad17d1d5577aef3ff
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Nov 16 00:56:29 2013 +0100
+
+ port-serial-qcdm: use GIO Async API like methods
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 83 +++++++---
+ src/mm-broadband-modem.c | 239
+ +++++++++++++++++----------
+ src/mm-port-probe.c | 48 ++++--
+ src/mm-port-serial-qcdm.c | 93 +++++++----
+ src/mm-port-serial-qcdm.h | 20 +--
+ src/mm-port-serial.c | 10 +-
+ src/tests/test-qcdm-serial-port.c | 93 +++++------
+ 7 files changed, 352 insertions(+), 234 deletions(-)
+
+commit 1d57a008df410846499099fb84e06abcbfbbb6f5
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Nov 16 00:16:35 2013 +0100
+
+ port-serial-qcdm: remove unneeded private info
+
+ src/mm-port-serial-qcdm.c | 18 ------------------
+ 1 file changed, 18 deletions(-)
+
+commit 0c86840dde3baf1b77c841426453e014c9af9d31
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 16:00:14 2013 +0100
+
+ ports: rename 'libserial' to 'libport'
+
+ .gitignore | 4 ++--
+ plugins/huawei/mm-plugin-huawei.c | 2 +-
+ src/Makefile.am | 44
+ +++++++++++++++++++--------------------
+ src/mm-base-modem.c | 2 +-
+ src/mm-bearer-mbim.c | 2 +-
+ src/mm-bearer-qmi.c | 2 +-
+ src/mm-broadband-bearer.c | 2 +-
+ src/tests/Makefile.am | 4 ++--
+ 8 files changed, 31 insertions(+), 31 deletions(-)
+
+commit c236e18692d887269a71da6e8105187f58ddfd75
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 15:54:35 2013 +0100
+
+ ports: rename 'MMMbimPort' to 'MMPortMbim'
+
+ src/Makefile.am | 4 +--
+ src/mm-base-modem.c | 26 +++++++++---------
+ src/mm-base-modem.h | 10 +++----
+ src/mm-bearer-mbim.c | 4 +--
+ src/mm-broadband-modem-mbim.c | 24 ++++++++---------
+ src/{mm-mbim-port.c => mm-port-mbim.c} | 48
+ +++++++++++++++++-----------------
+ src/{mm-mbim-port.h => mm-port-mbim.h} | 46
+ ++++++++++++++++----------------
+ src/mm-port-probe.c | 20 +++++++-------
+ src/mm-sim-mbim.c | 4 +--
+ src/mm-sms-mbim.c | 4 +--
+ 10 files changed, 95 insertions(+), 95 deletions(-)
+
+commit 403e013f15903ee3d2d3fe2c5f60e8beb3c4356e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 15:49:57 2013 +0100
+
+ ports: rename 'MMQmiPort' to 'MMPortQmi'
+
+ src/Makefile.am | 4 +--
+ src/mm-base-modem.c | 26 +++++++-------
+ src/mm-base-modem.h | 10 +++---
+ src/mm-bearer-qmi.c | 40 +++++++++++-----------
+ src/mm-broadband-modem-qmi.c | 54 ++++++++++++++---------------
+ src/mm-port-probe.c | 24 ++++++-------
+ src/{mm-qmi-port.c => mm-port-qmi.c} | 66
+ ++++++++++++++++++------------------
+ src/{mm-qmi-port.h => mm-port-qmi.h} | 64
+ +++++++++++++++++-----------------
+ src/mm-sim-qmi.c | 6 ++--
+ src/mm-sms-qmi.c | 6 ++--
+ 10 files changed, 150 insertions(+), 150 deletions(-)
+
+commit 6f235b9948cf1ff1d11a7a339d3d1ffc40171dcd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 15:41:33 2013 +0100
+
+ ports: rename 'MMAtSerialPort' to 'MMPortSerialAt'
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 18 +--
+ plugins/altair/mm-broadband-modem-altair-lte.c | 28 ++---
+ plugins/anydata/mm-broadband-modem-anydata.c | 16 +--
+ plugins/cinterion/mm-plugin-cinterion.c | 16 +--
+ plugins/huawei/mm-broadband-bearer-huawei.c | 12 +-
+ plugins/huawei/mm-broadband-modem-huawei.c | 76 ++++++------
+ plugins/huawei/mm-plugin-huawei.c | 38 +++---
+ plugins/icera/mm-broadband-bearer-icera.c | 20 +--
+ plugins/icera/mm-broadband-modem-icera.c | 16 +--
+ plugins/iridium/mm-bearer-iridium.c | 2 +-
+ plugins/iridium/mm-broadband-modem-iridium.c | 4 +-
+ plugins/longcheer/mm-plugin-longcheer.c | 16 +--
+ plugins/mbm/mm-broadband-bearer-mbm.c | 10 +-
+ plugins/mbm/mm-broadband-modem-mbm.c | 34 +++---
+ plugins/mtk/mm-broadband-modem-mtk.c | 31 +++--
+ plugins/mtk/mm-plugin-mtk.c | 6 +-
+ plugins/nokia/mm-broadband-modem-nokia.c | 4 +-
+ plugins/nokia/mm-plugin-nokia-icera.c | 6 +-
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 20 +--
+ plugins/novatel/mm-plugin-novatel.c | 10 +-
+ plugins/option/mm-broadband-bearer-hso.c | 20 +--
+ plugins/option/mm-broadband-modem-hso.c | 14 +--
+ plugins/option/mm-broadband-modem-option.c | 28 ++---
+ plugins/option/mm-plugin-hso.c | 12 +-
+ plugins/option/mm-plugin-option.c | 4 +-
+ plugins/pantech/mm-plugin-pantech.c | 4 +-
+ plugins/samsung/mm-broadband-modem-samsung.c | 2 +-
+ plugins/sierra/mm-broadband-bearer-sierra.c | 16 +--
+ plugins/sierra/mm-broadband-modem-sierra.c | 4 +-
+ plugins/sierra/mm-common-sierra.c | 6 +-
+ plugins/sierra/mm-plugin-sierra.c | 18 +--
+ plugins/simtech/mm-broadband-modem-simtech.c | 8 +-
+ plugins/simtech/mm-plugin-simtech.c | 8 +-
+ plugins/telit/mm-plugin-telit.c | 6 +-
+ plugins/via/mm-broadband-modem-via.c | 28 ++---
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 4 +-
+ plugins/x22x/mm-plugin-x22x.c | 22 ++--
+ plugins/zte/mm-common-zte.c | 16 +--
+ plugins/zte/mm-plugin-zte.c | 6 +-
+ src/Makefile.am | 8 +-
+ src/mm-at-serial-port.h | 134
+ --------------------
+ src/mm-base-modem-at.c | 44 +++----
+ src/mm-base-modem-at.h | 6 +-
+ src/mm-base-modem.c | 90 +++++++-------
+ src/mm-base-modem.h | 20 +--
+ src/mm-broadband-bearer.c | 66 +++++-----
+ src/mm-broadband-bearer.h | 22 ++--
+ src/mm-broadband-modem.c | 88 +++++++-------
+ src/mm-iface-modem-3gpp-ussd.h | 2 -
+ src/mm-iface-modem-3gpp.h | 2 +-
+ src/mm-iface-modem-cdma.h | 2 +-
+ src/mm-iface-modem-location.h | 2 -
+ src/mm-iface-modem-messaging.h | 1 -
+ src/mm-iface-modem.h | 2 +-
+ src/mm-plugin.c | 4 +-
+ src/mm-port-probe.c | 22 ++--
+ src/mm-port-probe.h | 4 +-
+ src/{mm-at-serial-port.c => mm-port-serial-at.c} | 142
+ +++++++++++-----------
+ src/mm-port-serial-at.h | 133
+ ++++++++++++++++++++
+ src/tests/test-at-serial-port.c | 4 +-
+ 60 files changed, 700 insertions(+), 707 deletions(-)
+
+commit 0d1602bf0f861eed0af68a51610a3a6d3e139d0b
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 15:38:34 2013 +0100
+
+ ports: rename 'MMQcdmSerialPort' to 'MMPortSerialQcdm'
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 22 +++---
+ src/Makefile.am | 4 +-
+ src/mm-base-modem.c | 14 ++--
+ src/mm-base-modem.h | 6 +-
+ src/mm-broadband-modem.c | 80
+ +++++++++++-----------
+ src/mm-plugin.c | 2 +-
+ src/mm-port-probe.c | 14 ++--
+ ...mm-qcdm-serial-port.c => mm-port-serial-qcdm.c} | 46 ++++++-------
+ ...mm-qcdm-serial-port.h => mm-port-serial-qcdm.h} | 43 ++++++------
+ src/tests/test-qcdm-serial-port.c | 16 ++---
+ 10 files changed, 123 insertions(+), 124 deletions(-)
+
+commit e505ea0a5874f783b3e76c1f7f18174f1012f9f4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 15:36:32 2013 +0100
+
+ ports: rename 'MMGpsSerialPort' to 'MMPortSerialGps'
+
+ plugins/option/mm-broadband-modem-hso.c | 12 ++---
+ src/Makefile.am | 4 +-
+ src/mm-base-modem.c | 14 +++---
+ src/mm-base-modem.h | 6 +--
+ src/mm-gps-serial-port.h | 57
+ ----------------------
+ src/{mm-gps-serial-port.c => mm-port-serial-gps.c} | 36 +++++++-------
+ src/mm-port-serial-gps.h | 57
+ ++++++++++++++++++++++
+ 7 files changed, 93 insertions(+), 93 deletions(-)
+
+commit 9cde02111b3c0eb2ef487c021bcb0950d7cb5f92
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Nov 20 15:28:34 2013 +0100
+
+ ports: rename 'MMSerialPort' to 'MMPortSerial'
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 2 +-
+ plugins/iridium/mm-broadband-modem-iridium.c | 2 +-
+ plugins/mbm/mm-broadband-modem-mbm.c | 4 +-
+ plugins/option/mm-broadband-bearer-hso.c | 2 +-
+ plugins/option/mm-broadband-modem-hso.c | 6 +-
+ plugins/samsung/mm-broadband-modem-samsung.c | 2 +-
+ src/Makefile.am | 4 +-
+ src/mm-at-serial-port.c | 28 +--
+ src/mm-at-serial-port.h | 6 +-
+ src/mm-base-modem-at.c | 6 +-
+ src/mm-base-modem.c | 2 +-
+ src/mm-broadband-bearer.c | 34 +--
+ src/mm-broadband-modem.c | 32 +--
+ src/mm-gps-serial-port.c | 12 +-
+ src/mm-gps-serial-port.h | 6 +-
+ src/mm-port-probe.c | 28 +--
+ src/{mm-serial-port.c => mm-port-serial.c} | 310
+ ++++++++++++-------------
+ src/{mm-serial-port.h => mm-port-serial.h} | 96 ++++----
+ src/mm-qcdm-serial-port.c | 22 +-
+ src/mm-qcdm-serial-port.h | 6 +-
+ src/tests/test-qcdm-serial-port.c | 4 +-
+ 22 files changed, 309 insertions(+), 307 deletions(-)
+
+commit c9e2b46b2124afcf710736900ba1848711126a83
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 13 11:55:59 2014 +0100
+
+ cinterion: try to gather port type for devices with multiple tty ports
+
+ The new PHS8 or PXS8 devices may expose multiple tty ports, but only
+ one is
+ supposed to be used for PPP. So, query which port that is and flag
+ it before
+ grabbing it in the modem.
+
+ plugins/cinterion/mm-plugin-cinterion.c | 119
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 119 insertions(+)
+
+commit e60485a4aaede4d5a85b941574bd3e12143cb501
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Wed Feb 12 17:18:24 2014 +0100
+
+ wavecom: implement after-sim-unlock step
+
+ Just give some time to the SIM to get properly initialized, so that
+ we avoid
+ errors when reloading e.g. facility lock status.
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 39
+ ++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit 5d2f15041bb17b1c6108632b862a5cfba4d76826
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Feb 11 23:31:31 2014 -0800
+
+ zte: allow MBIM devices
+
+ plugins/zte/mm-plugin-zte.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit bd5cecb577b7e47ff1f84f9f476fb0a69374c798
+Author: Arnd Hannemann <arnd@arndnet.de>
+Date: Tue Feb 11 09:52:18 2014 +0100
+
+ mbm: add lenovo branded ericsson ID (Lenovo N5321gw)
+
+ This device ID is used in a Lenovo Thinkpad T440s.
+
+ Link:
+ http://forums.debian.net/viewtopic.php?f=7&t=107986&sid=4f81b9c1a8f4563f26fec24f7b65aaea&start=15
+
+ Signed-off-by: Arnd Hannemann <arnd@arndnet.de>
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 121fbd91e7208746e5f5f802b9ef406d9b5e5152
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Feb 6 10:41:09 2014 +0100
+
+ docs,api: fix section reference to the Messaging interface
+
+ docs/reference/api/ModemManager-overview.xml | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit c48b97b1187971a7b545921bfdc961e9ad53f0a6
+Author: Yunlian Jiang <yunlian@chromium.org>
+Date: Wed Feb 5 16:08:07 2014 -0800
+
+ libqcdm: use NULL instead of 0 for empty pointer
+
+ When I use clang 3.5 to build it, I got
+
+ commands.c:1444:16: error: expression which evaluates to zero treated
+ as a
+ null
+ pointer constant of type 'QcdmResult *' (aka 'struct QcdmResult
+ *')
+ [-Werror,-Wnon-literal-null-conversion]
+ return FALSE;
+ ^~~~~
+ ./utils.h:29:15: note: expanded from macro 'FALSE'
+ #define FALSE ((u_int8_t) 0)
+ ^~~~~~~~~~~~~~
+ commands.c:1464:20: error: expression which evaluates to zero treated
+ as a
+ null
+ pointer constant of type 'QcdmResult *' (aka 'struct QcdmResult
+ *')
+ [-Werror,-Wnon-literal-null-conversion]
+ return FALSE;
+ ^~~~~
+ ./utils.h:29:15: note: expanded from macro 'FALSE'
+ #define FALSE ((u_int8_t) 0)
+ ^~~~~~~~~~~~~~
+ 2 errors generated.
+ make[3]: *** [libqcdm_la-commands.lo] Error 1
+ make[3]: *** Waiting for unfinished jobs....
+
+ Below is the patch that fixes it
+
+ libqcdm/src/commands.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9447527c357a91bbd3660274c41fd1b802e4cf84
+Author: Julian Oes <julian@oes.ch>
+Date: Tue Feb 4 12:11:39 2014 +0100
+
+ blacklist: ignore all devices from VID 0x26a, no modems from 3D
+ Robotics
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 94bf076f28ecf32b8a28f6b88b775bf11c5c1250
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 30 18:03:10 2014 +0100
+
+ docs: update email address
+
+ AUTHORS | 2 +-
+ docs/reference/api/ModemManager-docs.xml | 2 +-
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit d81dd744529b2d732302d8aec04be9c922e504a4
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 30 17:57:00 2014 +0100
+
+ build: post release version bump to 1.3.0 (development)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2c53c664d85f8762b2cada1a7fcddc6c6a20fc03
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 30 17:17:45 2014 +0100
+
+ release: bump version to 1.2.0
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 38501a06bf059182cbb43b3c667366cf5fb3e71e
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 30 13:10:03 2014 +0100
+
+ mmcli: allow passing SMS index in --messaging-delete-sms
+
+ cli/mmcli-modem-messaging.c | 57
+ +++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 50 insertions(+), 7 deletions(-)
+
+commit 513248a2b7b4bc9d3043c81c024ad3277d35523f
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Thu Jan 30 12:50:30 2014 +0100
+
+ mmcli: allow passing bearer index in --delete-bearer
+
+ cli/mmcli-modem.c | 57
+ ++++++++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 50 insertions(+), 7 deletions(-)
+
+commit 06d2e51bbc4e183d7934adcc9cddbbe6195689a3
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 30 00:43:45 2014 -0800
+
+ zte: add port type hints for the ZTE MF190 (19d2:1254)
+
+ plugins/zte/77-mm-zte-port-types.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit c28ff0d5470f0564cc09d8fa06e18506876033a3
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jan 28 23:44:01 2014 -0800
+
+ modem-helpers: recognize "3G" as UMTS access technology
+
+ Some modems (e.g. ZTE MF190) report UMTS access technology as "3G":
+
+ --> 'AT+ZPAS?<CR>'
+ <-- '<CR><LF>+ZPAS: "3G","CS_PS"<CR><LF><CR><LF>OK<CR><LF>'
+
+ src/mm-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c5cfa2cad103bba58f281324458be6c05dbd8326
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Sun Jan 26 16:37:58 2014 +0100
+
+ broadband-modem-qmi: Fix compilation error due to removed variable
+
+ otherwise we fail with:
+
+ CC ModemManager-mm-broadband-modem-qmi.o
+ mm-broadband-modem-qmi.c: In function ‘process_gsm_info’:
+ mm-broadband-modem-qmi.c:4182:18: error: ‘egprs_support_valid’
+ undeclared (first use in this function)
+ &egprs_support_valid, &egprs_support,
+ ^
+ mm-broadband-modem-qmi.c:4182:18: note: each undeclared identifier
+ is reported only once for each function it appears in
+ mm-broadband-modem-qmi.c:4182:40: error: ‘egprs_support’
+ undeclared (first use in this function)
+ &egprs_support_valid, &egprs_support,
+
+ src/mm-broadband-modem-qmi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3c2800f02eef9f1aed2ad7b25717b2bb54fcd764
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Sun Jan 26 16:37:57 2014 +0100
+
+ broadband-modem-qmi: Fix compilation error due to variable type change
+
+ otherwise we fail with:
+
+ CC ModemManager-mm-broadband-modem-qmi.o
+ mm-broadband-modem-qmi.c: In function ‘get_signal_info_ready’:
+ mm-broadband-modem-qmi.c:2309:5: error: passing argument 3 of
+ ‘signal_info_get_quality’ from incompatible pointer type [-Werror]
+ if (!signal_info_get_quality (ctx->self, output, &quality)) {
+ ^
+ mm-broadband-modem-qmi.c:2236:1: note: expected ‘gint8 *’ but
+ argument is of type ‘guint *’
+ signal_info_get_quality (MMBroadbandModemQmi *self,
+ ^
+ cc1: all warnings being treated as errors
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 983c197c6b7b6c31e91bfb82c3d32a2578c39b53
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Sun Jan 26 16:37:56 2014 +0100
+
+ broadband-modem-qmi: Fix compilation error due to variable name change
+
+ otherwise we fail with:
+
+ CC ModemManager-mm-broadband-modem-qmi.o
+ mm-broadband-modem-qmi.c: In function ‘modem_load_current_bands’:
+ mm-broadband-modem-qmi.c:1881:35: error: ‘ctx’ undeclared (first
+ use in this function)
+ if (qmi_client_check_version (ctx->client, 1, 19)) {
+ ^
+ mm-broadband-modem-qmi.c:1881:35: note: each undeclared identifier
+ is reported only once for each function it appears in
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fdba981f8e5023fc4c42ba29c401444a3a2f2578
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 26 19:56:58 2014 +0100
+
+ huawei: fix leaked string
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 48585c250b68ab2ca192af36b8873c475f73165c
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 26 19:29:45 2014 +0100
+
+ udev: apply udev rules upon 'move' events as well
+
+ Otherwise, we may end up losing the tags we expect if the device
+ gets a 'move'
+ event just after the initial 'add'.
+
+ plugins/huawei/77-mm-huawei-net-port-types.rules | 2 +-
+ plugins/longcheer/77-mm-longcheer-port-types.rules | 2 +-
+ plugins/mbm/77-mm-ericsson-mbm.rules | 2 +-
+ plugins/mtk/77-mm-mtk-port-types.rules | 2 +-
+ plugins/nokia/77-mm-nokia-port-types.rules | 2 +-
+ plugins/simtech/77-mm-simtech-port-types.rules | 2 +-
+ plugins/telit/77-mm-telit-port-types.rules | 2 +-
+ plugins/x22x/77-mm-x22x-port-types.rules | 2 +-
+ plugins/zte/77-mm-zte-port-types.rules | 2 +-
+ src/77-mm-pcmcia-device-blacklist.rules | 3 +--
+ src/77-mm-platform-serial-whitelist.rules | 3 +--
+ src/77-mm-usb-device-blacklist.rules | 2 +-
+ src/77-mm-usb-serial-adapters-greylist.rules | 2 +-
+ 13 files changed, 13 insertions(+), 15 deletions(-)
+
+commit b7adbf97a560d8c4ae59d151872ed154c7e49822
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 26 11:25:06 2014 +0100
+
+ port-probe: the 'buffer-full' signal is only used during AT probing
+
+ Make sure we cleanup the 'buffer-full' signal handler when moving
+ from AT
+ probing to QCDM probing, so that we don't try to remove a signal
+ handler from
+ a QCDM port in which we haven't set it.
+
+ E.g. avoids:
+
+ ModemManager[1493]: <debug> [1390731359.108502] [mm-port-probe.c:239]
+ mm_port_probe_set_result_qcdm(): (tty/ttyHS2) port is QCDM-capable
+
+ (ModemManager:1493): GLib-GObject-WARNING **: gsignal.c:2585: instance
+ '0x7431b0' has no handler with id '16'
+
+ src/mm-port-probe.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit 72d83898da16015361c2fed216fe797678fca427
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 26 11:01:42 2014 +0100
+
+ huawei: fix some leaked 'GStrv' arrays
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 0cfc825e11ba935d84c51e2d206d3e7ee242b9fb
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sun Jan 26 10:55:43 2014 +0100
+
+ huawei: fix leaked 'GUdevDevice'
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit a282237ae518bb782f1e92e3a8044be431421cfd
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 25 20:56:01 2014 +0100
+
+ port-probe: buffer_full_id is a signal handler, not a GSource
+
+ src/mm-port-probe.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 93108fdb60641ec82f363be1a4ecb4be5f575607
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 25 20:45:34 2014 +0100
+
+ novatel: fix leaked 'GSimpleAsyncResult'
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 95249239a21870c85082306e7ac791979abc9a76
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 25 20:01:32 2014 +0100
+
+ sierra: fix leaked 'GStrv' with CDMA modems
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 529e94b039305eacc13df48e9721120eb14a4636
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 25 19:34:57 2014 +0100
+
+ broadband-modem: fix leaked 'QcdmResult'
+
+ src/mm-broadband-modem.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 561c8b715ecdff3e4e6f0bc397e4ca46b71f21f2
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 24 21:26:46 2014 +0100
+
+ bearer-mbim: fix leaked 'MMBearerIpConfig' objects
+
+ src/mm-bearer-mbim.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit ae86ce1cbbea78fe90c4801f50ab0aa6671547c6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 24 21:08:47 2014 +0100
+
+ bearer-mbim: fix leaked 'MMBearerProperties'
+
+ src/mm-bearer-mbim.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1547be518165464fc0700c65aa864fcc35597717
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 24 20:44:14 2014 +0100
+
+ bearer-mbim: fix several leaked 'MbimMessage' objects
+
+ mbim_device_command_finish() returns always a new reference to
+ the response.
+
+ src/mm-bearer-mbim.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit 26793e10d6e32ba8595cbc70970e8d02aa3169b9
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 24 19:15:46 2014 +0100
+
+ release: update NEWS
+
+ NEWS | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+commit 3914808120bb852dc22ee1d89ad2a21d6120af9d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 06:50:06 2012 +0100
+
+ zte: support for QMI-based modems
+
+ E.g. the ZTE MF190
+
+ [/dev/cdc-wdm1] QMI Device supports 4 services:
+ [/dev/cdc-wdm1] ctl (1.2)
+ [/dev/cdc-wdm1] wds (1.3)
+ [/dev/cdc-wdm1] dms (1.2)
+ [/dev/cdc-wdm1] nas (1.0)
+
+ plugins/zte/mm-plugin-zte.c | 24 ++++++++++++++++++++----
+ 1 file changed, 20 insertions(+), 4 deletions(-)
+
+commit 19b0a7e28fa27556db8f09f93c8628a3fa21aeaa
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Sat Jan 18 14:16:59 2014 +0100
+
+ altair-lte: add 'mm' prefix in the exported helper methods
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 4 ++--
+ plugins/altair/mm-modem-helpers-altair-lte.c | 8 ++++----
+ plugins/altair/mm-modem-helpers-altair-lte.h | 8 ++++----
+ plugins/altair/tests/test-modem-helpers-altair-lte.c | 20
+ ++++++++++----------
+ 4 files changed, 20 insertions(+), 20 deletions(-)
+
+commit 87f0f808bf9282e3de3bfcf7486049ff9b6f6aa8
+Author: Thieu Le <thieule@chromium.org>
+Date: Wed Jan 15 13:06:39 2014 -0800
+
+ altair-lte: set subscription state using PCO
+
+ This patch sets the subscription state using Verizon's PCO values.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 229
+ +++++++++++++++++++--
+ plugins/altair/mm-modem-helpers-altair-lte.c | 155 ++++++++++++++
+ plugins/altair/mm-modem-helpers-altair-lte.h | 8 +
+ .../altair/tests/test-modem-helpers-altair-lte.c | 38 ++++
+ src/mm-iface-modem-3gpp.c | 1 +
+ 5 files changed, 415 insertions(+), 16 deletions(-)
+
+commit afabde0f2c710302024d4fd40c8d719d4196ded6
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 17 11:58:18 2014 +0100
+
+ build: fix linker flags when building plugins
+
+ MM_LIBS was missing in PLUGIN_COMMON_LINKER_FLAGS, and replace
+ GUDEV_LDFLAGS
+ with GUDEV_LIBS.
+
+ plugins/Makefile.am | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 22eb8816f1711d9903c9de55d5a99f6bdaad6c50
+Author: Mario Blättermann <mario.blaettermann@gmail.com>
+Date: Mon Jan 13 17:55:41 2014 +0100
+
+ po: add German translation
+
+ po/LINGUAS | 3 +-
+ po/de.po | 95
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 97 insertions(+), 1 deletion(-)
+
+commit 5c00736f4402eae5ea15861f376239ae73cf8aa0
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jan 10 16:55:44 2014 -0800
+
+ iface-modem,sim: make SIM interface initialization cancellable
+
+ src/mm-iface-modem.c | 2 +-
+ src/mm-sim.c | 10 ++++++++++
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+commit 50f3f41c3a857caf9403ef943b4832735fb4ffba
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 8 16:10:06 2014 -0800
+
+ huawei: avoid creating Connect3gppContext when no data port is
+ available
+
+ This patch modifies MMBroadbandBearerHuawei such that connect_3gpp
+ simply reports an error via g_simple_async_report_error_in_idle,
+ without
+ creating a Connect3gppContext, if no data port is available.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 30
+ ++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+commit fd1a1839ae1bcade2f9d422f6bc0d6e6040295e6
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 8 10:13:16 2014 -0800
+
+ serial-port: fail open/reopen after a serial port has been forced
+ close
+
+ After a MMSerialPort object is forced close, it may be opened again
+ if some
+ other object still holds a reference to it. When the MMSerialPort
+ object is
+ eventually disposed, mm_serial_port_close_force is invoked on the
+ object but
+ does nothing as 'priv->forced_close' is already set to
+ TRUE. 'priv->watch_id'
+ is still active, which could potentially lead to a crash if
+ data_available is
+ called after the MMSerialPort object is finalized. This patch prevents
+ such a
+ scenario by failing mm_serial_port_open / mm_serial_port_reopen
+ after the
+ MMSerialPort has been forced close.
+
+ src/mm-serial-port.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 910a55a0f2373a3469e7d0f3fe6dc5b0e8440e9f
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jan 7 23:16:56 2014 -0800
+
+ novatel-lte: remove unused macro definitions
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.h | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 76d52c2df38ce6bf7c2093df097e97b6f6690946
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Jan 7 23:55:45 2014 -0800
+
+ huawei: avoid calling g_object_unref on NULL
+
+ This patch prevents connect_3gpp_context_complete_and_free from
+ calling
+ 'g_object_unref (ctx->data)' when connect_3gpp finds no data port
+ (i.e.
+ ctx->data is set to NULL).
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 84bdcb04ed076a8c32a6e7146922e8bdded930c2
+Author: Yegor Yefremov <yegorslists@googlemail.com>
+Date: Tue Jan 7 11:41:59 2014 +0100
+
+ trivial: resolve maybe-uninitialized warnings
+
+ Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
+ src/mm-serial-port.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 1601069e50b9cf2d2d22cf44245bee042c35f150
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jan 6 17:20:52 2014 -0800
+
+ novatel-lte: explicitly use primary port for connection/disconnection
+ sequence
+
+ The Novatel LTE modem only uses its primary AT port for AT commands.
+ Instead of referencing any existing secondary port, this patch changes
+ MMBroadbandBearerNovatelLte to explicitly use the primary port
+ during the
+ connection and disconnection sequence.
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 39
+ +++++++++++++----------
+ 1 file changed, 22 insertions(+), 17 deletions(-)
+
+commit 6c1c0d5e2b45ad0d156ace656d9e74c62ff485b9
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jan 6 11:27:46 2014 -0800
+
+ altair-lte: explicitly use primary port for connection/disconnection
+ sequence
+
+ The Altair LTE modem only uses its primary AT port for AT commands.
+ Instead of referencing any existing secondary port, this patch changes
+ MMBroadbandBearerAltairLte to explicitly use the primary port
+ during the
+ connection and disconnection sequence.
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 64
+ ++++++++++++-------------
+ 1 file changed, 32 insertions(+), 32 deletions(-)
+
+commit 22b0de736b73d076eebd8978a8d0b9da1f3d126d
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jan 6 09:50:05 2014 -0800
+
+ huawei: handle ^NDISSTAT disconnected notification only on a
+ connected bearer
+
+ If the bearer is not actually connected and the modem
+ (inappropriately)
+ indicates a disconnected status via a ^NDISSTAT unsolicited message,
+ it
+ could potentially lead to the following assertion in
+ connect_3gpp_context_step. This patch addresses such an issue.
+
+ g_assert (ctx->self->priv->network_disconnect_pending_id == 0);
+
+ 0x7f940c2ecd95 [libc-2.15.so] - raise.c:64
+ raise
+ 0x7f940c2ee217 [libc-2.15.so] - abort.c:91
+ abort
+ 0x7f940c8e6086 [libglib-2.0.so.0.3400.3] - gtestutils.c:1877
+ g_assertion_message
+ 0x7f940c8e6553 [libglib-2.0.so.0.3400.3] - gtestutils.c:1888
+ g_assertion_message_expr
+ 0x7f940cba5710 [libmm-plugin-huawei.so] -
+ mm-broadband-bearer-huawei.c:240 connect_3gpp_context_step
+ 0x7f940cd4a51e [ModemManager] -
+ mm-broadband-bearer.c:1246 connect
+ 0x7f940cd662b7 [ModemManager] -
+ mm-iface-modem-simple.c:588 connection_step
+ 0x7f940cd66e6e [ModemManager] -
+ mm-iface-modem-simple.c:267
+ register_in_3gpp_or_cdma_network_ready
+ 0x7f940ca0e296 [libgio-2.0.so.0.3400.3] - gsimpleasyncresult.c:775
+ g_simple_async_result_complete
+ 0x7f940ca0e398 [libgio-2.0.so.0.3400.3] - gsimpleasyncresult.c:787
+ complete_in_idle_cb
+ 0x7f940c8c2ff4 [libglib-2.0.so.0.3400.3] - gmain.c:2715
+ g_main_context_dispatch
+ 0x7f940c8c3377 [libglib-2.0.so.0.3400.3] - gmain.c:3290
+ g_main_context_iterate
+ 0x7f940c8c37c9 [libglib-2.0.so.0.3400.3] - gmain.c:3484
+ g_main_loop_run
+ 0x7f940cd3b425 [ModemManager] - main.c:142
+ main
+ 0x7f940c2d9464 [libc-2.15.so] - libc-start.c:234
+ __libc_start_main
+ 0x7f940cd3afa8 [ModemManager] + 0x0001efa8
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 2a946bd72cbc1f1a09db2d72e46e0e1f2a95107f
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jan 6 11:47:08 2014 -0800
+
+ novatel-lte: remove unnecessary MM_BASE_MODEM() casts
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 19
+ +++++--------------
+ plugins/novatel/mm-sim-novatel-lte.c | 2 +-
+ 2 files changed, 6 insertions(+), 15 deletions(-)
+
+commit 885a453dadecf00e08f7f8c6cdaec2a208907f88
+Author: Jens Seidel <jens.seidel@mathematik.tu-chemnitz.de>
+Date: Fri Jan 3 11:31:58 2014 -0600
+
+ mbm: add another C5621 ID
+
+ This device ID is used in a Lenovo Helix.
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 0ddbbaab17023bf83a6566c4ef57c2fcfc8b8cf0
+Author: Aleksander Morgado <aleksander@aleksander.es>
+Date: Fri Jan 3 12:38:01 2014 +0100
+
+ sms-mbim: increase timeout when sending SMS part to 30s
+
+ Aligned to the value used also in QMI, and likely a much better
+ value than the
+ original 10s.
+
+ See:
+ http://lists.freedesktop.org/archives/libmbim-devel/2013-December/000079.html
+
+ src/mm-sms-mbim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 496f298832a8269204e11662d20d3feaebba0739
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 2 16:00:44 2014 -0800
+
+ altair-lte: remove unnecessary MM_BASE_MODEM() casts
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 12 +++---------
+ plugins/altair/mm-broadband-modem-altair-lte.c | 4 ++--
+ 2 files changed, 5 insertions(+), 11 deletions(-)
+
+commit dac652321bd59a2d1d9b992f4a436de1e129ab3f
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 2 16:00:43 2014 -0800
+
+ altair-lte: refactor code for handling 'data' in
+ DetailedConnectContext
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 40
+ ++++++++++++-------------
+ 1 file changed, 19 insertions(+), 21 deletions(-)
+
+commit cddc4af7bd18b93214ac270295b6410db1e0749f
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 2 15:56:33 2014 -0800
+
+ huawei: report an error when ^PREFMODE reports no valid values
+
+ This patch fixes mm_huawei_parse_prefmode_test to always report an
+ error when
+ returning NULL, which avoid a potential crash when the caller tries
+ to access
+ the error.
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 52d34ce0dbe375de646fd6ae25d2d8197d24dd32
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 19 12:55:51 2013 +0100
+
+ bearer-mbim: parse replies on failure
+
+ Based on a patch from: Bjørn Mork <bjorn@mork.no>
+
+ Some messages provide an additional NwError cause code from
+ the network in case of failure. This means that we need to
+ parse the reply even if the status indicates failure, to be
+ able to return the exact failure cause.
+
+ src/mm-bearer-mbim.c | 146
+ ++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 91 insertions(+), 55 deletions(-)
+
+commit ab12d17bfb508e85c6b983b5d0ec8c915bd67a86
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Dec 16 16:17:38 2013 -0800
+
+ iface-modem: fix crash in
+ wait_for_final_state_context_complete_and_free
+
+ When wait_for_final_state_context_complete_and_free is invoked,
+ if the callback
+ associated with the GSimpleAsyncResult object of the
+ WaitForFinalStateContext
+ object updates the modem state via mm_iface_modem_update_state,
+ state_changed
+ is invoked, which causes
+ wait_for_final_state_context_complete_and_free to be
+ invoked again on the same WaitForFinalStateContext object. That
+ leads to the
+ following crash, which is observed sometimes when a modem is being
+ disabled.
+
+ Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )
+
+ 0x7fcb7728f202 [libgobject-2.0.so.0.3400.3] - gobject.c:2916
+ g_object_unref
+ 0x7fcb7743205c [ModemManager] -
+ mm-broadband-modem.c:8034 disabling_context_complete_and_free
+ 0x7fcb77434d64 [ModemManager] -
+ mm-broadband-modem.c:8130 disabling_wait_for_final_state_ready
+ 0x7fcb770c0b86 [libgio-2.0.so.0.3400.3] -
+ gsimpleasyncresult.c:775 g_simple_async_result_complete
+ 0x7fcb7740cdbc [ModemManager] - mm-iface-modem.c:101]
+ wait_for_final_state_context_complete_and_free
+ 0x7fcb7740ce19 [ModemManager] - mm-iface-modem.c:128]
+ state_changed_wait_expired
+ 0x7fcb76f78c33 [libglib-2.0.so.0.3400.3] - gmain.c:4026]
+ g_timeout_dispatch
+ 0x7fcb76f78087 [libglib-2.0.so.0.3400.3] - gmain.c:2715]
+ g_main_context_dispatch
+ 0x7fcb76f78437 [libglib-2.0.so.0.3400.3] - gmain.c:3290]
+ g_main_context_iterate
+ 0x7fcb76f78891 [libglib-2.0.so.0.3400.3] - gmain.c:3484]
+ g_main_loop_run
+ 0x7fcb773f4d55 [ModemManager] - main.c:142]
+ main
+ 0x7fcb7698a9c6 [libc-2.15.so] - libc-start.c:234]
+ __libc_start_main
+ 0x7fcb773f48b8 [ModemManager] + 0x000218b8]
+
+ src/mm-iface-modem.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 004924b0385a503520f26e499444f8c8c42616a6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 16 12:30:13 2013 +0100
+
+ broadband-modem-qmi: fix segfault when using AT-fallback mode for
+ messaging
+
+ The default broadband modem implementation doesn't have a method
+ to disable
+ unsolicited messages for SMS.
+
+ src/mm-broadband-modem-qmi.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit 5b078edc214653cf28e172230e50eab1f647bbbd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 10 14:27:35 2013 +0100
+
+ release: bump version to 1.1.900 (1.2-rc1)
+
+ Also bump soname of libmm-glib, as the interface has grown since
+ the last tag.
+
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 5aa2f11535b1d650111963af0a195103e45af604
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Dec 9 15:07:27 2013 -0800
+
+ sim-mbim: prevent potential leak when loading SIM idenitifier and IMSI
+
+ This patch addresses a potential memory leak when load_sim_identifier
+ or
+ load_imsi in MMSimMbim is called but the caller does not provide a
+ GAsyncReadyCallback.
+
+ src/mm-sim-mbim.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 4c213d460e446e69eb3265de3042e9e1582f1fd0
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Dec 9 15:07:26 2013 -0800
+
+ broadband-modem-mbim: prevent potential leak when scanning networks
+
+ This patch addresses a potential memory leak when scan_networks in
+ MMBroadbandModemMbim is called but the caller does not provide a
+ GAsyncReadyCallback.
+
+ Reported by Aleksander Morgado <aleksander@lanedo.com>
+
+ src/mm-broadband-modem-mbim.c | 38 +++++++++++++++++++-------------------
+ 1 file changed, 19 insertions(+), 19 deletions(-)
+
+commit ebadb6786a4a398c0110c8e794922427081f10ee
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Dec 9 15:07:25 2013 -0800
+
+ sim-mbim: prevent potential leak when loading operator idenitifier
+ and name
+
+ This patch addresses a potential memory leak when
+ load_operator_identifier or load_operator_name in MMSimMbim is called
+ but the caller does not provide a GAsyncReadyCallback.
+
+ Reported by Aleksander Morgado <aleksander@lanedo.com>
+
+ src/mm-sim-mbim.c | 26 ++++++++++++++++----------
+ 1 file changed, 16 insertions(+), 10 deletions(-)
+
+commit fc42b2df8c0c68425f79dae17f6fac988f69f6f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 11 01:12:21 2013 +0100
+
+ huawei: handle empty response to AT^SYSCFG=?
+
+ Some Huawei modems (e.g. E220) may give an empty response for
+ AT^SYSCFG=?, even
+ if they do support the command. Handle this case by prividing a
+ default fallback
+ format string when this happens.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 15 ++++++++--
+ plugins/huawei/mm-modem-helpers-huawei.h | 4 +++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 35
+ ++++++++++++++++++++++++
+ 3 files changed, 52 insertions(+), 2 deletions(-)
+
+commit e81fdd07c3e8ef824b13e157d4c50213786d9973
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 11 00:55:15 2013 +0100
+
+ huawei: new current mode setting based on the supported combinations
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 262
+ +++++++++++++++++------------
+ 1 file changed, 151 insertions(+), 111 deletions(-)
+
+commit c337f52e30125d4c7e5a607b2bb71ccd92b07784
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Nov 10 22:07:03 2013 +0100
+
+ huawei: new current mode loading based on the supported combinations
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 347
+ ++++++++++++++++-------------
+ 1 file changed, 194 insertions(+), 153 deletions(-)
+
+commit 02839b2e4468afcd96e1259e60f5f4665057581a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Nov 10 21:28:17 2013 +0100
+
+ huawei: new ^SYSCFGEX? response parser
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 71 ++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 7 ++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 138
+ +++++++++++++++++++++++
+ 3 files changed, 216 insertions(+)
+
+commit 9ac136028b710f6b65c7fa2b61a535afb3b0b192
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Nov 10 21:24:42 2013 +0100
+
+ huawei: new ^SYSCFG? response parser
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 66
+ +++++++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 7 +++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 69
+ ++++++++++++++++++++++++
+ 3 files changed, 142 insertions(+)
+
+commit 4e5c35a69fd8e9aab7c7b2b3f7d14298487c2de6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Nov 10 21:14:00 2013 +0100
+
+ huawei: new ^PREFMODE? response parser
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 46 +++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 7 +++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 56
+ ++++++++++++++++++++++++
+ 3 files changed, 109 insertions(+)
+
+commit 8cc3eff661ea8cfa61c2c7d5960e82d0c411e8e1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 8 21:15:53 2013 +0100
+
+ huawei: load supported modes, not just assume them
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 249
+ +++++++++++++++++++++++------
+ 1 file changed, 201 insertions(+), 48 deletions(-)
+
+commit ef526395df7ed2688db5e1a3e3536153e09f0677
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 8 20:02:24 2013 +0100
+
+ huawei: consolidate command support checks
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 77
+ +++++++++++++-----------------
+ 1 file changed, 33 insertions(+), 44 deletions(-)
+
+commit 47640a65078cc796c638a7c70ff5951ab240fd6d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 8 00:06:07 2013 +0100
+
+ huawei: new ^SYSCFGEX=? test parser
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 180
+ ++++++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 12 ++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 185
+ +++++++++++++++++++++++
+ 3 files changed, 377 insertions(+)
+
+commit 677dd7da91b001a5eeb53f2e1b54b7935b764a66
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Nov 7 23:30:53 2013 +0100
+
+ huawei: new ^SYSCFG=? test parser
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 299
+ +++++++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 13 +
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 150 ++++++++++++
+ 3 files changed, 462 insertions(+)
+
+commit ceb578a824c60310c64d7a972afb12282fd7af35
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Nov 3 19:16:20 2013 +0100
+
+ huawei: new ^PREFMODE=? test parser
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 119
+ +++++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 12 +++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 125
+ +++++++++++++++++++++++
+ 3 files changed, 256 insertions(+)
+
+commit 0dcf609dcc49c3f6831184133c933c924ff5e397
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Nov 3 19:13:48 2013 +0100
+
+ huawei,tests: enable log traces in the tests
+
+ plugins/Makefile.am | 4 +++-
+ plugins/huawei/mm-modem-helpers-huawei.h | 3 +++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 25
+ ++++++++++++++++++++++++
+ 3 files changed, 31 insertions(+), 1 deletion(-)
+
+commit a1ffe805affb058e49692b6e473d296a72a39f1b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 9 11:15:15 2013 -0600
+
+ broadband-modem-huawei: fix CDMA unsolicited response parsing
+
+ On at least the EC168C, various unsolicited responses like RSSILVL,
+ HRSSILVL, and MODE can include an extra Carriage Return:
+
+ ^MODE: 2<CR><CR><LF><CR><CR><LF>
+ ^RSSILVL:60<CR><CR><LF><CR><CR><LF>
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f721c650d2b37dc91301ed41e3ed10f28c8acd10
+Author: Bjørn Mork <bjorn@mork.no>
+Date: Thu Dec 5 12:43:20 2013 +0100
+
+ qcdm: add utility to display and set the "IPv6 enabled" variable
+
+ Signed-off-by: Bjørn Mork <bjorn@mork.no>
+
+ .gitignore | 1 +
+ libqcdm/tests/Makefile.am | 8 +-
+ libqcdm/tests/ipv6pref.c | 316
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 324 insertions(+), 1 deletion(-)
+
+commit fa0fa1c647a10e229b61477e2768fd8b12c1924c
+Author: Bjørn Mork <bjorn@mork.no>
+Date: Thu Dec 5 12:43:19 2013 +0100
+
+ qcdm: add IPv6 nvram setting to test suite
+
+ Signed-off-by: Bjørn Mork <bjorn@mork.no>
+
+ libqcdm/tests/test-qcdm-com.c | 55
+ +++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 ++
+ libqcdm/tests/test-qcdm.c | 1 +
+ 3 files changed, 58 insertions(+)
+
+commit 13552aa8b67058caa5a183238f2cfe73737f26c2
+Author: Bjørn Mork <bjorn@mork.no>
+Date: Thu Dec 5 12:43:18 2013 +0100
+
+ qcdm: add IPv6 nvram setting
+
+ Some Qualcomm firmwares disable IPv6 unless this flag is set in
+ nvram, at
+ least for the LTE default bearer. The firmware will happily let you
+ configure the IPV6 and IPV4V6 PDP types, also including the default
+ profile, but any attempt to connect will fail.
+
+ Signed-off-by: Bjørn Mork <bjorn@mork.no>
+
+ libqcdm/src/commands.c | 88
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 23 +++++++++++++
+ libqcdm/src/nv-items.h | 13 ++++++++
+ 3 files changed, 124 insertions(+)
+
+commit 073163fb0b7fd1408029d986b7052638d357f69c
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Dec 4 23:44:15 2013 -0800
+
+ core: fix some typos in comments
+
+ src/mm-broadband-modem.c | 4 ++--
+ src/mm-iface-modem.c | 4 ++--
+ src/mm-serial-port.c | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 9a72f90cf7d36092be4fdb8fed35ac8146a97cc3
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Dec 4 13:19:26 2013 -0800
+
+ cli: fix source tag of GSimpleAsyncResult objects
+
+ cli/mmcli-common.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 2db3df9d934acf01e93b11b6bcb1fc5a34f7b25a
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Dec 4 11:07:42 2013 -0800
+
+ broadband-modem-mbim: implement network scan
+
+ src/mm-broadband-modem-mbim.c | 81
+ ++++++++++++++++++++++++++++++++++++++++---
+ src/mm-modem-helpers-mbim.c | 48 +++++++++++++++++++++++++
+ src/mm-modem-helpers-mbim.h | 4 +++
+ 3 files changed, 129 insertions(+), 4 deletions(-)
+
+commit 891f55f25c86e8bc35dd02b4254891508d4becba
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Dec 3 23:38:51 2013 -0800
+
+ broadband-modem-mbim: fix source tag of GSimpleAsyncResult objects
+
+ src/mm-broadband-modem-mbim.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 1e8baaf7a2927a95945333eda97744bf7f04aa95
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Nov 30 13:19:34 2013 -0800
+
+ sim-mbim: implement operator identifier and name loading
+
+ src/mm-sim-mbim.c | 138
+ +++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 132 insertions(+), 6 deletions(-)
+
+commit 1b34fe6c514e319bfac66e1edb89798c7c411979
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Dec 1 14:15:13 2013 -0600
+
+ broadband-bearer-qmi: ensure errors are cleared before re-using them
+
+ If the bearer doesn't have one of IPv4 or IPv6 configuration, then the
+ qmi_message_wds_get_current_settings_output_get_ip*_address()
+ functions
+ will return FALSE with a filled error, which was not cleared.
+
+ This fixes a glib warning message about overwriting an already-filled
+ GError.
+
+ src/mm-bearer-qmi.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit c30a8f67eff3afe5565e7e2134f56841802556fb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 22 14:57:39 2013 +0100
+
+ base-modem: also release cdc-wdm ports
+
+ src/mm-base-modem.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 6d251daf4716c34587bf11826b7f798c54fda5ff
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Nov 21 22:24:50 2013 -0800
+
+ cli: print 'Bearers' property in Modem interface
+
+ cli/mmcli-modem.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit e4382212586447f63004db0fdd7df78243da582a
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Nov 21 22:24:49 2013 -0800
+
+ libmm-glib: add methods to retrieve 'Bearers' property in Modem
+ interface
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 2 ++
+ libmm-glib/mm-modem.c | 39
+ +++++++++++++++++++++++
+ libmm-glib/mm-modem.h | 3 ++
+ 3 files changed, 44 insertions(+)
+
+commit a787d1bbb8460e577f1f32bda84f6c1b7420274e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Nov 21 12:46:05 2013 +0100
+
+ docs,libmm-glib: add missing methods for the new properties
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit f7546ad82456afcd0bb176586d26c8bd7cec60cc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 15 19:33:04 2013 +0100
+
+ introspection,api: new 'Messages' property in the Messaging interface
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=712276
+
+ ...g.freedesktop.ModemManager1.Modem.Messaging.xml | 7 +++
+ libmm-glib/mm-modem-messaging.c | 50
+ ++++++----------------
+ src/mm-iface-modem-messaging.c | 13 ++++++
+ src/mm-sms-list.c | 3 ++
+ 4 files changed, 37 insertions(+), 36 deletions(-)
+
+commit 7f442b777c6fe7fd71f4f9022121752dabad5cdd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 15 19:06:58 2013 +0100
+
+ introspection,api: new 'Bearers' property in the Modem interface
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=712276
+
+ .../org.freedesktop.ModemManager1.Modem.xml | 8 ++++
+ libmm-glib/mm-modem.c | 52
+ +++++++---------------
+ src/mm-bearer-list.c | 27 +++++++++--
+ src/mm-bearer-list.h | 1 +
+ src/mm-iface-modem.c | 27 +++++++++++
+ 5 files changed, 75 insertions(+), 40 deletions(-)
+
+commit c21709b32e1af46f1764888a03b21fd747db7da1
+Author: Thieu Le <thieule@chromium.org>
+Date: Tue Nov 19 13:06:19 2013 -0800
+
+ altair-lte: add SIMREFRESH support
+
+ Register for SIMREFRESH event and reload own numbers and reregister
+ modem with network when this happens.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 189
+ ++++++++++++++++++++++---
+ src/mm-iface-modem.c | 15 ++
+ src/mm-iface-modem.h | 4 +
+ 3 files changed, 191 insertions(+), 17 deletions(-)
+
+commit 5e7fee1d116f69fbee0b984e11c39f1f9c5277f3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 20 15:07:45 2013 +0100
+
+ build: use 'g_cclosure_marshal_generic' by default
+
+ Avoid custom marshalers, and just use libffi-based
+ 'g_cclosure_marshal_generic'.
+
+ src/Makefile.am | 18 +-----------------
+ src/mm-marshal.list | 3 ---
+ src/mm-plugin.c | 1 -
+ src/mm-serial-port.c | 26 +++++++++++++-------------
+ src/mm-sim.c | 3 +--
+ src/mm-sms-list.c | 5 ++---
+ 6 files changed, 17 insertions(+), 39 deletions(-)
+
+commit fe744b4534a3190112e8dbd0f0131ebcf34f3643
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 19 23:59:38 2013 +0100
+
+ base-modem: fix port validity checks
+
+ src/mm-base-modem.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 974408760c548b25fbf6972da13c49756d7ecb0e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 15 19:14:13 2013 +0100
+
+ introspection,api: fix Messaging documentation
+
+ We don't have a Completed signal.
+
+ introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml |
+ 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+commit 85d5d968248b54fbcbc145cc05a4690bd865a782
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 15 17:25:33 2013 +0100
+
+ port: remove 'carrier-detect' property
+
+ It is no longer used since commit 736aa0d2d.
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 1 -
+ plugins/sierra/mm-common-sierra.c | 4 ----
+ plugins/zte/mm-broadband-modem-zte-icera.c | 16 ----------------
+ plugins/zte/mm-broadband-modem-zte.c | 16 ----------------
+ src/mm-port-probe.c | 1 -
+ src/mm-port.c | 25
+ -------------------------
+ src/mm-port.h | 11 ++++-------
+ 7 files changed, 4 insertions(+), 70 deletions(-)
+
+commit 3d4c143b40285b1ce6d5d0b502ddea50245a6ae5
+Author: Prathmesh Prabhu <pprabhu@chromium.org>
+Date: Thu Nov 7 13:08:37 2013 -0800
+
+ altair-lte: early fail connect/disconnect attempts when out of
+ coverage
+
+ A firmware bug in Altair ALT3100 bricks the modem when
+ - The modem is out of coverage (Registration state is unknown
+ (CEREG: 4))
+ - A disconnect attempt is made using the AT%DPDNACT command.
+
+ This patch prevents this situation by failing the connect/disconnect
+ attempts in
+ the altair plugin when registration state is unknown, without
+ attempting to
+ connect/disconnect the modem.
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 41
+ +++++++++++++++++++++++--
+ 1 file changed, 38 insertions(+), 3 deletions(-)
+
+commit 3c6428fa588cbd9f81f30de259af20d3825b0320
+Author: Prathmesh Prabhu <pprabhu@chromium.org>
+Date: Wed Oct 30 15:57:03 2013 -0700
+
+ bearer: notify final disconnect status using
+ mm_bearer_report_connection_status
+
+ Some MMBearer methods to disconnect the bearer assume that the
+ bearer is
+ disconnected even if the operation fails in a subclass. This leaves
+ MMBearer
+ and MMBroadbandBearer states out of sync.
+
+ This patch notifies the bearer object of the final disconnection using
+ mm_bearer_report_connection_status. This gives the subclasses a
+ chance to update
+ their state even when the disconnection attempt fails.
+
+ src/mm-bearer.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit 1b3114a0f9ca28273e1446535b73d5b83c54c6cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 1 15:44:18 2013 +0100
+
+ modem-helpers: handle +CGDCONT=? replies with single context
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=708983
+
+ src/mm-modem-helpers.c | 21 ++++++++++-----------
+ src/tests/test-modem-helpers.c | 15 +++++++++++++++
+ 2 files changed, 25 insertions(+), 11 deletions(-)
+
+commit 04b52d590f9c47316e8eca9eeccb8084991f2f55
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 1 15:43:44 2013 +0100
+
+ tests: enable logging if 'ENABLE_TEST_MESSAGE_TRACES' is defined
+
+ src/tests/test-at-serial-port.c | 10 ++++++++++
+ src/tests/test-modem-helpers.c | 10 ++++++++++
+ src/tests/test-qcdm-serial-port.c | 10 ++++++++++
+ 3 files changed, 30 insertions(+)
+
+commit deaeeec3678f0996a58fae8be1e365e463ee9400
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 18 08:55:09 2013 +0200
+
+ x22x: handle QMI modems
+
+ With some bits and pieces developed by Dan Williams <dcbw@redhat.com>
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=710439
+
+ plugins/x22x/mm-plugin-x22x.c | 58
+ ++++++++++++++++++++++++++++---------------
+ 1 file changed, 38 insertions(+), 20 deletions(-)
+
+commit fcc2b1be2c36f4d866cd8a13b39df1c8931c067a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 31 11:31:00 2013 +0100
+
+ altair-lte: fix LDFLAGS in the helper tests
+
+ plugins/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit e9523a6abdead8669e21a1190209d962ab1cbf7d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 30 20:18:11 2013 +0100
+
+ huawei: clear only once the timeout to wait for the first interface
+
+ As soon as we get a match between the current interface being probed,
+ and the
+ first expected interface to probe, clear the timeout. But this
+ doesn't mean that
+ this interface being probed will be the correct one, so it may be
+ the case that
+ we end up expecting a new first interface and probing another one.
+
+ With an example probably seen better...
+
+ Modem appears with interfaces 2, 3 and 4.
+
+ 1. We first try to look for interface 0, which is not in the set:
+ 1.1. Probing interfaces 2, 3 and 4 get deferred.
+
+ 2. First-interface timeout happens because interface 0 doesn't appear,
+ so we
+ switch to wait for interface 1:
+ 2.1 Probing interfaces 2, 3 and 4 get deferred.
+
+ 3. First-interface timeout happens because interface 1 doesn't appear,
+ so we
+ switch to wait for interface 2:
+ 3.1. We get a match on interface 2, which exists. We now remove the
+ first-interface timeout and start running the init sequence
+ there.
+ 3.2. Probing interfaces 3 and 4 get deferred.
+
+ 4. Init sequence in interface 2 fails, because it is not an AT port,
+ so we
+ switch to wait for interface 3:
+ 3.1. We get a match on interface 3, which exists. We do *not*
+ need to remove
+ now the first-interface timeout because this interface we are
+ testing is
+ actually the second one which we tried.
+
+ So, just check whether the timeout exists or not, and if it exists
+ remove it.
+ Yeah, this commit just fixes a warning at the end.
+
+ plugins/huawei/mm-plugin-huawei.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 6a26ad7b530b112e694c406316934429039c7fb2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 30 16:10:58 2013 +0100
+
+ blacklist: include the whole Openmoko VID
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit b09044bcb3153e17e7b75ef1a22402027e3f4d8f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 28 18:13:14 2013 +0100
+
+ plugin: for non-AT ports, don't expect vendor/product string probing
+
+ When running the pre-probing VID/PID filters, the ports were not
+ filtered out if
+ the plugin had configured post-probing vendor/product string
+ filters. But, these
+ post-probing filters are only applicable to AT ports.
+
+ From now on, this logic will not be applied to non-serial ports. In
+ other words,
+ pre-probing VID/PID filters applied to non-serial ports will always
+ result in
+ the port being filtered out or being allowed, regardless of any
+ additional
+ vendor/product string post-probing filter configured by the plugin.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=710437
+
+ src/mm-plugin.c | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+commit 9c2be510f6324b288d45f4d424c15ec5f865b5f3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 28 17:57:43 2013 +0100
+
+ build: ignore built translation files
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit c65c01703b7465229320b9eca29b3f57249c9cff
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 28 17:51:02 2013 +0100
+
+ mtk: fix GOTO tag in udev rules
+
+ plugins/mtk/77-mm-mtk-port-types.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 51b4ab44f16844236916584939799707b9cf1a1d
+Author: Yuri Chornoivan <yurchor@ukr.net>
+Date: Sat Oct 19 18:24:15 2013 +0300
+
+ po: add Ukrainian translation (bgo #710513)
+
+ po/LINGUAS | 1 +
+ po/uk.po | 98
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 99 insertions(+)
+
+commit c431fb8208e1b6299b06ad8ebbff094c6f6f3740
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 25 16:25:14 2013 -0500
+
+ blacklist/greylist: add more GPS devices (rh #1023234)
+
+ Attempt to blacklist entire drivers that we know aren't modems,
+ and add a sprinkling of specific devices too.
+
+ src/77-mm-usb-device-blacklist.rules | 16 ++++++++++++++++
+ src/77-mm-usb-serial-adapters-greylist.rules | 1 +
+ 2 files changed, 17 insertions(+)
+
+commit adc7df200ff5f3c8f9fb62bda8f48be7f403d3ff
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 25 11:55:59 2013 +0200
+
+ sms-part-cdma,test: new tests for Latin and Unicode encodings
+
+ src/tests/test-sms-part-cdma.c | 158
+ ++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 156 insertions(+), 2 deletions(-)
+
+commit c669464eec28cfb390dbb00ae62a3f68ff21334a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 25 11:17:47 2013 +0200
+
+ sms-part-cdma: fix log message
+
+ src/mm-sms-part-cdma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 364df3106ad068175b423d6dbbd478f49b5cb788
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 25 10:55:03 2013 +0200
+
+ sms-part-cdma: improve logging when creating PDUs
+
+ src/mm-sms-part-cdma.c | 86
+ ++++++++++++++++++++++++++++----------------------
+ 1 file changed, 48 insertions(+), 38 deletions(-)
+
+commit 80f55923ed9a7e3dcdaa35d8c31b6ae94d27d8b4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 25 10:35:21 2013 +0200
+
+ sms-part-cdma: support parsing SMS with Unicode encoding
+
+ src/mm-sms-part-cdma.c | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+commit 66f134b7bd0f5114630faafdf9083936cf143c9d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 25 10:34:31 2013 +0200
+
+ sms-part-cdma: support generating SMS with Latin or Unicode encodings
+
+ src/mm-sms-part-cdma.c | 115
+ +++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 92 insertions(+), 23 deletions(-)
+
+commit 3174b7b73fe2cfb08e39fd95c34195d1e25d1d08
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 24 09:50:09 2013 +0200
+
+ sms-part-cdma: support receiving SMS with Latin encoding
+
+ src/mm-sms-part-cdma.c | 26 ++++++++++++++++++++++++
+ src/tests/test-sms-part-cdma.c | 46
+ ++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 72 insertions(+)
+
+commit 57882f6dad82e605fbe39fe292145939811fe64d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 24 09:19:43 2013 +0200
+
+ sms: decide whether to create a 3GPP2 or 3GPP SMS based on caps
+
+ Don't rely on receiving a Teleservice ID. If none received, and the
+ modem is
+ CDMA-only, default to WMT.
+
+ src/mm-sms.c | 32 ++++++++++++++++++++++++++------
+ 1 file changed, 26 insertions(+), 6 deletions(-)
+
+commit 43694e26772ba9c9716e95e1c3607980e4ab5c12
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 20 20:39:04 2013 +0200
+
+ sms: unknown delivery state in newly created SMS objects
+
+ src/mm-sms.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0341c1663c555149a8c2cdff9bb0d76fe600a3fb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 20 20:32:57 2013 +0200
+
+ sms: handle CDMA SMS when creating new ones from MMSmsProperties
+
+ src/mm-sms.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 86795b928e0cc7945c88103a79d5cf7353319d8f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 20 20:17:53 2013 +0200
+
+ libmm-glib: allow new 'teleservice-id' and 'service-category'
+ keywords in MMSmsProperties
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 4 +
+ libmm-glib/mm-common-helpers.c | 44 ++++++++
+ libmm-glib/mm-common-helpers.h | 4 +
+ libmm-glib/mm-sms-properties.c | 120
+ +++++++++++++++++++++-
+ libmm-glib/mm-sms-properties.h | 6 ++
+ 5 files changed, 176 insertions(+), 2 deletions(-)
+
+commit 663017a3d20f3beeff12bd5b56f730c6b43eee32
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 20 19:56:05 2013 +0200
+
+ sms: clear generated parts when storing/sending fails
+
+ src/mm-sms.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit bd05787b51ba1806850a365bc7d08088a2109c2a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 20 19:50:49 2013 +0200
+
+ sms-qmi: check whether the modem supports the specific SMS type
+
+ src/mm-sms-qmi.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 49 insertions(+), 2 deletions(-)
+
+commit b728b14efb2ad96bb8501a021969f6155bed9ea3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 20 19:38:37 2013 +0200
+
+ sms: only set concat reference on multipart messages
+
+ src/mm-sms.c | 20 ++++++++++++--------
+ 1 file changed, 12 insertions(+), 8 deletions(-)
+
+commit 9ed42af5373839c1c0031014d7050258f848070e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 20 19:37:03 2013 +0200
+
+ sms: handle CDMA SMS part creation
+
+ src/mm-sms.c | 68
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 66 insertions(+), 2 deletions(-)
+
+commit 5267cf6f4a4eace00c216d733a92f6ecae55e8cc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 20 18:50:30 2013 +0200
+
+ cli,sms: print properties just when they are available
+
+ The logic to decide whether a property is valid in a given PDU type
+ is kind of
+ fuzzy for 3GPP2 as it is currently implemented; so just print whatever
+ we have
+ in the interface.
+
+ cli/mmcli-sms.c | 50 +++++++++++++++++++++++---------------------------
+ 1 file changed, 23 insertions(+), 27 deletions(-)
+
+commit 7a56b143aa5dc4d4fe8794d4f70dd6945f628b87
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 19 18:44:02 2013 +0200
+
+ sms-qmi: handle CDMA SMS messages
+
+ src/mm-sms-part.h | 8 ++++++
+ src/mm-sms-qmi.c | 77
+ ++++++++++++++++++++++++++++++++++++++++++++++---------
+ 2 files changed, 73 insertions(+), 12 deletions(-)
+
+commit 2eb5e0d578adbb6c630d88f8d55a4eae0c887cdd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 19 18:27:19 2013 +0200
+
+ sms-part-cdma: new CDMA SMS creator
+
+ Currently very limited:
+ * Only WMT teleservice.
+ * Only DMTF-encoded numbers.
+ * Only either raw binary data or ASCII-7 text.
+
+ src/mm-sms-part-cdma.c | 370
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-part-cdma.h | 4 +
+ src/tests/test-sms-part-cdma.c | 99 +++++++++++
+ 3 files changed, 473 insertions(+)
+
+commit cadbc0412d5dee16cd484b52b14df4f19ae47cf6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 19 18:24:55 2013 +0200
+
+ sms-part-3gpp: ensure PDU type in part is the correct one when
+ building SUBMIT
+
+ src/mm-sms-part-3gpp.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 3a6bdabcdf2da5ddea5ef52df5017c82ff765ef2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 19 12:51:43 2013 +0200
+
+ sms-part-cdma: consolidate logging
+
+ src/mm-sms-part-cdma.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit 49ab6ce9807a0a9925e998671df499081a0d47cc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 19 12:37:43 2013 +0200
+
+ sms-part-cdma: read 7-bit ASCII text or raw data
+
+ src/mm-sms-part-cdma.c | 44
+ +++++++++++++++++++++++++++++++++++++++++-
+ src/tests/test-sms-part-cdma.c | 17 +++++++++++-----
+ 2 files changed, 55 insertions(+), 6 deletions(-)
+
+commit aba7efb6155a15298689211053b47e725b25e66d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 19 11:58:05 2013 +0200
+
+ broadband-modem-qmi: add CDMA SMS parts if found
+
+ src/mm-broadband-modem-qmi.c | 49
+ ++++++++++++++++++++++----------------------
+ 1 file changed, 25 insertions(+), 24 deletions(-)
+
+commit e493292b7a1a0648d058147aca0022b64538653b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 22 23:39:11 2013 +0200
+
+ tests: new CDMA SMS part tester
+
+ .gitignore | 1 +
+ src/tests/Makefile.am | 27 ++++-
+ src/tests/test-sms-part-cdma.c | 241
+ +++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 268 insertions(+), 1 deletion(-)
+
+commit c440f121cc8625332e5dce63cda054e1ca8ce66f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 22 23:15:50 2013 +0200
+
+ tests: rename 3GPP SMS part tester
+
+ .gitignore | 2 +-
+ src/tests/Makefile.am | 14 ++---
+ .../{test-sms-part.c => test-sms-part-3gpp.c} | 66
+ +++++++++++-----------
+ 3 files changed, 41 insertions(+), 41 deletions(-)
+
+commit 5ecdae8dc807c95ffeca7266288c0ee0ce6398a6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 22 21:38:56 2013 +0200
+
+ sms-part-cdma: new CDMA SMS parser
+
+ src/Makefile.am | 4 +-
+ src/mm-sms-part-cdma.c | 1070
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-part-cdma.h | 33 ++
+ 3 files changed, 1106 insertions(+), 1 deletion(-)
+
+commit 7db17b64a3f7263f91c2f7e7625f3ba8a1d9a4b4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 22 20:00:15 2013 +0200
+
+ sms-part: handle CDMA teleservice ID and service category
+
+ src/mm-sms-part.c | 11 +++++++++++
+ src/mm-sms-part.h | 8 ++++++++
+ src/mm-sms.c | 4 ++--
+ 3 files changed, 21 insertions(+), 2 deletions(-)
+
+commit df986c076dec33128c2ba202062ce4338cef3ad2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 14:45:58 2013 +0200
+
+ sms: split SMS part handling into common and 3GPP-specific
+
+ src/Makefile.am | 6 +-
+ src/mm-broadband-modem-mbim.c | 9 +-
+ src/mm-broadband-modem-qmi.c | 9 +-
+ src/mm-broadband-modem.c | 11 +-
+ src/mm-sms-mbim.c | 3 +-
+ src/mm-sms-part-3gpp.c | 1160
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-part-3gpp.h | 54 ++
+ src/mm-sms-part.c | 1124
+ ---------------------------------------
+ src/mm-sms-part.h | 25 -
+ src/mm-sms-qmi.c | 5 +-
+ src/mm-sms.c | 7 +-
+ src/tests/test-sms-part.c | 20 +-
+ 12 files changed, 1252 insertions(+), 1181 deletions(-)
+
+commit e90ff4155c63735581d0a213fdf3ae53c02bfc26
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 23 14:31:00 2013 +0200
+
+ api,header: added new CDMA-specific 'MMSmsDeliveryState' enumeration
+ values
+
+ include/ModemManager-enums.h | 131
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 129 insertions(+), 2 deletions(-)
+
+commit 0bb91ce53dd2d2351f2070d302a35b6f0b8d7c8b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 13:32:16 2013 +0200
+
+ api: add 'ServiceCategory' property to the SMS interface
+
+ Will be used in 3GPP2 SMS messages.
+
+ cli/mmcli-sms.c | 8 ++-
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 7 ++
+ include/ModemManager-enums.h | 82
+ ++++++++++++++++++++++
+ .../org.freedesktop.ModemManager1.Sms.xml | 9 +++
+ libmm-glib/mm-sms.c | 18 +++++
+ libmm-glib/mm-sms.h | 2 +
+ src/mm-sms.c | 2 +
+ 8 files changed, 126 insertions(+), 3 deletions(-)
+
+commit d0fb94c49f3c27590bb6134fdca328c6f0a2180f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 13:27:18 2013 +0200
+
+ api: add 'TeleserviceId' property to the SMS interface
+
+ Will be used in 3GPP2 SMS messages.
+
+ cli/mmcli-sms.c | 10 ++++++++
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 7 ++++++
+ include/ModemManager-enums.h | 27
+ ++++++++++++++++++++++
+ .../org.freedesktop.ModemManager1.Sms.xml | 9 ++++++++
+ libmm-glib/mm-sms.c | 18 +++++++++++++++
+ libmm-glib/mm-sms.h | 2 ++
+ src/mm-sms.c | 2 ++
+ 8 files changed, 76 insertions(+)
+
+commit 2864e777ae0232561b23b7bf08fdebb8f26311a4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 13:23:33 2013 +0200
+
+ cli,sms: 'class' and 'smsc' are 3GPP specific
+
+ cli/mmcli-sms.c | 20 +++++++++++++-------
+ 1 file changed, 13 insertions(+), 7 deletions(-)
+
+commit 13595dcd7f439cfc49cb6d7f165690e22676a805
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 13:15:54 2013 +0200
+
+ api,introspection: minor indentation fixes in 'Validity' property
+ definition
+
+ introspection/org.freedesktop.ModemManager1.Sms.xml | 18
+ +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit 1ebbd16f98cb8f88ab0cf910c3d225de3b427f9f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 13:11:19 2013 +0200
+
+ api,header: added new CDMA-specific 'MMSmsPduType' enumeration values
+
+ include/ModemManager-enums.h | 22 +++++++++++++++++-----
+ 1 file changed, 17 insertions(+), 5 deletions(-)
+
+commit c37f94ffd02a6a77151c33bed78b09c1cee0ee5e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 17 09:46:10 2013 +0200
+
+ broadband-modem-qmi: SM storage not supported in CDMA-only modems
+
+ src/mm-broadband-modem-qmi.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit cb42a80b1e4d703d8556e59a09504c022dd6e8ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 16 13:13:36 2013 +0200
+
+ broadband-modem-qmi: also request to read 3GPP2 SMS
+
+ src/mm-broadband-modem-qmi.c | 141
+ ++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 106 insertions(+), 35 deletions(-)
+
+commit 9a9638ef2098e11f3496ad51ed2471df869a1986
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 24 08:38:16 2013 -0700
+
+ iface-modem: remove unnecessary G_SIMPLE_ASYNC_RESULT() cast
+
+ This patch removes an unnecessary G_SIMPLE_ASYNC_RESULT() cast of the
+ 'result' field, which is already of type GSimpleAsyncResult, of
+ InternalLoadUnlockRequiredContext.
+
+ src/mm-iface-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5dc6db19621ba53c883741edd01b10dd18260f9b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 24 17:38:36 2013 +0200
+
+ libmm-glib: fix some more introspection annotations
+
+ libmm-glib/mm-modem-location.c | 2 +-
+ libmm-glib/mm-modem.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit e1c0621b099d698d2c462f32e4d341207a98d520
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 24 17:16:33 2013 +0200
+
+ libmm-glib: fix several introspection annotations
+
+ libmm-glib/mm-bearer.c | 12 ++++++------
+ libmm-glib/mm-location-gps-nmea.c | 2 +-
+ libmm-glib/mm-modem-location.c | 14 +++++++-------
+ libmm-glib/mm-modem.c | 6 +++---
+ libmm-glib/mm-sms.c | 2 +-
+ libmm-glib/mm-unlock-retries.c | 2 +-
+ 6 files changed, 19 insertions(+), 19 deletions(-)
+
+commit babc4aa2594b239aae7287a4f3944b47d5cbe737
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 24 07:52:10 2013 -0700
+
+ broadband-modem: remove unnecessary G_SIMPLE_ASYNC_RESULT() casts
+
+ This patch removes unnecessary G_SIMPLE_ASYNC_RESULT() casts of the
+ 'result' field, which is already of type GSimpleAsyncResult, of
+ InitializeContext, EnablingContext and DisablingContext.
+
+ src/mm-broadband-modem.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit 686caef536f4dee3ddee22bdfc8f3522e68abf7b
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 24 02:30:18 2013 -0700
+
+ huawei: handle pending network-initiated disconnection in
+ disconnect_3gpp
+
+ If a client-initiated disconnection attempt is issued while a
+ network-initiated disconnection is still pending, the latter may
+ interfere with the former. Also, when the client-initiated
+ disconnection
+ attempt fails but the bearer status is reported as 'disconnected', the
+ pending network-initiated disconnection is not cleared and may result
+ in an assertion when a connection attempt is issued.
+
+ This patch addresses the issue by clearing any pending
+ network-initiated
+ disconnection before proceeding with a client-initiated disconnection.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+commit 613155cb2e92d858c8a9465be0d5daf80475a24e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Oct 23 19:39:04 2013 -0500
+
+ broadband-modem: report signal quality as 0 when no
+ service/unknown/etc
+
+ Instead of using the NO_NETWORK error, which is only ever read
+ internally by ModemManager and not very useful when reading quality,
+ just report signal quality as zero. Before MM 1.0, the signal quality
+ could be explicitly requested by clients, so the NO_NETWORK error
+ was of
+ some use, but now that the quality is updated automatically by MM
+ and is
+ a property instead of a D-Bus method call, the error is pointless.
+
+ src/mm-broadband-modem.c | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+commit f81a3fc0b445de1f2a595b9aed1a8f66fd5dc396
+Author: Prathmesh Prabhu <pprabhu@chromium.org>
+Date: Fri Oct 18 15:27:59 2013 -0700
+
+ broadband-modem: mark SIM provisioned by default in
+ load_subscription_state
+
+ load_subscription_state is called only after a successful
+ registration, so the
+ default behaviour should be to mark the SIM as provisioned.
+ This default behaviour is needed because it is not possible for
+ plugins to
+ detect a successful registration state during the registration
+ update itself.
+ So, this function is the first place where a plugin can detect
+ a successful
+ registration update.
+
+ src/mm-broadband-modem.c | 45
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+commit 18053540eae1794da9289e8af087d1cb4fa9137c
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 18 02:56:51 2013 -0700
+
+ huawei: handle unquoted strings in ^SYSINFOEX response
+
+ The original sysinfoex_parse() in MMBroadbandModemHuawei does
+ not handle
+ unquoted <sysmode_name> and <submode_name> fields in ^SYSINFOEX
+ responses,
+ which are sen on some Huawei modems (e.g. E303). This patch moves the
+ ^SYSINFOEX parsing code to mm-modem-helpers-huawei.c, fixes the
+ regex for
+ handling unquoted strings in ^SYSINFOEX responses, and adds unit
+ tests.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 76
+ +++---------------------
+ plugins/huawei/mm-modem-helpers-huawei.c | 65
+ ++++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 10 ++++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 60 ++++++++++++++++++-
+ 4 files changed, 140 insertions(+), 71 deletions(-)
+
+commit 49d4163a2b1271edc2a1794c4e86a3f01c19a92c
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Oct 18 02:56:50 2013 -0700
+
+ huawei: fix ^SYSINFO parsing
+
+ The original sysinfo_parse() in MMBroadbandModemHuawei incorrectly
+ sets
+ 'out_sys_submode_valid' to TRUE even when <sys_submode> is not present
+ in a ^SYSINFO response. This patch moves the code to
+ mm-modem-helpers-huawei.c, fixes the regex for parsing ^SYSINFO
+ responses, and adds unit tests.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 82
+ +++---------------------
+ plugins/huawei/mm-modem-helpers-huawei.c | 67 +++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 11 ++++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 64 ++++++++++++++++++
+ 4 files changed, 151 insertions(+), 73 deletions(-)
+
+commit e529cd32124618d26ef15a7b8d25597a9634531a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 10 08:34:52 2013 +0200
+
+ build: ignore plugin testers
+
+ .gitignore | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 09ea458f78f417df0b5e7ff86dafc1b5ab326d5a
+Author: Prathmesh Prabhu <pprabhu@chromium.org>
+Date: Wed Oct 9 10:06:27 2013 -0700
+
+ altair-lte: obtain subscription state of SIM from registration
+ failure code
+
+ This patch uses the extended error code after a registration
+ failure to
+ determine if the SIM in the relevant modem is associated with a
+ non-provisioned
+ account. It uses the standard AT+CEER command, but the implementation
+ is
+ restricted to the altair plugin.
+
+ plugins/Makefile.am | 13 ++
+ plugins/altair/mm-broadband-modem-altair-lte.c | 134
+ ++++++++++++++++++++-
+ plugins/altair/mm-modem-helpers-altair-lte.c | 68 +++++++++++
+ plugins/altair/mm-modem-helpers-altair-lte.h | 26 ++++
+ .../altair/tests/test-modem-helpers-altair-lte.c | 75 ++++++++++++
+ 5 files changed, 313 insertions(+), 3 deletions(-)
+
+commit 92a2953e938e7687d8f2a534b38b26647517c99a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 9 10:06:56 2013 +0200
+
+ docs: fixed a couple of issues regarding the new
+ MMModem3gppSubscriptionState enum
+
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ include/ModemManager-enums.h | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit f9a4f87d5204432b52cb41b31809d43425467da5
+Author: Thieu Le <thieule@chromium.org>
+Date: Mon Oct 7 13:57:27 2013 -0700
+
+ iface-modem-3gpp: add SubscriptionState property
+
+ cli/mmcli-modem-simple.c | 15 ++-
+ cli/mmcli-modem.c | 3 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 9 ++
+ docs/reference/libmm-glib/libmm-glib.types | 1 +
+ include/ModemManager-enums.h | 17 +++
+ ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 9 ++
+ libmm-glib/mm-modem-3gpp.c | 19 +++
+ libmm-glib/mm-modem-3gpp.h | 1 +
+ libmm-glib/mm-simple-status.c | 45 +++++++
+ libmm-glib/mm-simple-status.h | 2 +
+ src/mm-broadband-modem.c | 4 +-
+ src/mm-iface-modem-3gpp.c | 148
+ ++++++++++++++++-----
+ src/mm-iface-modem-3gpp.h | 28 ++--
+ 13 files changed, 252 insertions(+), 49 deletions(-)
+
+commit 564b3610fd6e4060bc36c2cf568b2305aaf6ea19
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 8 10:15:57 2013 +0200
+
+ TODO: remove already implemented or no longer applicable items
+
+ TODO | 45 ---------------------------------------------
+ 1 file changed, 45 deletions(-)
+
+commit a006761c7159594c6c3fade53eb2326393510a2a
+Author: Thieu Le <thieule@chromium.org>
+Date: Fri Sep 27 16:47:25 2013 -0700
+
+ novatel-lte: abort connect request if call failed
+
+ Change-Id: Iae16ec87e12aaaf314b7e66b2f9c72a13251e352
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit b5ef861d12c7533d89a18454b03e8e3301164bea
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Sep 26 11:07:16 2013 -0700
+
+ modem-helpers,sim: auto-detect if ICCID response is character swapped
+
+ This patch modifies mm_3gpp_parse_iccid() to auto-detect if an ICCID
+ response is character swapped or not by comparsing the major industry
+ identifier part of the ICCID response to the known value (89) for
+ telecommunication purposes. This addresses the issue where the same AT
+ command (e.g. AT^ICCID used by the huawei plugin) does not report
+ ICCID
+ in a consistent format.
+
+ plugins/huawei/mm-sim-huawei.c | 3 +--
+ plugins/sierra/mm-sim-sierra.c | 3 +--
+ src/mm-modem-helpers.c | 19 ++++++++++++++++++-
+ src/mm-modem-helpers.h | 2 +-
+ src/mm-sim.c | 3 +--
+ src/tests/test-modem-helpers.c | 36 ++++++++++++++++++++++++++++++------
+ 6 files changed, 52 insertions(+), 14 deletions(-)
+
+commit b786ac0debc7aa5e9a6b0f00bd61e15d9daea049
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Sep 26 00:10:59 2013 -0700
+
+ serial-port: ensure GCancellable handler is disconnected when serial
+ port is closed
+
+ src/mm-serial-port.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 2a611c38563db71a1dbd18c8bb56f95a69841c9c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 25 17:46:31 2013 +0200
+
+ cinterion: support QMI-based Cinterion PLXX and PHXX modules
+
+ E.g. with a Cinterion PLS8 LTE modem:
+
+ $ sudo mmcli -m 0
+
+ /org/freedesktop/ModemManager1/Modem/0 (device id
+ '0042872f6597b3d772a3d9d3cd6f14f152af8a0b')
+ -------------------------
+ Hardware | manufacturer: 'QUALCOMM INCORPORATED'
+ | model: '0'
+ | revision: 'M9615A-CETWMAZM-2.0.19015 1 [Jan
+ 31 2013 00:00:00]'
+ | supported: 'gsm-umts
+ | lte
+ | gsm-umts, lte'
+ | current: 'gsm-umts, lte'
+ | equipment id: 'unknown'
+ -------------------------
+ System | device:
+ '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7'
+ | drivers: 'option1, qmi_wwan'
+ | plugin: 'Cinterion'
+ | primary port: 'cdc-wdm0'
+ | ports: 'ttyUSB2 (at), cdc-wdm0 (qmi),
+ wwp0s29u1u7i4 (net)'
+ -------------------------
+ Numbers | own : 'unknown'
+ -------------------------
+ Status | lock: 'sim-pin'
+ | unlock retries: 'sim-pin (3), sim-pin2 (2), sim-puk
+ (10), sim-puk2 (10)'
+ | state: 'locked'
+ | power state: 'on'
+ | access tech: 'unknown'
+ | signal quality: '0' (cached)
+ -------------------------
+ Modes | supported: 'allowed: 2g, 3g, 4g; preferred: none'
+ | current: 'allowed: 2g, 3g, 4g; preferred: none'
+ -------------------------
+ Bands | supported: 'cdma-bc15-aws, dcs, egsm, u2100,
+ u1800, u900, eutran-i, eutran-iii, eutran-vii, eutran-viii,
+ eutran-xx'
+ | current: 'cdma-bc15-aws, dcs, egsm, u2100,
+ u1800, u900, eutran-i, eutran-iii, eutran-vii,
+ eutran-viii, eutran-xx'
+ -------------------------
+ IP | supported: 'ipv4, ipv6, ipv4v6'
+ -------------------------
+ SIM | path: '/org/freedesktop/ModemManager1/SIM/0'
+
+ plugins/cinterion/mm-plugin-cinterion.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+commit 0dd93549a175f05cd5290ca8b3a3fd78e59863b5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 24 16:50:59 2013 +0200
+
+ blacklist: add Bluegiga BLE112B
+
+ https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1229748
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 2f7ec3df8ca2176cbe8f8c1513dcbd5a2b1b1d14
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 24 16:49:13 2013 +0200
+
+ blacklist: add some missing commas
+
+ src/77-mm-usb-device-blacklist.rules | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 6774d93acae0534fa57f43cef2bdf948e651641b
+Author: Arun Raghavan <arun@accosted.net>
+Date: Mon Sep 23 18:53:15 2013 +0530
+
+ blacklist: Add Adafruit Flora
+
+ The official PID is 8004, but I've seen the device sometimes turn up
+ with a 0004, so adding both to be safe.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=708644
+
+ src/77-mm-usb-device-blacklist.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 21a5aaf4fe6934aad2e6c770aa4bdffa3ad29f9d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 20 19:29:38 2013 +0200
+
+ huawei: delay processing of network-initiated disconnection
+
+ Originally developed by:
+ Prathmesh Prabhu <pprabhu@chromium.org>
+ Ben Chan <benchan@chromium.org>
+
+ Huawei MU736 prematurely fires a ^NDISSTAT unsolicited message upon a
+ network-initiated disconnection. The modem can go into a bad state
+ if a
+ reconnect attempt happens before the disconnection completes. This
+ patch works
+ around the issue by delaying the reporting of the disconnection.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 56
+ ++++++++++++++++++++++++++++-
+ plugins/huawei/mm-broadband-modem-huawei.c | 7 ++--
+ src/mm-bearer.h | 1 +
+ 3 files changed, 61 insertions(+), 3 deletions(-)
+
+commit d818d9fe065b4baac979abf5c45e0d212ccf908d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 20 19:29:37 2013 +0200
+
+ bearer: consolidate unsolicited connection status reports
+
+ Originally developed by:
+ Ben Chan <benchan@chromium.org>
+
+ This patch replaces mm_bearer_report_disconnection() with a more
+ generic
+ mm_bearer_report_connection_status(), which allows reporting any
+ connection status of a bearer. This further allows getting rid
+ of those
+ custom report_connection_status functions in plugic specific bearer
+ subclasses.
+
+ Note that while plugin-specific implementations can receive multiple
+ 'MMBearerConnectionStatus' values, the generic implementation is
+ only allowed
+ to receive DISCONNECTED. Plugins need to make sure that they process
+ all the
+ other status values, and only report DISCONNECTED to the parent
+ when required.
+
+ MBM:
+ The MBM bearer implementation of report_connection_status()
+ expects either
+ CONNECTED or DISCONNECTED. If any of these is received and there
+ is an ongoing
+ connection attempt, the corresponding operation will be
+ completed. If there is
+ no connection attempt, we will just handle the DISCONNECTED state,
+ calling the
+ parent method to notify that the modem got network-disconnected.
+
+ Icera:
+ The Icera bearer implementation of report_connection_status()
+ expects either
+ CONNECTED, CONNECT FAILED or DISCONNECTED. If any of these is
+ received and
+ there is an ongoing connection or disconnection attempt, the
+ corresponding
+ operation will be completed. If there is no connection or
+ disconnection
+ attempt, we will just handle the CONNECT FAILED and DISCONNECTED
+ states,
+ calling the parent method (always with DISCONNECTED) to notify
+ that the modem
+ got network-disconnected.
+
+ Option/HSO:
+ The Option/HSO bearer implementation of report_connection_status()
+ expects
+ either CONNECTED, CONNECTION FAILED or DISCONNECTED. If any of
+ these is
+ received and there is an ongoing connection or disconnection
+ attempt, the
+ corresponding operation will be completed. If there is no
+ connection or
+ disconnection attempt, we will just handle the CONNECTION FAILED and
+ DISCONNECTED states, calling the parent method (always with
+ DISCONNECTED) to
+ notify that the modem got network-disconnected.
+
+ Huawei:
+ The Huawei bearer implementation of report_connection_status()
+ expects either
+ CONNECTED or DISCONNECTED. These messages are not used to process
+ pending
+ connection or disconnection attempts; so if they are received
+ while one of
+ these is on-going, it will just be ignored. CONNECTED reports
+ are also
+ ignored, so we will just handle the DISCONNECTED state, calling
+ the parent
+ method to notify that the modem got network-disconnected.
+
+ Altair-LTE:
+ The Altair-LTE bearers will only report DISCONNECTED on
+ network-disconnected
+ cases. There is no custom report_connection_status().
+
+ Novatel-LTE:
+ The Novatel-LTE bearers will only report DISCONNECTED on
+ network-disconnected
+ cases. There is no custom report_connection_status().
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 3 +-
+ plugins/huawei/mm-broadband-bearer-huawei.c | 30 +++--
+ plugins/huawei/mm-broadband-bearer-huawei.h | 3 -
+ plugins/huawei/mm-broadband-modem-huawei.c | 6 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 154
+ ++++++++++------------
+ plugins/icera/mm-broadband-bearer-icera.h | 10 --
+ plugins/icera/mm-broadband-modem-icera.c | 15 +--
+ plugins/mbm/mm-broadband-bearer-mbm.c | 63 +++++----
+ plugins/mbm/mm-broadband-bearer-mbm.h | 9 --
+ plugins/mbm/mm-broadband-modem-mbm.c | 13 +-
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 2 +-
+ plugins/option/mm-broadband-bearer-hso.c | 107 +++++++--------
+ plugins/option/mm-broadband-bearer-hso.h | 10 --
+ plugins/option/mm-broadband-modem-hso.c | 15 +--
+ src/mm-bearer-qmi.c | 14 +-
+ src/mm-bearer.c | 16 ++-
+ src/mm-bearer.h | 15 ++-
+ src/mm-broadband-bearer.c | 16 ++-
+ 18 files changed, 243 insertions(+), 258 deletions(-)
+
+commit 6b4602a3356e779389ef97bac0b8461e6d26fc41
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 18 19:56:41 2013 +0200
+
+ broadband-modem-qmi: make 'internal' errors on pin check retriable
+
+ When we get an internal error while checking the lock status, tell
+ the upper
+ layers that we can retry the check. It's been observed that this
+ internal error
+ may be issued not only when e.g. there is no SIM, but also when the
+ SIM is not
+ yet fully ready.
+
+ src/mm-broadband-modem-qmi.c | 24 +++++++++++++++++-------
+ 1 file changed, 17 insertions(+), 7 deletions(-)
+
+commit 13c7319bffe80545a5c7e8399ad6279b8d3cd87d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 18 19:55:22 2013 +0200
+
+ iface-modem: consolidate new unlock required check with retries
+
+ The new internal_load_unlock_required() method will take care of
+ running the
+ subclassed load_unlock_required(), if available, and also retry the
+ check up
+ to 6 times.
+
+ This method will be used both by the standard unlock required check
+ and by the
+ check within the current capabilities loading for multimode devices.
+
+ src/mm-iface-modem.c | 231
+ ++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 172 insertions(+), 59 deletions(-)
+
+commit 43d1c904e6f7668143007723d205d923feb620c0
+Author: Lionel Landwerlin <llandwerlin@gmail.com>
+Date: Thu Jul 18 16:30:16 2013 +0100
+
+ plugins: fix linkage of huawei test program
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=704481
+
+ plugins/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b3307524323e17af040d74c8d3e5147ef3c3b2ef
+Author: Lionel Landwerlin <llandwerlin@gmail.com>
+Date: Thu Jul 18 16:28:56 2013 +0100
+
+ plugins: add missing linker flags
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=704481
+
+ plugins/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 2b2026421507df561fa329b3d480a7d6476221b9
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 18 01:46:20 2013 -0700
+
+ huawei: handle disconnection via ^NDISSTAT unsolicited message
+
+ This patch changes MMBroadbandModemHuawei to use ^NDISSTAT unsolicited
+ messages to handle network-initiated disconnection. As a ^NDISSTAT
+ unsolicited message is similar to a ^NDISSTATQRY response, the patch
+ extends the ^NDISSTATQRY parser code to handle both ^NDISSTAT and
+ ^NDISSTATQRY responses.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 20 ++++++
+ plugins/huawei/mm-broadband-bearer-huawei.h | 3 +
+ plugins/huawei/mm-broadband-modem-huawei.c | 83
+ +++++++++++++++++++++---
+ plugins/huawei/mm-modem-helpers-huawei.c | 18 +++--
+ plugins/huawei/mm-modem-helpers-huawei.h | 2 +-
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 34 +++++++++-
+ 6 files changed, 143 insertions(+), 17 deletions(-)
+
+commit aa74ea1aa64470b2b4ec76dbc707f30fc22e3f83
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Sep 17 14:47:09 2013 -0700
+
+ iface-modem: fix MODEM_STATE_IS_INTERMEDIATE macro
+
+ src/mm-iface-modem.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 1eee8824fd932f86cfeab40cb830f95d4553bfd3
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Sep 16 23:07:33 2013 -0700
+
+ altair-lte: use mm_base_modem_at_command_full{,_finish} correctly
+
+ This patch fixes own_enable_unsolicited_events_ready() to use
+ mm_base_modem_at_command_full_finish(), instead of
+ mm_base_modem_at_sequence_full_finish(), as the %STATCM=1 command is
+ issued via mm_base_modem_at_command_full().
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9aced8311be0f9f98ac7a81599d0937e8d8aff87
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Sep 16 15:54:47 2013 -0700
+
+ huawei: ignore ^CONNECT unsolicited messages
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 0755beff07e2ffb7b1c27e5128edc15c80a8654c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 16 11:52:13 2013 -0500
+
+ mtk: update udev rules to always match both VID/PID together
+
+ See commit c79d266e627242b22a5e146ab157e34135e7a36a.
+
+ If the rules to tag specific USB interface numbers only apply
+ on the PID, we'll
+ end up seeing that if the port has a parent with another PID,
+ and that other
+ PID also has a rule, port will get tagged multiple times.
+
+ plugins/mtk/77-mm-mtk-port-types.rules | 36
+ +++++++++++++++++-----------------
+ 1 file changed, 18 insertions(+), 18 deletions(-)
+
+commit 872bd3e8378411a087553f64edcb0f9c326c6490
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 16 11:46:17 2013 -0500
+
+ mtk: add D-Link DWM-156 udev rules
+
+ For HW version A5 and possibly later, which are based on MediaTek
+ chipsets instead of Qualcomm ones.
+
+ plugins/mtk/77-mm-mtk-port-types.rules | 23 ++++++++++++++++++-----
+ 1 file changed, 18 insertions(+), 5 deletions(-)
+
+commit c22eca999bac9ccb9307970a059da39cdd100122
+Author: Quentin.Li <snowmanli88@gmail.com>
+Date: Mon Sep 16 02:44:06 2013 -0400
+
+ mtk: add plugin for various MediaTek devices
+
+ Signed-off-by: Quentin.Li <snowmanli88@gmail.com>
+
+ plugins/Makefile.am | 13 +-
+ plugins/mtk/77-mm-mtk-port-types.rules | 35 ++
+ plugins/mtk/mm-broadband-modem-mtk.c | 1036
+ ++++++++++++++++++++++++++++++++
+ plugins/mtk/mm-broadband-modem-mtk.h | 51 ++
+ plugins/mtk/mm-plugin-mtk.c | 118 ++++
+ plugins/mtk/mm-plugin-mtk.h | 42 ++
+ 6 files changed, 1294 insertions(+), 1 deletion(-)
+
+commit 5d8efff2910d448a0df220d8e38efc72875aa730
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 13 23:14:45 2013 -0700
+
+ iface-modem: free GError when interface initialization is cancelled
+
+ This patch fixes an assertion failure 'ctx->fatal_error == NULL' in
+ initialization_context_complete_and_free(), which happens if
+ 'fatal_error' of the initialization context is set during the modem
+ interface initialization and the initialization is later cancelled.
+
+ src/mm-iface-modem.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 8a857b7b264204fd193fb83ad783d4316246a9b0
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 13 00:43:27 2013 -0700
+
+ broadband-modem: use InProgress instead of WrongState when appropriate
+
+ This patch changes MMBroadbandModem to report an
+ org.freedesktop.ModemManager1.Error.Core.InProgress error, instead
+ of an
+ org.freedesktop.ModemManager1.Error.Core.WrongState error, when one
+ tries to initialize a modem that is already being initialized, or to
+ enable a modem that is already being enabled.
+
+ src/mm-broadband-modem.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e446037aa71ff15dfa6be0f396ccb619240e8ff7
+Author: Bjørn Mork <bjorn@mork.no>
+Date: Wed Sep 11 21:24:56 2013 +0200
+
+ mbm: add another H5321gw ID
+
+ This device ID is used in a Lenovo Thinkpad T430.
+
+ Link: http://bugs.debian.org/705942
+ Reported-by: Etienne Bagnoud <etienne.bagnoud@irovision.ch>
+ Signed-off-by: Bjørn Mork <bjorn@mork.no>
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit e755181fd57f8059e3bc5451865d9dafff58f922
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 11 17:08:27 2013 +0200
+
+ broadband-modem: only used CIND? for signal quality if actually
+ reported
+
+ The Huawei MU736 supports CIND? but not for signal quality reporting:
+
+ AT+CIND=?
+ +CIND : ("call",(0,1)), ("message",(0,1)), ("roam",(0,1))
+ OK
+
+ AT+CIND?
+ +CIND:0,0,0
+ OK
+
+ Which ended up with the following during execution:
+
+ ModemManager[3044]: (ttyUSB1) Could not parse CIND signal quality
+ results;
+ signal index (255) outside received
+ range (0-3)
+
+ Just avoid this, and make CIND? be used for signal quality retrieval
+ only if
+ (1) CIND? is actually supported and (2) CIND? reports signal quality
+ information.
+
+ src/mm-broadband-modem.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 0ff4da71e37e449eb4ade106d78cf6b753af671d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 11 17:00:43 2013 +0200
+
+ error-helpers: don't warn when unknown errors are found
+
+ Just add the messages with debug level, so that they don't get
+ reported at
+ syslog. Having this kind of warnings in syslog is not useful,
+ specially because
+ we wouldn't know which was the specific command that issued the
+ warning. Errors
+ due to critical issues will anyway be reported in syslog in some
+ way or another.
+
+ src/mm-error-helpers.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 4f451cf76737acd66d7ba3842a5fcf483723d0be
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 5 16:26:52 2013 +0200
+
+ qmi-port: use the new qmi-proxy if available
+
+ src/mm-qmi-port.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit f7776a3784fc58c8d46034d5f53dd16518d31f65
+Author: Colin Walters <walters@verbum.org>
+Date: Tue Sep 10 08:40:17 2013 -0400
+
+ libmm-glib: don't include internal header from public header
+
+ This broke gnome-control-center in gnome-ostree. It should be
+ included in the C file where stuff from the private header is
+ actually used.
+
+ libmm-glib/mm-modem-oma.c | 1 +
+ libmm-glib/mm-modem-oma.h | 1 -
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+commit 0d96662a0a4eea120b9130ff680c42e0c9493a18
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 10 09:42:18 2013 +0200
+
+ sim-huawei: fix refcount
+
+ g_async_result_get_source_object() returns a full reference, which
+ needs to get
+ unref-ed when no longer used.
+
+ plugins/huawei/mm-sim-huawei.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 73978cbe6fbe8549a08c011f9f48d910fc16f8aa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 9 14:57:46 2013 -0500
+
+ sim-huawei: add SIM class to handle ICCID request
+
+ Use AT^ICCID if possible to read the ICCID.
+
+ plugins/Makefile.am | 2 +
+ plugins/huawei/mm-broadband-modem-huawei.c | 27 +++++
+ plugins/huawei/mm-sim-huawei.c | 181
+ +++++++++++++++++++++++++++++
+ plugins/huawei/mm-sim-huawei.h | 53 +++++++++
+ 4 files changed, 263 insertions(+)
+
+commit 11a7e3dfdf0642c451bfd7c214f4b52640ef661a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 9 13:00:43 2013 -0500
+
+ core: add helper for parsing and validating the ICCID
+
+ plugins/sierra/mm-sim-sierra.c | 37 ++++---------------
+ src/mm-modem-helpers.c | 82
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 2 +
+ src/mm-sim.c | 66 +--------------------------------
+ src/tests/test-modem-helpers.c | 84
+ ++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 178 insertions(+), 93 deletions(-)
+
+commit ac343d390ba804ebd58c5477f45c69c1b8402edd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 9 09:46:26 2013 +0200
+
+ iface-modem-oma: fix OMA session state reporting
+
+ Reported by Arman Uguray <armansito@google.com>
+
+ src/mm-iface-modem-oma.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit cf78c385d60e3146aa374170a6472102baff6b69
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 9 09:45:59 2013 +0200
+
+ libmm-glib: fix return type
+
+ Reported by Arman Uguray <armansito@google.com>
+
+ libmm-glib/mm-modem-oma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7751f2d6ed0a4afeb7330ae9262c949e76ce14b2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 16 14:28:42 2013 +0200
+
+ mmcli,oma: support for the new OMA interface
+
+ cli/Makefile.am | 1 +
+ cli/mmcli-modem-oma.c | 521
+ +++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 +
+ cli/mmcli.h | 8 +
+ docs/man/mmcli.8 | 27 +++
+ libmm-glib/mm-common-helpers.c | 72 ++++++
+ libmm-glib/mm-common-helpers.h | 4 +
+ 7 files changed, 644 insertions(+)
+
+commit 03dc346adde7e00af1c6f08b05f40fd01250089f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 16 13:34:23 2013 +0200
+
+ broadband-modem-qmi: implement OMA CancelSession()
+
+ src/mm-broadband-modem-qmi.c | 58
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 58 insertions(+)
+
+commit 76835446eb9b6c2465b730ca447a56833aa95305
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 16 13:19:25 2013 +0200
+
+ iface-modem-oma: ensure the session id is known when
+ accepting/rejecting it
+
+ src/mm-iface-modem-oma.c | 74
+ ++++++++++++++++++++++++++++--------------------
+ 1 file changed, 43 insertions(+), 31 deletions(-)
+
+commit 3ba2fee6fc1a883bc2b6ab95b017dd7613bec3a0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 16 13:18:52 2013 +0200
+
+ broadband-modem-qmi: never add UNKNOWN OMA session types to the
+ pending list
+
+ src/mm-broadband-modem-qmi.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit 461d75dae952dceb0702b044014cc9478790499f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 16 13:10:04 2013 +0200
+
+ broadband-modem-qmi: implement OMA AcceptNetworkInitiatedSession()
+
+ src/mm-broadband-modem-qmi.c | 70
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 70 insertions(+)
+
+commit 0c7def2f345c329364ae7d5af680ca8688315aee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 16 11:53:50 2013 +0200
+
+ broadband-modem-qmi: implement OMA StartClientInitiatedSession()
+
+ src/mm-broadband-modem-qmi.c | 73
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-qmi.c | 23 ++++++++++++++
+ src/mm-modem-helpers-qmi.h | 1 +
+ 3 files changed, 97 insertions(+)
+
+commit 72be4f1d570c5a748963f6a831e765e620a4073d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 16 11:41:10 2013 +0200
+
+ broadband-modem-qmi: implement OMA Setup()
+
+ src/mm-broadband-modem-qmi.c | 78
+ +++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 77 insertions(+), 1 deletion(-)
+
+commit 959c7b9cde2aac56e63825a56ed9d33999ea288f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 16 10:50:23 2013 +0200
+
+ broadband-modem-qmi: implement OMA feature loading
+
+ src/mm-broadband-modem-qmi.c | 86
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 86 insertions(+)
+
+commit e6a7c85661d33493a8de7f19c6c7ff8773b83e8c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 14 16:14:37 2013 +0200
+
+ broadband-modem-qmi: handle OMA indications
+
+ src/mm-broadband-modem-qmi.c | 271
+ ++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-helpers-qmi.c | 80 +++++++++++++
+ src/mm-modem-helpers-qmi.h | 9 ++
+ 3 files changed, 359 insertions(+), 1 deletion(-)
+
+commit df47f1ac8f696c2712efc8c76bd9551d88c3d837
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 14 15:53:04 2013 +0200
+
+ broadband-modem-qmi: check support for OMA capabilities
+
+ src/mm-broadband-modem-qmi.c | 53
+ ++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 51 insertions(+), 2 deletions(-)
+
+commit d37b21e116cf5b1f452ec150ef5254109f6f05be
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 14 15:20:04 2013 +0200
+
+ iface-modem-oma: new object interface to handle the OMA DBus interface
+
+ src/Makefile.am | 2 +
+ src/mm-broadband-modem.c | 63 +++
+ src/mm-iface-modem-oma.c | 1252
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-oma.h | 164 ++++++
+ 4 files changed, 1481 insertions(+)
+
+commit 8ab38ae96850da78c82ebd53ae037907c5b480a9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 13 14:45:06 2013 +0200
+
+ libmm-glib: support for the 'OMA' interface
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 4 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 58 +++
+ docs/reference/libmm-glib/libmm-glib.types | 8 +
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-common-helpers.c | 80 +++
+ libmm-glib/mm-common-helpers.h | 8 +
+ libmm-glib/mm-helper-types.h | 14 +
+ libmm-glib/mm-manager.c | 1 +
+ libmm-glib/mm-modem-oma.c | 592
+ ++++++++++++++++++++++
+ libmm-glib/mm-modem-oma.h | 136 +++++
+ libmm-glib/mm-object.c | 36 ++
+ libmm-glib/mm-object.h | 3 +
+ 13 files changed, 944 insertions(+)
+
+commit 32de7d6fef06b75137ed573782fc25173f6f02f2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 13 11:20:03 2013 +0200
+
+ introspection,api: new 'Oma' interface
+
+ docs/reference/api/Makefile.am | 1 +
+ docs/reference/api/ModemManager-dbus-reference.xml | 1 +
+ docs/reference/api/ModemManager-sections.txt | 4 +
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 4 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 86 ++++++++++++++
+ include/ModemManager-enums.h | 92 +++++++++++++++
+ introspection/all.xml | 1 +
+ .../org.freedesktop.ModemManager1.Modem.Oma.xml | 123
+ +++++++++++++++++++++
+ libmm-glib/generated/Makefile.am | 3 +
+ 9 files changed, 315 insertions(+)
+
+commit b8e8c2a56d6847ea480388845ddce2f7ced68139
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Sep 6 21:35:54 2013 -0500
+
+ telit: install udev rules
+
+ plugins/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 0c618274e8c95d97a3d5bebbe91faa4339a5ac8a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 5 15:31:46 2013 +0200
+
+ build: require libqmi 1.6.0
+
+ We were already requiring some features from 1.5.0 (dev version),
+ so depend
+ on the stable 1.6.0 now that it's out.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 29688595252e7108fc3364569185cc029d8fcaef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 4 08:27:30 2013 +0200
+
+ huawei: check NDISDUP support in the port once
+
+ Don't query udev for the tag every time we recreate a bearer, just
+ do it once.
+ For some reason, re-querying the same tag after the first time
+ doesn't always
+ return the proper result.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 26
+ ++++++++++++++------------
+ 1 file changed, 14 insertions(+), 12 deletions(-)
+
+commit 51202907055476f7fc4ef2b8d9ad4206b16ca087
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 4 15:31:34 2013 -0700
+
+ huawei: fix uninitialized variable issues
+
+ This patch fixes the following uninitialized variable issues,
+ which was
+ introduced in the previous commit "huawei: retry connect/disconnect
+ attempt
+ upon ^NDISSTATQRY? failures" (commit
+ 57c657bd066366db6892ac2a8adfec2ca209ccbe).
+
+ huawei/mm-broadband-bearer-huawei.c:127:9: error: variable
+ 'ipv4_available' is used uninitialized whenever '||' condition is true
+ [-Werror,-Wsometimes-uninitialized]
+ if (!response ||
+ ^~~~~~~~~
+ huawei/mm-broadband-bearer-huawei.c:141:9: note: uninitialized use
+ occurs here
+ if (ipv4_available && ipv4_connected) {
+ ^~~~~~~~~~~~~~
+ huawei/mm-broadband-bearer-huawei.c:127:9: note: remove the '||'
+ if its condition is always false
+ if (!response ||
+ ^~~~~~~~~~~~
+ huawei/mm-broadband-bearer-huawei.c:115:28: note: initialize the
+ variable 'ipv4_available' to silence this warning
+ gboolean ipv4_available;
+ ^
+ = 0
+ huawei/mm-broadband-bearer-huawei.c:484:9: error: variable
+ 'ipv4_available' is used uninitialized whenever '||' condition is true
+ [-Werror,-Wsometimes-uninitialized]
+ if (!response ||
+ ^~~~~~~~~
+ huawei/mm-broadband-bearer-huawei.c:498:9: note: uninitialized use
+ occurs here
+ if (ipv4_available && !ipv4_connected) {
+ ^~~~~~~~~~~~~~
+ huawei/mm-broadband-bearer-huawei.c:484:9: note: remove the '||'
+ if its condition is always false
+ if (!response ||
+ ^~~~~~~~~~~~
+ huawei/mm-broadband-bearer-huawei.c:472:28: note: initialize the
+ variable 'ipv4_available' to silence this warning
+ gboolean ipv4_available;
+ ^
+ = 0
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 57c657bd066366db6892ac2a8adfec2ca209ccbe
+Author: Prathmesh Prabhu <pprabhu@chromium.org>
+Date: Tue Sep 3 23:54:07 2013 -0700
+
+ huawei: retry connect/disconnect attempt upon ^NDISSTATQRY? failures
+
+ The Huawei MU736 modem sometimes responds to the ^NDISSTATQRY? query
+ with a
+ '+CME ERROR: 100' error. This patch works around the issue by ignoring
+ a few
+ of these error responses in a connect / disconnect attempt. The
+ overall timeout
+ for the connect/disconnect operation is not affected by this change.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 50
+ ++++++++++++++++++-----------
+ 1 file changed, 32 insertions(+), 18 deletions(-)
+
+commit c014bce554cc4710c25bae40ff1f88e1d4577c4a
+Author: Bjørn Mork <bjorn@mork.no>
+Date: Sat Aug 31 13:02:51 2013 +0200
+
+ mbm: add udev rule for Toshiba branded H5321gw module
+
+ Reported-by: Thomas Schäfer <tschaefer@t-online.de>
+ Signed-off-by: Bjørn Mork <bjorn@mork.no>
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 0e64ba01d4cf4f791e29c128b9331780aa18a4a1
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 27 00:44:04 2013 -0700
+
+ huawei: ignore ^DSDORMANT unsolicited messages
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 60e1ac69194bddc10640f07a982430890056616e
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 27 12:21:34 2013 -0700
+
+ iface-modem: allow reset and factory reset operation in every state
+
+ src/mm-iface-modem.c | 50
+ +++++++++++---------------------------------------
+ 1 file changed, 11 insertions(+), 39 deletions(-)
+
+commit 387c97d81f3cd28524ba0b33e0e11c34f82ef2a8
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 27 00:15:39 2013 -0700
+
+ novatel-lte: check if a connect operation has been cancelled
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 2b28b7acb65df8e5778dde04225274db0a1e99da
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 26 16:21:27 2013 +0200
+
+ at-serial-port: avoid 'enable_disable', use just 'enable' in
+ method name
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
+ src/mm-at-serial-port.c | 6 +++---
+ src/mm-at-serial-port.h | 6 +++---
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 82eb2158db348dcc3ac0883ad2a1bf240c7c50ef
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 21 17:32:59 2013 -0700
+
+ huawei: ignore ^RFSWITCH unsolicited messages
+
+ This patch ignores the ^RFSWITCH unsolicited messages in order
+ to avoid
+ them being mixed with other unsolicited messages. The modem power
+ state
+ is explicitly determined by the ^RFSWITCH? command, if supported,
+ so we
+ don't need to depend on the ^RFSWITCH unsolicited messages.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 38
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 38 insertions(+)
+
+commit 0f2a0aa0bc1b5ceea8275ca5c98834195c050ed6
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 21 17:32:23 2013 -0700
+
+ at-serial-port: allow enabling/disabling unsolicited message handlers
+
+ This patch adds an 'enable' flag in MMAtUnsolicitedMsgHandler and
+ mm_at_serial_port_enable_disable_unsolicited_msg_handler() to allow
+ enabling and disabling of unsolicited message handlers. The enable
+ flag
+ is set to TRUE by mm_at_serial_port_add_unsolicited_msg_handler().
+
+ src/mm-at-serial-port.c | 28 ++++++++++++++++++++++++++++
+ src/mm-at-serial-port.h | 4 ++++
+ 2 files changed, 32 insertions(+)
+
+commit 3979939eaf2a99483c50035b8c5a6c4633ce61e7
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 21 23:00:09 2013 -0700
+
+ huawei: ignore +CUSATP and +CUSATEND unsolicited messages
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 3fcc908ed5354f6dd2b708d8cbaa4a0cc0c97fea
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 23 00:05:31 2013 -0700
+
+ huawei: always parse operator name in +COPS responses as ASCII
+
+ Despite +CSCS? may claim supporting UCS2, Huawei modems always report
+ the oerator name in ASCII in a +COPS response. This patch addresses
+ that
+ by always assuming the charset is IRA when parsing the operator name
+ in a
+ +COPS response.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 43
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+commit f2fb2fe9fcf7009fe567931194c8f91c9e0aaf36
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 23 00:05:56 2013 -0700
+
+ altair-lte: increase timeout for %APNN, %DPDNACT, and %STATCM
+
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 6 +++---
+ plugins/altair/mm-broadband-modem-altair-lte.c | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 7e9ae215509c7e55ca128023100258d664894c32
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 21 13:27:41 2013 +0200
+
+ broadband-modem-qmi: avoid processing invalid TLVs in
+ GetSignalStrength response
+
+ E.g. in the GetSignalStrength output we get EV-DO-only TLVs, even
+ if EV-DO is
+ not the current access technology, what ends up generating the
+ following:
+
+ $ sudo mmcli -m 0 --signal-get
+
+ /org/freedesktop/ModemManager1/Modem/0
+ -------------------------
+ Refresh rate: '5' seconds
+ -------------------------
+ EV-DO | RSSI: '0.00' dBm
+ | EcIo: '0.00' dBm
+ | SINR: '9.00' dBm
+ | Io: '-106.00' dB
+ -------------------------
+ UMTS | RSSI: '94.00' dBm
+ | EcIo: '-6.00' dBm
+
+ Instead, we will now assume that the RSSI list always contains the
+ valid access
+ technologies being reported, and use that list to decide whether we
+ process some
+ of the per-technology TLVs. We now end up getting:
+
+ $ sudo mmcli -m 0 --signal-get
+
+ /org/freedesktop/ModemManager1/Modem/0
+ -------------------------
+ Refresh rate: '5' seconds
+ -------------------------
+ UMTS | RSSI: '94.00' dBm
+ | EcIo: '-8.00' dBm
+
+ src/mm-broadband-modem-qmi.c | 49
+ ++++++++++++++++++++++----------------------
+ 1 file changed, 24 insertions(+), 25 deletions(-)
+
+commit 75aa4a0df708a981a5d2b1dafc8912dfd3af78e4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 21 12:56:49 2013 +0200
+
+ libmm-glib,time: fix gtk-doc comments
+
+ libmm-glib/mm-modem-time.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 4cd82fcc8a35e835fae1b23930778664ee95a4ae
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 21 12:44:28 2013 +0200
+
+ libmm-glib,signal: fix introspection annotations and gtk-doc comments
+
+ libmm-glib/mm-modem-signal.c | 62
+ ++++++++++++++++++++++----------------------
+ 1 file changed, 31 insertions(+), 31 deletions(-)
+
+commit 27b739b838e1c09ff8a9904d203990463fcfe591
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 1 14:20:39 2013 +0200
+
+ broadband-modem-qmi: try with 'NAS Signal Strength' for extended
+ signal info
+
+ src/mm-broadband-modem-qmi.c | 237
+ ++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 210 insertions(+), 27 deletions(-)
+
+commit 71c60fc6eb4f341e9785172d73c16613f79ba4a5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 1 13:37:38 2013 +0200
+
+ iface-modem-signal: use the new 'MMSignal' in the interface
+ implementation
+
+ Also modify the QMI-specific implementation to act as a state machine,
+ as we'll
+ add more steps afterwards.
+
+ src/mm-broadband-modem-qmi.c | 248
+ ++++++++++++++++++++++++++-----------------
+ src/mm-iface-modem-signal.c | 95 +++++------------
+ src/mm-iface-modem-signal.h | 26 ++---
+ 3 files changed, 186 insertions(+), 183 deletions(-)
+
+commit ca8a414668e5caf55970664855f796632d467260
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 24 09:33:58 2013 +0200
+
+ libmm-glib: distribute the mm-modem-signal.h header
+
+ libmm-glib/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 9449f0f9fb4800682041a18f163778b8307891f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 24 09:32:39 2013 +0200
+
+ introspection,api: specify units for the 'rate' value in Setup()
+
+ introspection/org.freedesktop.ModemManager1.Modem.Signal.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4a68e8d27389edee2285c497491292e14003b61a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 23:32:10 2013 +0200
+
+ broadband-modem-qmi: extended signal support only in NAS >= 1.8
+
+ src/mm-broadband-modem-qmi.c | 42
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+commit 1340896b504e9f5a711df4d36fc0608f03c3297a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 23:16:45 2013 +0200
+
+ iface-modem-signal: explicitly check support for the Signal interface
+
+ src/mm-iface-modem-signal.c | 202
+ ++++++++++++++++++++++++++++++++++++--------
+ src/mm-iface-modem-signal.h | 8 ++
+ 2 files changed, 176 insertions(+), 34 deletions(-)
+
+commit 564e0fd94bd2bb451812e4218d64f28368a2411a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 23:03:22 2013 +0200
+
+ libmm-glib,signal: don't create a 'MMSignal' with an empty dictionary
+
+ libmm-glib/mm-signal.c | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+commit 0502646f9f68a37b00066247beb856bc781c6afa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 08:27:20 2013 +0200
+
+ api,introspection: use per-technology dictionaries in the 'Signal'
+ interface
+
+ cli/mmcli-modem-signal.c | 100 ++---
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 114 ++---
+ docs/reference/libmm-glib/libmm-glib.types | 1 +
+ .../org.freedesktop.ModemManager1.Modem.Signal.xml | 261 ++++++-----
+ libmm-glib/Makefile.am | 7 +-
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-modem-signal.c | 490
+ ++++++++++++++++-----
+ libmm-glib/mm-modem-signal.h | 53 +--
+ libmm-glib/mm-signal.c | 442
+ +++++++++++++++++++
+ libmm-glib/mm-signal.h | 98 +++++
+ src/mm-iface-modem-signal.c | 86 ++--
+ 12 files changed, 1256 insertions(+), 398 deletions(-)
+
+commit e8ce650ed0bd271681fae881f8b597ebe739fb7b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 8 21:37:18 2013 +0200
+
+ broadband-modem-qmi: implement extended signal quality reporting
+
+ src/mm-broadband-modem-qmi.c | 207
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 206 insertions(+), 1 deletion(-)
+
+commit 5ef439e2d696e0c9acb9f146ed541848fd8db0ce
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 8 21:11:02 2013 +0200
+
+ broadband-modem: handle the new 'Signal' interface
+
+ src/mm-broadband-modem.c | 63
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 63 insertions(+)
+
+commit d368d30c531f6595826255a6f5c496ab91894b40
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 8 20:50:02 2013 +0200
+
+ iface-modem-signal: new implementation for the 'Signal' interface
+
+ src/Makefile.am | 2 +
+ src/mm-iface-modem-signal.c | 489
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-signal.h | 97 +++++++++
+ 3 files changed, 588 insertions(+)
+
+commit d29423202555e41283796a1abeb28f3372ea15ab
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 7 21:11:47 2013 +0200
+
+ mmcli: new actions to use the 'Signal' interface
+
+ cli/Makefile.am | 1 +
+ cli/mmcli-modem-signal.c | 340
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 ++
+ cli/mmcli.h | 8 ++
+ 4 files changed, 360 insertions(+)
+
+commit fcdbefa51962aac545db7a797b5fbeb60a66ab60
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 7 20:41:17 2013 +0200
+
+ libmm-glib: handle the new 'Signal' interface
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 8 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 144 +++++++++
+ docs/reference/libmm-glib/libmm-glib.types | 4 +
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-manager.c | 1 +
+ libmm-glib/mm-modem-signal.c | 356
+ ++++++++++++++++++++++
+ libmm-glib/mm-modem-signal.h | 120 ++++++++
+ libmm-glib/mm-object.c | 36 +++
+ libmm-glib/mm-object.h | 3 +
+ 10 files changed, 675 insertions(+)
+
+commit 37115dee9383c79985e6b05122380449b408ae13
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 7 20:17:23 2013 +0200
+
+ api,introspection: new 'Signal' interface for extended signal quality
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 7 +
+ docs/reference/api/Makefile.am | 1 +
+ docs/reference/api/ModemManager-dbus-reference.xml | 1 +
+ introspection/all.xml | 1 +
+ .../org.freedesktop.ModemManager1.Modem.Signal.xml | 155
+ +++++++++++++++++++++
+ libmm-glib/generated/Makefile.am | 9 +-
+ 6 files changed, 171 insertions(+), 3 deletions(-)
+
+commit b61827f474af19302ff66621ef152419d75f0ef0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 21 11:16:15 2013 +0200
+
+ huawei: ignore ^NDISEND unsolicited messages
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit ef5aae51254cd2336f09c87e84dfa9f496fc88dc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 14 18:01:53 2013 +0200
+
+ iface-modem-messaging: never add UNKNOWN to the lists of supported
+ storages
+
+ src/mm-iface-modem-messaging.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit b83ef8b5e2a139ab5e04388e457570812701b7ca
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 15 11:12:01 2013 -0700
+
+ altair-lte: increase timeout for +CFUN=4
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d42011d6bf3394a6ac1508a667ac9c1348a2514e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 15 19:20:59 2013 +0200
+
+ build: include vapigen.m4 and introspection.m4
+
+ So that we don't require vala or g-i for building even when not
+ wanting them.
+
+ m4/introspection.m4 | 96
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ m4/vapigen.m4 | 101
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 197 insertions(+)
+
+commit 663d49696821e8a269662f4c42ecab6c43c3055e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 15 18:57:10 2013 +0200
+
+ huawei: improve ^NDISSTATQRY parser for newer firmware
+
+ Newer firmware for Huawei devices will not split the IPv4 and IPv6
+ info in
+ different lines for the ^NDISSTATQRY reply; instead they will be
+ included in the
+ same line. E.g. instead of
+
+ ^NDISSTATQRY: 1,,,IPV4
+ ^NDISSTATQRY: 0,33,,IPV6
+ OK
+
+ We may have:
+
+ ^NDISSTATQRY:0,,,"IPV4",0,33,,"IPV6"
+
+ Also note the optional spaces after the ':', and that in the new
+ version the
+ strings are enclosed in double quotes.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=705339
+
+ plugins/huawei/mm-modem-helpers-huawei.c | 64
+ ++++++++++++++----------
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 10 +++-
+ 2 files changed, 46 insertions(+), 28 deletions(-)
+
+commit f9c75bc4876311c4fd4e30a5d78562e532c085b6
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 14 11:52:59 2013 -0700
+
+ cli: fix help message for --3gpp-ussd-respond
+
+ cli/mmcli-modem-3gpp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 33a6cb2fa5034060376dfac3332f960f2e3ee7ae
+Author: Colin Walters <walters@verbum.org>
+Date: Wed Aug 14 19:22:27 2013 +0200
+
+ build: An even cleaner srcdir != builddir fix
+
+ Suggested-by: Dan Winship <danw@gnome.org>
+
+ libmm-glib/Makefile.am | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+commit 54fa505e67e1f0f315314822c7b81db25254263f
+Author: Colin Walters <walters@verbum.org>
+Date: Wed Aug 14 18:59:54 2013 +0200
+
+ build: Various srcdir != builddir fixes for gnome-ostree
+
+ The gnome-ostree build system does srcdir != builddir from git, not
+ quite like autotools does.
+
+ libmm-glib/Makefile.am | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit 65f633ab961570ad90644fcfa1fe748f50908da9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 14 10:37:45 2013 -0500
+
+ build: fix distcheck after Introspection changes
+
+ libmm-glib/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 36fe2012cc995fe9eb3482d8d0671467190f9060
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 14 15:43:28 2013 +0200
+
+ license: update to latest gplv2 text
+
+ COPYING | 41 ++++++++++++++++++++---------------------
+ 1 file changed, 20 insertions(+), 21 deletions(-)
+
+commit 81194337fec82d3c58aa58da8ce393da8404b5d2
+Author: Christian Persch <chpe@gnome.org>
+Date: Wed Aug 14 12:32:17 2013 +0200
+
+ build: Error out if vala bindings are enabled but Makefile.vapigen
+ not found
+
+ Cannot test this for enable_vala=auto since enable_vala has been
+ set to
+ yes/no by this time.
+
+ Bug #705641.
+
+ configure.ac | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 6eec45cb73f2430dcb8a6e6751d4dc2446b8861c
+Author: Christian Persch <chpe@gnome.org>
+Date: Tue Aug 13 10:30:13 2013 +0200
+
+ gitignore: Updated to ignore GIR and VAPI bindings generated files
+
+ Bug #705641.
+
+ .gitignore | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit bfae86329602635f203310b352a71c0597283589
+Author: Christian Persch <chpe@gnome.org>
+Date: Tue Aug 6 23:12:26 2013 +0200
+
+ libmm-glib: Add vala bindings
+
+ Bug #705641.
+
+ Makefile.am | 2 +-
+ configure.ac | 5 +++++
+ vapi/Makefile.am | 22 ++++++++++++++++++++++
+ vapi/ModemManager-1.0.metadata | 0
+ vapi/libmm-glib.deps | 1 +
+ 5 files changed, 29 insertions(+), 1 deletion(-)
+
+commit b8838b88829bdffd849eb115bd1a74932d6adabb
+Author: Christian Persch <chpe@gnome.org>
+Date: Sun Aug 4 13:51:27 2013 +0200
+
+ libmm-glib: Generate GObject introspection information
+
+ Bug #705641.
+
+ configure.ac | 4 +++
+ libmm-glib/Makefile.am | 75
+ ++++++++++++++++++++++++++++++++++++++++++--
+ libmm-glib/mm-helper-types.h | 10 +++---
+ 3 files changed, 83 insertions(+), 6 deletions(-)
+
+commit d1d28687852a2e683e9c3f4ca0b6404a248c1b7c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 13 10:06:25 2013 +0200
+
+ api: Change error enum nicks
+
+ Introspection can't copy with a '.' in the value nicks, so just
+ remove those.
+
+ Note: This could be considered an ABI break!
+
+ Bug #705641.
+
+ Patch based on a previous one from Christian Persch <chpe@gnome.org>.
+
+ include/ModemManager-errors.h | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+commit 0abba497ab8ebc0564044917df67c2237b20168b
+Author: Christian Persch <chpe@gnome.org>
+Date: Sun Aug 4 15:13:17 2013 +0200
+
+ libmm-glib: Fix and add introspection annotations
+
+ Bug #705641.
+
+ libmm-glib/mm-bearer-ip-config.c | 10 +++++++++-
+ libmm-glib/mm-bearer-properties.c | 27
+ +++++++++++++++++++++++++++
+ libmm-glib/mm-bearer-properties.h | 2 +-
+ libmm-glib/mm-modem-3gpp.c | 4 ++--
+ libmm-glib/mm-modem-firmware.c | 4 ++--
+ libmm-glib/mm-modem-location.c | 2 +-
+ libmm-glib/mm-modem-messaging.c | 6 +++---
+ libmm-glib/mm-modem-time.c | 16 ++++++++--------
+ libmm-glib/mm-modem.c | 12 ++++++------
+ libmm-glib/mm-simple-connect-properties.c | 8 ++++++++
+ libmm-glib/mm-simple-connect-properties.h | 2 +-
+ libmm-glib/mm-sms-properties.c | 8 ++++++++
+ libmm-glib/mm-unlock-retries.c | 4 ++--
+ 13 files changed, 78 insertions(+), 27 deletions(-)
+
+commit 34f6a2b63e9053f2beabb2a5af221221d5a0f791
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 14 00:01:29 2013 -0700
+
+ huawei: implement modem reset via +CFUN=16 for MU736
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit f515cd1d903fefbdaec163dea3e3f0da870ff58a
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 14 00:01:28 2013 -0700
+
+ iface-modem: add mm_iface_modem_get_model helper to query model
+
+ src/mm-iface-modem.c | 20 ++++++++++++++++++++
+ src/mm-iface-modem.h | 3 +++
+ 2 files changed, 23 insertions(+)
+
+commit c94943322b3e497bf0131eae2aa21489bc71a061
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 13 16:02:41 2013 +0200
+
+ docs: add missing types
+
+ docs/reference/libmm-glib/libmm-glib.types | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit e778283f5512acd294929ae504113040faff3e14
+Author: Fangxiaozhi (Franko) <fangxiaozhi@huawei.com>
+Date: Mon Aug 12 09:04:43 2013 +0200
+
+ huawei: enlarge the checking times for ndisstatqry in disconnecting
+
+ In sometimes, the disconnection of NDISDUP will spend more time
+ than 10s.
+ So it is better to enlarge the checking times, such as up to 60 times.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a82acb34ec7ca3d276263a6f286b586ac23d3856
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 9 20:56:52 2013 -0700
+
+ huawei: implement modem reset
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 26
+ ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+commit 1d3ec932d56355e2a84956c3d543969bea8ebd6f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Aug 8 09:45:16 2013 -0500
+
+ build: install mm-cdma-manual-activation-properties.h to includes dir
+
+ libmm-glib/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit bb1d39cf7cb7a75553879a3ccaf2003343a68f6c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 23 12:06:52 2013 +0200
+
+ broadband-modem-qmi: check MDN set after manual activation
+
+ src/mm-broadband-modem-qmi.c | 154
+ ++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 116 insertions(+), 38 deletions(-)
+
+commit 512ef6970cfd1793f667a23dc1b10c3f3b43c988
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 15 11:50:35 2013 +0200
+
+ broadband-modem-qmi: implement manual CDMA activation
+
+ We'll also now require libqmi 1.5 (git master), needed to handle
+ the PRL TLV
+ in 'DMS Activate Manual'.
+
+ TODO: require 1.6 as soon as it is released.
+
+ configure.ac | 2 +-
+ src/mm-broadband-modem-qmi.c | 245
+ +++++++++++++++++++++++++++++++++++++++----
+ 2 files changed, 225 insertions(+), 22 deletions(-)
+
+commit 4e3d0ec3fd4a40b9c38e6278b0e70aadf9fbfb42
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 15 12:31:23 2013 +0200
+
+ mmcli,cdma: new '--cdma-activate-manual' action
+
+ Along with a new '--cdma-activate-manual-with-prl'.
+
+ These can be used to request CDMA Manual Activation, like:
+
+ $> sudo mmcli \
+ -m 0 \
+ --cdma-activate-manual="spc=123456,sid=ab,mdn=0123456789abcde,min=0123456789abcde"
+
+ Or:
+
+ $> sudo mmcli \
+ -m 0 \
+ --cdma-activate-manual="spc=123456,sid=ab,mdn=0123456789abcde,min=0123456789abcde"
+ \
+ --cdma-activate-manual-with-prl=/path/to/my/prl.data
+
+ cli/mmcli-modem-cdma.c | 130
+ ++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 129 insertions(+), 1 deletion(-)
+
+commit 5de526f7080c3c56474b277fe46a49537f44ed74
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 15 12:26:57 2013 +0200
+
+ libmm-glib,cdma: implement manual activation methods
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +
+ libmm-glib/mm-modem-cdma.c | 92
+ +++++++++++++++++++++++
+ libmm-glib/mm-modem-cdma.h | 14 ++++
+ 3 files changed, 109 insertions(+)
+
+commit b769d48ed88d0dd69c70dffce23b21fa99814791
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 12 13:35:39 2013 +0200
+
+ iface-modem-cdma: use the new 'MMCdmaManualActivationProperties'
+
+ src/mm-iface-modem-cdma.c | 24 +++++++++++++++++-------
+ src/mm-iface-modem-cdma.h | 2 +-
+ 2 files changed, 18 insertions(+), 8 deletions(-)
+
+commit c0d4f3157aeb2452155e558fb11daa6b7ef860dd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 12 12:56:50 2013 +0200
+
+ libmm-glib: new 'MMCdmaManualActivationProperties' helper object
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 40 +
+ libmm-glib/Makefile.am | 4 +-
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-cdma-manual-activation-properties.c | 879
+ ++++++++++++++++++++++
+ libmm-glib/mm-cdma-manual-activation-properties.h | 113 +++
+ 6 files changed, 1037 insertions(+), 1 deletion(-)
+
+commit 5ba2c1d6cbd2d1a089d5d1219ffd3a7b8b5c60d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 12 13:10:54 2013 +0200
+
+ introspection,api: document the expected parameters in
+ Cdma.ActivateManual()
+
+ ...g.freedesktop.ModemManager1.Modem.ModemCdma.xml | 58
+ +++++++++++++++++++++-
+ src/mm-iface-modem-cdma.c | 2 +-
+ 2 files changed, 58 insertions(+), 2 deletions(-)
+
+commit ffac6f17b5912dfa4d2e55eaf078796680871ea7
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 31 23:07:52 2013 -0700
+
+ modem-helpers: fix parsing of CREG/CGREG/CEREG responses
+
+ The format of CREG/CGREG/CEREG responses is not very precisely defined
+ in or strictly enforced by the 3GPP specifications. That leads to the
+ fact that some modems put leading zeros in integer type fields (e.g.
+ <n>, <stat>, <AcT>), and not all modems put double quotes around
+ string
+ type fields (e.g. <lac>, <ci>) in those C*REG responses.
+
+ For example, 0001 can be a valid value for both <stat> and <lac>. The
+ original C*REG parsing code in ModemManager could potentially
+ interpret
+ '+CREG: <stat>,<lac>,<ci>,<AcT>' as '+CREG:
+ <n>,<stat>,<lac>,<ci>'. This
+ patch addresses this issue by refining the regular expressions
+ returned
+ by mm_3gpp_creg_regex_get() with the following assumptions:
+
+ 1. If a modem puts leading zeros in integer type fields, it puts
+ double
+ quotes around string type fields.
+ 2. If a modem omits double quotes around string type fields, it
+ does not
+ put leading zeros in integer type fields.
+
+ src/mm-modem-helpers.c | 30 ++++++++++++---
+ src/tests/test-modem-helpers.c | 86
+ +++++++++++++++++++++++++++++++++++++-----
+ 2 files changed, 100 insertions(+), 16 deletions(-)
+
+commit 755c61a2ffad6d54fc3116dd29d91b4325cf6b18
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 6 10:10:09 2013 -0700
+
+ huawei: ignore ^PDPDEACT unsolicited messages
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 8ff3f6703a804cce60ae85b6c3ab543d21c5460f
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 6 10:04:46 2013 -0700
+
+ huawei: handle whitespace in RSSI responses
+
+ This patch modifies the regular expressions for parsing ^RSSI,
+ ^RSSILVL,
+ and ^HRSSILVL responses to handle any whitespace that is inserted
+ between the colon and the RSSI value.
+
+ The issue is identified by Dan Williams <dcbw@redhat.com>
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit f2fd4d8de0feb3d089d5ae950bea753f65a0e384
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 2 18:07:11 2013 -0700
+
+ huawei: implement modem power up and down
+
+ This patch is originally developed by:
+ Franko Fang <fangxiaozhi@huawei.com>
+
+ And then reviewed and updated by:
+ Ben Chan <benchan@chromium.org>
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 218
+ +++++++++++++++++++++++++++++
+ 1 file changed, 218 insertions(+)
+
+commit 48fbe1a24297d0eeb3a143230937438dc14c6109
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 31 00:59:26 2013 -0700
+
+ huawei: reset disconnect_pending to NULL when ^NDISSTATQRY fails
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 965ef76547988fa8299a79ed383550cb6505d2f6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 23 10:00:23 2013 -0500
+
+ serial: add logging to serial port open failures
+
+ src/mm-serial-port.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+commit 74056e02ced535400ce961f6bcd39cb049ca7ff2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 23 11:04:29 2013 +0200
+
+ build: fix dbus activation file generation
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=704711
+
+ configure.ac | 1 -
+ data/Makefile.am | 3 +++
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+commit 599b3dd830a64d7ea12522ae91b9e652c05476c0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 19 11:14:09 2013 +0200
+
+ build: post release version bump to 1.1.0 (development)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5c68a3686d6fcd61f3fe262d4e7c9b806900b920
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 19 10:00:01 2013 +0200
+
+ release: bump version to 1.0.0
+
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 953b7df70c448ff0d3fe44736eca96b58b1d986a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 19 09:59:50 2013 +0200
+
+ release: update NEWS
+
+ NEWS | 20 +++++++++++++-------
+ 1 file changed, 13 insertions(+), 7 deletions(-)
+
+commit 184c5a925a53e4822f759ad556c487bec6dfea98
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 19 09:59:41 2013 +0200
+
+ docs: update migration reference version number
+
+ docs/reference/api/ModemManager-migration-reference.xml | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 1e69874e598711cf713b2c6ea6f73cb8b1a9d6db
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 19 09:59:21 2013 +0200
+
+ api,introspection: update interface version number
+
+ introspection/org.freedesktop.ModemManager1.Bearer.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Modem.Location.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Modem.Simple.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Modem.Time.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Modem.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Sim.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.Sms.xml |
+ 2 +-
+ introspection/org.freedesktop.ModemManager1.xml |
+ 2 +-
+ introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml |
+ 2 +-
+ 14 files changed, 14 insertions(+), 14 deletions(-)
+
+commit d90a6309fbce3f96127e413e0c161a3f4385c2e4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 22:43:55 2013 +0200
+
+ broadband-modem-qmi: plug memleak when listing SMS messages
+
+ src/mm-broadband-modem-qmi.c | 47
+ ++++++++++++++++++++------------------------
+ 1 file changed, 21 insertions(+), 26 deletions(-)
+
+commit 0245b6256a86f7ebb7202cc60485a2d8cb54c369
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 18 17:54:45 2013 +0200
+
+ libmm-glib,firmware-properties: allow NULL when building dictionary
+
+ libmm-glib/mm-firmware-properties.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit abce098cfe2ed1b2d922201b20756511a65e5748
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 17 09:03:16 2013 +0200
+
+ sms: initialize 'validity' property always to a default
+
+ When we're exposing not-yet-completed multipart messages, we need
+ to provide a
+ correct value for the validity property, or gdbus may crash, see e.g.:
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=704319
+
+ src/mm-sms.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 022f5bb490b225426caa6e1e88bbbac8b6590b86
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 15 12:05:36 2013 +0200
+
+ mmcli,messaging: plug memleak
+
+ cli/mmcli-modem-messaging.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 48d35ee61049e65b83bf3484a45657a83709b2a1
+Author: Ben Chan <benchan@chromium.org>
+Date: Sun Jul 14 17:24:39 2013 -0700
+
+ altair-lte: set serial port send delay to 0
+
+ With a non-zero send delay, the communication over the ttyACM port of
+ the modem is not very stable when USB auto-suspend is enabled for the
+ modem. The send delay is not necessary and thus removed by this patch.
+
+ Ori Inbar <ori.inbar@altair-semi.com> reported the issue and suggested
+ this fix.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 5b3392e84b910c88af64db54986a74122b40f1f4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 14 17:12:55 2013 +0200
+
+ build: require libmbim by default, and explicitly log about
+ --without-mbim
+
+ configure.ac | 39 ++++++++++++++++-----------------------
+ 1 file changed, 16 insertions(+), 23 deletions(-)
+
+commit ac588e9d0e6b4dd59d1e929545bf39247cb8f72c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 14 17:04:26 2013 +0200
+
+ build: explicitly log about --without-qmi when looking for libqmi
+ fails
+
+ configure.ac | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit 19f07c12a1fb4a09d866b12f58ad91b38e482a4e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 12 12:56:27 2013 +0200
+
+ sms-properties: fix introspection comment
+
+ libmm-glib/mm-sms-properties.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f3d9c35e9b60265cc19f5a9468425b057627686e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 11 09:07:12 2013 -0500
+
+ build: fix multiply defined EXTRA_DIST
+
+ plugins/Makefile.am:375: warning: EXTRA_DIST multiply defined in
+ condition TRUE ...
+ gtester.make:6: ... 'EXTRA_DIST' previously defined here
+ plugins/Makefile.am:1: 'gtester.make' included from here
+
+ plugins/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0b2e04ed149717a60ec2e399a2d4e1c6f3200cd9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jun 15 13:05:32 2013 +0200
+
+ huawei: use ^NDISSTATQRY to check for connection status
+
+ Patch based on changes from Franko Fang <fangxiaozhi@huawei.com>.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 129
+ ++++++++++++++++++----------
+ 1 file changed, 84 insertions(+), 45 deletions(-)
+
+commit 8d0ec0fc246ad4be53b426ae99443e9b5f66a5f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jun 15 12:19:50 2013 +0200
+
+ huawei: new helper to parse ^NDISSTATQRY responses
+
+ .gitignore | 5 ++
+ plugins/Makefile.am | 23 ++++-
+ plugins/huawei/mm-modem-helpers-huawei.c | 100
+ ++++++++++++++++++++++
+ plugins/huawei/mm-modem-helpers-huawei.h | 30 +++++++
+ plugins/huawei/tests/test-modem-helpers-huawei.c | 103
+ +++++++++++++++++++++++
+ 5 files changed, 260 insertions(+), 1 deletion(-)
+
+commit 5e82707b3fba0b7cb95df6b544741bdc1119bd51
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 10 23:31:15 2013 -0700
+
+ broadband-modem-qmi: fix incorrect conversions from double to gint32
+
+ This patch fixes the following incorrect conversions from double
+ to gint32:
+
+ mm-broadband-modem-qmi.c:4785:27: error: implicit conversion from
+ 'double' to 'gint32' (aka 'int')
+ changes value from 2.225073858507201E-308 to 0
+ [-Werror,-Wliteral-conversion]
+ gint32 bs_longitude = MM_LOCATION_LONGITUDE_UNKNOWN;
+ ~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ mm-broadband-modem-qmi.c:4786:26: error: implicit conversion from
+ 'double' to 'gint32' (aka 'int')
+ changes value from 2.225073858507201E-308 to 0
+ [-Werror,-Wliteral-conversion]
+ gint32 bs_latitude = MM_LOCATION_LATITUDE_UNKNOWN;
+ ~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ src/mm-broadband-modem-qmi.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit d366b28650be8a3da92eff74da2ff962da82355d
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 10 20:36:56 2013 -0700
+
+ modem-helpers-qmi: fix enumeration type mismatches
+
+ This patch fixes the following enumeration type mismatches:
+
+ mm-modem-helpers-qmi.c:980:12: error: implicit conversion from
+ enumeration type 'QmiNasRatModePreference' to different
+ enumeration type 'QmiNasRadioTechnologyPreference'
+ [-Werror,-Wenum-conversion]
+ return qmi;
+ ~~~~~~ ^~~
+
+ mm-modem-helpers-qmi.c:1082:12: error: implicit conversion from
+ enumeration type 'MMModemMode' to different
+ enumeration type 'QmiNasGsmWcdmaAcquisitionOrderPreference'
+ [-Werror,-Wenum-conversion]
+ return MM_MODEM_MODE_NONE;
+ ~~~~~~ ^~~~~~~~~~~~~~~~~~
+
+ mm-modem-helpers-qmi.c:1096:16: error: implicit conversion from
+ enumeration type 'QmiNasRegistrationState' to different
+ enumeration type 'MMModem3gppRegistrationState'
+ [-Werror,-Wenum-conversion]
+ return QMI_NAS_REGISTRATION_STATE_NOT_REGISTERED;
+ ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ src/mm-modem-helpers-qmi.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 8660be8f39601ddb7811d77759a8e087401b9118
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 10 10:56:45 2013 -0500
+
+ x22x: add support for Olivetti Olicard 200
+
+ plugins/x22x/77-mm-x22x-port-types.rules | 22 ++++++++++++++++++++--
+ plugins/x22x/mm-plugin-x22x.c | 4 ++--
+ 2 files changed, 22 insertions(+), 4 deletions(-)
+
+commit 1bd60c7dac84070c9226f5f525f3904c0a408272
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 8 13:10:51 2013 +0200
+
+ docs,libmm-glib: update type information
+
+ docs/reference/libmm-glib/libmm-glib.types | 29
+ ++++++-----------------------
+ 1 file changed, 6 insertions(+), 23 deletions(-)
+
+commit dd2b4672623919ddf7916234ce11fc6c15e959a7
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jul 5 11:09:54 2013 -0700
+
+ serial-port: warn if ioctl(TIOCSSERIAL) fails to set closing_wait
+
+ Prints out a warning if ioctl(TIOCSSERIAL) fails to set closing_wait
+ to
+ none. This helps debug issues when a serial driver does not support or
+ properly handle closing_wait, which may cause closing of the
+ serial port
+ to block.
+
+ src/mm-serial-port.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit f0490b4fffef6566bf01995489a6cc87ff5f4547
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jul 3 19:41:15 2013 -0700
+
+ altair-lte: support load_power_state in MMIfaceModem
+
+ Being able to determine the current power state of the modem is
+ necessary to ensure reliable modem operations.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 989210bfd87da57bc729a0b09720d6bc5f7fcb5c
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 27 21:51:25 2013 -0700
+
+ altair-lte: propagate error when load_{supported,current}_bands fails
+
+ This patch fixes a potential crash when
+ MMIfaceModem::load_current_bands_ready() dereferences a NULL GError
+ pointer, which happens when the altair-lte plugin fails to load the
+ current bands but does not propagate the error. It also fixes
+ a similar
+ issue with the plugin fails to load the supported bands, even though
+ MMIfaceModem::load_supported_bands_ready() checks for a NULL GError
+ pointer.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 5be1ce6ee165373288ea6852d6148f724b61e68f
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jun 27 21:50:28 2013 -0700
+
+ novatel-lte: propagate error when load_current_bands fails
+
+ This patch fixes the following crash when
+ MMIfaceModem::load_current_bands_ready() dereferences a NULL GError
+ pointer, which happens when the novatel-lte plugin fails to load the
+ current bands but does not propagate the error.
+
+ Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )
+
+ 0x7f04d6c89c36 [ModemManager] - mm-iface-modem.c:3886
+ load_current_bands_ready
+ 0x7f04d6942236 [libgio-2.0.so.0.3200.4] - gsimpleasyncresult.c:767
+ g_simple_async_result_complete
+ 0x7f04d6942338 [libgio-2.0.so.0.3200.4] - gsimpleasyncresult.c:779
+ complete_in_idle_cb
+ 0x7f04d67fad74 [libglib-2.0.so.0.3200.4] - gmain.c:2539
+ g_main_context_dispatch
+ 0x7f04d67fb0f7 [libglib-2.0.so.0.3200.4] - gmain.c:3146
+ g_main_context_iterate
+ 0x7f04d67fb551 [libglib-2.0.so.0.3200.4] - gmain.c:3340
+ g_main_loop_run
+ 0x7f04d6c68795 [ModemManager] - main.c:142]
+ main
+ 0x7f04d6213464 [libc-2.15.so] - libc-start.c:234]
+ __libc_start_main
+ 0x7f04d6c68318 [ModemManager] + 0x0001d318]
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 49f017abfff0a513f0592ccad9beff4cf17d0d21
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 27 10:17:20 2013 +0200
+
+ man,mmcli: changing modes and bands no longer allowed in
+ '--simple-connect'
+
+ docs/man/mmcli.8 | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+commit 6f3d9e5dac101d484c581e6b93a982686d2266cb
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jun 26 22:32:52 2013 -0700
+
+ altair-lte: avoid sending ATZ when enabling the modem
+
+ This patch prevents an ATZ command, which causes the modem to reboot,
+ from being sent to the modem when the modem is being enabled.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit a9ebec949e5d9bfafad08cb04f7d0bbef5201be1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 25 10:56:17 2013 +0200
+
+ plugin-manager: handle modems where only some ports report being Icera
+
+ Icera-based Nokia modems may reply correctly to the Icera probing
+ only in some
+ AT ports, not in all. In order to handle this situation we override
+ the final
+ plugin selected to be the Icera-based one if we find that the
+ mismatched plugins
+ have the 'icera-allowed' and 'icera-forbidden' filters.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=703022
+
+ src/mm-plugin-manager.c | 85
+ +++++++++++++++++++++++++++++++++++++++----------
+ src/mm-port-probe.c | 2 +-
+ 2 files changed, 70 insertions(+), 17 deletions(-)
+
+commit a420ef3a0ad9e1eeb0f302b511ba8c2bb5883e9a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 25 11:47:35 2013 +0200
+
+ icera: load supported modes with AT%IPSYS=?
+
+ http://bugzilla.gnome.org/show_bug.cgi?id=703023
+
+ plugins/icera/mm-broadband-modem-icera.c | 191
+ +++++++++++++++++++++----------
+ 1 file changed, 132 insertions(+), 59 deletions(-)
+
+commit a05bd765648a1291485e65d42c7ff6709e08a555
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 25 11:53:49 2013 +0200
+
+ systemd: schedule to restart the service on-abort
+
+ See https://bugzilla.gnome.org/show_bug.cgi?id=701229.
+
+ data/ModemManager.service.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ddb9691922b6c61068d6b5615b18c7e28ca115f4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 25 11:46:19 2013 +0200
+
+ iface-modem: plug memleak
+
+ src/mm-iface-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b4f6a4ac0b9f393cb5b5b1ed7fc5e2650249e16f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 25 11:46:09 2013 +0200
+
+ serial-parsers: plug memleak
+
+ src/mm-serial-parsers.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 597401f80aa42eb17e3ae358e3ab629b0982f2ab
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 24 22:04:32 2013 -0500
+
+ broadband-bearer-hso: IPv4 prefix is always /32
+
+ The modem doesn't give us a prefix in the OWANDATA response, but it's
+ always /32. This didn't get set previously because NetworkManager
+ always just used /32 for the 'static' configuration, but NM isn't the
+ only user of MM, and only MM knows for sure that the prefix should
+ be /32.
+
+ plugins/option/mm-broadband-bearer-hso.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 3206e9566392e8a9678bbd49e0de9bb21ed75291
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 20 23:45:12 2013 +0200
+
+ api,introspection: new 'Ports' property in the Modem interface
+
+ We will expose a new 'Ports' property listing all ports currently
+ known by a
+ given modem. Ports which are not used but are detected as being part
+ of the
+ modem will be listed with an 'unknown' port type.
+
+ This change uses the new 'MMModemPortType' enum and the new
+ 'MMModemPortInfo'
+ helper struct to handle these values in libmm-glib. The already
+ available
+ 'MMPortType' enum hasn't been re-used for the interface because
+ it contains
+ values that we don't need (e.g. IGNORED).
+
+ The port list is now also included in the modem information command
+ of mmcli:
+
+ $ sudo mmcli -m 0
+
+ /org/freedesktop/ModemManager1/Modem/0 (device id
+ '97b7b99e3e2bea103880545b619fb05a3cc81b26')
+ -------------------------
+ System | device:
+ '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4'
+ | drivers: 'qcserial, qmi_wwan'
+ | plugin: 'Gobi'
+ | primary port: 'cdc-wdm0'
+ | ports: 'ttyUSB0 (qcdm), ttyUSB1 (at), cdc-wdm0
+ (qmi), wwp0s29u1u4 (net)'
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=702678
+
+ cli/mmcli-modem.c | 13 ++-
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 12 ++
+ include/ModemManager-enums.h | 22 ++++
+ .../org.freedesktop.ModemManager1.Modem.xml | 10 ++
+ libmm-glib/Makefile.am | 1 +
+ libmm-glib/mm-common-helpers.c | 91 +++++++++++++++
+ libmm-glib/mm-common-helpers.h | 10 ++
+ libmm-glib/mm-helper-types.c | 41 +++++++
+ libmm-glib/mm-helper-types.h | 16 +++
+ libmm-glib/mm-modem.c | 123
+ +++++++++++++++++++++
+ libmm-glib/mm-modem.h | 7 ++
+ src/mm-base-modem.c | 47 ++++++++
+ src/mm-base-modem.h | 6 +
+ src/mm-iface-modem.c | 9 ++
+ 15 files changed, 407 insertions(+), 2 deletions(-)
+
+commit 30fe6eab4844966a9ad99599aeac910fd9898798
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 23 11:40:36 2013 +0200
+
+ hso: if IPv6 bearer type requested, create a generic bearer
+
+ Option/HSO modems don't seem to support IPv6 when using the net
+ interface. So if
+ IPv6 is requested, create a generic bearer.
+
+ $ sudo mmcli -m 0 --simple-connect="apn=internet,ip-type=ipv6"
+ successfully connected the modem
+
+ $ sudo mmcli -b 0
+ Bearer '/org/freedesktop/ModemManager1/Bearer/0'
+ -------------------------
+ Status | connected: 'yes'
+ | suspended: 'no'
+ | interface: 'ttyHS3'
+ | IP timeout: '20'
+ -------------------------
+ Properties | apn: 'internet'
+ | roaming: 'allowed'
+ | IP type: 'ipv6'
+ | user: 'none'
+ | password: 'none'
+ | number: 'none'
+ | Rm protocol: 'unknown'
+ -------------------------
+ IPv4 configuration | method: 'ppp'
+ -------------------------
+ IPv6 configuration | method: 'unknown'
+
+ $ sudo mmcli -m 0 --simple-disconnect
+ successfully disconnected all bearers in the modem
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=702472
+
+ plugins/option/mm-broadband-modem-hso.c | 34
+ ++++++++++++++++++++++++++++++++-
+ 1 file changed, 33 insertions(+), 1 deletion(-)
+
+commit e227d4af39d2c09ef1e8a8818d2558fba210f334
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 23 11:22:00 2013 +0200
+
+ iface-modem: don't rely on the cached current power state value
+
+ The real power state value of the modem may be changed by other
+ means, e.g.
+ rfkill. So when changing power state of the modem in MM, we better
+ recheck
+ which the current power status is.
+
+ A better full approach would be to follow rfkill changes, but this
+ fix should
+ help until that is done.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=702838
+
+ src/mm-iface-modem.c | 136
+ +++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 95 insertions(+), 41 deletions(-)
+
+commit bcb00df1422b8a3a6d0fafbefe8ac3fcc9011b97
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 24 18:54:25 2013 +0200
+
+ mmcli: SMS class value is a signed integer, not unsiged
+
+ cli/mmcli-sms.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 08ef3c81da88257ffe9c8208275e59d455ba1234
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 24 18:48:27 2013 +0200
+
+ broadband-modem-mbim: fix notification signal handling
+
+ src/mm-broadband-modem-mbim.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 19bd63ecfd02c02148e4efeab0a0b7a0476abac1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 24 18:32:50 2013 +0200
+
+ broadband-modem-mbim: log about all received notifications
+
+ src/mm-broadband-modem-mbim.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 697b6fdadb7f61b2430f64426bfa0a3f5fcfdfb3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 20 18:12:02 2013 +0200
+
+ broadband-modem-mbim: add support for flash/alert SMS messages
+
+ My Huawei MBIM modem notifies of standard new messages using
+ MBIM_CID_MESSAGE_STORE_STATUS
+ notifications, which is kind of wrong, as they should really be
+ notified using
+ MBIM_SMS_READ notifications; but anyway, try to handle those.
+
+ src/mm-broadband-modem-mbim.c | 86
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 86 insertions(+)
+
+commit ee62806a1a1885108ae03da8eac0fe51816e2b7c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 19 23:02:17 2013 +0200
+
+ broadband-modem-mbim: setup enabling and disabling of unsolicited
+ messages
+
+ src/mm-broadband-modem-mbim.c | 237
+ ++++++++++++++++++++++++++----------------
+ 1 file changed, 146 insertions(+), 91 deletions(-)
+
+commit 817fc43bb0bb4538d089624d0f5169a569976340
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 19 22:33:01 2013 +0200
+
+ broadband-modem-mbim: rename 'notification_flags' to 'setup_flags'
+
+ We'll add 'enable_flags' later on.
+
+ src/mm-broadband-modem-mbim.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit ac7c87c0d2b857a3de60af16e6bc9956f590a0c8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 19 19:08:46 2013 +0200
+
+ broadband-modem-mbim: rename 3GPP specific methods
+
+ src/mm-broadband-modem-mbim.c | 44
+ +++++++++++++++++++++----------------------
+ 1 file changed, 22 insertions(+), 22 deletions(-)
+
+commit 67207f279b85f7989c08f089858551d04b90fcec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 18 17:39:05 2013 +0200
+
+ sms: don't warn about unsupported validities
+
+ src/mm-sms.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 347ea7cd4e347336050e0c4a96e639caa6f25a66
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 16 18:14:58 2013 +0200
+
+ broadband-modem-mbim: implement setup/cleanup messaging events
+
+ src/mm-broadband-modem-mbim.c | 182
+ +++++++++++++++++++++++++++++++-----------
+ 1 file changed, 137 insertions(+), 45 deletions(-)
+
+commit 6afbcc2c27810e32cdd480a5adfb563a4ab4c749
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 16 17:49:30 2013 +0200
+
+ sms-mbim: new 'MMSmsMbim' object type
+
+ src/Makefile.am | 2 +
+ src/mm-broadband-modem-mbim.c | 12 +-
+ src/mm-sms-mbim.c | 362
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-mbim.h | 49 ++++++
+ 4 files changed, 424 insertions(+), 1 deletion(-)
+
+commit 73bab06049d0c2be376dfcc8bc2180b199b900b7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 16 17:22:00 2013 +0200
+
+ broadband-modem-mbim: implement initial sms parts loading
+
+ src/mm-broadband-modem-mbim.c | 118
+ +++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-helpers-mbim.c | 19 +++++++
+ src/mm-modem-helpers-mbim.h | 5 ++
+ 3 files changed, 140 insertions(+), 2 deletions(-)
+
+commit a09cabd48e708646a6cc251a094c698552493d88
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 16 16:51:39 2013 +0200
+
+ broadband-modem-mbim: implement supported storages loading
+
+ We'll only expose 'MT' (ME+SM) as supported, as in MBIM the device
+ doesn't
+ specify different storages.
+
+ src/mm-broadband-modem-mbim.c | 41
+ +++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 39 insertions(+), 2 deletions(-)
+
+commit cb046934c338954d14ab77fedef6b27d97d19183
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 16 16:45:27 2013 +0200
+
+ broadband-modem-mbim: check for messaging support
+
+ src/mm-broadband-modem-mbim.c | 68
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 67 insertions(+), 1 deletion(-)
+
+commit 76ff021a3c2a2e2339cfc3ce7d754f6e72dae5e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 24 19:37:11 2013 +0200
+
+ build: require libmbim-glib >= 1.4.0
+
+ We need it to get SMS support.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 223db868a83d39e38bb5d7cda68a91bbceccd8a5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 23 12:08:03 2013 +0200
+
+ dbus: no need for systemd and nosystemd setups of the service file
+
+ We can just merge them.
+
+ configure.ac | 1 +
+ data/Makefile.am |
+ 11 +----------
+ ...ce.systemd.in => org.freedesktop.ModemManager1.service.in} | 2 +-
+ data/org.freedesktop.ModemManager1.service.nosystemd.in | 4 ----
+ 4 files changed, 3 insertions(+), 15 deletions(-)
+
+commit ce6777c53b8a147d0764d46071fa5b9ea46ecb9e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 23 11:47:41 2013 +0200
+
+ Revert "systemd: simplify unit file"
+
+ This reverts commit 91898aa8b0bb8164b61e84ae68534c38cebb1482.
+
+ See additional comments in the following bug:
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=701229
+
+ Basically, 'mask' and 'unmask' operations are not the ones we should
+ be using
+ or suggesting; and the Alias= for the DBus file is the correct way
+ to go.
+
+ .gitignore | 2 ++
+ data/Makefile.am | 13
+ ++++++++++---
+ data/ModemManager.service.in | 1 +
+ ...n => org.freedesktop.ModemManager1.service.nosystemd.in} | 1 -
+ data/org.freedesktop.ModemManager1.service.systemd.in | 11
+ +++++++++++
+ 5 files changed, 24 insertions(+), 4 deletions(-)
+
+commit b8825f79d524f9c1d27398d025d0e2a5698a2e61
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 21 10:13:00 2013 +0200
+
+ build: remove '--with-tests' from the distcheck configure flags
+
+ Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 3862ed6dfddba097d57875202324899b8aa81716
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 21 10:13:38 2013 +0200
+
+ build: add gtester.make to the dist tarball
+
+ Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 6a01e51a5cc2cfb89bba7b0b3adfde45ebf8faff
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 18 17:15:03 2013 +0200
+
+ tests: avoid printing in stdout by default
+
+ Tests had either their own g_print()s or they would enable a _mm_log()
+ method to
+ get all g_debug()s from the libraries printed. In order to cleanup
+ the result of
+ the tests run, avoid this stdout dumps by default, and only enable
+ them if
+ explicitly enabled in CFLAGS, e.g.:
+
+ $> ./configure CFLAGS="-DENABLE_TEST_MESSAGE_TRACES"
+
+ src/tests/test-modem-helpers-qmi.c | 2 ++
+ src/tests/test-modem-helpers.c | 56
+ +++++++++++++++++++++-----------------
+ src/tests/test-sms-part.c | 2 ++
+ 3 files changed, 35 insertions(+), 25 deletions(-)
+
+commit 2a922f836d7d9a4f550ec0d789ff644cbcf5ce69
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 18 16:55:29 2013 +0200
+
+ build: remove unneeded GLIB_CHECK_VERSION checks, 2.32 already
+ required
+
+ libqcdm/tests/test-qcdm.c | 5 -----
+ libwmc/tests/test-wmc.c | 5 -----
+ src/mm-serial-port.c | 8 --------
+ src/tests/test-charsets.c | 5 -----
+ src/tests/test-qcdm-serial-port.c | 4 ----
+ 5 files changed, 27 deletions(-)
+
+commit a33e9671ea990cb30d7647db4b52ae16bf300ecb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 18 16:51:52 2013 +0200
+
+ build: remove --with-tests option
+
+ configure.ac | 14 --------------
+ 1 file changed, 14 deletions(-)
+
+commit 2ad39277d2737e6e041c6df018bcf581bd78d978
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 18 16:45:37 2013 +0200
+
+ build: setup gtester based tests
+
+ gtester.make | 91
+ ++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/tests/Makefile.am | 12 ++----
+ libqcdm/tests/Makefile.am | 15 ++------
+ libwmc/tests/Makefile.am | 18 +++------
+ src/tests/Makefile.am | 18 ++-------
+ 5 files changed, 106 insertions(+), 48 deletions(-)
+
+commit f3f499fcec13e6ffa9a428972c1108e7c23065d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 18 16:26:51 2013 +0200
+
+ test: remove testers of the old interface
+
+ Old python tests using the old ModemManager interface are removed,
+ as mmcli
+ provides already a much nicer way to test the DBus interface.
+
+ Also, mm-test.py and the PPPD plugin get removed, which were also
+ using the old
+ interface, and which were not very useful for testing newer non-PPP
+ based
+ modems.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=702061
+
+ configure.ac | 21 --
+ test/Makefile.am | 30 +--
+ test/disable.py | 30 ---
+ test/disconnect.py | 30 ---
+ test/enable.py | 30 ---
+ test/info.py | 261 ----------------------
+ test/list-modems.py | 54 -----
+ test/location.py | 60 ------
+ test/mm-test-pppd-plugin.c | 264 -----------------------
+ test/mm-test.py | 527
+ ---------------------------------------------
+ test/modem-autoenable.py | 50 -----
+ test/scan.py | 89 --------
+ test/send-pin.py | 69 ------
+ test/sms-get.py | 80 -------
+ test/sms-send.py | 89 --------
+ test/ussd.py | 48 -----
+ 16 files changed, 2 insertions(+), 1730 deletions(-)
+
+commit b582ba58e8e5a3f6ab0b0b18b3883b71373e5e05
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 11 10:11:39 2013 +0200
+
+ api,introspection: avoid exposing the Contacts interface
+
+ There is no implementation of the Contacts interface yet, just avoid
+ exposing it
+ for now.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=701989
+
+ docs/reference/api/Makefile.am | 1 -
+ docs/reference/api/ModemManager-dbus-reference.xml | 2 +-
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 4 +-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 88
+ ----------------------
+ docs/reference/libmm-glib/libmm-glib.types | 3 -
+ introspection/Makefile.am | 2 +-
+ introspection/all.xml | 3 +-
+ ...g.freedesktop.ModemManager1.Modem.Contacts.xml} | 0
+ libmm-glib/generated/Makefile.am | 3 -
+ libmm-glib/mm-manager.c | 2 +-
+ 10 files changed, 7 insertions(+), 101 deletions(-)
+
+commit ce84ea510f5213e526917db2d7218d4ca001089d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 17 08:29:15 2013 +0200
+
+ bearer-mbim: make packet service attach operation optional
+
+ Some modems do require it, but some others won't (e.g. CDMA based
+ ones), so
+ just make the operation optional, but only if the modem replies
+ NoDeviceSupport.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=702419
+
+ src/mm-bearer-mbim.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+commit e65f6ca2afd32d2abf9bdd6b876801676adda655
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 17 08:21:22 2013 +0200
+
+ bearer: MMBearerIpFamily is flags, not enum
+
+ Fixes the following warning...
+ [mm-broadband-modem-mbim.c:1133] modem_create_bearer(): Creating
+ MBIM bearer in MBIM modem
+ GLib-GObject-CRITICAL **: g_param_spec_enum: assertion
+ `G_TYPE_IS_ENUM (enum_type)' failed
+ GLib-GObject-CRITICAL **: g_object_class_install_property:
+ assertion `G_IS_PARAM_SPEC (pspec)' failed
+
+ src/mm-bearer.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit fcede1a80acfdc299c5aa0015012a68846dfc763
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jun 15 17:13:55 2013 +0200
+
+ broadband-modem-qmi: fallback to AT if WMS service not available
+ for messaging
+
+ It is quite common to have modems handled with QMI but with very
+ limited
+ services implemented, e.g. without WMS:
+
+ [/dev/cdc-wdm0] QMI Device supports 5 services:
+ [/dev/cdc-wdm0] ctl (1.3)
+ [/dev/cdc-wdm0] wds (1.5)
+ [/dev/cdc-wdm0] dms (1.2)
+ [/dev/cdc-wdm0] nas (1.0)
+ [/dev/cdc-wdm0] cat (0.0)
+
+ We'll now fallback to use plain AT commands when no QMI WMS service
+ is found.
+
+ src/mm-broadband-modem-qmi.c | 263
+ ++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 222 insertions(+), 41 deletions(-)
+
+commit f4c488ea5851ebc5ec61536a21144d3ac88de813
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 13 12:44:06 2013 +0200
+
+ docs: reorder version symbols
+
+ docs/reference/api/ModemManager-sections.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0d4cf54cfe01761f0f7997043fe7068c5010eed4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 13 11:43:27 2013 +0200
+
+ api,header: fix MM_MINOR_VERSION definition
+
+ docs/reference/api/ModemManager-sections.txt | 2 +-
+ include/ModemManager-version.h.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 56cce851533c8aacf68d0349b87fbde9c96d436f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 13 11:35:57 2013 +0200
+
+ build: use new mailing list as contact address
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2139e394c2126705fc2940908d487752c3a727cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 13 10:56:04 2013 +0200
+
+ build: setup libtool versioning for libmm-glib
+
+ We'll use it once we've released 0.8.
+
+ configure.ac | 21 +++++++++++++++++++++
+ libmm-glib/Makefile.am | 3 +++
+ 2 files changed, 24 insertions(+)
+
+commit a43cecb456327b6a19c026c097d588a08961d394
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 13 09:48:10 2013 +0200
+
+ api,header: setup and export MM version symbols in the API
+
+ .gitignore | 2 +
+ configure.ac | 24 +++++++-
+ docs/reference/api/ModemManager-dbus-reference.xml | 6 --
+ docs/reference/api/ModemManager-docs.xml | 7 +++
+ docs/reference/api/ModemManager-sections.txt | 9 +++
+ include/Makefile.am | 4 ++
+ include/ModemManager-version.h.in | 69
+ ++++++++++++++++++++++
+ include/ModemManager.h | 9 ++-
+ 8 files changed, 118 insertions(+), 12 deletions(-)
+
+commit 0c7265de29163ab9c9ba03257d393ce99bb47ff6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 10 18:30:12 2013 +0200
+
+ build: new strict & permissive polkit policies in '--with-polkit'
+
+ The '--with-polkit' configure switch now supports more options than
+ just yes
+ or no:
+
+ * strict: Active user needs to explicitly authenticate when
+ peforming an
+ operation defined in the Device.Control, Messaging, Location
+ or Contacts
+ interfaces. Polkit policy is set to 'auth_self_keep'.
+
+ * permissive: Active user doesn't need to explicitly authenticate
+ when
+ peforming an operation defined in the Device.Control, Messaging,
+ Location or
+ Contacts interfaces. Polkit policy is set to 'yes'.
+
+ * none: don't use polkit.
+
+ If '--with-polkit' is not given, usage will be automatically decided
+ based on
+ the presence of the Polkit headers in the system (if headers found,
+ strict
+ policy will be applied, otherwise none).
+
+ Also:
+ * '--with-polkit' is equivalent to '--with-polkit=strict'
+ * '--with-polkit=yes' is equivalent to '--with-polkit=strict'
+ * '--with-polkit=no' is equivalent to '--with-polkit=none'
+ * '--without-polkit' is equivalent to '--with-polkit=none'
+
+ By default, ModemManager will always apply the strict policy, in
+ order to
+ protect the user from unwanted operations in the modem (e.g. getting
+ the PIN
+ locked forever after wrong PIN/PUK unlock attempts).
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=701740
+
+ .gitignore | 1 +
+ configure.ac | 61
+ ++++++++++++++++------
+ data/Makefile.am | 9 ++--
+ ... => org.freedesktop.ModemManager1.policy.in.in} | 8 +--
+ po/POTFILES.in | 2 +-
+ po/POTFILES.skip | 1 +
+ 6 files changed, 57 insertions(+), 25 deletions(-)
+
+commit dc815569148f9f697bdc827b419258bc3af1c0d6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jun 12 09:16:16 2013 -0500
+
+ broadband-bearer-qmi: log both IPv4 and IPv6 settings for V4V6
+ connections
+
+ Old code only printed one or the other; but if we have dual-stack
+ connectivity, print everything we can read.
+
+ src/mm-bearer-qmi.c | 79
+ +++++++++++++++++++++++++++--------------------------
+ 1 file changed, 40 insertions(+), 39 deletions(-)
+
+commit c2b2f0eb2b44135f5a75781f86b1849fcc71e847
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 12 10:05:14 2013 +0200
+
+ docs,api: new migration reference
+
+ docs/reference/api/Makefile.am | 2 +
+ docs/reference/api/ModemManager-docs.xml | 4 +
+ .../api/ModemManager-migration-reference.xml | 156
+ +++++++++++++++++++++
+ 3 files changed, 162 insertions(+)
+
+commit 0d4bc8240e7662ef50af49b548fcacfbf109b75c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 12 09:41:32 2013 +0200
+
+ NEWS: update, add reference to MBIM devices
+
+ NEWS | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9327b723df5e2cdc72bdb95f995de4ef101848e2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 12 09:40:20 2013 +0200
+
+ AUTHORS: update
+
+ AUTHORS | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 29fb3fad80c152c70fa0fc6410338d4894a971ac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 12 09:05:12 2013 +0200
+
+ README,docs: update basic ModemManager information
+
+ README | 44
+ +++++++++++++---------------
+ docs/reference/api/ModemManager-overview.xml | 38
+ +++++++++++++-----------
+ 2 files changed, 42 insertions(+), 40 deletions(-)
+
+commit 2be7adb5eaa6852d91c0e708678c39a641240224
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 11 10:05:42 2013 +0200
+
+ api,introspection: update copyright notices
+
+ introspection/org.freedesktop.ModemManager1.Bearer.xml |
+ 9 ++++-----
+ introspection/org.freedesktop.ModemManager1.Modem.Contacts.xml |
+ 8 ++++----
+ introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml |
+ 9 ++++-----
+ introspection/org.freedesktop.ModemManager1.Modem.Location.xml |
+ 8 ++++----
+ introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml |
+ 8 ++++----
+ .../org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml |
+ 8 ++++----
+ introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml |
+ 8 ++++----
+ introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml |
+ 8 ++++----
+ introspection/org.freedesktop.ModemManager1.Modem.Simple.xml |
+ 8 ++++----
+ introspection/org.freedesktop.ModemManager1.Modem.Time.xml |
+ 7 ++++---
+ introspection/org.freedesktop.ModemManager1.Modem.xml |
+ 8 ++++----
+ introspection/org.freedesktop.ModemManager1.Sim.xml |
+ 9 ++++-----
+ introspection/org.freedesktop.ModemManager1.Sms.xml |
+ 9 ++++-----
+ introspection/org.freedesktop.ModemManager1.xml |
+ 8 ++++----
+ 14 files changed, 56 insertions(+), 59 deletions(-)
+
+commit 6920a177d6c2522a2a78ab65b0f3ba7d0c2af05a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 10 20:30:13 2013 +0200
+
+ manager: require whitelist for devices in the 'pnp' subsystem
+
+ src/mm-manager.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 97657908315b530ad0c7cbbbd12886d69b44c358
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 10 16:58:43 2013 +0200
+
+ build: distribute in .xz format
+
+ Up to 30% size reduction:
+
+ $ du -hs ModemManager-0.7.991.tar.*
+ 1.6M ModemManager-0.7.991.tar.bz2
+ 1.1M ModemManager-0.7.991.tar.xz
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6c098dd9f54bdffbd81e7de172c3b5aa93901692
+Author: Dmitry Ivanyushin <defance@gmail.com>
+Date: Fri Jun 7 16:26:20 2013 -0500
+
+ manager: handle PNP-connected devices too
+
+ I have a modem that is connected to motherboard's built-in serial
+ port. Its
+ parent is listed in udev as "pnp" so this patch handles that
+ situation.
+
+ src/mm-manager.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 8d070402073c0c6a02d06740d62f37bcfcfcf7e9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 7 16:16:44 2013 +0200
+
+ man,mmcli: fix minor typo
+
+ docs/man/mmcli.8 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a00f1d7428a8ecb1f4f8756cf9eaabd0941641a9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 6 10:16:22 2013 +0200
+
+ build: fix distcheck
+
+ data/Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 91898aa8b0bb8164b61e84ae68534c38cebb1482
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 4 15:18:55 2013 +0200
+
+ systemd: simplify unit file
+
+ Avoid setting up the Alias rule, which was a helper to let us
+ 'disable' the
+ systemd service including dbus-activations. Without the Alias,
+ 'disable' will
+ still let starting ModemManager through dbus-activation. If you
+ really want to
+ fully disallow starting MM also through dbus-activation, you should
+ 'mask' and
+ 'unmask' the service.
+
+ E.g.:
+ $ sudo systemctl mask ModemManager
+ ln -s '/dev/null' '/etc/systemd/system/ModemManager.service'
+
+ $ sudo mmcli -L
+ error: couldn't find the ModemManager process in the bus
+
+ $ sudo systemctl unmask ModemManager
+ rm '/etc/systemd/system/ModemManager.service'
+
+ $ sudo mmcli -L
+ No modems were found
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=701229
+
+ .gitignore | 2 --
+ data/Makefile.am | 13
+ +++----------
+ data/ModemManager.service.in | 1 -
+ ...osystemd.in => org.freedesktop.ModemManager1.service.in} | 1 +
+ data/org.freedesktop.ModemManager1.service.systemd.in | 11
+ -----------
+ 5 files changed, 4 insertions(+), 24 deletions(-)
+
+commit 81451db1d73e297d0ef034d0a62395d33380d187
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 4 12:50:27 2013 +0200
+
+ release: bump version to 0.7.991
+
+ Tagging to handle the new API updates, so that applications depending
+ on the
+ libmm-glib library can use the version number to check support.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4901ee8632f91306230552e14c9c1f8b4ac0742b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 4 13:33:56 2013 +0200
+
+ broadband-modem: run *CNTI=2 to when loading supported modes
+
+ It sometimes provides a much better view of the supported modes than
+ the WS46=?
+ command, which is not always properly implemented. E.g.:
+
+ Nokia N950:
+ ---------------
+ at+ws46=?
+ (12)
+ OK
+
+ at*cnti=2
+ *CNTI: 2,GSM,GPRS,EDGE,UMTS,HSDPA,HSUPA
+ OK
+
+ Sierra AC313u
+ ---------------
+ at+ws46=?
+ ERROR
+
+ at*cnti=2
+ *CNTI: 2,GSM,GPRS,EDGE,UMTS,HSDPA/HSUPA,HSPA+,LTE
+ OK
+
+ src/mm-broadband-modem.c | 67
+ +++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 66 insertions(+), 1 deletion(-)
+
+commit de944262b43d42d26e218b5f22810b6ab4b6faf6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 4 13:31:57 2013 +0200
+
+ broadband-modem: don't set supported mode defaults based on guesses
+
+ We may be asking to load supported modes while in locked state,
+ so the commands
+ may fail. In order to re-load them properly once we're unlocked,
+ we better just
+ return an error instead of setting defaults.
+
+ src/mm-broadband-modem.c | 33 ++++++---------------------------
+ 1 file changed, 6 insertions(+), 27 deletions(-)
+
+commit e446db9ca4c31bb18a36ff759d8f7f51c3719178
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 4 12:48:04 2013 +0200
+
+ huawei: default to IPv4 if no specific IP type to use given in
+ NDISDUP modems
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 17 ++++++++++++++---
+ 1 file changed, 14 insertions(+), 3 deletions(-)
+
+commit 5b080915200d0ba5de28d50bb088eba0aef9b362
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 3 12:44:40 2013 +0200
+
+ api,introspection: Simple.Connect() won't change neither bands nor
+ allowed modes
+
+ We won't allow changing modes or bands through
+ Simple.Connect(). Applications
+ should instead look at the corresponding SupportedBands or
+ SupportedModes, and
+ then use SetCurrentBands() or SetCurrentModes() explicitly.
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 4 -
+ .../org.freedesktop.ModemManager1.Modem.Simple.xml | 21 --
+ libmm-glib/mm-simple-connect-properties.c | 221
+ +--------------------
+ libmm-glib/mm-simple-connect-properties.h | 12 --
+ src/mm-iface-modem-simple.c | 160 ---------------
+ 5 files changed, 1 insertion(+), 417 deletions(-)
+
+commit b41278c423cb81547c65da46057912ad9372715d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri May 31 09:56:30 2013 +0200
+
+ iface-modem: allow changing capabilities in every state
+
+ Same as done with the firmware switching, we allow capabilities
+ changing even
+ if the modem is in FAILED state, e.g. to switch from 3GPP to 3GPP2
+ mode.
+
+ src/mm-iface-modem.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit f09eff633c2c6842a6c2e739a0e5b9d72b7255c7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri May 31 09:14:18 2013 +0200
+
+ iface-modem: load current modes and bands during initialization
+
+ We now load current modes and bands before enabling the modem,
+ and we also allow
+ mode and bands changes while the modem is disabled.
+
+ src/mm-iface-modem.c | 409
+ +++++++++++++++++++++++----------------------------
+ 1 file changed, 185 insertions(+), 224 deletions(-)
+
+commit 0db920b7624337fa0b98d17d452fe7b6ecb1f076
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 29 17:50:49 2013 +0200
+
+ mmcli: new '--set-current-capabilities' command
+
+ New command to allow changing modem capabilities, if supported. The
+ modem will
+ power cycle automatically after having changed them.
+
+ cli/mmcli-modem.c | 74
+ ++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-common-helpers.c | 50 ++++++++++++++++++++++++++++
+ libmm-glib/mm-common-helpers.h | 2 ++
+ 3 files changed, 126 insertions(+)
+
+commit da606ef572eeca18af14d04cbcb94f7e7c7eb474
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 29 17:52:28 2013 +0200
+
+ broadband-modem-qmi: update current capabilities loading logic
+
+ Changes being:
+
+ * Don't rely on the band preference TLVs presence. The band
+ preference TLVs are
+ always given, even if the modem doesn't support the specific
+ capability right
+ away. E.g. a GSM/UMTS/LTE modem configured with 'gsm-umts'
+ capability (no
+ 'lte') still shows the LTE band preference TLV in the SSP
+ responses.
+
+ * Don't automatically add LTE as current capability. We needed this
+ when we
+ were not able to change capabilities, so that we didn't lose the
+ ability to
+ set 4G mode as allowed.
+
+ src/mm-broadband-modem-qmi.c | 11 ------
+ src/mm-modem-helpers-qmi.c | 22 ------------
+ src/mm-modem-helpers-qmi.h | 2 --
+ src/tests/test-modem-helpers-qmi.c | 72
+ +++++++++-----------------------------
+ 4 files changed, 16 insertions(+), 91 deletions(-)
+
+commit 83a8e08c3714ce92483e4cba549dcb7e65846b87
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 29 17:03:40 2013 +0200
+
+ broadband-modem-qmi: implement capabilities setting
+
+ src/mm-broadband-modem-qmi.c | 386
+ +++++++++++++++++++++++++++++++++++++------
+ src/mm-modem-helpers-qmi.c | 49 ++++++
+ src/mm-modem-helpers-qmi.h | 2 +
+ 3 files changed, 384 insertions(+), 53 deletions(-)
+
+commit a902e6859e077edd72f7b27a48df37f8dd6631e2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri May 24 12:55:07 2013 +0200
+
+ api,introspection: new 'SetCurrentCapabilities' method
+
+ For those modems which expose a valid 'SupportedCapabilities'
+ property with more
+ than one item in the list, we'll allow switching between them.
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 7 ++
+ .../org.freedesktop.ModemManager1.Modem.xml | 10 ++
+ libmm-glib/mm-modem.c | 82 ++++++++++++
+ libmm-glib/mm-modem.h | 13 ++
+ src/mm-iface-modem.c | 140
+ +++++++++++++++++++++
+ src/mm-iface-modem.h | 9 ++
+ 6 files changed, 261 insertions(+)
+
+commit 700ebc5c07ce667204f95dbe61716234131c15fb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri May 24 12:35:44 2013 +0200
+
+ api,introspection: rename 'ModemCapabilities' to
+ 'SupportedCapabilities'
+
+ And also make it a list of masks, specifying which are the specific
+ combinations
+ supported, not just one mask with all.
+
+ E.g.:
+ -------------------------
+ Hardware | manufacturer: 'Sierra Wireless, Incorporated'
+ | model: 'MC7710'
+ | revision: 'SWI9200X_03.05.19.04ap r5475
+ carmd-en-10527 2012/09/17 17:57:14'
+ | supported: 'gsm-umts
+ | gsm-umts, lte'
+ | current: 'gsm-umts, lte'
+ | equipment id: '358178040668164'
+
+ cli/mmcli-modem.c | 24 +++-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 8 +-
+ include/ModemManager-enums.h | 2 +
+ .../org.freedesktop.ModemManager1.Modem.xml | 16 +--
+ libmm-glib/mm-common-helpers.c | 125
+ +++++++++++++++++++++
+ libmm-glib/mm-common-helpers.h | 12 ++
+ libmm-glib/mm-modem.c | 122
+ ++++++++++++++++++--
+ libmm-glib/mm-modem.h | 7 +-
+ src/mm-broadband-modem-mbim.c | 2 -
+ src/mm-broadband-modem-qmi.c | 94 ++++++++++------
+ src/mm-iface-modem.c | 78 ++++++++++---
+ src/mm-iface-modem.h | 14 +--
+ src/mm-modem-helpers.c | 28 +++++
+ src/mm-modem-helpers.h | 3 +
+ src/tests/test-modem-helpers.c | 94 ++++++++++++++++
+ 15 files changed, 540 insertions(+), 89 deletions(-)
+
+commit 1c67d050cb0451a63c8fdb0bd673892bdc04e4e0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 29 13:42:14 2013 +0200
+
+ api,introspection: merge 'AllowedModes' and 'SupportedMode' into
+ 'CurrentModes'
+
+ We now have a single 'CurrentModes' property which contains both
+ values in a
+ tuple with signature "(uu)".
+
+ Also, rename 'SetAllowedModes()' to 'SetCurrentModes()', and update
+ the list of
+ arguments expected to have a single "(uu)" tuple.
+
+ cli/mmcli-modem.c | 37 ++--
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 28 ++-
+ .../org.freedesktop.ModemManager1.Modem.xml | 45 ++---
+ libmm-glib/mm-modem.c | 87 ++++-----
+ libmm-glib/mm-modem.h | 12 +-
+ libmm-glib/mm-simple-connect-properties.c | 22 +--
+ libmm-glib/mm-simple-connect-properties.h | 4 +-
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 18 +-
+ plugins/huawei/mm-broadband-modem-huawei.c | 20 +--
+ plugins/icera/mm-broadband-modem-icera.c | 18 +-
+ plugins/linktop/mm-broadband-modem-linktop.c | 18 +-
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 18 +-
+ plugins/mbm/mm-broadband-modem-mbm.c | 34 ++--
+ plugins/novatel/mm-broadband-modem-novatel.c | 26 +--
+ plugins/option/mm-broadband-modem-option.c | 18 +-
+ plugins/sierra/mm-broadband-modem-sierra.c | 28 +--
+ plugins/simtech/mm-broadband-modem-simtech.c | 72 ++++----
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 48 ++---
+ plugins/x22x/mm-broadband-modem-x22x.c | 18 +-
+ plugins/zte/mm-broadband-modem-zte.c | 18 +-
+ src/mm-broadband-modem-qmi.c | 102 +++++------
+ src/mm-iface-modem-simple.c | 22 +--
+ src/mm-iface-modem.c | 198
+ +++++++++++++--------
+ src/mm-iface-modem.h | 16 +-
+ 24 files changed, 481 insertions(+), 446 deletions(-)
+
+commit 45ceba76924f184ed9e12ba3d35e00a55ad3a197
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 29 12:41:49 2013 +0200
+
+ api,introspection: 'SupportedModes' is now a list of possible
+ combinations
+
+ Instead of just a mask of MMModemMode values, we now provide a list
+ of the
+ allowed and preferred mode combinations supported by the modem. E.g.:
+
+ $> sudo mmcli -m 0
+ -------------------------
+ Modes | supported: 'allowed: 2g; preferred: none
+ | allowed: 3g; preferred: none
+ | allowed: 2g, 3g; preferred: none
+ | allowed: 2g, 3g; preferred: 2g
+ | allowed: 2g, 3g; preferred: 3g
+ | allowed: 4g; preferred: none
+ | allowed: 2g, 3g, 4g; preferred: none'
+
+ cli/mmcli-modem.c | 16 +-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +
+ .../org.freedesktop.ModemManager1.Modem.xml | 23 ++-
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-common-helpers.c | 122 ++++++++++++
+ libmm-glib/mm-common-helpers.h | 12 ++
+ libmm-glib/mm-helper-types.h | 44 +++++
+ libmm-glib/mm-modem.c | 121 +++++++++++-
+ libmm-glib/mm-modem.h | 8 +-
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 82 +++++++-
+ plugins/huawei/mm-broadband-modem-huawei.c | 93 +++++++++-
+ plugins/icera/mm-broadband-modem-icera.c | 92 ++++++++-
+ plugins/iridium/mm-broadband-modem-iridium.c | 17 +-
+ plugins/linktop/mm-broadband-modem-linktop.c | 88 ++++++++-
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 106 +++++++++--
+ plugins/mbm/mm-broadband-modem-mbm.c | 79 ++++++++
+ plugins/nokia/mm-broadband-modem-nokia.c | 41 ----
+ plugins/novatel/mm-broadband-modem-novatel.c | 90 ++++++++-
+ plugins/option/mm-broadband-modem-option.c | 92 ++++++++-
+ plugins/sierra/mm-broadband-modem-sierra.c | 119 +++++++++++-
+ plugins/simtech/mm-broadband-modem-simtech.c | 109 ++++++++++-
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 134 +++++++++-----
+ plugins/x22x/mm-broadband-modem-x22x.c | 84 ++++++++-
+ plugins/zte/mm-broadband-modem-zte.c | 103 ++++++++++-
+ src/mm-broadband-modem-mbim.c | 70 ++++---
+ src/mm-broadband-modem-qmi.c | 143 +++++++++++---
+ src/mm-broadband-modem.c | 23 ++-
+ src/mm-iface-modem.c | 206
+ ++++++++++++++-------
+ src/mm-iface-modem.h | 19 +-
+ src/mm-modem-helpers-qmi.c | 23 +++
+ src/mm-modem-helpers-qmi.h | 2 +
+ src/mm-modem-helpers.c | 47 +++++
+ src/mm-modem-helpers.h | 3 +
+ src/tests/test-modem-helpers.c | 124 +++++++++++++
+ 35 files changed, 2047 insertions(+), 294 deletions(-)
+
+commit 212d00c529ee07131bf3b71a8759dca49292c059
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 29 10:47:53 2013 +0200
+
+ api,instrospection: rename 'Bands' to 'CurrentBands'
+
+ ... and 'SetBands()' to 'SetCurrentBands()'.
+
+ We'll keep the 'Current' keyword in those properties which also have
+ 'Supported' values.
+
+ cli/mmcli-modem-simple.c | 2 +-
+ cli/mmcli-modem.c | 99 +++++++-------
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 32 ++---
+ .../org.freedesktop.ModemManager1.Modem.Simple.xml | 4 +-
+ .../org.freedesktop.ModemManager1.Modem.xml | 8 +-
+ libmm-glib/mm-modem.c | 150
+ ++++++++++-----------
+ libmm-glib/mm-modem.h | 32 ++---
+ libmm-glib/mm-simple-connect-properties.c | 66 ++++-----
+ libmm-glib/mm-simple-connect-properties.h | 4 +-
+ libmm-glib/mm-simple-status.c | 62 ++++-----
+ libmm-glib/mm-simple-status.h | 10 +-
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 22 +--
+ plugins/huawei/mm-broadband-modem-huawei.c | 22 +--
+ plugins/icera/mm-broadband-modem-icera.c | 64 ++++-----
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 22 +--
+ src/mm-broadband-modem-qmi.c | 22 +--
+ src/mm-iface-modem-simple.c | 32 +++--
+ src/mm-iface-modem.c | 136
+ +++++++++----------
+ src/mm-iface-modem.h | 30 ++---
+ 19 files changed, 408 insertions(+), 411 deletions(-)
+
+commit 4dc8d1ff3a88a54707e75859619b020780de2f79
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 11:53:54 2013 +0200
+
+ broadband-modem-mbim: implement supported IP families loading
+
+ src/mm-broadband-modem-mbim.c | 40
+ ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+commit 8f3bf6b8949d2cd046daea2cb1e7077769afeb2c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 11:49:16 2013 +0200
+
+ broadband-modem-qmi: implement supported IP families loading
+
+ We'll default to IPv4 if the modem is CDMA-only, and IPv4+IPv6
+ otherwise.
+
+ src/mm-broadband-modem-qmi.c | 46
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 2e223b5dbd60daef5e7a02f75973c72e62910f0d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 11:45:51 2013 +0200
+
+ mmcli,modem: show supported IP families in modem info
+
+ cli/mmcli-modem.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 44ddbf48e2dae9efb2e8d87298c82a2c3020578c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 11:42:19 2013 +0200
+
+ broadband-bearer: use the new CGDCONT=? test response parser
+
+ src/mm-broadband-bearer.c | 60
+ ++++++++++++++---------------------------------
+ 1 file changed, 18 insertions(+), 42 deletions(-)
+
+commit 7b3dd32df71b9c61ff521fd3f910da3ec6c42fb9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 10:41:18 2013 +0200
+
+ broadband-modem: implement default supported IP families loading
+
+ For CDMA-only devices, we will default to IPv4.
+
+ For 3GPP devices, we will use the AT+CGDCONT=? test command to query
+ which are
+ the supported PDP types.
+
+ src/mm-broadband-modem.c | 79
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 79 insertions(+)
+
+commit 2acb125819fbda75dfc19b6c008137bb3b2ebb6e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 10:40:23 2013 +0200
+
+ modem-helpers: new CGDCONT=? test response parser
+
+ src/mm-modem-helpers.c | 82
+ ++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 10 +++++
+ src/tests/test-modem-helpers.c | 90
+ ++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 182 insertions(+)
+
+commit bd360aa029f27ad2fc9f8a937765f4c3e61581fd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 10:39:59 2013 +0200
+
+ libmm-glib,modem: handle the new 'SupportedIpFamilies' property
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +++
+ libmm-glib/mm-modem.c | 18 ++++++++++++++++++
+ libmm-glib/mm-modem.h | 2 ++
+ 3 files changed, 23 insertions(+)
+
+commit b3222202bdabf762ffe0b2e92835ab22a3cd3d5c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 10:39:13 2013 +0200
+
+ api,introspection: new 'SupportedIpFamilies' property
+
+ This property will let the clients know which are the IP families
+ supported by
+ the modem.
+
+ .../org.freedesktop.ModemManager1.Modem.xml | 8 +++++
+ src/mm-iface-modem.c | 41
+ ++++++++++++++++++++++
+ src/mm-iface-modem.h | 8 +++++
+ 3 files changed, 57 insertions(+)
+
+commit 7ad30ecce14f72a1b4bfe0274a2fefedf734d56a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 10:08:08 2013 +0200
+
+ modem-helpers: rename CGDCONT? tests
+
+ Adding the 'read' suffix, as they are for CGDCONT? read responses.
+
+ src/tests/test-modem-helpers.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit 804642adc234094717158ff09857de1432565dda
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 22 17:43:21 2013 +0200
+
+ api: let MMBearerIpFamily be flags instead of a enumeration
+
+ We want to expose in the Modem interface the list of supported IP
+ families, and
+ the easiest way to do so is to have the IP family as flags, and
+ provide in the
+ interface a single enum.
+
+ Also, a value of 0 for a MMBearerIpFamily specifies that no flags
+ are set, so
+ just rename it to 'NONE'.
+
+ And add a new 'ANY' value which sets all flags to 1.
+
+ cli/mmcli-bearer.c | 8 ++++--
+ include/ModemManager-enums.h | 12 +++++----
+ libmm-glib/mm-bearer-properties.c | 6 ++---
+ libmm-glib/mm-common-helpers.c | 12 ++++-----
+ libmm-glib/mm-simple-connect-properties.c | 2 +-
+ src/mm-bearer-mbim.c | 40
+ ++++++++++++++++++++----------
+ src/mm-bearer-qmi.c | 41
+ +++++++++++++++++++------------
+ src/mm-broadband-bearer.c | 31 +++++++++++++++++------
+ src/mm-iface-modem-simple.c | 6 +++--
+ src/mm-modem-helpers.c | 4 +--
+ 10 files changed, 104 insertions(+), 58 deletions(-)
+
+commit a42234dd1c680e7604008fc2e66be849c7bf70de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 4 11:25:14 2013 +0200
+
+ bearers: update connection logic in 3GPP+3GPP2 devices
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=701333
+
+ src/mm-bearer-mbim.c | 26 +++++++++++++++++++++
+ src/mm-bearer-qmi.c | 31 +++++++++++++++++++++++++
+ src/mm-broadband-bearer.c | 59
+ +++++++++++++++++++++++++++++++++++++++++++----
+ 3 files changed, 112 insertions(+), 4 deletions(-)
+
+commit 68a7d1a3ac0a62379280dbd40c632113273df00f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 31 13:13:57 2013 -0500
+
+ broadband-modem-mbm: *EPIN response often needs a lot of time
+
+ If the modem was locked, it'll delay responding until the SIM
+ is ready,
+ which can take a long time.
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fe5c81458ff6c06029376e7fc311bb1af11da232
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 31 11:23:16 2013 -0500
+
+ nokia: CS-12 appears to only accept PPP on USB interface 3
+
+ Attempting PPP on interface 1 never returns CONNECT, simply hangs and
+ times out at the dial.
+
+ plugins/nokia/77-mm-nokia-port-types.rules | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 93fcaf93ce92aa8b335705e66c993dc6f9e628b0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu May 30 23:51:05 2013 -0500
+
+ modem-helpers: handle commas within +COPS response items (bgo #701329)
+
+ Modems can probably put whatever they want between the quotes for
+ the operator name, including commas. Handle that.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=701329
+
+ src/mm-modem-helpers.c | 2 +-
+ src/tests/test-modem-helpers.c | 14 ++++++++++++++
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+commit 67d3ed11d383b591d8fec4810eef1d2c9ab4ac37
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 28 15:06:59 2013 -0500
+
+ broadband-bearer: don't create PDP context when using an existing one
+ (bgo #701151)
+
+ If the context is already defined, then we can just use it instead
+ of calling +CGDCONT to create it again. Modems don't like this,
+ plus it's pointless.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=701151
+
+ src/mm-broadband-bearer.c | 38 ++++++++++++++++++++++++++------------
+ 1 file changed, 26 insertions(+), 12 deletions(-)
+
+commit ba14d15df349502f2fa1c2e60b9f472635b83f1d
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue May 28 08:29:49 2013 -0700
+
+ novatel-lte: increase number of retries for connection status checks
+
+ This patch increases the number of retries, from 4 to 60, for
+ connection
+ status check during a connection / disconnection request, which
+ handles
+ some scenario when the connection / disconnection request takes more
+ than 5 seconds to complete.
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c4f0ad6905fc33133ba3bda53e976f84a30d77ad
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 27 20:55:35 2013 -0700
+
+ novatel-lte: normalize QMI status when included in DBus error message
+
+ This patches normalize a response for the AT$NWQMISTATUS command, by
+ replacing white-space characters with a space, before the response is
+ included in a DBus error message.
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 33
+ ++++++++++++++++++++---
+ 1 file changed, 29 insertions(+), 4 deletions(-)
+
+commit 05ac6b6cf1567ced672f913e1c5a91580982d1b6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon May 27 15:45:03 2013 +0200
+
+ wavecom: don't grab ports handled by the qcserial driver
+
+ Sierra Wireless will assign the Wavecom USB vendor ID to some
+ Gobi-based modems,
+ like the MC7750. Just ignore those by filtering out all devices with
+ the Wavecom
+ USB vendor ID if they are handled by the qcserial driver.
+
+ plugins/wavecom/mm-plugin-wavecom.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit e134a81a87ff8bc4e43393b99d14a6bac88dc67a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 13:16:54 2013 +0200
+
+ build: use --enable-gtk-doc instead of our custom --with-docs
+
+ Makefile.am | 2 +-
+ configure.ac | 14 +-------------
+ 2 files changed, 2 insertions(+), 14 deletions(-)
+
+commit 3ed1cb2e1dd111ed0e5435bbc88396b42180df1d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 13:10:58 2013 +0200
+
+ docs: don't require 'dia' to build the docs
+
+ These diagrams are not expected to change much, so just include
+ the generated
+ PNGs in the repository, and remove 'dia' from the prerequisites to
+ build the
+ documentation.
+
+ configure.ac | 8 -------
+ data/Makefile.am | 10 ++++++++-
+ ...nterface-initialization-sequence-subclassed.dia | 0
+ ...nterface-initialization-sequence-subclassed.png | Bin 0 -> 31781 bytes
+ ...emManager-interface-initialization-sequence.dia | 0
+ ...emManager-interface-initialization-sequence.png | Bin 0 -> 20059 bytes
+ .../reference/api => data}/ModemManager-states.dia | 0
+ data/ModemManager-states.png | Bin 0 -> 38256 bytes
+ docs/reference/api/Makefile.am | 25
+ +++++++--------------
+ 9 files changed, 17 insertions(+), 26 deletions(-)
+
+commit 5c8f1fe0f25973a248b3fe7418d154fa400d07cc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 17:38:09 2013 +0200
+
+ mmcli: fix newline prefixing
+
+ The last line in a multi-line string was getting lost if it wasn't
+ '\n'
+ terminated.
+
+ cli/mmcli-common.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit a12be165d14083c11d9f8f916b1dd82ae3cf9e21
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 23 15:52:31 2013 +0200
+
+ libmm-glib,modem: avoid accessing an already freed GArray
+
+ We cannot g_array_unref() the GArray when get()-ing bands as that
+ will clear
+ the contents of the GArray, even if there are references
+ around. Instead, just
+ dup the array contents when returning.
+
+ libmm-glib/mm-modem.c | 77
+ +++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 47 insertions(+), 30 deletions(-)
+
+commit d0a8911cf66b7a4f6a6209698bfabd69af1aa3f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 22 17:47:35 2013 +0200
+
+ modem-helpers-mbim: handle MBIM_PIN_TYPE_UNKNOWN in switch
+
+ src/mm-modem-helpers-mbim.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 7ceca95323a5fb01c81343884d6051c7427cedb5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 22 17:47:07 2013 +0200
+
+ build: require mbim-glib >= 1.0.0 when building MBIM support
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3332333852e472ec5c3d4d9bff6734cc7d935bb8
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 20 01:20:08 2013 -0700
+
+ novatel: fix invalid comparison of unsigned expression
+
+ This patch fixes the following invalid comparison of unsigned
+ expression:
+
+ novatel/mm-plugin-novatel.c:148:29: error: comparison of unsigned
+ expression >= 0 is always true [-Werror,-Wtautological-compare]
+ if (ctx->nwdmat_retries >= 0) {
+ ~~~~~~~~~~~~~~~~~~~ ^ ~
+
+ Bug reported on
+ https://code.google.com/p/chromium/issues/detail?id=242150
+
+ plugins/novatel/mm-plugin-novatel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 619b327012dde1120a2018d020bcdaf11d59ca4d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri May 17 15:01:12 2013 +0200
+
+ broadband-modem-qmi: when listing all SMS fails, list per tag
+
+ Some QMI modems seem to fail when requesting to list all SMS messages
+ in a given
+ storage. When this happens, we'll loop through all storages but
+ performing per
+ tag list requests.
+
+ src/mm-broadband-modem-qmi.c | 126
+ +++++++++++++++++++++++++++++++++----------
+ 1 file changed, 99 insertions(+), 27 deletions(-)
+
+commit 09d70454b4e276ff2091c650cbfb0978dcf54f17
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri May 17 13:11:43 2013 +0200
+
+ sms-qmi: always specify message mode when deleting SMS messages
+
+ src/mm-sms-qmi.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 5caa0c96fbcaabbbf15546d511c1fea097b30a44
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 16 16:16:39 2013 +0200
+
+ broadband-modem-qmi: always specify message mode when reading SMS
+
+ src/mm-broadband-modem-qmi.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit 2a93ca92810c6759dd51936ef6b76791504ee41a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 9 10:50:31 2013 +0200
+
+ bearer: defer forced disconnection when modem unregistered while
+ connected
+
+ If the bearer is connected and we get a notification of being
+ unregistered, wait
+ up to 15s to force the disconnection, in case we can recover the
+ registration
+ in the meantime.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=699803
+
+ src/mm-bearer.c | 141
+ +++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 108 insertions(+), 33 deletions(-)
+
+commit e18e1686820136fe133651231f8a1d28da9912bc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 7 14:59:20 2013 +0200
+
+ bearer: allow registration changes from/to SEARCHING without
+ disconnecting
+
+ We allow the modem to be connected while the registration state is
+ 'SEARCHING',
+ which may happen when the coverage is poor.
+
+ src/mm-bearer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2bb0a23b1f3de4d3234193f392941a57160c606c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 7 14:57:43 2013 +0200
+
+ iface-modem-3gpp: remove the deferred registration updates
+
+ We should really notify registration updates right away in the
+ DBus interface.
+
+ src/mm-iface-modem-3gpp.c | 95
+ -----------------------------------------------
+ 1 file changed, 95 deletions(-)
+
+commit 82a0787906dbf06219202345e2d39be1cb4e9350
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri May 17 11:05:44 2013 -0700
+
+ device: check for NULL driver in add_port_driver
+
+ This patch fixes a crash in MMDevice::add_port_driver() due to
+ g_str_equal() dereferencing a NULL driver returned by
+ mm_device_utils_get_port_driver().
+
+ Bug reported on
+ https://code.google.com/p/chromium/issues/detail?id=241823
+
+ src/mm-device.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit e63e062a76d9598d62d0efc21a6a5853ce1f33d9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri May 17 23:14:36 2013 +0200
+
+ build: use -Wformat-security
+
+ m4/compiler_warnings.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 48f47cd53f69d43cd797a8889c86e688727a1441
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri May 17 08:48:24 2013 +0200
+
+ sms: fix validity variant parsing
+
+ src/mm-sms.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f31ab0943336ab1919b74f0ac0426ed2a427edda
+Author: Adrian Bunk <bunk@stusta.de>
+Date: Sun May 12 17:10:32 2013 +0300
+
+ configure.ac: enable maintainer mode by default
+
+ This is how it should be, and also consistent with NetworkManager.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 027d95506cd599db8d23e471c5d9136f86e707d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 9 13:39:32 2013 +0200
+
+ huawei: use ^SYSINFOEX if available instead of ^SYSINFO
+
+ Newer Huawei modems, like the E3276 or the ME906 won't support
+ ^SYSINFO, and we
+ should instead use the newer ^SYSINFOEX. By default, use ^SYSINFOEX
+ when
+ available, as it provides more information than the plain ^SYSINFO.
+
+ E.g.:
+ ^SYSINFOEX:2,3,0,1,,3,"WCDMA",41,"HSPA+"
+ ^SYSINFOEX:2,3,1,1,1,3,”WCDMA”,46,”DC-HSPA+”
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 545
+ ++++++++++++++++++++++++-----
+ 1 file changed, 458 insertions(+), 87 deletions(-)
+
+commit f96bb04c001d637a43989961a57ddaa553aa7a27
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 9 12:36:08 2013 +0200
+
+ huawei: ignore ^NDISSTAT unsolicited messages
+
+ These messages give us information about the current connection
+ status in the
+ NDIS interface. We already have other means to know this status,
+ so we just
+ ignore the unsolicited message for now.
+
+ E.g.:
+ ^NDISSTAT: 1,,,"IPV4"
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit cba3f7db657d53db910e725f95c258f4faabcbbd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 9 12:32:53 2013 +0200
+
+ huawei: ignore ^HCSQ unsolicited messages
+
+ Newer Huawei modems use ^HCSQ to report per-interface signal quality
+ values,
+ but we don't know yet what each field means for each technology,
+ so just ignore
+ them for now.
+
+ E.g.:
+ ^HCSQ: "GSM", 53
+ ^HCSQ: "WCDMA", 26, 24, 43
+ ^HCSQ: "LTE", 40, 28, 216, 14
+
+ We also don't use this message to update current access technology
+ information,
+ as it is not detailed enough (e.g. WCDMA doesn't specify whether
+ it's plain UMTS
+ or HSDPA or HSPA+...)
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit d169c99dc960f02233f65b2fcfb702b76814594f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 7 18:49:57 2013 +0200
+
+ novatel: skip $NWDMAT if the modem has QMI ports
+
+ plugins/novatel/mm-plugin-novatel.c | 142
+ +++++++++++++++++++++++++++++++++++-
+ 1 file changed, 141 insertions(+), 1 deletion(-)
+
+commit 2c83334c259ef2e1a1f61fa9fb8ac42751933923
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 7 09:11:28 2013 +0200
+
+ novatel: allow QMI-powered modems
+
+ plugins/novatel/mm-plugin-novatel.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+commit 031657cea5dd6afa5e3c0573afbd3b3c44afe417
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 7 09:08:17 2013 +0200
+
+ novatel: don't filter out the USB551L
+
+ We filter the E362 because it's managed by the Novatel LTE plugin. If
+ we also
+ filter out the USB551L, but it's not explicitly grabbed by any other
+ plugin, it
+ will default to the Generic one.
+
+ plugins/novatel/mm-plugin-novatel.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 76d97c6334908dc6dab6972f8142c3a64081e3ec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 7 09:05:49 2013 +0200
+
+ novatel: don't explicitly filter by drivers
+
+ No real need to do it; the VID filter is already enough.
+
+ plugins/novatel/mm-plugin-novatel.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 89ae657fcedf0028cfd46aede6ecd308494747d4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 22 10:57:48 2013 -0500
+
+ telit: add basic plugin for Telit 3GPP and 3GPP2 devices
+
+ plugins/Makefile.am | 12 +-
+ plugins/telit/77-mm-telit-port-types.rules | 48 +++++++
+ plugins/telit/mm-broadband-modem-telit.c | 210
+ +++++++++++++++++++++++++++++
+ plugins/telit/mm-broadband-modem-telit.h | 49 +++++++
+ plugins/telit/mm-plugin-telit.c | 136 +++++++++++++++++++
+ plugins/telit/mm-plugin-telit.h | 42 ++++++
+ 6 files changed, 496 insertions(+), 1 deletion(-)
+
+commit c4fa405e2e3c66ca69594cef7f0f517da94a5ff7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon May 6 10:51:01 2013 -0500
+
+ sms: enforce message 'class' value validity
+
+ Class is -1 to 3, so warn about out-of-bounds values when it's
+ being set on the client side.
+
+ libmm-glib/mm-sms-properties.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 9bbcd9d6a5d0b01e16bdd4f94f707f0341f73e24
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 30 12:07:16 2013 -0500
+
+ sms: add support for message class
+
+ We need to redefine the message class property to int since class
+ 0 is a valid message class. Thus -1 now means "unspecified class".
+
+ .../org.freedesktop.ModemManager1.Sms.xml | 7 +++--
+ libmm-glib/mm-sms-properties.c | 35
+ +++++++++++-----------
+ libmm-glib/mm-sms-properties.h | 4 +--
+ libmm-glib/mm-sms.c | 6 ++--
+ libmm-glib/mm-sms.h | 2 +-
+ src/mm-broadband-modem.c | 2 +-
+ src/mm-sms-part.c | 20 +++++++------
+ src/mm-sms-part.h | 4 +--
+ src/tests/test-sms-part.c | 16 +++++-----
+ 9 files changed, 50 insertions(+), 46 deletions(-)
+
+commit ab4198f576cb4308fecef3897675fe49cbcbe48a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 29 10:23:20 2013 -0500
+
+ broadband-modem-zte: chain up to parent access tech loading for
+ CDMA-only devices (bgo #698850)
+
+ CDMA-only devices don't support +ZPAS for access tech loading,
+ so chain up to the
+ parent so we get the QCDM fallback access tech loading functions.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=698850
+
+ plugins/zte/mm-broadband-modem-zte.c | 22 +++++++++++++++++++++-
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+
+commit 7d671825213eef4f4be5a67a5f8ce2cfd58a3fbc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 3 15:33:56 2013 -0500
+
+ broadband-modem-nokia: load access technology with *CNTI if possible
+
+ Works on the N9/N950, but not supported by the N900.
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 124
+ +++++++++++++++++++++++++++++++
+ 1 file changed, 124 insertions(+)
+
+commit 881da689dacf474ffb8edba8143f995a9a33ad33
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 3 15:34:32 2013 -0500
+
+ broadband-modem-nokia: N900 doesn't disable echo unless explicitly
+ done
+
+ During init, the N900 appears to ignore an E0 in the same command as
+ an E1. So just add another init command to disable echo, which won't
+ have any effect on devices that work with the first command.
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 2eee2e48ba65a24b17a0b91a619027a0c6f3185a
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon May 6 00:24:25 2013 -0700
+
+ sierra: remove comparison of unsigned expression >= 0
+
+ This patch removes an unnecessary check of unsigned expression >= 0,
+ which also fixes the following clang warnings:
+
+ sierra/mm-broadband-modem-sierra.c:570:18: error: comparison of
+ unsigned expression >= 0 is always true
+ [-Werror,-Wtautological-compare]
+ mode >= 0 &&
+ ~~~~ ^ ~
+
+ Bug reported on
+ https://code.google.com/p/chromium/issues/detail?id=235989
+ Patched by Yunlian Jiang <yunlian@chromium.org>
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit 9f702aed0297ff180fd6b3bce0e30db95a082e81
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Apr 30 12:54:54 2013 -0700
+
+ broadband-bearer: fix cid check in disconnect_3gpp
+
+ A value 0 is used to denote an invalid/uninitialized CID. This patch
+ fixes a CID check in disconnect_3gpp() of MMBroadbandBearer such
+ that it
+ disables all PDP contexts via AT+CGACT=0 when no specific CID is used
+ (i.e. cid == 0).
+
+ src/mm-broadband-bearer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 32d6dda859ec599340ddd58f2b26e8d8769952f8
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Apr 30 13:32:11 2013 -0700
+
+ broadband-modem: update signal quality normalization
+
+ This patch updates normalize_ciev_cind_signal_quality() in
+ MMBroadbandModem to remove an unnecessary check on 'quality >= 0' and
+ also makes sure the normalized signal quality is capped at 100 when no
+ maximum is specified.
+
+ This is revised from a patch originally authored by
+ Yunlian Jiang <yunlian@chromium.org>.
+
+ Bug reported on
+ https://code.google.com/p/chromium/issues/detail?id=235989
+
+ src/mm-broadband-modem.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 862eaf4d584037cc44ad662b60a131ec04a972f0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 30 09:38:32 2013 -0500
+
+ serial-port-qcdm: set SEND_DELAY to 0 (bgo #698869)
+
+ For some reason a number of ZTE CDMA devices want the whole QCDM
+ frame in one USB transaction, or at least don't like it being
+ broken up and sent byte-by-byte with a send delay. They simply
+ don't respond. Since testing indicates that every other QCDM
+ capable device I've got also handles a zero send delay on both
+ 3.8.8 and 2.6.32, lets just set it to zero for everything,
+ which should speed things up a bit too.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=698869
+
+ src/mm-qcdm-serial-port.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 9dcbf33c88615b6b3baeec0d79a320b6df0bd403
+Author: Yunlian Jiang <yunlian@google.com>
+Date: Mon Apr 29 11:53:26 2013 -0500
+
+ mm-glib: use correct enum type
+
+ libmm-glib/mm-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2e8866c8b74c50c3c5318b13cfc78530a6130c41
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 24 14:46:23 2013 -0500
+
+ time: normalize GetNetworkTime() response to local time + timezone
+ info (bgo #697372)
+
+ The GetNetworkTime() response is defined to be an ISO8601 string,
+ which
+ is in turn defined to be in local time. Make sure that's reflected in
+ the documentation, and append the timezone offset to UTC where we have
+ it.
+
+ Oddly, Icera devices return their time info in UTC with an offset to
+ the local timezone, so we have to jump through some hoops there to
+ convert the response to localtime based on the reported offset.
+
+ Some additional fixes by Aleksander Morgado <aleksander@lanedo.com>.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=697372
+
+ .../org.freedesktop.ModemManager1.Modem.Time.xml | 6 +-
+ plugins/icera/mm-broadband-modem-icera.c | 94
+ ++++++++++++++--------
+ plugins/novatel/mm-broadband-modem-novatel.c | 5 +-
+ plugins/sierra/mm-broadband-modem-sierra.c | 4 +-
+ src/mm-modem-helpers.c | 32 ++++++++
+ src/mm-modem-helpers.h | 9 +++
+ 6 files changed, 110 insertions(+), 40 deletions(-)
+
+commit 7d3a4aba4fb0f7920e40f88836698a0a10bc7e3c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 25 15:07:19 2013 -0500
+
+ broadband-modem: fix assertion during capabilities checking (bgo
+ #698845)
+
+ If no capabilities could be determined from the modem's responses,
+ result would be NULL but no error would be set, since the modem
+ didn't time out or have some other critical error, it simply didn't
+ report any recognized capabilities. Ensure that an error is
+ reported in this case.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=698845
+
+ src/mm-broadband-modem.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 135bec690ddbb1b8974d90d60317c1ad1b6d935e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 25 19:05:04 2013 +0200
+
+ sms: initialize the validity property when creating SMS
+
+ src/mm-sms.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 456a4289b7532f646fe697118cc7bfb386f7d328
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 25 19:04:35 2013 +0200
+
+ libmm-glib: handle relative validity in the MMSmsProperties
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 5 +-
+ libmm-glib/mm-sms-properties.c | 70
+ ++++++++++++++++-------
+ libmm-glib/mm-sms-properties.h | 5 +-
+ 3 files changed, 55 insertions(+), 25 deletions(-)
+
+commit 23204111130fca0a93a22508431ad8bb17210bdd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 24 16:48:29 2013 -0500
+
+ broadband-modem-icera: fix issues checking supported bands
+
+ Icera devices include bands that the modem doesn't support in
+ the %IPBM=? list, so the plugin sets the band to its current
+ enabled/disabled value to test whether that band is supported.
+ There were two problems with this approach:
+
+ 1) Setting an already-enabled band to be enabled apparently
+ isn't a NOP; it might take more than the 3 seconds given, and
+ if the response comes after 3 seconds, this greatly confuses
+ ModemManager because the AT command/reply sequence is now
+ messed up. So increase the timeout to 10 seconds.
+
+ 2) Why bother checking bands that are already enabled anyway?
+ We already know they are supported, so just don't check those
+ bands at all. This requires some parkour because we use the
+ parsed band array from %IPBM=? to track whether bands are
+ enabled/disabled by indexing into the array, so instead just
+ use two separate arrays. This actually makes the fix for #1
+ un-needed (because we never enable any bands) but it's good
+ to have #1 anyway.
+
+ plugins/icera/mm-broadband-modem-icera.c | 51
+ ++++++++++++++++++++++----------
+ 1 file changed, 36 insertions(+), 15 deletions(-)
+
+commit 18bfefba2dba3f5c77cd971820646d84a85f9334
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 24 15:04:57 2013 -0500
+
+ iface-modem: fix array insertion when setting bands
+
+ You can't g_array_insert_val() to an index that's beyond the end
+ of the array, which was happening if the user tried to set the
+ band list to "any":
+
+ mmcli -m 0 --set-bands=any
+
+ Just use g_array_append_val() instead.
+
+ ==5618== Invalid read of size 2
+ ==5618== at 0x4A0A158: memcpy@GLIBC_2.2.5 (mc_replace_strmem.c:881)
+ ==5618== by 0x326201D8FB: g_array_insert_vals (string3.h:57)
+ ==5618== by 0x442EFB: mm_iface_modem_set_bands
+ (mm-iface-modem.c:1982)
+ ==5618== by 0x44307E: handle_set_bands_auth_ready
+ (mm-iface-modem.c:2100)
+ ==5618== by 0x326386DFF6: g_simple_async_result_complete
+ (gsimpleasyncresult.c:775)
+ ==5618== by 0x4358E3: authorize_ready (mm-base-modem.c:1300)
+ ==5618== by 0x326386DFF6: g_simple_async_result_complete
+ (gsimpleasyncresult.c:775)
+ ==5618== by 0x326386E0F8: complete_in_idle_cb
+ (gsimpleasyncresult.c:787)
+ ==5618== by 0x3262047A54: g_main_context_dispatch (gmain.c:2715)
+ ==5618== by 0x3262047D87: g_main_context_iterate.isra.24
+ (gmain.c:3290)
+ ==5618== by 0x3262048181: g_main_loop_run (gmain.c:3484)
+ ==5618== by 0x426235: main (main.c:142)
+ ==5618== Address 0x10a7ea74e is not stack'd, malloc'd or (recently)
+ free'd
+ ==5618==
+ ==5618==
+ ==5618== Process terminating with default action of signal 11
+ (SIGSEGV)
+ ==5618== Access not within mapped region at address 0x10A7EA74E
+ ==5618== at 0x4A0A158: memcpy@GLIBC_2.2.5 (mc_replace_strmem.c:881)
+ ==5618== by 0x326201D8FB: g_array_insert_vals (string3.h:57)
+ ==5618== by 0x442EFB: mm_iface_modem_set_bands
+ (mm-iface-modem.c:1982)
+ ==5618== by 0x44307E: handle_set_bands_auth_ready
+ (mm-iface-modem.c:2100)
+ ==5618== by 0x326386DFF6: g_simple_async_result_complete
+ (gsimpleasyncresult.c:775)
+ ==5618== by 0x4358E3: authorize_ready (mm-base-modem.c:1300)
+ ==5618== by 0x326386DFF6: g_simple_async_result_complete
+ (gsimpleasyncresult.c:775)
+ ==5618== by 0x326386E0F8: complete_in_idle_cb
+ (gsimpleasyncresult.c:787)
+ ==5618== by 0x3262047A54: g_main_context_dispatch (gmain.c:2715)
+ ==5618== by 0x3262047D87: g_main_context_iterate.isra.24
+ (gmain.c:3290)
+ ==5618== by 0x3262048181: g_main_loop_run (gmain.c:3484)
+ ==5618== by 0x426235: main (main.c:142)
+
+ src/mm-iface-modem.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit cabf53179eb0c660ff3bdfb765645a3d0f88530d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 24 14:44:57 2013 -0500
+
+ sierra: handle probing ERROR response better
+
+ The USB305 (Icera-based) apparently has a port that replies to
+ everything
+ with ERROR, and that port is unusable. Make sure it's ignored,
+ otherwise
+ MM may claim it as the primary AT port since it technically speaks AT.
+
+ plugins/sierra/mm-plugin-sierra.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit cebe828f7fb62585614b756efb80799286f35261
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 24 23:25:53 2013 +0200
+
+ huawei: only expect custom inits to be run on tty ports
+
+ plugins/huawei/mm-plugin-huawei.c | 28 +++++++++++++++++-----------
+ 1 file changed, 17 insertions(+), 11 deletions(-)
+
+commit 99a8dcce2ca04dccfe7a71bfd78394e710aa1ab1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 24 23:15:43 2013 +0200
+
+ zte: ensure error is set when +ZSNT response parser doesn't match
+
+ plugins/zte/mm-broadband-modem-zte.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+commit a32eef3434b169c8e58b285d8f30a3b206fc0dd7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 24 23:12:12 2013 +0200
+
+ x22x: ensure error is set when +SYSSEL response parser doesn't match
+
+ plugins/x22x/mm-broadband-modem-x22x.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+commit 77d096bdac59d6627785490aae71c9ddc9445807
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 24 23:10:56 2013 +0200
+
+ sierra: ensure error is set when !SELRAT response parser doesn't match
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 52fd67e36591588f76c7d8e1f0a115ab1a1db74c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 24 23:08:09 2013 +0200
+
+ novatel: ensure error is set when $NWRAT response parser doesn't match
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+commit 2e6ba7cd09287bb984a356cf2606c64f5a779cd4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 24 23:07:45 2013 +0200
+
+ huawei: ensure error is set when ^CPIN response parser doesn't match
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+commit 40dc35a65718050297b12c6e7c106866a44a3305
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 24 23:05:12 2013 +0200
+
+ modem-helpers: ensure error is set when +CRM response parser
+ doesn't match
+
+ src/mm-modem-helpers.c | 81
+ +++++++++++++++++++++++++++-----------------------
+ 1 file changed, 44 insertions(+), 37 deletions(-)
+
+commit 1f99eaf80e6c3124c871c416638d50c57199535e
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Apr 24 17:37:55 2013 -0700
+
+ qcdm: remove unnecessary NULL check on free()
+
+ This patch removes a few unnecessary NULL checks on free(), which
+ also fixes
+ the following clang warnings:
+
+ result.c:59:27: error: if statement has empty body
+ [-Werror,-Wempty-body]
+ if (v->u.u8_array);
+ ^
+ result.c:59:27: note: put the semicolon on a separate line to silence
+ this warning
+ result.c:62:28: error: if statement has empty body
+ [-Werror,-Wempty-body]
+ if (v->u.u16_array);
+ ^
+ result.c:62:28: note: put the semicolon on a separate line to silence
+ this warning
+
+ Bug reported on
+ https://code.google.com/p/chromium/issues/detail?id=219280
+ Patched by Yunlian Jiang <yunlian@chromium.org>
+
+ libqcdm/src/result.c | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+commit d1708f243dfdb2fe6a478be6e616f70fca50b254
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 24 17:09:04 2013 -0500
+
+ x22x: add Archos G9 device tags
+
+ plugins/x22x/77-mm-x22x-port-types.rules | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit b017064a5802c820ab26e7a3b832e2917186820d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 24 23:06:34 2013 +0200
+
+ altair-lte: minor coding style fixes
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit ba83bc61d05629762c72c2dce18cff5fadc30658
+Author: ori inbar <ori.inbar.altair.semi.com@gmail.com>
+Date: Tue Apr 23 13:15:42 2013 -0500
+
+ altair-lte: Add SIM unlock retries query to the Altair plugin.
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 73
+ ++++++++++++++++++++++++++
+ 1 file changed, 73 insertions(+)
+
+commit 126d89b2f311b46784434db52a6614699bac83b5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 24 22:48:18 2013 +0200
+
+ x22x: fix regex when parsing +SYSSEL response
+
+ The numbers reported by +SYSSEL may have more than one digit, e.g.:
+ +SYSSEL: 14,2,0,0
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=698774
+
+ plugins/x22x/mm-broadband-modem-x22x.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4ac3a6d4f212b3fc04e004c85b89fd567e865ffa
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Apr 22 14:34:44 2013 -0700
+
+ bearer: allow specifying default IP family for bearers
+
+ This patch adds a 'bearer-default-ip-family' property to MMBearer,
+ which
+ specifies the default IP family to use for a bearer when no explicit
+ value is given via the simple connect properties. The default
+ IP family
+ is set to IPv4 in MMBearer but can be overridden by a MMBearer
+ subclass,
+ which allows a modem plugin to specify an appropriate default value.
+
+ libmm-glib/mm-bearer-properties.c | 8 +-------
+ src/mm-bearer-mbim.c | 14 +++++++++++---
+ src/mm-bearer-qmi.c | 18 +++++++++++++-----
+ src/mm-bearer.c | 25 +++++++++++++++++++++++++
+ src/mm-bearer.h | 2 ++
+ src/mm-broadband-bearer.c | 16 ++++++++++++----
+ 6 files changed, 64 insertions(+), 19 deletions(-)
+
+commit 60845f10c9dae6c7e53022050aa8d09e1e1354ea
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 19 16:24:17 2013 -0500
+
+ broadband-modem-qmi: work around old Gobi 1K firmware SetDataFormat
+ issue
+
+ It seems that really old Gobi 1K firmware (from ~2008) doesn't
+ implement
+ the SetDataFormat command, and will simply ignore the request without
+ replying to it. But the device works just fine if we retry the
+ QMI port open operation without the SetDataFormat request.
+
+ The downside of this is is that on older kernels, the qmi_wwan driver
+ won't automatically fix up any raw-ip packets it receives, but the
+ old Gobi devices don't ever send raw-ip packets anyway, so it's not
+ a problem.
+
+ src/mm-broadband-modem-qmi.c | 29 +++++++++++++++++++++++++++--
+ 1 file changed, 27 insertions(+), 2 deletions(-)
+
+commit aa4fd7c421776c33f0955517eb441fa2a14d6401
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 19 08:34:40 2013 +0200
+
+ broadband-modem-mbim: don't make no-SIM errors directly fatal,
+ retry instead
+
+ The MC7710 will report a MBIM_SUBSCRIBER_READY_STATE_SIM_NOT_INSERTED
+ status
+ when initializing and the SIM is not ready yet. So retry a couple
+ of times as we
+ do for MBIM_SUBSCRIBER_READY_STATE_NOT_INITIALIZED. If all retries
+ are consumed,
+ get the last reported status to build the error.
+
+ This change makes all modems without SIM require up to 10s to
+ get fully
+ initialized and exposed in DBus; but it shouldn't be a big deal as
+ the modems
+ are unusable anyway.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=698264
+
+ src/mm-broadband-modem-mbim.c | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
+
+commit 92035fdf1c39c9e1bf8b7d419d913e85bc8e1a44
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 18 12:19:46 2013 -0500
+
+ iface-modem: skip modem_after_sim_unlock() for CDMA-only devices
+
+ We don't support SIM/RUIM on CDMA devices (yet), so for now it makes
+ no sense to run the after-sim-unlock step on CDMA-only devices where
+ a SIM won't be present.
+
+ Unfortunately we don't know at this point whether there is a SIM
+ or not, so if the modem is a multi-mode device (implying it has a SIM
+ slot) and its plugin implements the modem_after_sim_unlock() hook,
+ the hook will still be executed and might cause an unecessary delay
+ when a SIM is not inserted.
+
+ src/mm-iface-modem.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 7d668eb407eccf89cbbfeb96bbb553ade5b47c92
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 18 18:32:13 2013 +0200
+
+ iface-modem: for multimode 3GPP+3GPP2 devices, check if SIM is
+ available
+
+ If SIM is not available, no 3GPP caps in current caps.
+
+ src/mm-iface-modem.c | 106
+ ++++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 88 insertions(+), 18 deletions(-)
+
+commit 4f3932cb2b07a0c4b60a754afcdacf935a1a9b61
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 18 15:15:38 2013 +0200
+
+ iface-modem: ignore SIM errors in 3GPP2-capable devices
+
+ We already fully skipped SIM unlock check in 3GPP2-only devices;
+ now we also
+ ignore SIM errors if the device is a 3GPP+3GPP2 device.
+
+ src/mm-iface-modem.c | 65
+ ++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 38 insertions(+), 27 deletions(-)
+
+commit 27e19362778312e958a7caf68091cf8e46077d5b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 18 10:19:57 2013 -0500
+
+ core: rework logging code to remove log message truncation (bgo
+ #698312)
+
+ Use a static GString which will resize itself if the log message
+ is bigger than the current string size, but will also ensure we
+ don't do a ton of memory reallocation on every log message.
+
+ Previously all log messages were trucated at 512 bytes due to the
+ log buffer char array being 512 bytes long.
+
+ src/mm-log.c | 71
+ ++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 36 insertions(+), 35 deletions(-)
+
+commit 3cb639a6bbac52bddace33844f643ca487741ef9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 18 16:46:17 2013 +0200
+
+ plugin-manager: handle race condition during probing
+
+ The specific case:
+ * Modem exposes cdc-wdm port, Generic plugin probes it successfully
+ as QMI.
+ * Modem exposes new ports, including the wwan one. All ttys fail
+ probing
+ because they're neither AT nor QCDM (CnS in this case).
+ * The wwan port ends up without a port being suggested and is
+ not grabbed.
+
+ The root cause of this is that we do not propagate the suggested
+ plugin to newly
+ added ports when it's the Generic one. If it wasn't the Generic one,
+ the newly
+ added ports would start with the suggested one for probing.
+
+ Now, handle this by looking for the device-specified plugin when
+ the port
+ probing ends without a specific port given. If there is such a
+ device-specified
+ plugin accept the port, and otherwise, reject it.
+
+ src/mm-plugin-manager.c | 59
+ ++++++++++++++++++++++++++++---------------------
+ 1 file changed, 34 insertions(+), 25 deletions(-)
+
+commit 4d4d6141388e2eca8acdc8efaf3ee0b5e2a09ebb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 17 14:56:11 2013 -0500
+
+ broadband-modem: read current capabilities via QCDM if available
+ (bgo #698229)
+
+ Many multi-mode Qualcomm devices report all available modes in their
+ AT+GCAP response (for example, CDMA/EVDO and GSM/UMTS) but they cannot
+ actually function in all these modes at the same time. The modem's
+ actual current capabilities are expressed by the QCDM NV ModePref
+ item, which is not reflected in the AT+GCAP response.
+
+ Reading the current capabilities from the NV ModePref item ensures
+ that ModemManager does not create interfaces for the modem which
+ the modem cannot actually implement.
+
+ Because the generic modem plugin does not implement the Modem
+ Capabilities hook (because there is no standard way to determine
+ what access technologies a modem supports), the Current Capabilities
+ are copied to the Modem Capabilities. For devices that support
+ QCDM this means that Modem Capabilies which used to be created from
+ the GCAP response and thus would contain all available capabilities
+ now contain only current capabilities. This isn't a problem though
+ since there was no way to switch the devices to use any of their
+ other capabilities, becuase there aren't any standard commands for
+ it. Plugins that know how to switch their modem's capabilities
+ should (and they already do) override load_current_capabilities
+ and load_modem_capabilities to get the correct information.
+
+ src/mm-broadband-modem.c | 133
+ ++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 125 insertions(+), 8 deletions(-)
+
+commit 95274bfa2327a5fec59db33ca94463f4f9baff9c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 18 14:43:06 2013 +0200
+
+ sms-part: check UDH length vs available size before trying to read it
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=698246
+
+ src/mm-sms-part.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 9fa5b9001a4a61128aa894941062d8e6d025e101
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 17 17:18:05 2013 -0500
+
+ qcdm: fix CDMA1x Pilot Sets pilot handling
+
+ The helper functions got the return code of qcdm_result_* wrong
+ and thus failed all requests for pilot sets.
+
+ libqcdm/src/commands.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b95dc3f2f56084b7cfd253beed62716e708bd67e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 17 19:15:24 2013 +0200
+
+ mbm: allow MBIM devices
+
+ plugins/mbm/mm-plugin-mbm.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 0e60d964b3a95065b6164e5e9dd77b72a162d8f9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 17 15:34:23 2013 +0200
+
+ build: MBIM support is auto
+
+ Use it if found, don't use it if not found.
+
+ Can be explicitly requested with --with-mbim.
+
+ configure.ac | 39 +++++++++++++++++++++++++--------------
+ 1 file changed, 25 insertions(+), 14 deletions(-)
+
+commit f8e7f2ebe118208da0f664dbbfa7b00f43c71338
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 17 12:18:41 2013 +0200
+
+ device: look for vendor/product ID on the grandparent for MBIM devices
+
+ src/mm-device.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 56387bb79c3ed4d24f55be7016f2ac6133401fc3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 16 22:20:33 2013 +0200
+
+ sierra: allow MBIM modems handled by the plugin
+
+ plugins/sierra/mm-plugin-sierra.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 99694dec93f8903591927e89e8718db099e4f9ba
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 14 21:22:12 2013 +0200
+
+ bearer-mbim: handle static IP configuration
+
+ src/mm-bearer-mbim.c | 323
+ +++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 298 insertions(+), 25 deletions(-)
+
+commit 91e4c9832ac317b4fbda91e5b3eb4ef34c6c701f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 14 14:19:32 2013 +0200
+
+ bearer-mbim: update connection timeout values
+
+ src/mm-bearer-mbim.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 07d4aa993803a7c83349f9865dd0654086439b31
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 14 14:18:07 2013 +0200
+
+ bearer-mbim: activate packet service during connection request
+
+ src/mm-bearer-mbim.c | 74
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 74 insertions(+)
+
+commit 6cbb3e9fc9caf24e09e476ec86e5041d7a1f6dbb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 14 13:45:11 2013 +0200
+
+ bearer-mbim: no auth protocol if neither user nor password given
+
+ src/mm-bearer-mbim.c | 52
+ ++++++++++++++++++++++++++++------------------------
+ 1 file changed, 28 insertions(+), 24 deletions(-)
+
+commit a9f20e90be74bd53bfaeeda93b68b1bfa49ae9fe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 14 12:54:12 2013 +0200
+
+ bearer-mbim: implement bearer disconnection
+
+ src/mm-bearer-mbim.c | 172
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 172 insertions(+)
+
+commit 032911ec20f984b306ba8fb6d45f243c81437fd2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 14 12:39:45 2013 +0200
+
+ bearer-mbim: gather a unique session id in the [0,255] range
+
+ src/mm-bearer-mbim.c | 86
+ ++++++++++++++++++++++++++++++++++++++-----
+ src/mm-bearer-mbim.h | 7 +++-
+ src/mm-broadband-modem-mbim.c | 69 +++++++++++++++++++++++++++++++++-
+ 3 files changed, 150 insertions(+), 12 deletions(-)
+
+commit 4609f708b8321dbd73af52a7958d46b13844e343
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 14 10:58:16 2013 +0200
+
+ bearer-mbim: implement bearer connection
+
+ src/mm-bearer-mbim.c | 256
+ ++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 194 insertions(+), 62 deletions(-)
+
+commit 3c4a26cb918a2a4b0835a82003b69af4bda7a5df
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 14 09:31:19 2013 +0200
+
+ bearer-mbim: log available provisioned contexts during connection
+
+ src/mm-bearer-mbim.c | 281
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 281 insertions(+)
+
+commit 0e9a0eb4c79d22ce50918abaab954fbf7aeebd6d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 18:35:24 2013 +0200
+
+ broadband-modem-mbim: implement access technologies updates
+
+ src/mm-broadband-modem-mbim.c | 15 +++++++++++++--
+ src/mm-modem-helpers-mbim.c | 42
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-mbim.h | 2 ++
+ 3 files changed, 57 insertions(+), 2 deletions(-)
+
+commit 6b5dd6af51b729fc608560f85ca6a1af0020d671
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 18:23:32 2013 +0200
+
+ broadband-modem-mbim: add TODO about the network scan
+
+ src/mm-broadband-modem-mbim.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 854c371c8aa93b96006e668be6d5163db501febe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 18:18:29 2013 +0200
+
+ broadband-modem-mbim: implement 3GPP registration request
+
+ src/mm-broadband-modem-mbim.c | 91
+ +++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-mbim.c | 61 +++++++++++++++++++++++++++++
+ src/mm-modem-helpers-mbim.h | 2 +
+ 3 files changed, 154 insertions(+)
+
+commit c7f3d33b3e47ead7e012a4a7dbe6c670aa935678
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 18:18:06 2013 +0200
+
+ api,errors: define new GPRS related errors
+
+ include/ModemManager-errors.h | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 9cdd8c901db84b40ec126446e8a9f43376a4fd5f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 17:43:58 2013 +0200
+
+ broadband-modem-mbim: implement 3GPP registration logic
+
+ src/mm-broadband-modem-mbim.c | 301
+ +++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-helpers-mbim.c | 21 +++
+ src/mm-modem-helpers-mbim.h | 2 +
+ 3 files changed, 321 insertions(+), 3 deletions(-)
+
+commit 6333b239ff0e5069d1ea5b4f34626ccf7811f38a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 16:22:03 2013 +0200
+
+ sim-mbim: add TODO about the home provider info
+
+ src/mm-sim-mbim.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 916dc3466f10e706e0e73f0c9e8864f7571dacb7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 16:17:55 2013 +0200
+
+ broadband-modem-mbim: implement signal quality updates
+
+ src/mm-broadband-modem-mbim.c | 148
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 148 insertions(+)
+
+commit 10f2cdebcb23e608d41d4fceea0abe4e5b74b795
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 15:52:30 2013 +0200
+
+ broadband-modem-mbim: process signal state indications
+
+ src/mm-broadband-modem-mbim.c | 46
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 6b827cc7a306ef2f3719ba7310952305b97fa04c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 15:20:07 2013 +0200
+
+ broadband-modem-mbim: implement 3GPP unsolicited messages
+ setup/cleanup
+
+ src/mm-broadband-modem-mbim.c | 78
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit 3e758d5394c65ea087f32b876e4b7f245b75dac1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 14:01:02 2013 +0200
+
+ broadband-modem-mbim: implement enabled facility locks loading
+
+ src/mm-broadband-modem-mbim.c | 122
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 122 insertions(+)
+
+commit 115bf6c077565d689095636dcb0803e086e8f9f1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 12:33:41 2013 +0200
+
+ broadband-modem-mbim: implement IMEI loading
+
+ src/mm-broadband-modem-mbim.c | 43
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+commit e878a8ef06eb11e2f8cda9b12d4b8bd49ca991ec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 12:30:10 2013 +0200
+
+ broadband-modem-mbim: implement the 3GPP interface
+
+ src/mm-broadband-modem-mbim.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit bb9031ed38a682b3cd99a48f1c38df6d8263a2c6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 11:54:08 2013 +0200
+
+ broadband-modem-mbim: build fake manufacturer and model strings
+
+ src/mm-broadband-modem-mbim.c | 63
+ ++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 59 insertions(+), 4 deletions(-)
+
+commit 45ae6dd672306cada1814ab23e2e88e2e5b7ed7e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 11:45:23 2013 +0200
+
+ broadband-modem-mbim: implement power up/down
+
+ src/mm-broadband-modem-mbim.c | 129
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 129 insertions(+)
+
+commit 9504cb93398f69c824f361996de91cd091af448d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 13 09:44:41 2013 +0200
+
+ broadband-modem-mbim: simplify power state loading
+
+ src/mm-broadband-modem-mbim.c | 37 +++++++++++--------------------------
+ 1 file changed, 11 insertions(+), 26 deletions(-)
+
+commit f6958bb362c4849846e5408dee246268f87b3128
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 20:09:27 2013 +0200
+
+ broadband-modem-mbim,sim-mbim: update message creator/parser names
+
+ Sync with libmbim commit:
+ commit b73673bf30a82e95819deb17296c9234399f0795
+ Author: Aleksander Morgado <aleksander@lanedo.com>
+ Date: Thu Apr 11 20:07:12 2013 +0200
+
+ mbim-codegen: properly define the 4 types of messages that
+ we may have
+
+ src/mm-broadband-modem-mbim.c | 24 ++++++++++++------------
+ src/mm-sim-mbim.c | 20 ++++++++++----------
+ 2 files changed, 22 insertions(+), 22 deletions(-)
+
+commit 67c322361ea2efbf2ca68322e7ca8a3a76e14f0e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 20:08:56 2013 +0200
+
+ broadband-modem-mbim: implement own numbers loading
+
+ src/mm-broadband-modem-mbim.c | 74
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 74 insertions(+)
+
+commit 04d515497d2005c8ca279a5153f42af27feba96e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 20:07:21 2013 +0200
+
+ sim-mbim: implement SIM identifier and IMSI loading
+
+ src/mm-sim-mbim.c | 140
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 140 insertions(+)
+
+commit 6024142facf549f90a5aafb3782434ef19398947
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 20:03:39 2013 +0200
+
+ sim-mbim: these modems don't allow to enable/disable/change PIN
+ if locked
+
+ src/mm-sim-mbim.c | 22 ++++++++++++++++++----
+ 1 file changed, 18 insertions(+), 4 deletions(-)
+
+commit cd610fb6207ecc683ea9d8104f4774a993e5f7ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 20:03:07 2013 +0200
+
+ sim-mbim: implement PIN changing
+
+ src/mm-sim-mbim.c | 75
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 75 insertions(+)
+
+commit ef7e6a14f0cef6900961a2e6bd9bade88e2cec01
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 20:02:53 2013 +0200
+
+ broadband-modem-mbim: check SIM status with 'Subscriber Ready Status'
+
+ src/mm-broadband-modem-mbim.c | 151
+ +++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 133 insertions(+), 18 deletions(-)
+
+commit 659d942c33767d44f2470aee183b0eb0fc268016
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 19:21:21 2013 +0200
+
+ mbim-port: make port closing async always
+
+ Don't just close the port and forget, really wait to get the CLOSE
+ response
+ before going on.
+
+ src/mm-broadband-modem-mbim.c | 5 +-
+ src/mm-mbim-port.c | 117
+ +++++++++++++++++++++++++++++-------------
+ src/mm-mbim-port.h | 23 +++++----
+ src/mm-port-probe.c | 28 +++++++---
+ 4 files changed, 118 insertions(+), 55 deletions(-)
+
+commit d1d5616ca5607836fc2a17024555ef2578bb6d8e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 17:37:32 2013 +0200
+
+ sim-mbim: implement PIN enabling/disabling
+
+ src/mm-sim-mbim.c | 75
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 75 insertions(+)
+
+commit c67fa3459bb78c3c6813ed68eeb720da9431a53f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 17:37:10 2013 +0200
+
+ broadband-modem-mbim,sim-mbim: consider MBIM result errors
+
+ src/mm-broadband-modem-mbim.c | 4 ++++
+ src/mm-sim-mbim.c | 56
+ +++++++++++++++++++++++++------------------
+ 2 files changed, 37 insertions(+), 23 deletions(-)
+
+commit 8a8dc23f5071b5155a21bd96356a7b3a38993d6a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 16:01:07 2013 +0200
+
+ sim-mbim: implement PUK unlocking
+
+ src/mm-sim-mbim.c | 91
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 91 insertions(+)
+
+commit abd22dacfb332c9568d432c4008763e6e8432041
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 15:37:12 2013 +0200
+
+ broadband-modem-mbim: don't cache remaining attempts, just requery
+
+ There are many more places where we reload remaining attempts,
+ not just after
+ querying initial lock status. So re-query to get the most up to
+ date info.
+
+ src/mm-broadband-modem-mbim.c | 119
+ +++++++++++++++++++++++-------------------
+ 1 file changed, 64 insertions(+), 55 deletions(-)
+
+commit b8904b3b5285e3a35e9ec0845f8bbca45568cb34
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 15:22:23 2013 +0200
+
+ mbim-port: no longer needed to request next transaction ID
+
+ Already handled by the MbimDevice if none given.
+
+ src/mm-broadband-modem-mbim.c | 12 +++---------
+ src/mm-mbim-port.c | 10 ----------
+ src/mm-mbim-port.h | 2 --
+ src/mm-sim-mbim.c | 1 -
+ 4 files changed, 3 insertions(+), 22 deletions(-)
+
+commit 8232d023c178f8c804dd550ca567c5cf64710f93
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 10 23:19:33 2013 +0200
+
+ port-probe: delay 3s MBIM probing
+
+ src/mm-port-probe.c | 23 +++++++++++++++++------
+ 1 file changed, 17 insertions(+), 6 deletions(-)
+
+commit 968c2e360a269c994d4e4a571dcf8054b64f4b96
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 10 20:33:27 2013 +0200
+
+ sim-mbim: implement PIN unlocking
+
+ src/mm-sim-mbim.c | 124
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 124 insertions(+)
+
+commit cc76e7a41c758d4fcc6cffc4f9650430e125e679
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 10 23:08:03 2013 +0200
+
+ broadband-modem-mbim: sync with libmbim 'input-parameters' branch
+
+ src/mm-broadband-modem-mbim.c | 196
+ ++++++++++++++++++++++++++----------------
+ 1 file changed, 123 insertions(+), 73 deletions(-)
+
+commit df4cd12fef8c112017f02851a27f9580ef9750a5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 22:51:39 2013 +0200
+
+ broadband-modem-mbim: implement initial power state loading
+
+ src/mm-broadband-modem-mbim.c | 96
+ +++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 92 insertions(+), 4 deletions(-)
+
+commit deb9f21a6653c3ab68470395919aa21edc2d8034
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 21:02:31 2013 +0200
+
+ broadband-modem-mbim: implement unlock required & retries loading
+
+ src/Makefile.am | 8 +++
+ src/mm-broadband-modem-mbim.c | 142
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-mbim.c | 63 +++++++++++++++++++
+ src/mm-modem-helpers-mbim.h | 29 +++++++++
+ 4 files changed, 242 insertions(+)
+
+commit affe2fdeeb938285c697c6c97fd5ae90691d8c1e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 20:08:40 2013 +0200
+
+ broadband-modem-mbim: disable unneeded steps
+
+ src/mm-broadband-modem-mbim.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 14a03848ce63243d90bafbc1cbbc6e9cc1f358e4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 20:02:41 2013 +0200
+
+ broadband-modem-mbim: implement supported modes loading
+
+ src/mm-broadband-modem-mbim.c | 65
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 65 insertions(+)
+
+commit 6ebda738f4a3e3dd791c20818aec2b68710c1e99
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 19:53:32 2013 +0200
+
+ broadband-modem-mbim: implement device identifier loading
+
+ src/mm-broadband-modem-mbim.c | 42
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+commit 6b379e525dbcc117a82fb367a6db2146042880ab
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 19:51:49 2013 +0200
+
+ plugin: limit cdc-wdm port probing types depending on the available
+ drivers
+
+ We'll use the given device drivers as a hint of what we can or
+ should probe.
+
+ src/mm-plugin.c | 19 +++++++++++++++++--
+ 1 file changed, 17 insertions(+), 2 deletions(-)
+
+commit 00ec505e741eed62a04d2d810dcbb9c841a09445
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 19:39:08 2013 +0200
+
+ broadband-modem-mbim: implement equipment id loading
+
+ src/mm-broadband-modem-mbim.c | 36 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+commit 3b8c9a0e2dd6ad5087312f62539fdaa7e68f5d21
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 19:34:08 2013 +0200
+
+ broadband-modem-mbim: implement revision string loading
+
+ src/mm-broadband-modem-mbim.c | 40
+ ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+commit 211803f886e333123a375bbb8aa6ee720e725809
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 19:22:02 2013 +0200
+
+ broadband-modem-mbim: implement current capabilities loading
+
+ src/mm-broadband-modem-mbim.c | 124
+ +++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 123 insertions(+), 1 deletion(-)
+
+commit 07f39cc29f30d7892b1615c26be9752b593d4486
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Apr 7 19:21:47 2013 +0200
+
+ mbim-port: provide access to the internal MbimDevice
+
+ src/mm-mbim-port.c | 20 ++++++++++++++++++++
+ src/mm-mbim-port.h | 4 ++++
+ 2 files changed, 24 insertions(+)
+
+commit 12d6e59c86dc9feb38cc84ec49e3ade25f07336e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 23:27:40 2013 +0200
+
+ log: enable MBIM traces if running in debug mode
+
+ src/mm-log.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit cbee87f2f54b928dafb6a099b3ec2521d8658440
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 22:58:08 2013 +0200
+
+ iface-modem: let the MBIM port be the primary one
+
+ src/mm-iface-modem.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 76ed80e1c98166ffe1f6ae4f49baf335c3e0f8a1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 21:08:10 2013 +0200
+
+ generic: allow MBIM devices
+
+ plugins/generic/mm-plugin-generic.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 2e4a83628a6a24cf06549d346b74fcdc2f97830f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 20:23:22 2013 +0200
+
+ huawei: allow MBIM devices
+
+ plugins/huawei/mm-plugin-huawei.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit e476c1c67ba158b9588bd72308e25d88c5089279
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 21:05:41 2013 +0200
+
+ mbim: add initial MBIM support skeleton
+
+ src/Makefile.am | 7 +
+ src/mm-bearer-mbim.c | 84 ++++++++++
+ src/mm-bearer-mbim.h | 55 +++++++
+ src/mm-broadband-modem-mbim.c | 348
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-broadband-modem-mbim.h | 49 ++++++
+ src/mm-sim-mbim.c | 77 ++++++++++
+ src/mm-sim-mbim.h | 51 +++++++
+ 7 files changed, 671 insertions(+)
+
+commit a0ced36f142255ffc0995e358636cf8a7b9efe07
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 20:45:42 2013 +0200
+
+ base-modem: allow grabbing MBIM ports
+
+ src/mm-base-modem.c | 249
+ +++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-base-modem.h | 12 +++
+ 2 files changed, 247 insertions(+), 14 deletions(-)
+
+commit cb45de048faac153b6b49af7f98bcd4e3922a4d9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 20:00:28 2013 +0200
+
+ plugin: allow plugins to require MBIM probing of cdc-wdm ports
+
+ plugins/Makefile.am | 4 ++++
+ src/mm-plugin.c | 35 +++++++++++++++++++++++++++++++++--
+ src/mm-plugin.h | 1 +
+ 3 files changed, 38 insertions(+), 2 deletions(-)
+
+commit 3d2c0cc83ca59a5fd42548fa7af96a81c951d753
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 19:54:55 2013 +0200
+
+ port-probe: include MBIM port probing logic
+
+ src/Makefile.am | 15 +++-
+ src/mm-mbim-port.c | 226
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-mbim-port.h | 61 ++++++++++++++
+ src/mm-port-probe.c | 207 ++++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-port-probe.h | 13 ++-
+ src/mm-port.h | 3 +-
+ 6 files changed, 500 insertions(+), 25 deletions(-)
+
+commit dd5680debeeb43a13865343d5e7fe65bbc297360
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 19:23:14 2013 +0200
+
+ build: new '--with-mbim' configure switch
+
+ Will enable MBIM support through libmbim.
+
+ configure.ac | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 463de46e9e018b68c2fdb20abf3e25180de4d415
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 16 19:36:55 2013 -0500
+
+ novatel: ignore USB551L
+
+ Just like the E362, which the USB551L is quite similar to.
+
+ plugins/novatel/mm-plugin-novatel.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d3831fc641d41019122bad9022f4f4cf4ee295f1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 16 14:41:22 2013 +0200
+
+ serial greylist: tag device from Netchip Technology
+
+ src/77-mm-usb-serial-adapters-greylist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 72441677618cc211ff76b78bf8f5393194102537
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 16 14:39:58 2013 +0200
+
+ serial greylist: fix udev tag name for Arduino devices
+
+ src/77-mm-usb-serial-adapters-greylist.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f770ea43c23f98c3a81db93fd93439c7b9418174
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 11 14:46:17 2013 -0500
+
+ huawei: fix up udev rules file name
+
+ plugins/Makefile.am |
+ 2 +-
+ ...mm-huawei_net_port_types.rules => 77-mm-huawei-net-port-types.rules}
+ | 0
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+commit 3c1e77d78964d79deafee79b65da1f11cdb98890
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 11 19:21:46 2013 +0200
+
+ sim: fix signal emission
+
+ Signal should be emitted by the SIM object, not by the Modem object.
+
+ src/mm-sim.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 31215aba327a9151638ccc5ac37666e6efca3bb2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 13 15:42:14 2013 +0100
+
+ modem-helpers-qmi: explicitly add LTE as current cap if modem caps
+ report it
+
+ For loading current capabilities we use a mix of "Technology
+ Preference" (TP),
+ "System Selection Preference" (SSP) and DMS-reported
+ capabilities. But, as we
+ also use TP and SSP for allowed modes, it may be the case that we
+ end up
+ leaving 4G out of the allowed modes, which afterwards will make the
+ modem not
+ report LTE as current capabilitiy, as TP/SSP don't include LTE.
+
+ So, just assume LTE is a current capability if DMS-reported
+ capabilities include
+ it. We can really do this because LTE is the only 4G technology,
+ the same logic
+ wouldn't apply correctly for 2G or 3G (due to having different techs
+ for 3GPP
+ and 3GPP2).
+
+ src/mm-modem-helpers-qmi.c | 5 +++++
+ src/tests/test-modem-helpers-qmi.c | 8 ++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit 162d96b11680bbdf819a3f8e1c058184abb7b792
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 13 11:16:13 2013 +0100
+
+ test-modem-helpers-qmi: new unit tests to check the
+ 'current-capabilities' logic
+
+ Based on Dan's tests with QMI modems.
+
+ .gitignore | 1 +
+ src/mm-broadband-modem-qmi.c | 143 ++++----------
+ src/mm-modem-helpers-qmi.c | 71 +++++++
+ src/mm-modem-helpers-qmi.h | 16 ++
+ src/tests/Makefile.am | 43 ++++-
+ src/tests/test-modem-helpers-qmi.c | 383
+ +++++++++++++++++++++++++++++++++++++
+ 6 files changed, 549 insertions(+), 108 deletions(-)
+
+commit be8c8a99bb29d340720715874696bc1fae11d331
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Apr 10 12:06:13 2013 -0700
+
+ device: handle NULL returned by g_udev_device_get_driver() gracefully
+
+ This patch fixes a crash in mm_device_grab_port() when doing a string
+ comparison on a NULL returned by g_udev_device_get_driver().
+
+ Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )
+
+ 0x76b760b4 [libc-2.15.so] - strcmp.c:38
+ strcmp
+ 0x76c66a7d [libglib-2.0.so.0.3200.4] - ghash.c:1704
+ g_str_equal
+ 0x76ee0e5d [ModemManager] - mm-device.c:147
+ mm_device_grab_port
+ 0x76edf9d9 [ModemManager] - mm-manager.c:313
+ device_added
+ 0x76e95b2d [libgudev-1.0.so.0.1.0] -
+ extras/gudev/gudevmarshal.c:84 g_udev_marshal_VOID__STRING_OBJECT
+ 0x76d1fb2b [libgobject-2.0.so.0.3200.4] - gclosure.c:777
+ g_closure_invoke
+ 0x76d2b88b [libgobject-2.0.so.0.3200.4] - gsignal.c:3551
+ signal_emit_unlocked_R
+ 0x76d313c5 [libgobject-2.0.so.0.3200.4] - gsignal.c:3300
+ g_signal_emit_valist
+ 0x76d31569 [libgobject-2.0.so.0.3200.4] - gsignal.c:3356
+ g_signal_emit
+ 0x76e93bdd [libgudev-1.0.so.0.1.0] -
+ extras/gudev/gudevclient.c:105 monitor_event
+ 0x76c9beb7 [libglib-2.0.so.0.3200.4] - giounix.c:166
+ g_io_unix_dispatch
+ 0x76c714c1 [libglib-2.0.so.0.3200.4] - gmain.c:2539
+ g_main_context_dispatch
+ 0x76c71745 [libglib-2.0.so.0.3200.4] - gmain.c:3146
+ g_main_context_iterate
+ 0x76c71a59 [libglib-2.0.so.0.3200.4] - gmain.c:3340
+ g_main_loop_run
+ 0x76ede8ed [ModemManager] - main.c:142
+ main
+ 0x76b35f79 [libc-2.15.so] - libc-start.c:226
+ __libc_start_main
+ 0x76edea49 [ModemManager] + 0x00014a49
+ 0x76eb4eab [ld-2.15.so] + 0x0000aeab
+
+ src/mm-device.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 33a572b9d00128492af2d3890e4c6aeec400b465
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 9 14:10:32 2013 -0500
+
+ broadband-modem-qmi: ignore invalid signal strengths
+
+ Sometimes invalid signal strengths will be returned by the modem,
+ which we should ignore. Otherwise they make the reported signal
+ quality bounce around from eg 21% -> 100%, or cause access
+ technology updates for radio interfaces that can't possible have
+ a usable signal.
+
+ src/mm-broadband-modem-qmi.c | 158
+ +++++++++++++++++++++++++++++--------------
+ 1 file changed, 109 insertions(+), 49 deletions(-)
+
+commit c737c57eb031e300d24d9cc81a592b541f66e74b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 10 09:49:15 2013 +0200
+
+ broadband-modem-qmi: fix setup of unsolicited registration updates
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 089dc1ddc0715f0bea0fdabc33b42b252b9e4d13
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 10 09:26:03 2013 +0200
+
+ man,mmcli: --simple-connect allows any of the --create-bearer options
+
+ docs/man/mmcli.8 | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit a12d979373a7c0724664889a237905f6ea3aeb1e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 9 18:41:42 2013 +0200
+
+ huawei: increase the connection timeout to 60s
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit cb11bd09d6ad8cdfc97cef8f3793dd82580006b8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 13:38:31 2013 +0200
+
+ huawei: plug memleak
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 01400024cdf6faea50faa6ba170dc37876fa5d5f
+Author: Franko Fang <fangxiaozhi@huawei.com>
+Date: Wed Apr 3 13:14:14 2013 +0200
+
+ huawei: add port type rules for modems
+
+ plugins/huawei/77-mm-huawei_net_port_types.rules | 6 +++++
+ plugins/huawei/mm-plugin-huawei.c | 33
+ +++++++++++++++++-------
+ 2 files changed, 30 insertions(+), 9 deletions(-)
+
+commit d56a87a3bde4f504f828c050b905f20425c4c665
+Author: Franko Fang <fangxiaozhi@huawei.com>
+Date: Wed Apr 3 13:12:43 2013 +0200
+
+ base-modem: keep AT port as possible data port if flagged as PPP
+
+ src/mm-base-modem.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+commit 9d4091cc89366e59a4e41b9f0212cce24d26127b
+Author: Franko Fang <fangxiaozhi@huawei.com>
+Date: Wed Apr 3 13:11:56 2013 +0200
+
+ huawei: flag modems which support NDISDUP
+
+ plugins/Makefile.am | 1 +
+ plugins/huawei/77-mm-huawei_net_port_types.rules | 10 +++++
+ plugins/huawei/mm-broadband-modem-huawei.c | 55
+ +++++++++---------------
+ 3 files changed, 31 insertions(+), 35 deletions(-)
+
+commit 4d31315b959ce87e242070842cd9fe3c234fa7e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 9 17:20:27 2013 +0200
+
+ port-probe: fix source_remove() vs signal_handler_disconnect()
+
+ src/mm-port-probe.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit dff23f57b3e829e5abe6008b6b21e45d1297eade
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 8 18:03:39 2013 +0200
+
+ huawei: use a 3s timeout as after-sim-unlock step
+
+ Huawei e220 may fail miserably (rebooting itself) if we issue
+ commands just
+ after having unlocked the PIN.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 38
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 38 insertions(+)
+
+commit 55fdc76a56e5da0eb391d22d6f53d985ca38a9af
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 8 11:09:46 2013 -0500
+
+ blacklist: move Arduino USB/Serial adapter to greylist
+
+ It's a generic adapter, should be in the manual-probe-only
+ greylist instead of the blacklist.
+
+ src/77-mm-usb-device-blacklist.rules | 6 ------
+ src/77-mm-usb-serial-adapters-greylist.rules | 5 ++++-
+ 2 files changed, 4 insertions(+), 7 deletions(-)
+
+commit 660d59ab44d9821a2b2a5efea823d51fb72e5511
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 8 10:53:38 2013 -0500
+
+ blacklist: ignore a few more Arduinos (rh #861620)
+
+ src/77-mm-usb-device-blacklist.rules | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 358fe7f9067d1496b762b97e12babd27a3882ee7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 6 22:44:00 2013 +0200
+
+ base-modem: don't assume primary AT port is available
+
+ QMI modems may not have it.
+
+ src/mm-base-modem.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 3b6b049e51a5be5d099a8ac3c27973b91b8a5be9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 5 18:08:46 2013 +0200
+
+ serial-parser: detect 'NA' as a mobile equipment error
+
+ Just treat 'NA' as MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED error.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=697368
+
+ src/mm-serial-parsers.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit a294800c7f6290b49ee5011e0a4e99831a070161
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 5 18:22:02 2013 +0200
+
+ icera: create generic bearer when no net port available
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=697374
+
+ plugins/icera/mm-broadband-modem-icera.c | 38
+ ++++++++++++++++++++++++++++----
+ 1 file changed, 34 insertions(+), 4 deletions(-)
+
+commit f9105bff875ae0e7263718a317e156948957a6d0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 16:30:48 2013 +0200
+
+ api,introspection: update 'Validity' property in the SMS interface
+
+ We don't want to support only 'relative' validity, so don't assume
+ that the
+ Validity property will always be a uint32 value.
+
+ Instead, we define the Validity propery as '(uv)' tuple, where the
+ first value
+ (a MMSmsValidityType) specifies the type of validity, and the second
+ value is
+ a variant formatted accordingly to what the validity type specifies
+ (e.g. a
+ uint32 value if the type is MM_SMS_VALIDITY_TYPE_RELATIVE).
+
+ cli/mmcli-sms.c | 17 ++++---
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 8 ++-
+ include/ModemManager-enums.h | 16 ++++++
+ .../org.freedesktop.ModemManager1.Sms.xml | 24 +++++++--
+ libmm-glib/mm-sms.c | 59
+ +++++++++++++++++++---
+ libmm-glib/mm-sms.h | 3 +-
+ src/mm-sms-part.c | 16 +++---
+ src/mm-sms-part.h | 4 +-
+ src/mm-sms.c | 33 +++++++++++-
+ src/tests/test-sms-part.c | 2 +-
+ 11 files changed, 149 insertions(+), 34 deletions(-)
+
+commit 372a49bbf661c95110852c86df54008a7bad2774
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 5 10:33:16 2013 -0500
+
+ qcdm: add unsolicited signal level indication from Samsung Z810
+
+ libqcdm/src/dm-commands.h | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit 086557e5d53806c962c44060306e49fcbb446786
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 5 10:16:21 2013 +0200
+
+ iface-modem-simple: log about all parameters passed to
+ Simple.Connect()
+
+ src/mm-iface-modem-simple.c | 63
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 63 insertions(+)
+
+commit a2d2f839100e84b721dc335b083f444cebcbb8a1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 5 09:47:31 2013 +0200
+
+ mbm: plug memleaks
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 30e2a0f4d0eaf632b357c1b1fd17730c932c6e63
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 5 09:43:38 2013 +0200
+
+ mbm: don't pass (null) as string when either user or password is empty
+
+ E.g. instead of:
+ (ttyACM1): --> 'AT*EIAAUW=2,1,"(null)","vodafone"<CR>'
+ (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
+
+ Better pass:
+ (ttyACM1): --> 'AT*EIAAUW=2,1,"","vodafone"<CR>'
+ (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 1cb5831af33237ca8f343410982f44cf8fd2903c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 5 08:54:09 2013 +0200
+
+ iface-modem: ensure we cancel the re-initialization idle if the
+ modem goes away
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=697290
+
+ src/mm-iface-modem.c | 30 ++++++++++++++++++++++++++++--
+ 1 file changed, 28 insertions(+), 2 deletions(-)
+
+commit 76ecc1301af4a19d1bef31d320c79edb4ce013a2
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 4 12:40:10 2013 -0700
+
+ broadband-bearer: handle NULL and character escaping of APN value
+
+ src/mm-broadband-bearer.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 5554658cd2c87d92156f8224db50ccc5f58950a6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 4 18:14:36 2013 +0200
+
+ port-probe: remove non-AT port hint, as it may come in ATI replies
+
+ We remove "/SRC/AMSS" as a hint of non-AT port, as it really comes
+ in ATI
+ replies, see:
+
+ [mm-at-serial-port.c:408] debug_log(): (ttyUSB6):
+ <-- '<CR><LF>Manufacturer: Sierra Wireless,
+ Incorporated<CR><LF>Model: USB 306<CR><LF>Revision:
+ M3_0_10_1AP C:/WS/FW/M3_0_10_1AP/MDM8200/SRC/AMSS
+ 2010/03/29 17:52:11<CR><LF>IMEI: xxxxxxxx<CR><LF>IMEI SV:
+ 11<CR><LF>FSN: xxxxxxxxxx<CR><LF>3GPP Release 7<CR><LF>+GCAP:
+ +CGSM,+DS,+ES<CR><LF><CR><LF><CR><LF>OK<CR><LF>'
+ [mm-serial-parsers.c:188] mm_serial_parser_v1_parse(): Got response
+ filtered in serial port: Not an AT response
+ [mm-port-probe.c:148] mm_port_probe_set_result_at(): (tty/ttyUSB6)
+ port is not AT-capable
+
+ src/mm-port-probe.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 8c39f2c55157b0304269fa303f5feb2889ec6333
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 17:45:39 2013 +0200
+
+ sierra: implement PIN/PUK retry count loading
+
+ Not all Sierra modems support it, but those which do reply like this:
+
+ AT+CPINC=?
+ OK
+
+ AT+CPINC?
+ +CPINC: 3,3,10,10
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 61
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 61 insertions(+)
+
+commit 464f33f77f66738c17c14390d7605167f52f62e5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 12:29:14 2013 +0200
+
+ sierra: early detect non-AT ports
+
+ Detect the parser filter errors during our custom_init(), and set
+ the port as
+ not being AT if the error found.
+
+ plugins/sierra/mm-plugin-sierra.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 069a17afd3c0ae007168987836ddaf9dfa63c3e0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 12:28:16 2013 +0200
+
+ port-probe: remove no longer needed filter
+
+ Remove the additional check for AT responses done *after* having
+ parsed the
+ response. This check only worked whenever the response string ended
+ up matching
+ one of the regular expressions in the parser, which of course
+ wasn't always.
+
+ src/mm-port-probe.c | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+commit f24fc68e04fbe225de162f57e3cbd254f8f03df4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 12:26:24 2013 +0200
+
+ port-probe: add a new serial parser filter to detect non-AT strings
+
+ We will check each string with our custom filter before even trying to
+ parse them. A MM_SERIAL_ERROR_PARSE_FAILED error will be issued
+ whenever the
+ string doesn't match the filter.
+
+ include/ModemManager-errors.h | 2 ++
+ src/mm-port-probe-at.c | 11 +++++++----
+ src/mm-port-probe.c | 25 ++++++++++++++++++++++++-
+ 3 files changed, 33 insertions(+), 5 deletions(-)
+
+commit 4e4d139e309c890b2c5c44b747aeaf9a5deac9bc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 12:24:18 2013 +0200
+
+ serial-parsers: allow specifying a custom response filter
+
+ The serial parser will now allow specifying a custom user-provided
+ filter, which
+ is applied before even trying to match successful/error
+ responses. This filter
+ provides a very early barrier to detect strings that are clearly
+ not going to
+ match.
+
+ E.g. this filter may be used during port probing to early detect
+ non-AT ports.
+
+ src/mm-serial-parsers.c | 36 ++++++++++++++++++++++++++++++++++--
+ src/mm-serial-parsers.h | 28 +++++++++++++++++++---------
+ 2 files changed, 53 insertions(+), 11 deletions(-)
+
+commit 38b120c8617724ba97ac212c9e01d01c850abdc8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 12:20:46 2013 +0200
+
+ port-probe: don't assume the NULL bytes will be at the beginning of
+ the response
+
+ Also report as non-AT responses if the NUL bytes are embedded within
+ a stream
+ of bytes which doesn't start with NUL. This e.g. applies to CnS
+ ports from
+ Sierra modems, which show streams like:
+
+ ~\0\245y\0}^T1_0_4_0BT R372 CNSZXD00000061 2011/05/12
+ 15:25:25\0\0\0\0\0\0\0\0\0
+ \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0T1_0_4_0AP R372
+ CNSZXD00000061 2011/05
+ /12
+ 15:25:25\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
+ 03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
+ \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~~
+ \0Tb\0T1_0_4_0AP R372 CNSZXD
+
+ src/mm-port-probe.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit 4ea827a3a11767081d1c055d694ce644e6723cef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 11:05:36 2013 +0200
+
+ sierra: too many timeout errors during custom init means non-AT port
+
+ Reduces probing time of the modem in ~10s.
+
+ plugins/sierra/mm-plugin-sierra.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 2c3e2bd457b908800155e3cfecbccfa9a1f530c7
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Apr 4 09:28:45 2013 -0700
+
+ serial,blacklist: fix file mode (0755 -> 0644)
+
+ src/77-mm-usb-device-blacklist.rules | 0
+ src/mm-at-serial-port.c | 0
+ 2 files changed, 0 insertions(+), 0 deletions(-)
+
+commit e60ad8d8dc82e8bd6ae9afff2d0b1da264a4ce15
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 4 18:25:29 2013 +0200
+
+ mbm: ignore *ESTKSMS unsolicited messages
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=697280
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit d2b4ab9d9c24dfd97ad842b35a2bbd41e6110e00
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 4 17:22:45 2013 +0200
+
+ sierra: 'data' may be NULL if the parent dialling fails
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit a62624aa2293a480e42d49856d131cb2c35b2f27
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 17:12:24 2013 +0200
+
+ sierra: plug memleak
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit bc41dd40cdd8db66c1929465df9b8babf1bd0af1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 4 16:59:19 2013 +0200
+
+ broadband-bearer: ensure we close the port even if we got cancelled
+
+ When there is an error in the connection attempt we need to close
+ the dialling
+ port ourselves. In the case where we got an error and we also got
+ cancelled,
+ we need to make sure that the port gets closed.
+
+ src/mm-broadband-bearer.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 0d20a7c85a3b287cf68372eef756194f760a23f7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 4 09:48:54 2013 +0200
+
+ altair-lte: minor style changes
+
+ plugins/altair/mm-broadband-modem-altair-lte.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 84e68cd4cdad03766513cc689519be6dad2f75f6
+Author: ori inbar <ori.inbar.altair.semi.com@gmail.com>
+Date: Wed Apr 3 12:47:30 2013 -0500
+
+ altair-lte: initial altair lte plugin
+
+ plugins/Makefile.am | 12 +
+ plugins/altair/mm-broadband-bearer-altair-lte.c | 377 +++++++++
+ plugins/altair/mm-broadband-bearer-altair-lte.h | 61 ++
+ plugins/altair/mm-broadband-modem-altair-lte.c | 973
+ ++++++++++++++++++++++++
+ plugins/altair/mm-broadband-modem-altair-lte.h | 51 ++
+ plugins/altair/mm-plugin-altair-lte.c | 84 ++
+ plugins/altair/mm-plugin-altair-lte.h | 48 ++
+ src/77-mm-usb-device-blacklist.rules | 3 +
+ 8 files changed, 1609 insertions(+)
+
+commit 585b51f922c10f28b7b1bf3ba82a0904c33715c8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 3 09:07:55 2013 +0200
+
+ broadband-modem: remove incorrect debug log
+
+ src/mm-broadband-modem.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 53b033c727a5fb69155e445d11aec30d87d4c3d9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 2 12:17:40 2013 -0500
+
+ broadband-modem: turn off CNMI <ds> reporting if modem doesn't
+ support it
+
+ MM doesn't yet parse the +CNMI=? response and dynamically figure out
+ what indication settings are supported, so add another last-resort
+ CNMI setting for the UMW190 which doesn't support any <ds> at all.
+
+ And the commands shouldn't be cached, so fix that too.
+
+ src/mm-broadband-modem.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+commit b67a3948b5900c9af0fd4b97f0febae52ac4a1cc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 2 12:10:54 2013 -0500
+
+ qcdm: fix IM*I buffer sizes for GSM and WCDMA state info requests
+
+ Found by Enrico Murador.
+
+ libqcdm/src/commands.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 9ffb424ed4fc07a4aa0662ce0f84d7b7d5b06617
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 2 17:41:54 2013 +0200
+
+ pantech: skip WMC ports
+
+ WMC ports will return "ERROR" to all AT commands, except for "AT"
+ itself. So
+ just provide a custom AT probing logic, which uses "ATE0" instead,
+ and assumes
+ the port is not an AT port if an error is returned.
+
+ plugins/pantech/mm-plugin-pantech.c | 41
+ +++++++++++++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+commit 678f596ff996dd483d00f026cd21e120fbde698b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 2 13:31:31 2013 +0200
+
+ qcdm-serial-port: avoid playing with GByteArray internals
+
+ Since glib 2.32, we can use g_byte_array_new_take() to build a
+ new GByteArray
+ from an own allocated buffer, so skip playing with the GByteArray
+ internals.
+
+ configure.ac | 6 +++---
+ src/mm-qcdm-serial-port.c | 17 ++++++++++-------
+ 2 files changed, 13 insertions(+), 10 deletions(-)
+
+commit fc219be4d46aefe644cc17b6a0976be5c1a732b8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 2 16:13:43 2013 +0200
+
+ sms-part: properly skip validity field when given in absolute or
+ enhanced format
+
+ We don't support absolute or enhanced format for validity, but we
+ still need to
+ properly skip those fields if given.
+
+ According to GSM 03.40, they are both always 7 bytes, not just 1.
+
+ src/mm-sms-part.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit c1e70924d8197c51bb8dedb2d232f03dff87aa7b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 30 14:53:17 2013 +0100
+
+ broadband-modem: update CMGL parsing logic
+
+ Pantech UMW190 modem uses a custom +CMGL response which includes only
+ three fields before the actual PDU, e.g:
+
+ +CMGL: <index>,<status>,<something>\r\n<PDU>
+
+ instead of what we had before:
+
+ +CMGL: <index>,<status>,<alpha>,<length>\r\n<PDU>
+
+ The CMGL parsing logic is now updated to use a regex to match the
+ reply, and
+ also considering the UMW190 specific case.
+
+ Actually, we end up reading only the two first fields (index and
+ status) which
+ are the ones we really need, so we skip the <length> and the <alpha>
+ if given.
+
+ Added also unit tests to cover all these known cases.
+
+ Partially fixes https://bugzilla.gnome.org/show_bug.cgi?id=696723
+ (missing the
+ actual PDU parsing fixes).
+
+ src/mm-broadband-modem.c | 45 ++++-------
+ src/mm-modem-helpers.c | 70 ++++++++++++++++-
+ src/mm-modem-helpers.h | 11 +++
+ src/tests/test-modem-helpers.c | 172
+ +++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 268 insertions(+), 30 deletions(-)
+
+commit bb4f4f4e9e91d79974d1bb4ce3d42c5b0bbc734d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 30 12:43:25 2013 +0100
+
+ pantech: fully skip the SIM storage in the messaging interface
+
+ Seems that trying to use the SIM storage hangs a UMW190 modem,
+ so just fully
+ ignore it for now.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=696724
+
+ plugins/pantech/mm-broadband-modem-pantech.c | 61
+ +++++++++++++++++++++++++++-
+ 1 file changed, 60 insertions(+), 1 deletion(-)
+
+commit a066cc84cfb699056774c31d7025b83a26fc910c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 1 17:47:43 2013 +0200
+
+ mbm: fix udev rule tagging logic
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4fe5b3e42c50cadca0cb5606e7142a22f7449049
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 1 16:38:29 2013 +0200
+
+ serial-usb greylist: added new USB<->Serial adapters
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=643793
+
+ src/77-mm-usb-serial-adapters-greylist.rules | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 2896e711ae8d4ae5b2188c963aeb8456ff2189fe
+Author: David Castellanos <dcastellanos@indra.es>
+Date: Tue Mar 26 16:24:40 2013 +0100
+
+ x22x: Fix problem in set allowed mode
+
+ NM attempts to set allowed and preferred mode during the connection
+ process. The plugin x220x does not handle properly when NM request
+ allowed mode to '2g, 3g' and the preferred mode to 'none'.
+
+ This commit attempts to solve the problem described above. When this
+ situation happens, establish the mode of the modem has 'ANY' (which
+ seems the safest one) instead of just throwing an error.
+
+ Signed-off-by: David Castellanos <dcastellanos@indra.es>
+
+ plugins/x22x/mm-broadband-modem-x22x.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c9b7761ed5ae83989cd3c8e2fbb5fc413c351102
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 1 14:12:54 2013 +0200
+
+ base-modem: don't assume all cdc-wdm ports are QMI
+
+ src/mm-base-modem.c | 23 +++++++++++++----------
+ 1 file changed, 13 insertions(+), 10 deletions(-)
+
+commit 5ffad1f51f217abe237f9c9ef0bc3151a7cad227
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 30 11:38:29 2013 +0100
+
+ mbm: don't tag only tty ports, and also grab cdc-wdm ports
+
+ We also need to tag cdc-wdm ports, so that they get grabbed but
+ ignored and
+ not QMI-probed.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=696701
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 5 +++--
+ plugins/mbm/mm-plugin-mbm.c | 2 +-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+commit b9b5ca39dfc13073584d99f20c94bd275aeba713
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 29 13:47:16 2013 +0100
+
+ mbm: wait for unlock reporting READY after PIN/PUK unlock
+
+ MBM modems will lie about the unlock status just after having sent a
+ correct PIN or PUK. So, explicitly wait to get in READY state
+ after having
+ sent the PIN or PUK, before keeping on.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=696702
+
+ plugins/Makefile.am | 4 +-
+ plugins/mbm/mm-broadband-modem-mbm.c | 26 ++++
+ plugins/mbm/mm-sim-mbm.c | 237
+ +++++++++++++++++++++++++++++++++++
+ plugins/mbm/mm-sim-mbm.h | 51 ++++++++
+ 4 files changed, 317 insertions(+), 1 deletion(-)
+
+commit 477623f0a076b09f703db96927c7b3baeab493d8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 27 17:38:45 2013 -0500
+
+ broadband-modem-novatel: implement CDMA time API (bgo #696739)
+
+ Use AT$NWLTIME to get current time and UTC offset.
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 169
+ ++++++++++++++++++++++++++-
+ 1 file changed, 168 insertions(+), 1 deletion(-)
+
+commit a7b8cbb71d1447a5cc870aefed99ccc6b3325cd3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 29 12:33:20 2013 +0100
+
+ port-probe: don't reschedule next probing step when serial port
+ buffer full
+
+ When the serial port buffer gets full of non-AT garbage during
+ port probing,
+ we were re-scheduling the next probing step, which is completely
+ wrong, as we
+ then would be processing the same probing task twice. If we get a
+ buffer full,
+ just cancel the AT probing cancellable, which would cancel not only
+ the possible
+ AT probings, but also the custom init if there is any.
+
+ Also, make sure that the custom_init() of the plugins out there
+ don't return an
+ error if the GCancellable is cancelled. Cancelling the GCancellable
+ means we
+ should just stop the custom_init(), and actually sending an error in
+ custom_init() means that the port should be set as unsupported by
+ the plugin, so
+ completely different things.
+
+ Should fix https://bugzilla.gnome.org/show_bug.cgi?id=696695
+
+ plugins/huawei/mm-plugin-huawei.c | 5 +----
+ plugins/longcheer/mm-plugin-longcheer.c | 5 +----
+ plugins/sierra/mm-plugin-sierra.c | 10 ++++------
+ plugins/x22x/mm-plugin-x22x.c | 5 +----
+ src/mm-port-probe.c | 10 ++++++++--
+ 5 files changed, 15 insertions(+), 20 deletions(-)
+
+commit 1e7164792732b28db77fdc3d56e4a7a9e43e6602
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 28 20:48:42 2013 +0100
+
+ broadband-modem: plugins may disable parent's access tech loading
+
+ src/mm-broadband-modem.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 633708b364c646595af3242c6d1a7b03b9a2359f
+Author: ori inbar <ori.inbar.altair.semi.com@gmail.com>
+Date: Wed Mar 27 15:14:51 2013 -0500
+
+ serial: add support to optionally send line-feed at the end of
+ AT commands.
+
+ src/mm-at-serial-port.c | 40 ++++++++++++++++++++++++++++++++++------
+ src/mm-at-serial-port.h | 2 ++
+ src/mm-plugin.c | 19 +++++++++++++++++++
+ src/mm-plugin.h | 1 +
+ src/mm-port-probe.c | 5 +++++
+ src/mm-port-probe.h | 1 +
+ 6 files changed, 62 insertions(+), 6 deletions(-)
+
+commit 98772f2ec9af0662631232a176141465a12b06e6
+Author: ori inbar <ori.inbar.altair.semi.com@gmail.com>
+Date: Wed Mar 27 15:25:58 2013 -0500
+
+ iface-modem-3gpp: handle access technology change in operator_loading
+ state
+
+ This patch fixes a problem of disregarding CEREG/CGREG/CREG reported
+ access technology since we are in "registering" state - meaning we are
+ loading operator name+code. now even in this transition state the ACT
+ is updated.
+
+ src/mm-iface-modem-3gpp.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit effd574a632c78f70887368c8296d133157c2a3c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 28 17:49:22 2013 +0100
+
+ option: don't apply both vendor and product filters at the same time
+
+ The probing logic expects either one or the other right now. In this
+ case, it is
+ just simpler to include the Nozomi-related VID in the vendor filter,
+ and remove
+ the product filter.
+
+ plugins/option/mm-plugin-option.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit 2bbe2f83275e04c44f7fb46102d40871ae505603
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 27 16:05:31 2013 -0500
+
+ device: read PCI VID/PID
+
+ Nozomi devices are old Option NV CardBus devices with the ttys (nozX)
+ hanging directly off the PCI device. We need to read the vendor and
+ product IDs off them too. It appears that udev screws up the
+ ID_MODEL_ID
+ field (at least on F17, its set to the device path and not the PCI ID)
+ so just skip looking at the TTY itself and read the PCI parent, where
+ we're 100% sure to find the PCI IDs we want.
+
+ src/mm-device.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit e33fc37ec2e7574bf74ae60496fe3c1ed2ff0e3a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 27 15:15:04 2013 +0100
+
+ option: ignore PH_SIM facility lock in 'nozomi' based modems
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=696593
+
+ plugins/option/mm-broadband-modem-option.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit d9cf4fe91c21eb045cc4718d73cf2210b945d273
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 27 15:14:34 2013 +0100
+
+ iface-modem-3gpp: let plugins ignore facility locks
+
+ Plugins may decide which facility locks can be completely skipped
+ from the list
+ being checked.
+
+ src/mm-broadband-modem.c | 24 ++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.c | 9 +++++++++
+ src/mm-iface-modem-3gpp.h | 11 ++++++-----
+ 3 files changed, 39 insertions(+), 5 deletions(-)
+
+commit fea5b7a670ac64775771ccd3d3b635d4878d6ba9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 27 18:20:34 2013 -0500
+
+ broadband-modem-icera: make CME 3 errors fail power-up (bgo #696742)
+
+ +CME ERROR: 3 (Not Allowed) means airplane mode, at least for the
+ Samsung Yxxxx devices that I've got. And if we get this error
+ on any other devices, chances are they'll fail to power up too.
+
+ plugins/icera/mm-broadband-modem-icera.c | 54
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 54 insertions(+)
+
+commit d6ac6508d95aeab49f7ed9a5fe225c7685107f73
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 27 17:00:08 2013 +0100
+
+ plugin: explicitly request QMI probing
+
+ Plugins which may support QMI ports need to explicitly request
+ QMI probing
+ in cdc-wdm devices. This should also avoid probing cdc-wdm ports
+ when we know
+ that the plugin doesn't support them (e.g. with Ericsson MBM devices).
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=696701
+
+ plugins/anydata/mm-plugin-anydata.c | 1 +
+ plugins/generic/mm-plugin-generic.c | 1 +
+ plugins/gobi/mm-plugin-gobi.c | 1 +
+ plugins/huawei/mm-plugin-huawei.c | 1 +
+ plugins/pantech/mm-plugin-pantech.c | 7 ++++---
+ plugins/sierra/mm-plugin-sierra.c | 1 +
+ src/mm-plugin.c | 29 +++++++++++++++++++++++++++--
+ src/mm-plugin.h | 1 +
+ 8 files changed, 37 insertions(+), 5 deletions(-)
+
+commit b76dc134bf6bed78c0a83fdc12d2e1f66821148c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 27 17:29:49 2013 +0100
+
+ novatel: try to flip secondary ports to AT as soon as possible
+
+ So do it during port probing. If we send this command early enough
+ in the
+ first AT port being probed, it should flip the secondary ports to
+ AT mode
+ before their port probing is finished.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=696696
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 23 -----------------------
+ plugins/novatel/mm-plugin-novatel.c | 16 ++++++++++++++++
+ 2 files changed, 16 insertions(+), 23 deletions(-)
+
+commit ca97f0e79fde28f934eddebb32b51dfa31be5d74
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 27 18:02:50 2013 -0500
+
+ broadband-modem-sierra: fix trivial copy & paste error
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 190eb73bf969e3c1bd4e3dc101b538e810739664
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 27 15:02:40 2013 -0500
+
+ broadband-modem: prefer specific access tech checks over generic
+ +CGREG access tech (bgo #696705)
+
+ If the modem has specific access technology checks, don't override
+ them
+ with the generic access technology from +CGREG responses, since that
+ doesn't have the granularity that specific checks do. For example,
+ the
+ +CGREG response only indicates UMTS, and cannot indicate HSDPA, HSUPA,
+ HSPA, HSPA+, DC-HSPA, etc.
+
+ src/mm-broadband-modem.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit 9119962e12aa886eae575993df09602362554cf3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 27 08:31:18 2013 -0500
+
+ broadband-modem: remove debugging code
+
+ Slipped in while debugging Nozomi stuff; not caught in review.
+
+ src/mm-broadband-modem.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit b377a62377db46c2cdb2b3b8f6f4166f7d2a3dcc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 26 16:40:54 2013 +0100
+
+ iface-modem: never try to create a SIM in a CDMA-only modem
+
+ CDMA modems without LTE capabilities will usually not have a SIM,
+ so just skip
+ loading a SIM object if so.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=696582
+
+ src/mm-broadband-modem.c | 52
+ +++---------------------------------------------
+ src/mm-iface-modem.c | 6 ++++--
+ 2 files changed, 7 insertions(+), 51 deletions(-)
+
+commit 7f1bea5fbf9ea25eeebb320e476d56ece44f276e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 25 13:47:00 2013 -0500
+
+ broadband-modem-qmi: zero-pad ESN to 8 characters
+
+ It's very likely to already be 8 characters, but if by some
+ chance it's 7, zero-pad like we do for AT+GSN responses in
+ the generic CDMA code.
+
+ src/mm-broadband-modem-qmi.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit 3b3326bdf03a02822ac8d1e9e0ff08db2324c3ed
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 25 13:20:13 2013 -0500
+
+ broadband-modem: parse +GSN response for IMEI, MEID, and ESN
+ (bgo #696596)
+
+ +GSN response differs widely between modems. Some prefix the
+ MEID and/or ESN with 0x, some have leading zeros, some return the
+ MEID and the ESN, and some append the serial number to the end of
+ the IMEI. Handle that and make the ESN, MEID, IMEI, and
+ EquipmentIdentifier parsing consistent.
+
+ src/mm-broadband-modem.c | 81 +++++++++++++++++++++++----
+ src/mm-modem-helpers.c | 121
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 5 ++
+ src/tests/test-modem-helpers.c | 68 ++++++++++++++++++++++-
+ 4 files changed, 263 insertions(+), 12 deletions(-)
+
+commit f299a05571f8d9b9f0bf996f20563ed9a13dab02
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 26 12:34:52 2013 +0100
+
+ sms-part: use correct printf modifier for gsize
+
+ This is the port to git master of the following commit:
+
+ commit 294a91d9f6390d532399be35ddbf6a2b8d136576
+ Author: Thomas Bechtold <thomasbechtold@jpberlin.de>
+ Date: Mon Mar 25 14:28:03 2013 +0100
+
+ sms-utils: use correct printf modifier for gsize
+
+ src/mm-sms-part.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit fcbaa4355505b9de3f227145c4455ca5c387c1e8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 25 16:18:28 2013 -0500
+
+ broadband-modem: minimally verify QCDM MDN before using it
+
+ Sometimes it's garbage, and we don't like garbage.
+
+ src/mm-broadband-modem.c | 27 ++++++++++++++++++++++++---
+ 1 file changed, 24 insertions(+), 3 deletions(-)
+
+commit 95b46c16f1ddb5102876ad87ade47b974cd45e34
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 25 15:49:08 2013 -0500
+
+ broadband-modem-sierra: add after-sim-unlock delay
+
+ Older devices may crash if asked to connect right after sending the
+ PIN and unlocking the SIM; they simply stop responding to AT commands
+ around the first request for access technology and then reboot. A
+ delay seems prevents this behavior.
+
+ Since it's not uncommon to require a delay after SIM unlock, add one
+ for newer sierra_net devices as well, even though we're not quite
+ sure if they need one or not. It doesn't hurt, at least.
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 50
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 50 insertions(+)
+
+commit 8ebce66f966c18bea0114206bcfeacdc08023c84
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 25 15:03:59 2013 -0500
+
+ sierra: fix time check warnings for modems that don't support time
+
+ 'result' may be NULL even if no error is set. Errors aren't set
+ because we want to continue the !TIME/!SYSTIME sequence regardless
+ of errors, so we can figure out which command the modem supports.
+
+ Trying to get a uint32 out of a NULL GVariant makes glib complain,
+ and it's wrong, so don't do that.
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 14bb687b946380e03c6c6e482f14c0374e50ac18
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 22 08:17:48 2013 +0100
+
+ iface-modem-cdma: fix use of uninitialized variable
+
+ src/mm-iface-modem-cdma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 215255d32553c3ef8919052b8c33a866c84cac7a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 10 15:35:50 2012 +0200
+
+ cli: show CDMA activation state info
+
+ cli/mmcli-modem.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 3b66047d941e8d38c38022fc835ce1f5dab32bf8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 18:59:56 2012 +0200
+
+ broadband-modem-qmi: implement automatic CDMA activation
+
+ src/mm-broadband-modem-qmi.c | 347
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 344 insertions(+), 3 deletions(-)
+
+commit 6252df0bef49c417a4d5b7bab51695d57de3b658
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 10 11:30:05 2012 +0200
+
+ broadband-modem-qmi: new generic power cycle action
+
+ src/mm-broadband-modem-qmi.c | 176
+ ++++++++++++++++++++++++++++---------------
+ 1 file changed, 114 insertions(+), 62 deletions(-)
+
+commit 3e5251cad703dcb7ec679fae215f4cb01503df4e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 18:21:02 2012 +0200
+
+ broadband-modem-qmi: implement initial CDMA activation state loading
+
+ src/mm-broadband-modem-qmi.c | 97
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-qmi.c | 27 ++++++++++++
+ src/mm-modem-helpers-qmi.h | 2 +
+ 3 files changed, 126 insertions(+)
+
+commit 5cc98341ad5fbafd3d8f83c65767f604b0e5a5e4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 17:59:06 2012 +0200
+
+ iface-modem-cdma: load initial activation state during init
+
+ src/mm-iface-modem-cdma.c | 38 ++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-cdma.h | 8 ++++++++
+ 2 files changed, 46 insertions(+)
+
+commit 240dc12fd268b2fed4c14e303779d779d9c39490
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 17:46:27 2012 +0200
+
+ iface-modem-cdma: allow reporting activation state changes
+
+ src/mm-iface-modem-cdma.c | 68
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-cdma.h | 10 ++++---
+ 2 files changed, 74 insertions(+), 4 deletions(-)
+
+commit 685eb85534118557545b5b4e5516818ab21394a5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 17:50:33 2012 +0200
+
+ api,enums: new `MM_MODEM_CDMA_ACTIVATION_STATE_UNKNOWN' value
+
+ Used initially when we don't know the current activation state.
+
+ include/ModemManager-enums.h | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 3e33f1bc4dd925da6c52191aa953f64e1cd22de2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 17:45:43 2012 +0200
+
+ api,introspection: new `ActivationState' property in the CDMA
+ interface
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +++
+ .../org.freedesktop.ModemManager1.Modem.ModemCdma.xml | 8 ++++++++
+ libmm-glib/mm-modem-cdma.c | 18
+ ++++++++++++++++++
+ libmm-glib/mm-modem-cdma.h | 1 +
+ 4 files changed, 30 insertions(+)
+
+commit 9367f239db5b64f560e02575335b176c0a38024b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 17:15:57 2012 +0200
+
+ api,introspection: minor updates in the CDMA interface descriptions
+
+ introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml |
+ 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit ad757bd3bc722bd8ee9d015d1a6b45f689fc1628
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 21 17:29:49 2013 +0100
+
+ bearer-qmi: don't try to gather connection settings if we didn't
+ connect
+
+ src/mm-bearer-qmi.c | 46 +++++++++++++++++++++++++---------------------
+ 1 file changed, 25 insertions(+), 21 deletions(-)
+
+commit aa84ce98f7a94085b81ec581a2ef45db77ee5080
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 20 21:36:34 2013 +0100
+
+ blacklist: ignore Arduino devices
+
+ https://bugs.launchpad.net/bugs/910736
+ https://bugs.launchpad.net/bugs/1153632
+
+ src/77-mm-usb-device-blacklist.rules | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 0b39072b76cc5cca1dd84a7db079b4d6db3386cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 20 18:16:10 2013 +0100
+
+ error-helpers: avoid crash when error is not recognized
+
+ Just remove the last element with NULL strings in the array of errors,
+ as we're
+ safe using G_N_ELEMENTS() to iterate it.
+
+ Reported by Jose Maria Gonzalez Calabozo <jmgonzalezc@indra.es>
+
+ src/mm-error-helpers.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit f27dbda4a7b21aa4093d71c3886e67ca614e4f64
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 20 09:50:34 2013 +0100
+
+ iface-modem-cdma: fix checking support for manual activation
+
+ src/mm-iface-modem-cdma.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit e6a5ad259ce20fb55e9524502f9c66c80e3ba5eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 14 14:41:50 2013 +0100
+
+ build: fix check for libqmi when newest QMI commands are enabled
+
+ Reported by Marius Kotsbak <marius.kotsbak@gmail.com>
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b64fc4b588a9dfa953219b9ab3a1ec036d7c9c80
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 13 17:05:55 2013 +0100
+
+ blacklist: ignore West Mountain radio devices
+
+ https://bugs.launchpad.net/bugs/1154654
+
+ src/77-mm-usb-device-blacklist.rules | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 671d34cf925c63e0c06934bb3516d42581efeb35
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 13 10:31:06 2013 -0500
+
+ qcdm: add auto-LTE modes for GSM and CDMA
+
+ as in, CDMA+EVDO+LTE and GSM+UMTS+LTE which were missing before.
+
+ libqcdm/tests/modepref.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+commit bee388098cb892c8697419f5f007f8d506ec8dd4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 13 11:17:27 2013 +0100
+
+ build: ignore 'modepref' test
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit dd4be407b210aa710dc862bb246bbbec17c27805
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 12 16:50:49 2013 -0500
+
+ qcdm: modepref: reset device after setting mode preference
+
+ Otherwise it doesn't actually take until you unplug/replug.
+
+ libqcdm/tests/modepref.c | 45
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+commit 974471e2952b985d8d93de01b7f6f54086180365
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 12 15:46:33 2013 -0500
+
+ build: distribute autogen.sh
+
+ Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit e390d210750f21585185d3ed0b9dd5629b974ed5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 12 13:00:06 2013 -0500
+
+ qcdm: add modepref utility
+
+ Sets and gets the NV "mode pref" item for allowed access
+ technologies.
+
+ libqcdm/tests/Makefile.am | 8 +-
+ libqcdm/tests/modepref.c | 516
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 523 insertions(+), 1 deletion(-)
+
+commit 5efb1ceb5eacaabad1d640de713d3576a19c5831
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 12 12:58:37 2013 -0500
+
+ qcdm: fix up NV Mode Pref item handling
+
+ While the QCDM and DIAG_NV are the same, in reality they shouldn't
+ be and there should be a mapping between them. That wasn't happening,
+ so fix that up and add a few missing modes to the NV item defines.
+
+ libqcdm/src/commands.c | 65
+ +++++++++++++++++++++++++++++---------------------
+ libqcdm/src/commands.h | 2 ++
+ libqcdm/src/nv-items.h | 1 +
+ 3 files changed, 41 insertions(+), 27 deletions(-)
+
+commit 30fb4e9da7f808659d8e7bfe9e9c2de2b8eafea2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 12 12:08:24 2013 -0500
+
+ wmc: add get functionality to uml290mode
+
+ uml290/uml290mode.c | 301
+ ++++++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 256 insertions(+), 45 deletions(-)
+
+commit 66c5416e3cbe6233c24de3738c1e3cbe6c1709af
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 12 12:57:31 2013 +0100
+
+ broadband-modem-qmi: fix logic to include GSM/WCDM acquisition
+ order preference
+
+ src/mm-broadband-modem-qmi.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 4e6400d3c8f30fa590b0276823254a4be11ff105
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 12 18:48:45 2013 +0100
+
+ zte: add port type hints for the ZTE MF195
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=691480
+
+ plugins/zte/77-mm-zte-port-types.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 5758fafaf5b5c87269f99b5dfaae64e492d519fd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 12 12:22:22 2013 +0100
+
+ modem-helpers-qmi: fix allowed mode translation from QMI to MM
+
+ Which actually fixes allowed mode switching in MM...
+
+ src/mm-modem-helpers-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4b2577fe297e7e49bf369a18ba51b2de44dc3dfe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 12 11:01:27 2013 +0100
+
+ broadband-modem-qmi: fix initial operating mode loading
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2bcc647d3e1fa548b224dfb23ce5489ce6c5ac44
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 12 10:59:14 2013 +0100
+
+ broadband-modem-qmi: handle 'UimUninitialized' error when checking
+ unlock status
+
+ QMI modems without SIM may report 'UimUninitialized' QMI protocol
+ errors, so
+ catch those and use them as 'SIM failure' so that they get reported
+ to the user.
+
+ src/mm-broadband-modem-qmi.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 0dea5b5d72bfd9c3c1dab88dcd6d054408abbb53
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Mar 5 13:21:21 2013 -0800
+
+ broadband-modem: fix enable flag in
+ UnsolicitedRegistrationEventsContext
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 14c03f98ad9d25af117c0d161676fb1f9f481005
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 5 20:47:58 2013 +0100
+
+ mbm: fix 3gpp dialling sequence when result comes through polling
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 144cc7011ea62426af784607e431318ae113361e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 5 20:32:03 2013 +0100
+
+ mbm: tag the ttys instead of the parent usb device
+
+ We can just tag the ttys instead of the parent usb device, so that
+ the core
+ logic which looks in the plugin-specified port tags works
+ properly. There is no
+ need to explicitly tag the net port, as the probing for this port
+ ends when a
+ plugin suggestion comes from another port probing on the same device.
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 3ebc8413b0d06346824942da400b04908b2c7ab7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 4 13:38:19 2013 +0100
+
+ udev: tag all devices from idVendor 0x0711 as manual-scan-only
+
+ Magic Control Technology Corp (0x0711) manufacturers several
+ USB<->RS232
+ adapters.
+
+ src/77-mm-usb-serial-adapters-greylist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 8450b7b2a39a6e1c9fda950dc3f821984c73c56b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 2 14:13:32 2013 +0100
+
+ core: don't automatically probe ports of USB<->serial adapters
+
+ We should not automatically probe ports marked as coming from USB
+ to serial
+ adapters, as we're not sure that a modem is behind the adapter. Still,
+ let the
+ user request a manual scan and have these devices probed in that case.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=647556
+ https://bugzilla.gnome.org/show_bug.cgi?id=691076
+
+ src/77-mm-usb-device-blacklist.rules | 6 -----
+ src/77-mm-usb-serial-adapters-greylist.rules | 22 ++++++++++++++++++
+ src/Makefile.am | 1 +
+ src/main.c | 4 ++--
+ src/mm-manager.c | 34
+ +++++++++++++++++++---------
+ src/mm-manager.h | 3 ++-
+ 6 files changed, 50 insertions(+), 20 deletions(-)
+
+commit 3678ae53788848d2e202d9afcc7f8eb9577fc427
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Mar 4 18:37:46 2013 -0800
+
+ iface-modem-3gpp: handle non-deferrable registration state updates
+
+ This patch changes MMIfaceModem3gpp to differentiate between
+ deferrable
+ and non-deferrable 3GPP registration state updates. Periodic or
+ unsolicited registration state updates are deferrable, while internal
+ updates, e.g. due to modem being disabled, are non-deferrable.
+
+ src/mm-iface-modem-3gpp.c | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+commit 1e67312aaf0f03fda9bf15e2f8b8175ab1e2847a
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Mar 4 17:00:36 2013 -0800
+
+ broadband-modem: fix disabling of unsolicited registration events
+
+ src/mm-broadband-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 113916beb5dcb16f139054bd3913255e4028b111
+Author: Gerald Richter <richter@ecos.de>
+Date: Mon Mar 4 08:32:23 2013 -0600
+
+ sierra: add MC8790 to APP1 PPP whitelist
+
+ plugins/sierra/mm-plugin-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9ee9845b1ebbb29a7540eb5adb6ee03cbe030b2d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 1 18:21:19 2013 +0100
+
+ iface-modem-3gpp: avoid re-setting deferred registration update
+ while disabling
+
+ Don't clear the current deferred registration update until having
+ disabled
+ and cleaned up unsolicited registrations state messages, or we may
+ end up
+ re-setting the deferred registration update again meanwhile
+
+ src/mm-iface-modem-3gpp.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit f93bba25f2ef41af8f28296c8f8b2be81c42bdb6
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Feb 28 11:11:59 2013 -0800
+
+ iface-modem-3gpp: clear deferred registration state update when
+ disabling
+
+ src/mm-iface-modem-3gpp.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit c79d266e627242b22a5e146ab157e34135e7a36a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 26 23:02:04 2013 +0100
+
+ udev: update all udev rules to always match both VID/PID together
+
+ If the rules to tag specific USB interface numbers only apply on
+ the PID, we'll
+ end up seeing that if the port has a parent with another PID, and
+ that other
+ PID also has a rule, port will get tagged multiple times. Easier to
+ see with an
+ example:
+
+ The ZTE MF637 (VID 0x19D2, PID 0x0121) had the following rules:
+
+ ATTRS{idProduct}=="0121", ENV{.MM_USBIFNUM}=="04",
+ ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
+ ATTRS{idProduct}=="0121", ENV{.MM_USBIFNUM}=="01",
+ ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
+
+ In our ZTE rules we also have some for the device with PID 0x0002,
+ like:
+
+ ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="02",
+ ENV{ID_MM_ZTE_PORT_TYPE_MODEM}="1"
+ ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="04",
+ ENV{ID_MM_ZTE_PORT_TYPE_AUX}="1"
+
+ And it seems that we can grab multiple PIDs from a single port,
+ i.e. from the
+ parent objects in the hierarchy:
+
+ udevadm info -a -n /dev/ttyUSB4 | grep idProduct
+ ATTRS{idProduct}=="0121"
+ ATTRS{idProduct}=="0020"
+ ATTRS{idProduct}=="0002"
+
+ Where that 0x0002 idProduct is not from the modem, but from the
+ EHCI Host
+ Controller (with idVendor 0x1d6b in my case).
+
+ So... we end up seeing that both set of rules will apply to the ports,
+ and we
+ misleadingly get:
+
+ (ttyUSB3) type 'at' claimed by
+ /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
+ ZTE: AT port 'tty/ttyUSB2' flagged as primary
+ (ttyUSB2) type 'at' claimed by
+ /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
+ ZTE: AT port 'tty/ttyUSB1' flagged as secondary
+ (ttyUSB1) type 'at' claimed by
+ /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
+ ZTE: AT port 'tty/ttyUSB4' flagged as primary
+ b_port(): (ttyUSB4) type 'at' claimed by
+ /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
+ (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB2
+ at (primary)
+ (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB1
+ at (secondary)
+ (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB2
+ data (primary)
+ (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB0
+ qcdm
+
+ Which is wrong, as ttyUSB4 should have been our primary port,
+ not ttyUSB2.
+
+ With this patch on, the rules apply only to the VID/PID pair, and
+ we end up
+ getting what we really wanted:
+
+ (ttyUSB3) type 'at' claimed by
+ /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
+ (ttyUSB2) type 'at' claimed by
+ /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
+ ZTE: AT port 'tty/ttyUSB1' flagged as secondary
+ (ttyUSB1) type 'at' claimed by
+ /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
+ ZTE: AT port 'tty/ttyUSB4' flagged as primary
+ b_port(): (ttyUSB4) type 'at' claimed by
+ /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
+ (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB4
+ at (primary)
+ (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB1
+ at (secondary)
+ (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB4
+ data (primary)
+ (/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2) tty/ttyUSB0
+ qcdm
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=694759
+
+ plugins/longcheer/77-mm-longcheer-port-types.rules | 269
+ ++++++++++-----------
+ plugins/nokia/77-mm-nokia-port-types.rules | 25 +-
+ plugins/simtech/77-mm-simtech-port-types.rules | 21 +-
+ plugins/x22x/77-mm-x22x-port-types.rules | 25 +-
+ plugins/zte/77-mm-zte-port-types.rules | 233
+ +++++++++---------
+ 5 files changed, 284 insertions(+), 289 deletions(-)
+
+commit 89461cf7b3bea1ba3fe02de1629305f62cd4cb48
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 26 21:17:43 2013 +0100
+
+ iface-modem: allow falling back to 'failed' state
+
+ Allow mm_iface_modem_update_state() receive 'MM_MODEM_STATE_FAILED',
+ and treat
+ it as any other change to failed state, but with
+ 'MM_MODEM_STATE_FAILED_REASON_UNKNOWN'.
+
+ src/mm-iface-modem.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 3f3950bd12e4e09bf6505e7a3f96acdee924ad1c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 26 20:57:37 2013 +0100
+
+ plugins: log about all port type hints received from udev
+
+ plugins/longcheer/mm-plugin-longcheer.c | 12 +++++++++---
+ plugins/nokia/mm-plugin-nokia-icera.c | 11 +++++++++--
+ plugins/simtech/mm-plugin-simtech.c | 12 ++++++++++--
+ plugins/x22x/mm-plugin-x22x.c | 12 +++++++++---
+ plugins/zte/mm-plugin-zte.c | 13 ++++++++++---
+ 5 files changed, 47 insertions(+), 13 deletions(-)
+
+commit 8d74b11bd3a5627490a25c52ffddae0843c2ee49
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 25 12:04:23 2013 +0100
+
+ plugin-manager: cancelled tasks are no longer deferred-until-suggested
+
+ The deferred-until-suggested tasks specify tasks that are
+ open/ongoing;
+ cancelled tasks shouldn't have this flag set.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=694603
+
+ src/mm-plugin-manager.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 8488782e1424db0ec42839b4713373b588224a3e
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Feb 15 15:17:18 2013 -0800
+
+ iface-modem-3gpp: defer registration state update when registration
+ is lost
+
+ This patch defers the update of 3GPP registration state by 15 seconds
+ when the registration state changes from 'registered' (home / roaming)
+ to 'searching'. This allows a temporary loss of 3GPP registration to
+ recover itself when relying on ModemManager to explicitly disconnect
+ and
+ reconnect to the network.
+
+ src/mm-iface-modem-3gpp.c | 122
+ ++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 102 insertions(+), 20 deletions(-)
+
+commit 980ad52a479a12e9777419d6e6f0a77005a36528
+Author: Colin Walters <walters@verbum.org>
+Date: Sun Feb 24 05:16:17 2013 -0500
+
+ build: Look for generated file in builddir, not srcdir
+
+ libmm-glib/generated/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3f8b11e3f0af19b0df0fb510b76cdcae42a3dd5d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 22 21:48:45 2013 +0100
+
+ broadband-modem: fix CUSD response parsing
+
+ When reading the string reply in a +CUSD indication, don't blindly
+ split
+ using whitespace or comma as field separator, as the string may be
+ a text string
+ with both whitespaces and commas, e.g.:
+
+ +CUSD: 0,"hey hey, something here<LF>***<LF>and something more here"
+
+ Also, skip reading the encoding field for now, as we don't use it yet.
+
+ src/mm-broadband-modem.c | 47
+ ++++++++++++++++-------------------------------
+ 1 file changed, 16 insertions(+), 31 deletions(-)
+
+commit c19ee43cbea5c553b5ad2d5bb10f88abad574965
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 22 20:16:32 2013 +0100
+
+ broadband-modem: avoid reading already freed memory in USSD operations
+
+ src/mm-broadband-modem.c | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+commit 9976625f94335295843ff38440d9e48a6e899d3a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 22 19:39:06 2013 +0100
+
+ broadband-modem: USSD response may come even before finishing
+ our request
+
+ MBM devices seem to include the '+CUSD: 0' indication before even
+ returning OK to our '+CUSD=1'
+
+ (ttyACM0): --> 'AT+CUSD=1,"*111#",15<CR>'
+ (ttyACM0): <-- '<CR><LF>+CUSD: 0,"reply here"<CR><LF>'
+ (ttyACM0): <-- '<CR><LF>OK<CR><LF>'
+
+ src/mm-broadband-modem.c | 71
+ ++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 54 insertions(+), 17 deletions(-)
+
+commit b1bb8e30b4fd835649b5790895fcd519f1809141
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 22 18:58:06 2013 +0100
+
+ broadband-modem: don't assume the returned string is always
+ hex-encoded
+
+ libmm-glib/mm-common-helpers.c | 25 +++++++++++++++++++++++++
+ libmm-glib/mm-common-helpers.h | 1 +
+ src/mm-broadband-modem.c | 7 ++++++-
+ 3 files changed, 32 insertions(+), 1 deletion(-)
+
+commit ca49af0c5d4b649950ef3ed038e70f58a37050f3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 22 17:54:16 2013 +0100
+
+ mbm: fix CFUN result parsing
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b22bba509aced5aee4da2094fb9a0ff40d2a2cd2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 22 17:47:25 2013 +0100
+
+ broadband-modem: increase default AT command timeout for USSD
+ operations
+
+ May really take more than 3s.
+
+ src/mm-broadband-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 50ecf2a7d91221ea1db4a26e26222c048062a7a2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 22 17:19:58 2013 +0100
+
+ mbm: implement custom modem_power_down()
+
+ Cache last valid allowed mode always, so that we re-use it when
+ powering up
+ again.
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 112
+ ++++++++++++++++++++++++++---------
+ 1 file changed, 84 insertions(+), 28 deletions(-)
+
+commit c0ce165d09d5ed80fff31ffd4bceb168e6c10b26
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 22 16:35:50 2013 +0100
+
+ mbm: implement custom load_power_state()
+
+ We need to handle modems which appear in low-power mode (e.g. CFUN=4),
+ so
+ implement a custom check of the power state. We cannot use the
+ default check
+ as MBM modems use CFUN also for allowed mode handling.
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 74
+ +++++++++++++++++++++++++++++++-----
+ 1 file changed, 64 insertions(+), 10 deletions(-)
+
+commit 75d20c15d4f844270cfc6c31fae261412e4b1b59
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 22 08:58:36 2013 +0100
+
+ api: notify in the interface about the reason why the modem is FAILED
+
+ We currently implement 'SIM missing' and 'SIM error', which are
+ probably the
+ most common ones.
+
+ cli/mmcli-common.c | 2 ++
+ cli/mmcli-modem.c | 15 +++++++----
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 7 +++++
+ include/ModemManager-enums.h | 18 +++++++++++++
+ .../org.freedesktop.ModemManager1.Modem.xml | 10 +++++++
+ libmm-glib/mm-modem.c | 18 +++++++++++++
+ libmm-glib/mm-modem.h | 2 ++
+ src/mm-broadband-modem.c | 24 ++++++++++++-----
+ src/mm-iface-modem.c | 31
+ +++++++++++++++++++---
+ src/mm-iface-modem.h | 2 ++
+ 11 files changed, 115 insertions(+), 15 deletions(-)
+
+commit a18140e8ed86e6881d1b5f4bcf33620ff791f35e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 21 11:15:07 2013 +0100
+
+ plugin: avoid using uninitialized variable
+
+ Reported by: Jose Maria Gonzalez <jmgonzalezc@indra.es>
+
+ src/mm-plugin.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 0377ccaa59c46dc8536b753cc8b9de17a0f19790
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 19:06:16 2013 +0100
+
+ manager: during initial scan, add new ports in idles
+
+ Treat each port independently in its own idle, as if we're receiving
+ independent
+ udev events, otherwise, GSources may not be properly scheduled in
+ the main loop.
+
+ src/mm-manager.c | 35 +++++++++++++++++++++++++++++++----
+ 1 file changed, 31 insertions(+), 4 deletions(-)
+
+commit 5b072b9198aba83ba4cd69f4310d431682c8ee67
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 17:00:14 2013 +0100
+
+ plugin: plug memleak
+
+ A new reference to probe was acquired through mm_device_get_probe(),
+ just unref it
+ when no longer needed. Note that mm_port_probe_run() will take its
+ own reference
+ for as long as required to complete the operation.
+
+ src/mm-plugin.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 688bb2cb3a1c960a3e3c5a75c30aeeb641ff2c7a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 16:48:41 2013 +0100
+
+ plugin: plug memleaks
+
+ This is really just to have a nice valgrind/memcheck output report,
+ no big deal
+ if they were never freed.
+
+ src/mm-plugin.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit 9bef8531c189887954cb20938a304b2b51f40a94
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 16:07:02 2013 +0100
+
+ iridium: use generic disconnection logic
+
+ The generic disconnection logic now already handles getting the
+ port fully
+ closed and a wait time before reopening it, so no need for a custom
+ disconnection logic any more.
+
+ plugins/iridium/mm-bearer-iridium.c | 124
+ ------------------------------------
+ 1 file changed, 124 deletions(-)
+
+commit 000bb642255ecfefe10f7b6629493c34877399c7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 12:15:19 2013 +0100
+
+ serial-port: allow specifying some wait time between closing and
+ reopening
+
+ We will now by default wait some time (1s) between port getting
+ fully closed and
+ the port being reopened again. This logic seems to work for multiple
+ modems
+ where there is a single port for both AT and data, like my Nokia C7
+ and Iridium
+ modems. If this wait time is not applied, the port ends up returning
+ EAGAIN for
+ every write that we try to do afterwards.
+
+ src/mm-broadband-bearer.c | 75 ++++++++++++++++++++++++------------
+ src/mm-serial-port.c | 97
+ +++++++++++++++++++++++++++++++++++++++++------
+ src/mm-serial-port.h | 8 +++-
+ 3 files changed, 142 insertions(+), 38 deletions(-)
+
+commit 9a6fce0a086f28aafda7d963e8661e98a4d44ef6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 11:41:53 2013 +0100
+
+ serial-port: remove unneeded property name
+
+ Was incorrectly included in a previous commit
+
+ src/mm-serial-port.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit d0c18b4277917a39edf50c78ebd14713509321c3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 10:09:42 2013 +0100
+
+ bearer-novatel-lte: fix reference counting of the 'data' port
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2267fb04801074fe4dce715699b632499fbea918
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 09:59:20 2013 +0100
+
+ plugin: plug memleaks
+
+ src/mm-plugin.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f27737e0317c16bf0e13b90d20b6eb670b2f44de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 09:53:14 2013 +0100
+
+ bearer: plug memleak
+
+ src/mm-bearer.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 061760a4f8d5b05eb1d636ecf3264ca3974ad103
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 20 09:50:04 2013 +0100
+
+ broadband-modem: plug memleak
+
+ src/mm-broadband-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit bb73ce0aaf7c8ae4354d34412880a07f82b8a23e
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Feb 19 22:22:58 2013 -0800
+
+ iface-modem: fix modem state consolidation upon bearer disconnection
+
+ Patch "iface-modem: fix invalid modem state consolidation" (commit
+ 69aff6183a9e6532b4074c89831d6dcfa81ddcce) incorrectly consolidates the
+ modem state upon the disconnection of a bearer. The modem state
+ remains
+ 'connected' after the last bearer is disconnected. This patch fixes
+ that.
+
+ src/mm-iface-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit add455c7e587883abbe1b16e511a3a8b24064b38
+Author: Evan Nemerson <evan@coeus-group.com>
+Date: Tue Feb 19 03:16:07 2013 -0800
+
+ build: fix passing arguments to configure from autogen.sh (bgo
+ #694157)
+
+ autogen.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8fb57bb5534c83c358a9c4c4c681ac787c14289a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 19 15:37:43 2013 +0100
+
+ zte: load unlock retries with +ZPINPUK
+
+ e.g:
+
+ AT+ZPINPUK=? |
+ | ZPINPUK: 3,10
+ | OK
+
+ plugins/zte/mm-broadband-modem-zte.c | 71
+ ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 71 insertions(+)
+
+commit 5fe69d0ebbb621f754e1b0e048bfb4b6ae21e2a1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 19 13:17:57 2013 +0100
+
+ at-serial-port: plug memleak
+
+ src/mm-at-serial-port.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f9583cb5304ba5ecd862cdf214c669f7babdfe66
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 19 12:54:56 2013 +0100
+
+ core: update logging levels of several messages
+
+ 'info' log level, the default if none specified, included too many
+ logs which
+ aren't that useful, to try to minimize the noise we produce by
+ default.
+
+ src/mm-broadband-modem-qmi.c | 4 ++--
+ src/mm-broadband-modem.c | 17 ++---------------
+ src/mm-plugin-manager.c | 18 +++++++++---------
+ src/mm-port-probe.c | 8 ++++----
+ src/mm-serial-port.c | 11 +++++------
+ src/mm-sms-qmi.c | 4 ++--
+ 6 files changed, 24 insertions(+), 38 deletions(-)
+
+commit 37ddfe202eb138ab50140cc0e2a0309092547bbf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 19 12:52:01 2013 +0100
+
+ plugin-manager: log time required for device probing
+
+ src/mm-plugin-manager.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+commit ed2b32c6829ad6ed9310f2f76047a6dc2e12d9dd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 19 12:45:10 2013 +0100
+
+ plugin-manager: if minimum time consumed and all deferred tasks,
+ abort probing
+
+ For the case where we just get a device with all net ports (i.e. all
+ deferred
+ until result suggested), just abort the probing if the minimum
+ probing time is
+ consumed.
+
+ src/mm-plugin-manager.c | 23 ++++++++++++++++++++++-
+ 1 file changed, 22 insertions(+), 1 deletion(-)
+
+commit 1a11af0f86cee0ca24861a8369782627906363d1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 19 09:50:52 2013 +0100
+
+ broadband-bearer: fallback to primary AT port if no data AT port
+ available
+
+ Spotted by Dan Williams <dcbw@redhat.com> with his ADU960S.
+
+ src/mm-broadband-bearer.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit d593116d68ecda7fc0ef67e7399d0588cde60a38
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 18 16:06:01 2013 +0100
+
+ base-modem: don't run port init sequence if we're just sending
+ a command
+
+ This may happen when sending commands to the modem while in
+ non-enabled state,
+ like when sending the PIN. In this case, just send the command,
+ don't fully
+ initialize the port with the initialization sequence.
+
+ src/mm-base-modem-at.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 7a58647af78295d059628c73c4dc2558131fea51
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 18 15:34:57 2013 +0100
+
+ broadband-bearer: fully reopen data port before flashing
+
+ When disconnecting the data port, first fully close and reopen the
+ port before
+ flashing. This helps with some modems where the flashing mechanism
+ doesn't
+ fully work, like this ZTE modem:
+
+ Before:
+ [1360325270.357678] [mm-bearer.c:690] mm_bearer_disconnect():
+ Disconnecting bearer '/org/freedesktop/ModemManager1/Bearer/0'
+ [1360325270.357796] [mm-iface-modem.c:1198]
+ mm_iface_modem_update_state(): Modem
+ /org/freedesktop/ModemManager1/Modem/1: state changed (connected
+ -> disconnecting)
+ [1360325270.358503] [mm-broadband-bearer.c:1539]
+ disconnect_3gpp(): Sending PDP context deactivation in secondary
+ port...
+ [1360325270.358549] [mm-serial-port.c:927] mm_serial_port_open():
+ (ttyUSB4) device open count is 2 (open)
+ [1360325270.358633] [mm-at-serial-port.c:392] debug_log():
+ (ttyUSB4): --> 'AT+CGACT=0,2<CR>'
+ [1360325270.375131] [mm-at-serial-port.c:392] debug_log():
+ (ttyUSB4): <-- '<CR><LF>OK<CR><LF>'
+ [1360325270.375251] [mm-serial-port.c:967] mm_serial_port_close():
+ (ttyUSB7) device open count is 1 (close)
+ [1360325270.375282] [mm-serial-port.c:927] mm_serial_port_open():
+ (ttyUSB7) device open count is 2 (open)
+ [1360325270.375300] [mm-broadband-bearer.c:1497]
+ cgact_secondary_ready(): Flash primary port...
+ [1360325270.375833] [mm-serial-port.c:967] mm_serial_port_close():
+ (ttyUSB4) device open count is 1 (close)
+ [1360325271.377539] [mm-broadband-bearer.c:1455]
+ primary_flash_3gpp_ready(): PDP disconnection already sent in
+ secondary port
+ [1360325271.377634] [mm-serial-port.c:967] mm_serial_port_close():
+ (ttyUSB7) device open count is 1 (close)
+ [1360325271.377680] [mm-port.c:149] mm_port_set_connected():
+ (ttyUSB7): port now disconnected
+ [1360325271.377721] [mm-bearer.c:623] disconnect_ready():
+ Disconnected bearer '/org/freedesktop/ModemManager1/Bearer/0'
+ [1360325286.415396] [mm-serial-port.c:927] mm_serial_port_open():
+ (ttyUSB7) device open count is 2 (open)
+ [1360325286.415510] [mm-at-serial-port.c:392] debug_log():
+ (ttyUSB7): --> 'AT+ZPAS?<CR>'
+ [1360325287.400589] [mm-broadband-modem.c:1717]
+ modem_load_signal_quality(): loading signal quality...
+ [1360325287.400679] [mm-serial-port.c:927] mm_serial_port_open():
+ (ttyUSB7) device open count is 3 (open)
+ [1360325289.401873] [mm-iface-modem.c:762]
+ access_technologies_check_ready(): Couldn't refresh access
+ technologies: 'Serial command timed out'
+ [1360325289.401940] [mm-serial-port.c:967] mm_serial_port_close():
+ (ttyUSB7) device open count is 2 (close)
+ [1360325289.401998] [mm-at-serial-port.c:392] debug_log():
+ (ttyUSB7): --> 'AT+CIND?<CR>'
+ [1360325292.403162] [mm-serial-port.c:927] mm_serial_port_open():
+ (ttyUSB7) device open count is 3 (open)
+ [1360325292.403247] [mm-serial-port.c:967] mm_serial_port_close():
+ (ttyUSB7) device open count is 2 (close
+ ...
+
+ After:
+ [1360326617.604527] [mm-bearer.c:690] mm_bearer_disconnect():
+ Disconnecting bearer '/org/freedesktop/ModemManager1/Bearer/0'
+ [1360326617.604622] [mm-iface-modem.c:1198]
+ mm_iface_modem_update_state(): Modem
+ /org/freedesktop/ModemManager1/Modem/0: state changed (connected
+ -> disconnecting)
+ [1360326617.605006] [mm-broadband-bearer.c:1535]
+ disconnect_3gpp(): Sending PDP context deactivation in secondary
+ port...
+ [1360326617.605034] [mm-serial-port.c:929] mm_serial_port_open():
+ (ttyUSB4) device open count is 2 (open)
+ [1360326617.605088] [mm-at-serial-port.c:392] debug_log():
+ (ttyUSB4): --> 'AT+CGACT=0,2<CR>'
+ [1360326617.620075] [mm-at-serial-port.c:392] debug_log():
+ (ttyUSB4): <-- '<CR><LF>OK<CR><LF>'
+ [1360326617.620206] [mm-broadband-bearer.c:1493]
+ cgact_secondary_ready(): Flash primary port...
+ [1360326617.620241] [mm-serial-port.c:1334]
+ mm_serial_port_flash(): (ttyUSB7) reopening before flash (2)
+ [1360326617.620265] [mm-serial-port.c:969] mm_serial_port_close():
+ (ttyUSB7) device open count is 1 (close)
+ [1360326617.620286] [mm-serial-port.c:969] mm_serial_port_close():
+ (ttyUSB7) device open count is 0 (close)
+ [1360326617.620320] [mm-serial-port.c:985] mm_serial_port_close():
+ (ttyUSB7) closing serial port...
+ [1360326617.620356] [mm-port.c:149] mm_port_set_connected():
+ (ttyUSB7): port now disconnected
+ [1360326617.621355] [mm-serial-port.c:1017]
+ mm_serial_port_close(): (ttyUSB7) serial port closed
+ [1360326617.621403] [mm-serial-port.c:860] mm_serial_port_open():
+ (ttyUSB7) opening serial port...
+ [1360326617.622836] [mm-serial-port.c:417] real_config_fd():
+ (ttyUSB7): port attributes not fully set
+
+ src/mm-broadband-bearer.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit 553bebe8255a78e1f9f7b559d7782f9ac87be443
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 8 13:32:51 2013 +0100
+
+ serial-port: new method to reopen a port
+
+ We will fully close the port and the re-open it again keeping the same
+ open_count that we had before.
+
+ src/mm-serial-port.c | 32 +++++++++++++++++++++++++++++++-
+ src/mm-serial-port.h | 4 ++++
+ 2 files changed, 35 insertions(+), 1 deletion(-)
+
+commit f8e3a8adb9584bf462c8016eea831f3a1f945875
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 18 14:32:27 2013 +0100
+
+ broadband-bearer: try to run CGACT first on the primary port
+
+ It may happen that the primary port is not the data port; if so,
+ try with the
+ primary port first, and otherwise fallback to the secondary port.
+
+ src/mm-broadband-bearer.c | 27 +++++++++++++++++++++------
+ 1 file changed, 21 insertions(+), 6 deletions(-)
+
+commit 92f0c579c466c02adcdc1875109071ef530bda08
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 18 14:31:09 2013 +0100
+
+ broadband-bearer: update disconnection logic
+
+ We were maintaining the port we used for dialling (the data port)
+ open during
+ the connection, as specified by the CDMA or 3GPP specific logic. We'll
+ now close
+ that open count reference ourselves within the CDMA or 3GPP
+ disconnection logic
+ itself.
+
+ src/mm-broadband-bearer.c | 105
+ ++++++++++++++++++++++++++--------------------
+ 1 file changed, 59 insertions(+), 46 deletions(-)
+
+commit b6402a4e2158adf28dad2cd6b2dcf8b4966be2d0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 17 21:57:34 2013 +0100
+
+ bearer,3gpp: dial operation specifies which data port to use
+
+ Instead of deciding in advance which data port to use, we let the
+ dialling
+ operation gather it. For the generic dialling logic, ATD-based,
+ always an
+ 'AT' port will be used as data port, even if we grabbed a 'net'
+ port. Those
+ plugins that can work with 'net' ports will grab the specific
+ 'net' port
+ themselves.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 15 +-
+ plugins/huawei/mm-broadband-modem-huawei.c | 2 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 74 +++++-----
+ plugins/icera/mm-broadband-modem-icera.c | 30 ----
+ plugins/mbm/mm-broadband-bearer-mbm.c | 79 +++++-----
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 93 ++++++------
+ plugins/option/mm-broadband-bearer-hso.c | 125 +++++++---------
+ plugins/sierra/mm-broadband-bearer-sierra.c | 21 +--
+ src/mm-base-modem.c | 13 +-
+ src/mm-base-modem.h | 4 +-
+ src/mm-bearer-qmi.c | 2 +-
+ src/mm-broadband-bearer.c | 166
+ +++++++++++++---------
+ src/mm-broadband-bearer.h | 5 +-
+ 13 files changed, 312 insertions(+), 317 deletions(-)
+
+commit 15d34d56fd3277b23c5f477d9aab257cb0bc10a7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 17 20:27:24 2013 +0100
+
+ bearer: new helper 'MMBearerConnectResult' type
+
+ Instead of returning 3 variables in connect_finish(), return a
+ single reference
+ counted struct. This simplifies how the result is built and passed
+ within a
+ GSimpleAsyncResult to each _finish() method.
+
+ This also simplifies the dialling step in the 3GPP connection
+ sequence, as we
+ can use the same new type.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 31 ++--
+ plugins/iridium/mm-bearer-iridium.c | 49 +-----
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 27 +--
+ src/mm-bearer-qmi.c | 55 ++----
+ src/mm-bearer.c | 103 ++++++++---
+ src/mm-bearer.h | 25 ++-
+ src/mm-broadband-bearer.c | 201
+ +++++-----------------
+ src/mm-broadband-bearer.h | 19 +-
+ 8 files changed, 196 insertions(+), 314 deletions(-)
+
+commit 1746949277cbcf9209fc67b36a091177a8476b29
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 18 13:37:35 2013 +0100
+
+ ports: add port initialization sequences instead of iface-modem's
+ modem_init()
+
+ Instead of a custom modem_init() step in the 'Modem' interface,
+ just add a
+ sequence of port initialization commands in each port.
+
+ While enabling for the first time a non-hotplugged modem, we will
+ issue the
+ port initialization commands only after having run the
+ enabling_modem_init()
+ step (i.e. after ATZ usually).
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 46 ++-----
+ plugins/mbm/mm-broadband-modem-mbm.c | 31 -----
+ plugins/nokia/mm-broadband-modem-nokia.c | 77 +++++------
+ src/mm-broadband-modem-qmi.c | 2 -
+ src/mm-broadband-modem.c | 188
+ +++++++++++----------------
+ src/mm-iface-modem.c | 55 +++-----
+ src/mm-iface-modem.h | 8 --
+ 7 files changed, 138 insertions(+), 269 deletions(-)
+
+commit be37f41f06af74280edd3e412c42e2357c180925
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 18 12:56:24 2013 +0100
+
+ at-serial-port: new properties to define and manage a set of init
+ commands
+
+ We are now able to specify a list of AT commands to be run whenever
+ the port is
+ opened for the first time (i.e. open_count from 0 to 1). These
+ commands are
+ to be treated as a 'port initialization' sequence, where
+ port-configuration
+ specific AT commands are defined (e.g. ATE0).
+
+ src/mm-at-serial-port.c | 71
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-at-serial-port.h | 7 ++++-
+ src/mm-serial-port.c | 5 ++++
+ src/mm-serial-port.h | 6 ++++-
+ 4 files changed, 87 insertions(+), 2 deletions(-)
+
+commit 30639606d35dcc323cb13a29b6e0627aad87dd8d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 18 12:13:46 2013 +0100
+
+ broadband-modem: new step during 'enabling_started' to initialize
+ the modem
+
+ We previously had the modem initialization command merged with some
+ other port
+ setup commands in the 'modem_init' step of the 'Modem'
+ interface. Instead of
+ doing this, we now split the logic into two separate steps:
+
+ A first 'enabling_modem_init' modem initialization step is to be
+ run just after
+ the ports have been opened, but only during the first enabling
+ operation, and
+ only if the modem was not hotplugged. A hotplugged modem is assumed
+ to be
+ properly initialized already, so no need to ATZ-it. Also, we will
+ now wait 500ms
+ by default after the modem initialization command has been sent,
+ to let it
+ settle down.
+
+ The second 'modem_init' step will be run during the 'Modem' interface
+ initialization, and it currently only holds specific setup of the
+ primary and
+ secondary serial ports. We'll be modifying this logic a bit in the
+ next commits,
+ so no big deal to have that step name unchanged.
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 81 ++------------
+ plugins/mbm/mm-broadband-modem-mbm.c | 96 +++++++++++------
+ plugins/nokia/mm-broadband-modem-nokia.c | 110
+ +++++++++++++++++--
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 108
+ -------------------
+ src/mm-broadband-modem-qmi.c | 3 +
+ src/mm-broadband-modem.c | 128
+ ++++++++++++++++++-----
+ src/mm-broadband-modem.h | 11 ++
+ 7 files changed, 292 insertions(+), 245 deletions(-)
+
+commit 263be58465ba0e449d73b65fd69d5dc10423a78f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 15 13:42:44 2013 -0600
+
+ serial-port: don't steal data from PPP when connected
+
+ There was a race where if PPP was slow to start, MM could read the
+ first bits of PPP from the port, which MM shouldn't really do. So
+ if the port is connected, remove our GIOChannel watch and let pppd
+ handle all the data. When the port is disconnected, re-attach our
+ watch and start reading from the port again.
+
+ This may make it harder to detect spurious disconnects if for example
+ pppd drops the connection and the thing controlling PPP (eg,
+ NetworkManager or something else) doesn't tell us about that event
+ by disconnecting the bearer. This is arguably programmer error
+ though.
+
+ See the logs in https://bugzilla.gnome.org/show_bug.cgi?id=624956#c10
+ for an example of this:
+
+ DEBUG: <1280300196.929489> (ttyACM0): <-- '<CR><LF>CONNECT<CR><LF>'
+ DEBUG: <1280300196.929761> (ttyACM0): port now connected
+ DEBUG: <1280300196.929853> Modem
+ /org/freedesktop/ModemManager/Modems/0: state changed (connecting
+ -> connected)
+ DEBUG: <1280300196.929954> (ttyACM0): simple connect state 6
+ DEBUG: <1280300196.933432> (ttyACM0): <-- '~\-1}#\-64!}!} }
+ }2}#}$\-64#}!}$}%\-36}"}&} }*} } g}%~'
+
+ src/mm-serial-port.c | 31 ++++++++++++++++++++++++++-----
+ 1 file changed, 26 insertions(+), 5 deletions(-)
+
+commit 5280364c4bfc0e84ccac9abbc02c82d46db5034a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 15 13:42:48 2013 -0600
+
+ Revert "serial-port: don't steal data from PPP when connected"
+
+ This reverts commit 625e1c4884215bb9989dad6c9868c06ba76a4d94.
+
+ By simply returning when data is available, no data gets cleared
+ from the file descriptor and data_available() keeps getting
+ rescheduled, leading to a busy-loop. This is the wrong approach,
+ we should be removing the GIOChannel watch instead.
+
+ src/mm-serial-port.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 253242256c951f60f4dfbae451d68b9c3374450b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 15 13:40:01 2013 -0600
+
+ broadband-modem-longcheer: fix getting and setting of allowed modes
+
+ When setting allowed modes, a ",2" crept into the MODODR command when
+ porting the plugin from 0.6. That shouldn't be there.
+
+ When getting allowed modes, 2 is UMTS preferred and 4 is GSM
+ preferred,
+ which the previous code combined into only UMTS preferred.
+
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+commit 85b67ed8d9ecc76062777f63a61ade28074f1fa9
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Feb 12 11:04:29 2013 -0800
+
+ modem: use +CEREG to determine EPS network registration status
+
+ This patch adds the support for solicited/unsolicited EPS network
+ registration status via AT+CEREG, which is configurable via the
+ 'iface-modem-3gpp-eps-network-supported' property of the
+ MMIfaceModem3gpp interface and is disabled by default.
+
+ src/mm-broadband-modem-qmi.c | 3 +
+ src/mm-broadband-modem.c | 165
+ +++++++++++++++++++++++++++++++++++------
+ src/mm-iface-modem-3gpp.c | 51 ++++++++++++-
+ src/mm-iface-modem-3gpp.h | 10 ++-
+ src/mm-modem-helpers.c | 82 +++++++++++++++-----
+ src/mm-modem-helpers.h | 1 +
+ src/tests/test-modem-helpers.c | 121 +++++++++++++++++++++++-------
+ 7 files changed, 365 insertions(+), 68 deletions(-)
+
+commit 7144b673e2d102a08186d48d13c71b49800a7274
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 14 14:51:54 2013 -0600
+
+ vl600: update AT com tool and RE notes
+
+ vl600/atcom.py | 36 ++++++++++++++++++++++++++++++------
+ vl600/vl600.txt | 28 ++++++++++++++++++++++++++--
+ 2 files changed, 56 insertions(+), 8 deletions(-)
+
+commit 594adc38ff5a6277d120b21856dba5cfcff2b3a1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 13 17:00:16 2013 -0600
+
+ broadband-modem: don't try QCDM access technology checks for non-QCDM
+ 3GPP devices
+
+ Result handling code mistakenly ran for these devices, when it
+ shouldn't.
+
+ src/mm-broadband-modem.c | 109
+ +++++++++++++++++++++++++----------------------
+ src/mm-iface-modem.c | 4 +-
+ 2 files changed, 60 insertions(+), 53 deletions(-)
+
+commit 29c0560a9a40bd4ad0f864266dc754e0056d6bc5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 14 17:43:54 2013 +0100
+
+ broadband-modem-qmi: don't try to load access technologies using QCDM
+
+ src/mm-broadband-modem-qmi.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 914cda5de3fb61e517106ea01fdd1021b00493b8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 14 10:47:14 2013 +0100
+
+ bearer-qmi: wait longer for the 'Stop Network' reply
+
+ The 'Stop Network' reply may really take more than 10s to arrive;
+ so let's wait
+ some more time, 30s, before falling back.
+
+ src/mm-bearer-qmi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c1ef36b860931d32bd216af85d143b061913f2ce
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 13 15:03:07 2013 +0100
+
+ libmm-glib,simple-connect-properties: avoid using an uninitialized
+ variable
+
+ libmm-glib/mm-simple-connect-properties.c | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+commit 2d700043abc5686faa54d215ffe60c92f4d0c00e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 12 15:48:39 2013 -0600
+
+ core: use g_unix_signal_add() for more reliable Unix signal handling
+
+ There were a few problems with MM's existing signal handling, first
+ of which was that calling g_main_loop_quit() from a signal handler
+ only works 50% of the time due to severe restrictions on what you
+ can do from the handler. This caused INT or TERM to sometimes be
+ ignored by MM.
+
+ Instead, use the glib signal functions which ensure that the handler
+ is run in the right context, where we can do anything we want.
+
+ src/main.c | 38 +++++++++++---------------------------
+ src/mm-log.c | 5 -----
+ src/mm-log.h | 2 --
+ 3 files changed, 11 insertions(+), 34 deletions(-)
+
+commit 625e1c4884215bb9989dad6c9868c06ba76a4d94
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 12 15:24:15 2013 -0600
+
+ serial-port: don't steal data from PPP when connected
+
+ There was a race where if PPP was slow to start, MM could read the
+ first bits of PPP from the port, which MM shouldn't really do. So
+ if the port is connected, don't read any data and let pppd do its
+ thing.
+
+ See the logs in https://bugzilla.gnome.org/show_bug.cgi?id=624956#c10
+ for an example of this:
+
+ DEBUG: <1280300196.929489> (ttyACM0): <-- '<CR><LF>CONNECT<CR><LF>'
+ DEBUG: <1280300196.929761> (ttyACM0): port now connected
+ DEBUG: <1280300196.929853> Modem
+ /org/freedesktop/ModemManager/Modems/0: state changed (connecting
+ -> connected)
+ DEBUG: <1280300196.929954> (ttyACM0): simple connect state 6
+ DEBUG: <1280300196.933432> (ttyACM0): <-- '~\-1}#\-64!}!} }
+ }2}#}$\-64#}!}$}%\-36}"}&} }*} } g}%~'
+
+ src/mm-serial-port.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 67fcac254150a34c7c1467a7857cad7509ca41ff
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 8 08:25:07 2013 -0600
+
+ qcdm: fix handling of active pilot set
+
+ Typo caused candidate or remaining sets to be treated as the
+ active pilot set.
+
+ libqcdm/src/commands.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 5860de182d785c9eef3c5bd6097f600a7c1a3a72
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 8 12:08:44 2013 +0100
+
+ sierra: fix access tech reporting logic
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit cd2545c2b63b064675c88129f7a4dcde3e982056
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 7 12:49:55 2013 -0600
+
+ broadband-modem-mbm: handle HSPA access technology in ERINFO response
+
+ HSUPA/HSPA capable devices (ex F5521gw) can report '3' here, which
+ we'll decide to interpret as HSPA. It might actually be HSDPA
+ + HSUPA,
+ but whatever...
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit a4ad95e3dae0b3cbbb612cb0febcfb3132ebe333
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 6 16:18:51 2013 -0600
+
+ broadband-modem-longcheer: fix handling of preferred modes
+
+ Treat NONE the same as ANY and handle specific preferred modes too.
+
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit 18436a8f77306bf3d5379881bcbd066018014858
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 6 15:25:22 2013 -0600
+
+ iface-modem-messaging: fix INSTANCE_CAST() vs. GET_INTERFACE()
+ confusion
+
+ Yeah, GObject is pretty obscure here. But to get the implementation's
+ override function, we want GET_INTERFACE, otherwise we're looking at
+ some random memory location that's sometimes NULL. And then we crash.
+
+ src/mm-iface-modem-messaging.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d44eb83ac425c0fa79c2cf76cf492c8223f2d268
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 6 22:20:19 2013 +0100
+
+ libmm-glib,manager: add missing logic to ensure the proxy is created
+
+ libmm-glib/mm-manager.c | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+commit 84adf4e4ef0100b4e871babe7aea18c561d2234b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 6 19:59:16 2013 +0100
+
+ cli: don't autostart the ModemManager service
+
+ cli/mmcli-common.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit a85fd0ab4f3b08b8da5782f4ab9212923ba47cce
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 6 19:32:33 2013 +0100
+
+ libmm-glib,manager: don't fail creation if the ModemManager process
+ is not found
+
+ A 'GDBusObjectManagerClient' for a service for which there is
+ no current
+ name-owner is a perfectly valid and useful object. For example,
+ we could then
+ connect to the 'notify::name-owner' property to follow the life
+ cycle of the
+ ModemManager process.
+
+ So, don't tie the successful creation of a 'MMManager' to the
+ successful
+ creation of the internal GDBusProxy for the 'Manager1' interface. If
+ there is
+ no current name owner, the GDBusProxy wouldn't be created, and
+ instead we
+ would completely fail the 'MMManager' creation.
+
+ libmm-glib/mm-manager.c | 284
+ +++++++++++++++---------------------------------
+ 1 file changed, 85 insertions(+), 199 deletions(-)
+
+commit 2ad6e0627d1c2d1fb28ce00a89e371097af9e5f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 6 19:09:09 2013 +0100
+
+ libmm-glib: fix error reporting when 'MMManager' is created
+
+ libmm-glib/mm-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 34da83450e8a8e9319b0c6738e94c1db546180cf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 6 11:55:49 2013 -0600
+
+ anydata: support QMI-based devices
+
+ Some devices (like the ADU960S) support QMI, so if the modem has a
+ QMI port, use it.
+
+ plugins/anydata/mm-plugin-anydata.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit f3ad2e5bb5aef11e4c8517632e24f3396711b129
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 6 11:59:16 2013 -0600
+
+ trivial: fix typo
+
+ data/org.freedesktop.ModemManager1.service.systemd.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit dcbb6dc81171ad0f71c1b81e193a8887edad3ce2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 5 21:04:30 2013 -0600
+
+ iface-modem-cdma: fix handling of HDR registration state
+
+ hybrid mode is the first parameter, not the third. Caused EVDO
+ to look like it wasn't registered.
+
+ src/mm-iface-modem-cdma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8070627011ddac6e00155e6309750578ab95e6ee
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 5 21:03:24 2013 -0600
+
+ trivial: add debugging to generic QCDM registration parsing
+
+ src/mm-iface-modem-cdma.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 90ecbe325a63699da9230fc3d02f0ef01e9a2bf0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 5 20:55:53 2013 -0600
+
+ broadband-modem-novatel: read HDR revision for access technology
+
+ Specialize what the superclass gave us, if we can.
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 253
+ ++++++++++++++++++++++++---
+ 1 file changed, 227 insertions(+), 26 deletions(-)
+
+commit 8253d6f9de7b086a22a564180986b46fda35556b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 5 20:17:13 2013 -0600
+
+ broadband-modem-novatel: use ERI subsystem information to better
+ determine roaming
+
+ We use the Icon ID here because a value of 1 *always* means not
+ roaming,
+ while the other values don't appear to be consistent. For example,
+ an ERI value of "0" is supposed to mean roaming according to the
+ standards, but the Novatel devices appear to use 0 to mean home.
+ Since we're not sure, don't depend on the ERI value itself, just
+ depend on the Icon ID, where we know for sure that 1 means "home".
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 116
+ +++++++++++++++++----------
+ 1 file changed, 73 insertions(+), 43 deletions(-)
+
+commit 74e94e624da0c86561436029922654bff0bf8884
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 17 11:39:23 2013 -0600
+
+ qcdm: add Novatel ERI subsystem support
+
+ Returns various ERI information like Indicator ID/Index, Icon
+ ID/Index, Icon Mode, and banner.
+
+ libqcdm/src/commands.c | 70
+ +++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 39 ++++++++++++++++++++++++
+ libqcdm/src/dm-commands.h | 23 +++++++++++++-
+ libqcdm/tests/test-qcdm-com.c | 60 +++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 ++
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 194 insertions(+), 1 deletion(-)
+
+commit bf07f02cffa4d3b33830ff85599e0ef6717858ae
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 16 17:28:14 2013 -0600
+
+ qcdm: rename Novatel subsystem defines
+
+ libqcdm/src/commands.c | 8 ++++----
+ libqcdm/src/dm-commands.h | 26 +++++++++++++-------------
+ 2 files changed, 17 insertions(+), 17 deletions(-)
+
+commit b9d0a3275f7be0d394c2875935cc22d8fa0556f0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 15 14:39:43 2013 -0600
+
+ trivial: debug print CDMA1x State results
+
+ src/mm-broadband-modem.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 222825d642fd3148caf3168c6e9a33f02b4f3733
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 6 15:40:28 2013 +0100
+
+ systemd: include systemd unit file support
+
+ Allow having systemd handling the life cycle of the ModemManager
+ process.
+
+ .gitignore | 1 +
+ Makefile.am | 1 +
+ configure.ac | 9 +++++
+ data/Makefile.am | 43
+ +++++++++++++++++-----
+ data/ModemManager.service.in | 13 +++++++
+ ...freedesktop.ModemManager1.service.nosystemd.in} | 0
+ ...rg.freedesktop.ModemManager1.service.systemd.in | 11 ++++++
+ 7 files changed, 69 insertions(+), 9 deletions(-)
+
+commit 596c9ea508c005bd1e3b01b439ac5872c926d7cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 6 13:55:04 2013 +0100
+
+ build: polish configure.ac a bit
+
+ configure.ac | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 86fcfe312174a5c0a14dc38ca9f5bb132e4ca97c
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 30 12:21:42 2013 -0800
+
+ novatel-lte: use +CFUN=4 for power down
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 26
+ ++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+commit 87a556dbb18fa21d47331c2504350820480414c9
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 30 01:07:54 2013 -0800
+
+ novatel-lte: retry $NWQMISTATUS check upon error during disconnect
+
+ $NWQMISTATUS sometimes returns 'ERROR'. This patch modifies the
+ Novatel
+ LTE plugin to retry $NWQMISTATUS (up to 5 times) to determine if the
+ disconnect operation succeeds. It also changes the plugin to
+ assume that
+ the disconnect operation succeeds if $NWQMISTATUS fails to report the
+ current connection status.
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 68
+ +++++++++++++++++------
+ 1 file changed, 51 insertions(+), 17 deletions(-)
+
+commit 24b28d1a72a71a38399184d2c2f85a34612f3a2a
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 30 12:32:25 2013 -0800
+
+ iface-modem: add a missing step increment in
+ interface_initialization_step
+
+ src/mm-iface-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c204a8ce4ebbcfa88cbfe2a08098d2a527bc0b6a
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 24 00:43:08 2013 -0800
+
+ iface-modem: rearrange initialization steps
+
+ This patch rearranges the initialization steps in MMIfaceModem
+ such that
+ the following SIM related operations happen at the end of the
+ initialization:
+ - INITIALIZATION_STEP_UNLOCK_REQUIRED
+ - INITIALIZATION_STEP_SIM
+ - INITIALIZATION_STEP_OWN_NUMBERS
+
+ The rationale of this change is that the SIM interface of some modems
+ may require some time to initialize before it responds to SIM related
+ AT commands. By rearranging the initialization steps to execute
+ non-SIM
+ related AT commands first, some of the latency for the SIM
+ initialization can be absorbed.
+
+ src/mm-iface-modem.c | 118
+ +++++++++++++++++++++++++--------------------------
+ 1 file changed, 59 insertions(+), 59 deletions(-)
+
+commit 69aff6183a9e6532b4074c89831d6dcfa81ddcce
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Jan 23 17:16:52 2013 -0800
+
+ iface-modem: fix invalid modem state consolidation
+
+ ModemManager has a bogus modem state transition from 'enabling' to
+ 'disabled':
+
+ ModemManager[26214]: <info> Modem fully enabled...
+ ModemManager[26214]: <info> Modem
+ /org/freedesktop/ModemManager1/Modem/2: state changed (enabling ->
+ disabled)
+
+ The root cause seems to be the following:
+
+ get_current_consolidated_state() in MMIfaceModem returns
+ MM_MODEM_STATE_DISABLED as the default fallback value. When
+ mm_iface_modem_update_state() is invoked to transition the modem
+ state from
+ MM_MODEM_STATE_ENABLING to MM_MODEM_STATE_ENABLED, the following
+ code can
+ potentially cause the final state to be MM_MODEM_STATE_DISABLED
+ instead.
+
+ /* Enabled may really be searching or registered */
+ if (new_state == MM_MODEM_STATE_ENABLED)
+ new_state = get_current_consolidated_state (self);
+
+ https://code.google.com/p/chromium-os/issues/detail?id=38173
+
+ src/mm-iface-modem.c | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+commit 9d5794e9e4e86239f450042223dc606b3472c067
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 21 10:33:49 2013 +0100
+
+ iface-modem: print power state as string
+
+ Thanks to Marius B. Kotsbak <marius@kotsbak.com> for reporting.
+
+ src/mm-iface-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1cf8ccbdd5ca3f3c13319ac47ac2b877f408da23
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 17 23:06:45 2013 -0800
+
+ iface-modem: schedule signal quality check more often initially
+
+ This patch modifies MMIfaceModem to schedule the periodic signal
+ quality
+ check with a period of 3s instead of 30s (up to 5 periods) initially
+ until a non-zero signal quality value is obtained and then switch back
+ to the 30s period.
+
+ src/mm-iface-modem.c | 36 +++++++++++++++++++++++++++++-------
+ 1 file changed, 29 insertions(+), 7 deletions(-)
+
+commit 9474654f671a2aa452f1de0dc8895bbb3ab5968e
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 17 23:11:10 2013 -0800
+
+ novatel-lte: skip soft reset if modem is newly plugged in
+
+ Soft resetting a Novatel LTE modem can a significant amount of time
+ (3-4 seconds). If the modem is newly plugged in, skip the unnecessary
+ soft reset when enabling the modem.
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 108
+ +++++++++++++++++++++++
+ 1 file changed, 108 insertions(+)
+
+commit e75dba639febded0e2878a02f47829cedb6239f7
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 17 23:11:09 2013 -0800
+
+ core: add 'hotplugged' flag to indicate if modem is newly plugged in
+
+ This patch adds a 'hotplugged' flag to MMBaseModem to indicate if a
+ modem is newly plugged in. A plugin can use this information to
+ determine if, for example, the modem needs to be soft reset using the
+ ATZ command.
+
+ Dan Williams <dcbw@redhat.com> contributed the idea of implementation.
+
+ src/mm-base-modem.c | 18 ++++++++++++++++++
+ src/mm-base-modem.h | 4 ++++
+ src/mm-device.c | 21 +++++++++++++++++----
+ src/mm-device.h | 4 +++-
+ src/mm-manager.c | 15 ++++++++-------
+ src/mm-plugin.c | 2 ++
+ 6 files changed, 52 insertions(+), 12 deletions(-)
+
+commit 2550cb20a9741378c747233ddea8e7a7daa5c198
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 15 16:05:11 2013 +0100
+
+ huawei: only retry DHCP? check on specific errors
+
+ We don't want to retry DHCP? on every possible GError reported;
+ specially if the
+ error is about the port being forced to get closed when the modem gets
+ unplugged or the like. So just retry on very specific errors reported.
+
+ The main cause for retry is really when the modem replies the
+ following:
+ --> AT^DHCP?
+ <-- ERROR
+
+ Which in our case gets translated to a 'unknown' mobile equipment
+ error. We'll
+ also consider any kind of mobile equipment error, as the modems may
+ reply a
+ CME ERROR instead.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 25
+ ++++++++++++++++++++-----
+ 1 file changed, 20 insertions(+), 5 deletions(-)
+
+commit 2b3f353770799932c05dbf2a6fd5b3519270052b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 11 11:35:51 2013 +0100
+
+ huawei: check NDISDUP support only once
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 68
+ +++++++++++++++++++++---------
+ 1 file changed, 49 insertions(+), 19 deletions(-)
+
+commit f2a9ea377957355e7a703c6d08ff85c8b0ba4d0c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 9 12:51:54 2013 +0100
+
+ huawei: use NDISDUP only if net port from cdc_ncm or cdc_ether
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 29
+ +++++++++++++++++++----------
+ 1 file changed, 19 insertions(+), 10 deletions(-)
+
+commit 8c5bd6375fed0150fa80a5623c0e6ca1e430b4fd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 12:05:05 2012 +0100
+
+ huawei: refactor the connection and disconnection sequences in
+ the bearer
+
+ We will now use a step-based state machine to handle the connection
+ and
+ disconnection sequences. All the previous behaviour is kept, except
+ for these
+ new things:
+
+ * Instead of just subclassing the 'dialling' step in the 3GPP
+ connection
+ sequence, completely subclass the whole 3GPP connection
+ sequence. We do this
+ because we don't need to preconfigure PDP contexts with AT+CGDCONT
+ before
+ issuing ^NDISDUP.
+
+ * Don't allow IP types other than IPv4. These modems work only
+ with IPv4
+ bearers.
+
+ * Remove cancellation signal handler; not needed as we can check
+ the status of
+ the cancellation in every 1s timeout.
+
+ * Removed the event source id handling for timeouts; timeouts
+ are never
+ cancelled here.
+
+ plugins/huawei/mm-broadband-bearer-huawei.c | 622
+ +++++++++++++++-------------
+ 1 file changed, 335 insertions(+), 287 deletions(-)
+
+commit 2499f5760b70b1c3aa45e0a3fd6c38331fc5fb6b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 10:17:20 2012 +0100
+
+ huawei: explicitly check for the ^NDISDUP command support
+
+ Don't assume that all modems exporting a 'net' port will support
+ ^NDISDUP.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 121
+ +++++++++++++++++++++--------
+ 1 file changed, 87 insertions(+), 34 deletions(-)
+
+commit 696403e50a975bc6c8f14d2db79ce10835b25719
+Author: Franko Fang <fangxiaozhi@huawei.com>
+Date: Sun Dec 2 15:30:01 2012 +0100
+
+ huawei: handle modems exposing 'net' ports with AT^NDISDUP
+
+ Modems with ECM (e.g. usb0) ports should use AT^NDISDUP in the
+ control port to
+ request the connection and afterwards just fire up the DHCP client
+ in the net
+ port.
+
+ This patch is originally developed by:
+ Franko Fang <fangxiaozhi@huawei.com>
+
+ And afterwareds reviewed and updated by:
+ Aleksander Morgado <aleksander@gnu.org>
+
+ plugins/Makefile.am | 5 +-
+ plugins/huawei/mm-broadband-bearer-huawei.c | 558
+ ++++++++++++++++++++++++++++
+ plugins/huawei/mm-broadband-bearer-huawei.h | 59 +++
+ plugins/huawei/mm-broadband-modem-huawei.c | 83 ++++-
+ 4 files changed, 702 insertions(+), 3 deletions(-)
+
+commit fdad4d636d39e6f5df80ff1197ee645ccd572078
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 14:41:51 2013 -0600
+
+ broadband-modem: guess CDMA access technologies from registration
+ state
+
+ Setting access technologies from registration state as part of the
+ registration checking in the CDMA Interface code fights with
+ custom implementations in each modem subclass, which causes the
+ access technologies to ping-pong between more specific (custom
+ implementation) and less specific (generated from registration state
+ during registration checking). If the modem class has more
+ specific access technology knowledge, we should use that and not
+ override it on the next registration state poll.
+
+ So instead, implement the generic access technology update from
+ registration state in the broadband modem base class'
+ load_access_technologies() hook. Thus, modem classes with more
+ specific checking (which override MMBroadbandModem's implementation)
+ will never fight with generic checking, while modems that don't
+ (and thus actually need the generic checking) still get some basic
+ access technology handling.
+
+ src/mm-broadband-modem.c | 116
+ ++++++++++++++++++++++++++++++++--------------
+ src/mm-iface-modem-cdma.c | 17 -------
+ 2 files changed, 82 insertions(+), 51 deletions(-)
+
+commit edeb75b0286b8a6915a4512d1d823875326e15cf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 21:11:18 2013 -0600
+
+ broadband-modem: implement generic QCDM access technology checks
+
+ For modems that don't implement vendor-specific access technology
+ checks, try to get the access technology via QCDM if the modem has
+ a QCDM port.
+
+ src/mm-broadband-modem.c | 335
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 335 insertions(+)
+
+commit f71852c5b93b365c21c8b1ea2f8c236da2e70899
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 9 12:02:18 2013 -0600
+
+ iface-modem-cdma: get CDMA1x Serving System during QCDM registration
+
+ We want the SID/NID even when AT Serving System checks are disabled,
+ otherwise the SID/NID don't get filled at all. QCDM doesn't need the
+ SID/NID to determine registration, so the values are informational
+ only and don't affect registration state. But we still want to
+ export them via the API.
+
+ src/mm-iface-modem-cdma.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+commit fe7438973ad11c9ca2cd78b85f7f97a31a3f23e6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 9 11:11:27 2013 -0600
+
+ trivial: fix comment
+
+ src/mm-iface-modem-cdma.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 7489951f88c3e96f811dedc7b352baf8dd1d4f29
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 20:06:18 2013 -0600
+
+ qcdm: various LTE-related NV mode pref and sysmode updates
+
+ libqcdm/src/commands.h | 3 +++
+ libqcdm/src/dm-commands.h | 1 +
+ libqcdm/tests/test-qcdm-com.c | 27 +++++++++++++++++++++++++++
+ 3 files changed, 31 insertions(+)
+
+commit fc4034a72f0c0e1507baa719f959ccc666ae8392
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 15:14:42 2013 -0600
+
+ broadband-modem-sierra: implement access technology reporting for
+ CDMA devices
+
+ Use AT!STATUS to grab current access technology.
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 88
+ +++++++++++++++++++++++-------
+ 1 file changed, 69 insertions(+), 19 deletions(-)
+
+commit 56bdf4a37b49a9d79d14c6131cc93023ca86e426
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 14:59:24 2013 -0600
+
+ broadband-modem-sierra: make CDMA AT!STATUS parsing code generic
+
+ We'll use it for access technology reporting too.
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 490
+ +++++++++++++++--------------
+ 1 file changed, 258 insertions(+), 232 deletions(-)
+
+commit b68a487e157519e5b75dcd176b9e9e8201cf500f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 14:43:48 2013 -0600
+
+ broadband-modem-sierra: don't check +CAD and +CSS for CDMA devices
+
+ We have !STATUS for that, which is much more detailed. Use it.
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 93
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 93 insertions(+)
+
+commit 01e8e0574f463dc03cccc4a6b8c9dacb754abae1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 14:26:31 2013 -0600
+
+ broadband-modem: more compatible CSQ parsing
+
+ Some devices (usually CDMA modems like the Sierra MC5725 and others)
+ don't prefix their +CSQ replies with +CSQ. So don't require that.
+ The scanf() should ensure the reply is valid even without the +CSQ.
+
+ src/mm-broadband-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 48b36b1afae3a316be75c9c613e6f41be2ad64d2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 11:01:34 2013 -0600
+
+ broadband-modem-sierra: load own numbers via ~NAMVAL?0 for CDMA
+
+ Sierra CDMA devices don't always have QCDM ports, or if they do,
+ they aren't always usable. Try Sierra-proprietary commands for
+ loading the modem's MDN and fall back to QCDM if that fails.
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 122
+ +++++++++++++++++++++++++++++
+ 1 file changed, 122 insertions(+)
+
+commit f7d55a688a59670ab2932569fc50151e6a1cdb4d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 10:02:53 2013 -0600
+
+ broadband-modem-novatel: fix signal strength processing for older
+ devices
+
+ mm_get_int_from_str() does not allow anything in the string after the
+ number, eg "-91 asdfasdf" returns an error. So we have to chop off
+ anything after the number we're interested in.
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 21 +++++++++++++++++----
+ 1 file changed, 17 insertions(+), 4 deletions(-)
+
+commit f95274e735f8c690b6a33e513460603049a23b58
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 8 09:10:04 2013 -0600
+
+ broadband-modem: load own numbers with QCDM too
+
+ Not many CDMA/EVDO-only modems support CNUM since it's not a
+ standard IS707/856 AT command, so for those that don't
+ support it and have a QCDM port, try grabbing the number from
+ NV memory.
+
+ src/mm-broadband-modem.c | 137
+ ++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 131 insertions(+), 6 deletions(-)
+
+commit 2bd4c63716b0729974a7d9e2a5aea75fd56e4cd9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 14 17:38:34 2013 +0100
+
+ hso: remove duplicated code
+
+ plugins/option/mm-broadband-bearer-hso.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 9a07688524256e40fa46853482ec1fb5b247b1d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 10 22:25:14 2013 +0100
+
+ huawei: check with next port if the first one is not AT
+
+ plugins/huawei/mm-plugin-huawei.c | 69
+ +++++++++++++++++++++------------------
+ 1 file changed, 38 insertions(+), 31 deletions(-)
+
+commit 8403a48b311868f4fb767b093a29ea913ade57fb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 11 12:20:00 2013 +0100
+
+ plugin-manager: new debug logs to help track probing issues
+
+ src/mm-plugin-manager.c | 41 ++++++++++++++++++++++++++++++++---------
+ 1 file changed, 32 insertions(+), 9 deletions(-)
+
+commit 0f9873c23a3eb1c43f04ebb12cad6e2548a98b58
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 11 11:21:08 2013 +0100
+
+ sierra: load power state with !pcstate? in cdma-only modems
+
+ plugins/sierra/mm-common-sierra.c | 60
+ +++++++++++++++++++++++++++++++++++----
+ 1 file changed, 54 insertions(+), 6 deletions(-)
+
+commit 695680b2ff6129f3df95f40b72b7683f01ca054a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 12:47:04 2013 +0100
+
+ cli: show current power state in the modem status information
+
+ cli/mmcli-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 669f0928f3a8e2e839de551cc8764f3d607c35a0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 12:23:33 2013 +0100
+
+ cli: new '--set-power-state-on' and '--set-power-state-low' commands
+
+ cli/mmcli-modem.c | 81
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 81 insertions(+)
+
+commit 091c47d695bf48541c49e8d5e07647d0901e367b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 12:09:27 2013 +0100
+
+ libmm-glib,modem: new methods to handle the power state
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 4 +
+ libmm-glib/mm-modem.c | 94
+ +++++++++++++++++++++++
+ libmm-glib/mm-modem.h | 15 ++++
+ 3 files changed, 113 insertions(+)
+
+commit eec5d00a97582830baf7e0458f483ffc04398da0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 11:58:42 2013 +0100
+
+ core,plugins: remove initial power down sequence
+
+ We no longer power down the modem during initialization, so remove
+ that
+ implementation.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 --
+ plugins/gobi/mm-broadband-modem-gobi.c | 2 --
+ plugins/iridium/mm-broadband-modem-iridium.c | 2 --
+ plugins/motorola/mm-broadband-modem-motorola.c | 2 --
+ plugins/nokia/mm-broadband-modem-nokia.c | 2 --
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 --
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 2 --
+ plugins/zte/mm-broadband-modem-zte.c | 2 --
+ src/mm-broadband-modem-qmi.c | 2 --
+ src/mm-iface-modem.h | 8 --------
+ 10 files changed, 26 deletions(-)
+
+commit 7c87555bf850aa1066c908359d8ff101cd04eb98
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 11:56:15 2013 +0100
+
+ mbm: force initial power-up during first enabling
+
+ When both load_power_state() and modem_power_down() are not
+ implemented, the
+ logic will launch the power-up command during (only the first)
+ enabling of the
+ modem.
+
+ In this kind of modems, CFUN is directly related to allowed/preferred
+ modes, so
+ during the initial power-up we'll just assume we want ANY mode.
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 22 ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+commit 5d02361501f7c93345aa10dfbd052a093fed40fd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 11:53:29 2013 +0100
+
+ iridium: ignore initial power state loading
+
+ No need to initially power-up the modem.
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 923d4dd8bdd6d7a785ddbf7874c35b838ba46606
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 11:53:21 2013 +0100
+
+ motorola: ignore initial power state loading
+
+ No need to initially power-up the modem.
+
+ plugins/motorola/mm-broadband-modem-motorola.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f79f3b8770e356fa051927f783f332740cfab8de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 11:53:09 2013 +0100
+
+ nokia: ignore initial power state loading
+
+ No need to initially power-up the modem.
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 9f5cfefb009eda1af986236a92fbfdc46de7efd7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 11:52:16 2013 +0100
+
+ sierra: in 3GPP, no need to check if already powered up before
+ powering up
+
+ This logic is now implemented by the parent broadband modem object.
+
+ Also, implement a custom initial power state loading, so that
+ CDMA-only modems
+ get marked as 'offline', in order to launch !pcstate=1 to power them
+ up during
+ the first enabling. The custom initial power state loading will run
+ the parent's
+ implementation in non-CDMA-only modems.
+
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 4 +
+ plugins/sierra/mm-broadband-modem-sierra.c | 4 +
+ plugins/sierra/mm-common-sierra.c | 134
+ ++++++++++++++---------
+ plugins/sierra/mm-common-sierra.h | 9 ++
+ 4 files changed, 98 insertions(+), 53 deletions(-)
+
+commit e3db373be45464b8c14d4c38f23105aaa7354ba2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 11:50:10 2013 +0100
+
+ wavecom: no need to check if already powered up before powering up
+
+ This logic is now implemented by the parent broadband modem object.
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 74
+ +++-------------------------
+ 1 file changed, 6 insertions(+), 68 deletions(-)
+
+commit 952d96234bf179f26ec757eed7325518445327f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 11:12:05 2013 +0100
+
+ broadband-modem: implement custom power state loading
+
+ src/mm-broadband-modem.c | 96
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 96 insertions(+)
+
+commit 696b879b6dc1d3330406210abe7a28ecf86a5f6a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 1 11:11:44 2013 +0100
+
+ broadband-modem-qmi: implement custom power state loading
+
+ src/mm-broadband-modem-qmi.c | 93
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 93 insertions(+)
+
+commit e55b543d384296ad07fddc3bbcb0a9ec51c86e6a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 31 16:25:06 2012 +0100
+
+ iface-modem: implement power mode loading and setting
+
+ src/mm-iface-modem.c | 435
+ +++++++++++++++++++++++++++++++++++++++------------
+ src/mm-iface-modem.h | 17 ++
+ 2 files changed, 349 insertions(+), 103 deletions(-)
+
+commit 49aecb57dc2aeebb1e133816aec05321e5073cda
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 31 15:10:22 2012 +0100
+
+ api,modem: new 'SetPowerState()' method and 'PowerState' property
+
+ Going into/outof low-power state is now a user-requested action.
+
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 10 ++++++++++
+ include/ModemManager-enums.h | 16
+ ++++++++++++++++
+ .../org.freedesktop.ModemManager1.Modem.xml | 20
+ ++++++++++++++++++++
+ 4 files changed, 47 insertions(+)
+
+commit f50aa47fb282cd250322c70fdbbe0c9889705485
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 10 10:09:35 2013 -0600
+
+ sim-qmi: fix trivial GError literal issues/format string warnings
+
+ src/mm-sim-qmi.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 763e207e9cfdff78e0d40cafc8fd3c685374888d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 9 10:05:15 2013 +0100
+
+ blacklist: ignore all devices from VID 0x0617
+
+ No modems from the Swiss Federal Institute of Technology.
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=691384
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit dc7aa25f0a43571de3d32451ef71e7f69ae4d2dd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 19 09:56:02 2012 +0100
+
+ sim-qmi: translate common SIM-related QMI errors into ME errors
+
+ Upper layers expect Mobile Equipment errors, so try to translate
+ known QMI
+ protocol errors.
+
+ src/mm-sim-qmi.c | 39 +++++++++++++++++++++++++++++++++++----
+ 1 file changed, 35 insertions(+), 4 deletions(-)
+
+commit 1372933345b197d89a7e4ae0d5bdcec1fd1e1b2e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 18 23:38:42 2012 +0100
+
+ iface-modem,sim: improve lock info update logic
+
+ The logic to handle the lock information (current lock and unlock
+ retry count)
+ wasn't handling all possible cases properly, e.g.:
+
+ * When PIN is incorrectly entered too many times, a SIM-PUK error
+ may happen.
+ In this case we need to directly assume SIM-PUK is the current lock
+ (some
+ modems, like Option HSO ones, would incorrectly reply SIM-PIN if
+ CPIN? asked
+ just after the SIM-PUK error).
+
+ * After every operation acting in SIM locks, we need to update
+ the current
+ unlock retry count.
+
+ This change tries to cover those cases, by:
+
+ * The logic to check current lock is extended to also load the
+ unlock retry
+ count when needed.
+
+ * Whenever a SIM-PUK error happens in the SIM operations, we
+ directly assume
+ that SIM-PUK is required, without re-asking CPIN?.
+
+ * The overall logic of lock checking is now handled by a state
+ machine, which
+ is much easier to understand.
+
+ src/mm-iface-modem-simple.c | 15 +-
+ src/mm-iface-modem.c | 447
+ ++++++++++++++++++++++----------------------
+ src/mm-iface-modem.h | 26 +--
+ src/mm-sim.c | 119 +++++++-----
+ 4 files changed, 310 insertions(+), 297 deletions(-)
+
+commit 959bb9d2ffb8bd7a3d701c21ec2cb58cab3717d9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 7 22:19:02 2013 +0100
+
+ broadband-modem: launch the Firmware interface even on fatal errors
+
+ Even when there is a fatal error during initialization (e.g. missing
+ PIN in a
+ 3GPP modem), we should allow operations on the Firmware interface.
+
+ src/mm-broadband-modem.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit e93922197522067851f8cb4b7948ecae93e2843c
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 3 18:50:40 2013 -0800
+
+ iface-modem, novatel-lte: disable network scan in LTE mode
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 102
+ ++++++++++++++++++++++-
+ src/mm-iface-modem.c | 20 +++++
+ src/mm-iface-modem.h | 3 +
+ 3 files changed, 124 insertions(+), 1 deletion(-)
+
+commit bc399d9cf87c3fb775fc677963bb2522c385e2e2
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jan 3 02:55:11 2013 -0800
+
+ iface-modem-3gpp,iface-modem-cdma: check for deallocated
+ RegistrationCheckContext
+
+ This patch fixes a crash in periodic_registration_checks_ready()
+ due to
+ access of an already deallocated RegistrationCheckContext.
+
+ Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )
+
+ 0x7fc344d355cd [ModemManager] -
+ mm-iface-modem-cdma.c:1112 periodic_registration_checks_ready
+ 0x7fc3449ea266 [libgio-2.0.so.0.3200.4] - gsimpleasyncresult.c:767
+ g_simple_async_result_complete
+ 0x7fc3449ea368 [libgio-2.0.so.0.3200.4] - gsimpleasyncresult.c:779
+ complete_in_idle_cb
+ 0x7fc344851dc4 [libglib-2.0.so.0.3200.4] - gmain.c:2539
+ g_main_context_dispatch
+ 0x7fc344852147 [libglib-2.0.so.0.3200.4] - gmain.c:3146
+ g_main_context_iterate
+ 0x7fc3448525a1 [libglib-2.0.so.0.3200.4] - gmain.c:3340
+ g_main_loop_run
+ 0x7fc344d0f154 [ModemManager] - main.c:158
+ main
+ 0x7fc34426a474 [libc-2.15.so] - libc-start.c:234
+ __libc_start_main
+ 0x7fc344d0eb68 [ModemManager] + 0x0001bb68
+
+ src/mm-iface-modem-3gpp.c | 3 ++-
+ src/mm-iface-modem-cdma.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit d40ef838986eb62b4c657a981791e8225ce3ce2c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 28 11:07:46 2012 +0100
+
+ sierra: implement modem reset
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 26
+ ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+commit eae28e9be4af1bb1d588cfd604eee68a0f2778e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 28 10:32:55 2012 +0100
+
+ sierra: wait up to 10s for the power up command reply
+
+ Specially the first time that CFUN=1,0 is issued after the initial
+ power up, we
+ really need to wait more than 3s for the AT command reply. Otherwise,
+ the modem
+ won't like it and it will reset itself :-/
+
+ plugins/sierra/mm-common-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 35775e3634e2783b808bbce777a6e6565d989abb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 28 08:49:35 2012 +0100
+
+ sierra: ignore all +PACSP messages
+
+ Not only +PACSP0, but also +PACSP1.
+
+ plugins/sierra/mm-common-sierra.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit b5257491b040ae4873194573608de267a9375bb1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 28 08:13:40 2012 +0100
+
+ sierra: fix 3GPP dialling sequence
+
+ There was a missing step++ when falling down to the next step in
+ the switch(),
+ which was preventing a proper connection.
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit 95598e2e37463e95555c296a7ae023e7ded46408
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 28 08:01:05 2012 +0100
+
+ sierra: pass data port to parent's 3GPP dialling sequence
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit 1b0ab2ea60eef1fb8d9b9c185d2700dab562be0d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 28 08:00:04 2012 +0100
+
+ broadband-bearer: dial port may be different to the primary port
+
+ src/mm-broadband-bearer.c | 51
+ ++++++++++++++++++-----------------------------
+ 1 file changed, 19 insertions(+), 32 deletions(-)
+
+commit 731812fe342ba4d2a5531992638a21b8a27bdbb4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 13:42:28 2012 +0100
+
+ plugin: avoid QMI-managed net ports when compiling without QMI support
+
+ src/mm-device.c | 29 +++++++++++++----------------
+ src/mm-device.h | 2 ++
+ src/mm-plugin.c | 13 ++++++++++++-
+ 3 files changed, 27 insertions(+), 17 deletions(-)
+
+commit 80b68ac0aeb4e6263ac5d17d268723ac6fd1df47
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 12:43:11 2012 +0100
+
+ plugin-manager: initially never start with the Generic plugin
+ suggested
+
+ The generic plugin should be a fallback, so when starting to probe
+ the port,
+ never start with the Generic plugin first.
+
+ src/mm-plugin-manager.c | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+commit ef31ff75358657a4a048bd4b0b34aeedb092086f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 08:58:39 2012 +0100
+
+ broadband-bearer: PDP context deactivation may take longer
+
+ Update the default timeout from 3s to 10s.
+
+ src/mm-broadband-bearer.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c8fcf7a91d5d9f4d5d0942a3b07984e330198d10
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 08:47:49 2012 +0100
+
+ plugin: re-run subsystems filter before grabbing the ports
+
+ Every port probing will have the Generic plugin as fallback, and
+ due to some
+ other issues in other plugins (see ee099fcd), we need to allow
+ overwriting the
+ suggested plugin from the Generic to a more specific one.
+
+ One of the drawbacks of this is that we're actually allowing the
+ Generic plugin
+ to probe and accept the port, which means that the generic plugin
+ may accept a
+ specific port type (e.g. QMI) while the specific plugin wouldn't. So,
+ we will
+ now also run the subsystems filter before grabbing the specific port,
+ in order
+ to really filter out those cases. We still keep the subsystems
+ filter in
+ pre-probing, so that we build a better initial plugin list to probe.
+
+ src/mm-plugin.c | 63
+ ++++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 42 insertions(+), 21 deletions(-)
+
+commit 7da2a65b43a386499bd5df66dba53f4b31417cad
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 07:39:52 2012 +0100
+
+ plugins: fix generic GObject related macros
+
+ plugins/iridium/mm-broadband-modem-iridium.h | 8 ++++----
+ plugins/novatel/mm-broadband-modem-novatel-lte.h | 8 ++++----
+ plugins/novatel/mm-broadband-modem-novatel.h | 8 ++++----
+ plugins/samsung/mm-broadband-modem-samsung.h | 8 ++++----
+ plugins/sierra/mm-broadband-modem-sierra-icera.h | 8 ++++----
+ plugins/zte/mm-broadband-modem-zte-icera.h | 8 ++++----
+ 6 files changed, 24 insertions(+), 24 deletions(-)
+
+commit f923e95861eb65a29ba9ced2040abaed8add6703
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 07:23:01 2012 +0100
+
+ base-modem: don't set the modem valid if we didn't export the Modem
+ interface
+
+ If an error occurs early during the initialization (e.g. during port
+ setup), we
+ would be aborting without even having exported the modem interface. So
+ detect
+ that case and skip setting the modem as valid.
+
+ src/mm-base-modem.c | 33 ++++++++++++++++++++-------------
+ src/mm-broadband-modem.c | 45
+ ++++++++++++++++++++++++++++-----------------
+ 2 files changed, 48 insertions(+), 30 deletions(-)
+
+commit 4ffa871228fa9b267f1647bf73238811e20e51b7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 27 06:48:23 2012 +0100
+
+ zte: ignore net ports in non-Icera based modems
+
+ Plain non-Icera ZTE modems will use ATD calls and PPP to establish the
+ connection, so ignore 'net' ports that may be found in the way
+ (e.g. when the
+ modem is a QMI modem and we're not using QMI support).
+
+ plugins/zte/mm-plugin-zte.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit ded8bfe96585088629f5d70369fbe9f39f4e54b5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 24 19:06:26 2012 +0100
+
+ hso: new helper code to debug GPS related issues
+
+ Disabled in normal compilation, can be enabled to debug issues.
+
+ plugins/option/mm-broadband-modem-hso.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit 4d4ea9c3698077451ecf91c27d45e6503aa1cd0b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 24 18:57:39 2012 +0100
+
+ iface-modem-location: fix periodic reporting of the GPS location info
+
+ The Location property was never being updated properly.
+
+ src/mm-iface-modem-location.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 850a7737b809ad844fd91de1befa273a66cbe8d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 24 15:54:37 2012 +0100
+
+ broadband-modem: fix reloading of operator code when enabling 3GPP
+ location
+
+ When the 3GPP location is enabled, we need to reload the operator code
+ information, but only if the modem is registered in a 3GPP network.
+
+ Now, instead of looking at the global modem state value, look at
+ the specific
+ 3GPP registration state. This will avoid issues like:
+ * updating 3GPP operator info and the modem registered in a CDMA
+ network.
+ * not updating the 3GPP operator info when the modem is registered
+ in a 3GPP
+ network but not yet fully enabled (i.e. 'enabling').
+
+ src/mm-broadband-modem.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 0380045aacb370c1a95e8119abbe1ffe8e5fb44b
+Author: Anton Blanchard <anton@samba.org>
+Date: Sat Dec 22 22:13:28 2012 +1100
+
+ ModemManager: Blacklist Dangerous Prototypes Bus Pirate v4
+
+ The Bus Pirate v4 presents itself as a CDC ACM device which
+ ModemManager attempts to configure. This results in a range
+ of confusing issues because it injects a bunch of AT commands
+ over whatever is going on at the time.
+
+ Firmware updates were failing at random points and avrdude
+ failed to work at all. Blacklisting it fixed my issues.
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit c08b03f6fde138bad5d4d3232af073314fdce640
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 17 14:23:00 2012 -0600
+
+ sierra: fix APP1 PPP functionality
+
+ Unfortunately, Sierra secondary APP ports reply to +GCAP with
+ only "OK", and not their APP port number or model number. So instead
+ of using +GCAP, we have to use ATI to get secondary port information.
+ This allows us to detect which port is the APP1 port that we can
+ potentially use for PPP, leaving the primary port available for
+ control and status.
+
+ Also, some modems have up to 3 or 4 APP secondary ports, which we
+ need to ensure aren't used as primary. The previous check for +GCAP
+ handled that, but let's make it more explicit.
+
+ AT+GCAP reply:
+ OK
+
+ ATI reply:
+ Sierra Wireless, Inc.
+ C885
+ APP1
+ OK
+
+ See also: 3f3987e09ee762e48c1d53cb42a1288ce9f332cb (MM_06)
+
+ plugins/sierra/mm-plugin-sierra.c | 52
+ +++++++++++++++++++++------------------
+ 1 file changed, 28 insertions(+), 24 deletions(-)
+
+commit dc9bbefbc083a328fad0b770d1e716e704c72c65
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 30 14:03:31 2012 +0100
+
+ icera,hso: don't wait to get connected if the primary port is removed
+
+ If the primary port is gone (e.g. when going to sleep) and we are
+ just in the
+ middle of a connection attempt, we won't be able to receive any
+ unsolicited
+ message regarding the status of the attempt. So, if we detect that
+ the port is
+ forced to get closed, we'll just treat it as a connection failure.
+
+ http://code.google.com/p/chromium-os/issues/detail?id=35391
+
+ plugins/icera/mm-broadband-bearer-icera.c | 30
+ +++++++++++++++++++++++++++++-
+ plugins/option/mm-broadband-bearer-hso.c | 28
+ ++++++++++++++++++++++++++++
+ src/mm-serial-port.c | 13 +++++++++++++
+ src/mm-serial-port.h | 1 +
+ 4 files changed, 71 insertions(+), 1 deletion(-)
+
+commit f20922ba9d766bfbb198a3c2e41981b4d9473cfa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 12 12:55:33 2012 +0100
+
+ bearer: check if signal handler is connected before trying to
+ disconnect it
+
+ Avoids warnings like:
+ GLib-GObject-WARNING **: gsignal.c:2576: instance `0x78624028'
+ has no handler with id `148'
+
+ src/mm-bearer.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit c43c8958d09ba93909c3a2aebd691df9872a10e8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 12 12:21:17 2012 +0100
+
+ sms-part: plug memleak
+
+ src/mm-sms-part.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 9d5e2c608dc75fdb5a660829a77faafe5e686312
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 10 16:34:07 2012 -0600
+
+ sierra: implement the Time interface for 3GPP and CDMA devices
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 243
+ ++++++++++++++++++++++++++++-
+ plugins/sierra/mm-broadband-modem-sierra.h | 2 +
+ 2 files changed, 244 insertions(+), 1 deletion(-)
+
+commit 5427f0d356c115814562cbe0483157a62de616cb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 10 16:30:05 2012 -0600
+
+ sierra: restore longer CFUN=1 timeout for older devices
+
+ Turns out older devices (like the C885/AT&T Mercury) crash often
+ when we don't wait for them to settle from CFUN=1. 5 seconds is
+ too short, but the crashes go away when we wait for 10 seconds.
+ Newer modems like the USB306 don't have this problem, so we just
+ check to see if the modem is a DirectIP device (using sierra_net)
+ and only use the shorter timeout for those newer devices.
+
+ This is a separate problem from some older modems returning ERROR
+ to valid commands that are sent too soon after CFUN=1, which was
+ observed on really old devices like the PCMCIA 860.
+
+ plugins/sierra/mm-common-sierra.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit 26c19ff4741b1ec72b4e131dcb8439dfb9b4af0a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 7 15:43:26 2012 -0600
+
+ release: bump version to 0.7.990
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 46d2d40e9d23c88907f2866e9aca09ca0c902235
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 7 15:38:29 2012 -0600
+
+ release: update NEWS
+
+ NEWS | 30 +++++++-----------------------
+ 1 file changed, 7 insertions(+), 23 deletions(-)
+
+commit d952571b2b09319a25eda1519db145c8967396eb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 5 14:38:13 2012 -0600
+
+ broadband-modem: strip prefixes from GMM/GMR/GMI replies
+
+ Some devices prefix the replies with the command, some don't, so
+ strip off the prefix if it exists.
+
+ src/mm-broadband-modem.c | 77
+ ++++++++++++++++++++++++++----------------------
+ 1 file changed, 42 insertions(+), 35 deletions(-)
+
+commit 4b23fd00a0dd1e4c5127124af01a60d48e7dcdb7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 5 13:53:44 2012 -0600
+
+ icera: implement Time interface support check
+
+ plugins/icera/mm-broadband-modem-icera.c | 34
+ +++++++++++++++++++++++++++++++-
+ 1 file changed, 33 insertions(+), 1 deletion(-)
+
+commit 8c1f80a9a44e686b8f12dcbafa0d3d9b6ad5b7f0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 5 12:17:38 2012 -0600
+
+ huawei: implement Time interface for CDMA modems
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 135
+ ++++++++++++++++++++++++++++-
+ 1 file changed, 134 insertions(+), 1 deletion(-)
+
+commit 4e980d17396bc65acd49edbaf195013dcae5e5d0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 5 12:15:51 2012 -0600
+
+ icera: report 4-digit year as required by ISO-8601
+
+ Assume 2000 + year.
+
+ plugins/icera/mm-broadband-modem-icera.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit dd51f7a6aeb5b133dad32918c73c3e7583a96d97
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 5 11:15:28 2012 -0600
+
+ libmm-glib: document mm_get_uint_from_str()
+
+ Unlike strtol/stroul, this function doesn't ignore leading or
+ trailing non-digit characters, so document that restriction.
+
+ libmm-glib/mm-common-helpers.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 75731cf21c9eb64f70ba243122a7c384c4d1be00
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 5 11:00:31 2012 -0600
+
+ modem-helpers: add EVDO rev. B and "CDMA2000 1X" to access tech helper
+
+ Some Huawei modems report these, and we may use the generic helper
+ in the future.
+
+ src/mm-modem-helpers.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit e3a71711bfbb0998b85bdb00fe7857c34b560dec
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 28 13:09:58 2012 -0600
+
+ huawei: handle CDMA allowed modes
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 107
+ ++++++++++++++++++++++++-----
+ 1 file changed, 89 insertions(+), 18 deletions(-)
+
+commit c3984d3982ecce269451cb6d3a1ac2281bfc57b5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 28 10:27:07 2012 -0600
+
+ huawei: fix crash disabling CDMA unsolicited response handlers
+
+ Parent MMBroadbandModem may not implement these functions so we
+ shouldn't call them unless it does.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 19 ++++++++++++++-----
+ 1 file changed, 14 insertions(+), 5 deletions(-)
+
+commit f0ba40f3a1c3ea34c84bfd94cc5f87c4e288f37d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 28 10:23:38 2012 -0600
+
+ huawei: implement Huawei-specific CDMA signal quality checks
+
+ Many Huawei CDMA modems implement vendor commands for 1x and EVDO
+ signal quality, so use them since they are more accurate than the
+ generic signal checking.
+
+ (port of a similar patch for MM_06 by heiher <admin@heiher.info>)
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 132
+ ++++++++++++++++++++++++++++-
+ 1 file changed, 131 insertions(+), 1 deletion(-)
+
+commit 8fdcfd5b97e9a2a9e6fd98a9d833691256443498
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 28 10:15:45 2012 -0600
+
+ huawei: consolidate MODE parsing
+
+ Both CDMA and 3GPP modems emit this, but using slightly different
+ formats.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 54
+ +++++++++++++++++++++++++++---
+ 1 file changed, 49 insertions(+), 5 deletions(-)
+
+commit 56e5ecdc1b64c37f103eea1adc8ace3c743ed0e2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 28 09:45:47 2012 -0600
+
+ huawei: consolidate SYSINFO parsing
+
+ Both CDMA and 3GPP modems use SYSINFO, so consolidate the parsing of
+ its response.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 219
+ ++++++++++++++++++-----------
+ 1 file changed, 135 insertions(+), 84 deletions(-)
+
+commit b39ae775d6c13474d0c3b74acfd642a420f1faba
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 30 15:25:37 2012 +0100
+
+ serial: clear serial info struct before calling ioctl()
+
+ We need the kernel driver to give a proper value for the
+ 'closing_wait'
+ variable, but don't assume it will.
+
+ This should solve the following kind of issues reported by valgrind:
+
+ ==8985== Conditional jump or move depends on uninitialised value(s)
+ ==8985== at 0x4409A6: mm_serial_port_close (mm-serial-port.c:932)
+ ==8985== by 0x41A420: disable_all_done (mm-generic-cdma.c:753)
+ ==8985== by 0x4125A4: mm_manager_shutdown (mm-manager.c:1130)
+ ==8985== by 0x40DE35: main (main.c:203)
+
+ src/mm-serial-port.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 1e23fe62fe80a7351760bfb7fe9eeba7631d882b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Nov 29 11:22:52 2012 -0600
+
+ sierra: USB 306 modems support PPP on the APPx ports
+
+ plugins/sierra/mm-plugin-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ad51361cb78a2d2fae0b164d8396882dd2638bbf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 29 10:42:45 2012 +0100
+
+ plugin-base: handle Huawei Data07 capabilities probing
+
+ src/mm-broadband-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b0746c591f052587999ca22b81b86f1e8dd56354
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 27 22:04:04 2012 +0100
+
+ huawei: don't assume g_regex_match_full() sets error when not matching
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+commit 2f28193cd48a8d965ad9e26f1b918649ba10f5ec
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 27 14:50:14 2012 -0600
+
+ broadband-modem-huawei: don't call non-existent MMBroadbandModem
+ CDMA functions
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 20 +++++++++++++++-----
+ 1 file changed, 15 insertions(+), 5 deletions(-)
+
+commit ef644fba84544c1a91b3fd2b510e39f9877b3680
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 27 09:54:51 2012 -0600
+
+ hso: DIAG ports aren't always DIAG
+
+ The 'hso' driver tags Icera-based modems' proprietary protocol port
+ as a DIAG port, but since they aren't Qualcomm-based, it's not
+ a DIAG port. Just turn off AT probing and let QCDM probing
+ fail the port instead of assuming it's a DIAG port.
+
+ plugins/option/mm-plugin-hso.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit c90e41fb1327ad48166b58a8f8281ac6462a9690
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 27 09:53:29 2012 -0600
+
+ port-probe: early-exit if port is certainly not AT capable
+
+ If we read a response that indicates the port is definitely not an
+ AT capable port, stop AT probing. Certain ports that use proprietary
+ protocols or other non-AT protocols tend to spew data at us, so when
+ this happens we can cut probing short.
+
+ src/mm-port-probe.c | 131
+ +++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 74 insertions(+), 57 deletions(-)
+
+commit a01e8aa31724ee1210b86d1d7261897a305d8710
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 26 17:29:48 2012 -0600
+
+ serial-port: consistently use mm_warn() instead of g_warning()
+
+ src/mm-serial-port.c | 45 +++++++++++++++++++++------------------------
+ 1 file changed, 21 insertions(+), 24 deletions(-)
+
+commit 8772d63389b97a65bcace9fe0b54175a6adab9fe
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 26 17:05:52 2012 -0600
+
+ serial-port: stop reading data if the serial port was closed
+
+ If a response processor closed the port, don't try to read any
+ more data from it. Move the priv->watch_id check to the
+ while condition so the loop terminates before calling
+ g_io_channel_read_chars() again, which caused a warning since
+ the underlying file descriptor was already closed.
+
+ Also, bytes_read will never be less than zero (it's unsigned),
+ so skip the bytes_read > 0 check and just assert that this
+ condition is true.
+
+ src/mm-serial-port.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit a7167b93b9f077e063024754ad2d566fc65f76b4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 26 16:49:39 2012 -0600
+
+ port-probe: fix crash in buffer-full processing
+
+ Signal was attached with user_data as MMPortProbe*, but
+ serial_buffer_full() treated user_data as a PortProbeRunTask*.
+ Hillarity ensued.
+
+ src/mm-port-probe.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+commit 6106d1d6a2b05a031c54c75861363b199136e417
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 26 16:17:07 2012 -0600
+
+ port-probe: fix checking of Icera capability on some devices
+
+ Sierra devices often have limited AT parsers on their APP ports
+ which reply with OK to any command they don't understand, and
+ thus we need to actually check for a valid IPSYS reply instead of
+ just checking whether the IPSYS request completed without error.
+
+ Previously MM would detect Icera capability on devices that
+ didn't actually have it.
+
+ src/mm-port-probe-at.c | 18 ------------------
+ src/mm-port-probe-at.h | 7 -------
+ src/mm-port-probe.c | 9 ++++-----
+ 3 files changed, 4 insertions(+), 30 deletions(-)
+
+commit 3e39144100315c5be83396d5ef2433be4b7ae203
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 26 13:56:32 2012 -0600
+
+ qcdm: handle more test failures for NW subsystem
+
+ Bandrich C120 returns BAD_LENGTH rather than BAD_COMMAND, perhaps
+ because it re-uses the same subsystem number for something else.
+
+ libqcdm/tests/test-qcdm-com.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 33f440c88543c32b70b0ba9458dc047c35ad23c9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 26 13:55:07 2012 -0600
+
+ broadband-modem: fall back to +CSQ if +CIND signal quality checking
+ fails
+
+ If +CIND fails for any reason (generic failure, wrong indexes, etc) or
+ reports zero signal strength (quirky modem) then fall back to +CSQ.
+
+ src/mm-broadband-modem.c | 72
+ +++++++++++++++++++++++++-----------------------
+ 1 file changed, 37 insertions(+), 35 deletions(-)
+
+commit 562055b53b7878e7bb0e240ae121d4bcd6926e93
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 27 16:24:54 2012 +0100
+
+ libmm-glib,manager: client creation may fail, avoid explicit
+ MM_MANAGER() cast
+
+ libmm-glib/mm-manager.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit e97b229e663dcd6d24a15fef51f13e2886ddf134
+Author: Jiří Klimeš <jklimes@redhat.com>
+Date: Tue Nov 27 10:48:48 2012 +0100
+
+ core: fix possible crash in g_utf8_validate()
+
+ We can skip additional UTF-8 validity check when parsing operator.
+ mm_charset_take_and_convert_to_utf8() already does a UTF-8 validity
+ check
+ internally before returning the string, so it's pointless to do a
+ new one
+ on the returned string.
+ Plus, mm_charset_take_and_convert_to_utf8() may really return NULL,
+ which
+ would end up in segfaulting as g_utf8_validate() expects always
+ a non-NULL
+ string.
+
+ Based on 219424a6e2d017491a05ecbed661bccde3f991ef (MM_06 branch)
+
+ src/mm-modem-helpers.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit e6052a4abfde3550b0b9c2229adb0bb381ac4a06
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 27 11:26:51 2012 +0100
+
+ icera,hso: don't disconnect() cancellable in the cancellation callback
+
+ The logic gets completely stuck when this happens:
+
+ Stack trace below:
+ #0 0x77661424 in __kernel_vsyscall ()
+ #1 0x77337c3c in pthread_cond_wait ()
+ #2 0x773cebaa in g_cond_wait () from /usr/lib/libglib-2.0.so.0
+ #3 0x774c03cc in g_cancellable_disconnect () from
+ /usr/lib/libgio-2.0.so.0
+ #4 0x76955d36 in connect_cancelled_cb (cancellable=0x78e055a0,
+ self=0x78e0b590)
+ #5 0x77460982 in g_cclosure_marshal_VOID__VOIDv () from
+ /usr/lib/libgobject-2.0.so.0
+ #6 0x7745ed8a in ?? () from /usr/lib/libgobject-2.0.so.0
+ #7 0x77478435 in g_signal_emit_valist () from
+ /usr/lib/libgobject-2.0.so.0
+ #8 0x77478eb3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
+ #9 0x774c01eb in g_cancellable_cancel () from
+ /usr/lib/libgio-2.0.so.0
+ #10 0x776a0eab in mm_bearer_disconnect (self=0x78e0b590,
+ callback=0x776c5980 <disconnect_ready>,
+ #11 0x776c57de in disconnect_next_bearer (ctx=0x78e12870) at
+ mm-iface-modem-simple.c:898
+ #12 0x776c58d2 in disconnect_auth_ready (self=0x78df3048,
+ res=0x78e06210, ctx=0x78e12870)
+ #13 0x774fed25 in g_simple_async_result_complete () from
+ /usr/lib/libgio-2.0.so.0
+ #14 0x776a8c4e in authorize_ready (authp=0x78db68d0, res=0x76801638,
+ simple=0x78e06210)
+ #15 0x774fed25 in g_simple_async_result_complete () from
+ /usr/lib/libgio-2.0.so.0
+ #16 0x774fee3e in ?? () from /usr/lib/libgio-2.0.so.0
+ #17 0x7738a7a2 in ?? () from /usr/lib/libglib-2.0.so.0
+ #18 0x7738ce83 in g_main_context_dispatch () from
+ /usr/lib/libglib-2.0.so.0
+ #19 0x7738d248 in ?? () from /usr/lib/libglib-2.0.so.0
+ #20 0x7738d6eb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
+ #21 0x77696a7d in main (argc=2, argv=0x7fbb1f04) at main.c:158
+
+ http://code.google.com/p/chromium-os/issues/detail?id=36448
+
+ plugins/icera/mm-broadband-bearer-icera.c | 2 --
+ plugins/option/mm-broadband-bearer-hso.c | 2 --
+ 2 files changed, 4 deletions(-)
+
+commit 674ecaa6eb356539a56d84057cc9fa7b5aeed0b1
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Nov 26 23:56:27 2012 -0800
+
+ broadband-modem: check for NULL response in
+ parse_caps_{cpin,cgmm,gcap}
+
+ src/mm-broadband-modem.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit cf46ed42384e9fbd4872e2f98d743755d8f9a571
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Nov 15 09:37:56 2012 +0100
+
+ libmm-glib,manager: register DBus error associations in advance
+
+ In order to have a proper conversion between DBus error names and
+ GErrors for
+ our known domains, the associations need to be registered before
+ any DBus
+ call attempt.
+
+ Given that the high-level API of libmm-glib has its entry point
+ always in the
+ MMManager, just register them as soon as the first such object
+ is created.
+
+ libmm-glib/mm-manager.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+commit b74741e6420519767bd7551f29dc69f9f31b4c51
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 25 14:06:17 2012 -0500
+
+ qcdm: get/set functions for hybrid preference
+
+ libqcdm/src/commands.c | 88
+ +++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 23 +++++++++++
+ libqcdm/src/nv-items.h | 13 +++++++
+ libqcdm/tests/test-qcdm-com.c | 42 +++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 169 insertions(+)
+
+commit 773d0022d0d1756ca8a29ad273bea38916a93499
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 14 11:07:28 2012 -0600
+
+ qcdm: trivial cleanup of log item numbers
+
+ libqcdm/src/log-items.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 79652bb671d188da2905fb95d7f928c689305451
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 14 11:05:21 2012 -0600
+
+ qcdm: clarify log item command length member
+
+ libqcdm/src/dm-commands.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e798b6e663131aaabc8919de2a46eb2f58d43aa0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Nov 8 12:17:00 2012 -0600
+
+ serial: fix warning when driver doesn't support closing_wait
+ (bgo #630670)
+
+ It appears that GIOChannel might also do some flushing, so make sure
+ our warning captures that delay if there is one. Also be paranoid
+ and make sure nothing reset our closing_wait value.
+
+ src/mm-serial-port.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+commit 191eabe952031b5dcc86e92c993d6bfbef101f3f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 13 07:41:03 2012 +0100
+
+ blacklist: skip probing Atmel samba bootloader
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=688213
+
+ src/77-mm-usb-device-blacklist.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit c2db8abe5238c3ddd05d11a0f99f10914b2af9cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Nov 8 15:59:12 2012 +0100
+
+ huawei: better detection of data port on some modems
+
+ Some devices (e173) appear to lie about NDIS support; GETPORTMODE
+ reports NDIS
+ is enabled, but that port is actually the MDM port and responds to
+ AT commands.
+ So, if we get a port reported as NDIS and none reported as MDM,
+ use the one
+ reported as NDIS for PPP.
+
+ https://bugs.launchpad.net/ubuntu/+source/modemmanager/+bug/1057186
+
+ plugins/huawei/mm-plugin-huawei.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 8c4a836a2dbb9f682ab99871496c47a4c899ded9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 31 11:36:36 2012 +0100
+
+ option,hso: early check of port type hints to avoid probings
+
+ Instead of getting the port type hints while grabbing each probed
+ port, we now
+ run a custom init operation in the probing which already gives us
+ the port type,
+ and therefore allows us to completely skip port probings.
+
+ Also now added hints for 'Diag' (QCDM) ports and AT/'Modem' ports
+ (I guess it's
+ the one for PPP if we don't have a net port, which is unlikely anyway
+ in HSO).
+
+ This makes the probing of an Option/HSO modem almost instant.
+
+ plugins/option/mm-plugin-hso.c | 142
+ ++++++++++++++++++++++++++---------------
+ 1 file changed, 92 insertions(+), 50 deletions(-)
+
+commit 94d62146e39c3c48fcd4e134cad99f6aadb0d77d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 7 10:01:03 2012 +0100
+
+ libmm-glib,manager: avoid unref of unset cancellables
+
+ libmm-glib/mm-manager.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 11db2ea38093bc8d1bb1424cfca84abf3b66185c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 5 16:29:30 2012 -0600
+
+ sierra: fix CFUN power up delay handling
+
+ All Sierra devices appear to require short delay after powering up,
+ otherwise subsequent commands may return errors. Older devices need
+ longer so ensure new devices are penalized just for being new.
+
+ This is the port to git master of the following commit, for which we
+ don't need to do #2:
+
+ commit 814febe1fd9baacdb33c79f11c140187df36c4f1
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Tue Oct 30 16:16:25 2012 -0500
+
+ sierra: fix CFUN power up delay handling
+
+ 1) all Sierra devices appear to require short delay after
+ powering up,
+ otherwise subsequent commands may return errors. Older devices
+ need
+ longer so ensure new devices are penalized just for being new.
+
+ 2) When the modem is already in full functionality status and
+ no power
+ up command was sent, there's no need to delay, which was happening
+ regardless of what state the modem was already in. Detect whether
+ the power up was actually executed (response and error will
+ be NULL)
+ and only delay if it was executed.
+
+ plugins/sierra/mm-common-sierra.c | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+commit 5a16f2aff10660bdf279a5ebbd0138f6aea6480a
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Nov 3 18:00:03 2012 -0700
+
+ novatel-lte: use $NWMDN to read own number when +CNUM fails
+
+ +CNUM may return ERROR when the modem fails to read the own numbers
+ from
+ the SIM card or when the SIM card hasn't been activated. Use $NWMDN to
+ read the MDN as a fallback, which distinguishes these two cases.
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 103
+ +++++++++++++++++++++++
+ 1 file changed, 103 insertions(+)
+
+commit af48e1c8b7b4cdc4212540d0f893a09f68630959
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 2 14:29:52 2012 +0100
+
+ broadband-modem-qmi: by default request only GSM-WCDMA mode messages
+
+ This should probably fix the issues seen with the Novatel E362
+ (CDMA+LTE):
+
+ ModemManager[4813]: <debug> [1351697325.212782]
+ [mm-broadband-modem-qmi.c:5541] load_initial_sms_parts(): loading
+ messages from storage 'sm'...
+ ModemManager[4813]: [/dev/cdc-wdm0] Sending message...
+ <<<<<< QMUX:
+ <<<<<< length = 16
+ <<<<<< flags = 0x00
+ <<<<<< service = "wms"
+ <<<<<< client = 2
+ <<<<<< QMI:
+ <<<<<< flags = "none"
+ <<<<<< transaction = 3
+ <<<<<< tlv_length = 4
+ <<<<<< message = "List Messages" (0x0031)
+ <<<<<< TLV:
+ <<<<<< type = "Storage Type" (0x01)
+ <<<<<< length = 1
+ <<<<<< value = 01
+ <<<<<< translated = 1
+ ModemManager[4813]: [/dev/cdc-wdm0] Received message...
+ >>>>>> QMUX:
+ >>>>>> length = 19
+ >>>>>> flags = 0x80
+ >>>>>> service = "wms"
+ >>>>>> client = 2
+ >>>>>> QMI:
+ >>>>>> flags = "response"
+ >>>>>> transaction = 3
+ >>>>>> tlv_length = 7
+ >>>>>> message = "List Messages" (0x0031)
+ >>>>>> TLV:
+ >>>>>> type = "Result" (0x02)
+ >>>>>> length = 4
+ >>>>>> value = 01:00:11:00
+ >>>>>> translated = FAILURE: MissingArgument
+ ModemManager[4813]: <debug> [1351697325.215112]
+ [mm-iface-modem-messaging.c:757] load_initial_sms_parts_ready():
+ Couldn't load SMS parts from storage 'sm': 'Couldn't list messages:
+ QMI protocol error (17): 'MissingArgument''
+
+ src/mm-broadband-modem-qmi.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit b43575fdf9c2f6b9f47dcb034343c0cb58e3df90
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 2 14:19:15 2012 +0100
+
+ iface-modem-messaging: fix storage string when reporting errors
+
+ src/mm-iface-modem-messaging.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 9ec90d9a11f53c91274a1341217e7da5f8621674
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 2 09:52:31 2012 +0100
+
+ core,plugins: don't assume 'CS' supported when '2G' supported
+
+ We will not report 'CS' as a supported mode every time '2G' is
+ supported. This
+ actually was forcing all plugins to handle a 'CS' fallback when they
+ didn't have
+ CS-specific mode setup. So, to simplify things, we will only report
+ 'CS' as
+ supported for those plugins which actually allow to select 'CS' mode
+ (e.g. the
+ 'wavecom' plugin).
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 7 -------
+ plugins/icera/mm-broadband-modem-icera.c | 9 +--------
+ plugins/linktop/mm-broadband-modem-linktop.c | 7 -------
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 7 -------
+ plugins/option/mm-broadband-modem-option.c | 9 +--------
+ plugins/x22x/mm-broadband-modem-x22x.c | 7 -------
+ plugins/zte/mm-broadband-modem-zte.c | 7 -------
+ src/mm-broadband-modem.c | 7 -------
+ src/mm-modem-helpers-qmi.c | 9 ++-------
+ 9 files changed, 4 insertions(+), 65 deletions(-)
+
+commit 96305bb5c1d32e5a0e517750501b705502e74111
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 2 09:48:56 2012 +0100
+
+ iridium: report only 'CS' mode supported
+
+ Iridium modems only support circuit-switched connections, so just
+ report that
+ one as supported.
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 31
+ ++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+commit 55c05121adf23e9fc9669540cedc63e84005e2cd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 2 08:49:37 2012 +0100
+
+ broadband-modem-qmi: fix error reporting when loading current
+ bands fails
+
+ src/mm-broadband-modem-qmi.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 1fd1f558f1ad05b8f06f09b0d2b2ce318ac30ee7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 31 13:12:12 2012 +0100
+
+ broadband-modem-qmi: implement CDMA BS location reporting
+
+ src/mm-broadband-modem-qmi.c | 53
+ +++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 47 insertions(+), 6 deletions(-)
+
+commit 31ec55aea8ed310403929f5b9c7ffcca74b145e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 31 12:50:13 2012 +0100
+
+ iface-modem-location: implement handling the CDMA BS location source
+
+ src/mm-iface-modem-location.c | 112
+ +++++++++++++++++++++++++++++++++++++-----
+ src/mm-iface-modem-location.h | 6 +++
+ 2 files changed, 107 insertions(+), 11 deletions(-)
+
+commit b508316a5a87409e9acf5a625f7501280dd29f74
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 31 12:35:01 2012 +0100
+
+ cli: new actions to setup or gather CDMA BS location source
+
+ cli/mmcli-modem-location.c | 74
+ ++++++++++++++++++++++++++++++++++++++++------
+ docs/man/mmcli.8 | 24 ++++++++++-----
+ 2 files changed, 82 insertions(+), 16 deletions(-)
+
+commit d9241d08db31cf5bbb91ecc13c5b6839161a3804
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 31 12:34:46 2012 +0100
+
+ libmm-glib: implement handling the CDMA BS location source
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 27 +++
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-location-cdma-bs.c | 219
+ ++++++++++++++++++++++
+ libmm-glib/mm-location-cdma-bs.h | 84 +++++++++
+ libmm-glib/mm-modem-location.c | 97 +++++++++-
+ libmm-glib/mm-modem-location.h | 14 ++
+ 8 files changed, 438 insertions(+), 8 deletions(-)
+
+commit 24c40e32bd6b5a9becbba05d18f8fbbdc3592d51
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 31 12:34:07 2012 +0100
+
+ api: new source for the CDMA Base Station location
+
+ include/ModemManager-enums.h | 2 ++
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 24
+ ++++++++++++++++++++++
+ 2 files changed, 26 insertions(+)
+
+commit 72068598e51a020a1f4c405c3d1650e4d2eef0a3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 31 12:09:46 2012 +0100
+
+ libmm-glib: new header file for common stuff in location reporting
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 6 +--
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-location-common.h | 48
+ +++++++++++++++++++++++
+ libmm-glib/mm-location-gps-raw.c | 38 +++++++++---------
+ libmm-glib/mm-location-gps-raw.h | 27 +------------
+ 6 files changed, 75 insertions(+), 47 deletions(-)
+
+commit 15f7a370d2c4adb118488287fd553c673e8142b4
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Oct 31 21:31:29 2012 -0700
+
+ novatel-lte: increase the wait after SIM unlock to 3 seconds
+
+ After repeated stress tests on a few Novatel E362 modems and SIM
+ cards,
+ it is revealed that a 3-second wait after SIM unlock is necessary for
+ reliably reading ICCID and IMSI through the SIM interface.
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 02ef7d95474af3d13ce6905d7f8dcd3c8ce82608
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Oct 31 21:23:42 2012 -0700
+
+ iface-modem: load own numbers after SIM initialization
+
+ In 3GPP, own numbers are loaded from the SIM card, the loading of own
+ numbers should be scheduled after the SIM card is ready.
+
+ src/mm-iface-modem.c | 34 +++++++++++++++++-----------------
+ 1 file changed, 17 insertions(+), 17 deletions(-)
+
+commit daf1a353c32e3bbf182e8c9c2948c35627c3111d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 31 10:54:25 2012 +0100
+
+ core: allow QMI modems without AT ports
+
+ src/mm-base-modem.c | 24 ++++++++++++++---
+ src/mm-broadband-modem-qmi.c | 62
+ +++++++++++++++++++++++++++++++++++++++++---
+ src/mm-broadband-modem.c | 13 ++++++----
+ 3 files changed, 86 insertions(+), 13 deletions(-)
+
+commit 25d35b6f915b65565ec90d17bfdaa96a7e6c391f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 29 16:11:35 2012 +0100
+
+ broadband-modem-qmi: run power-down during init
+
+ src/mm-broadband-modem-qmi.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 189726de1156146f41b73e0a3570a106c79862c4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 30 18:39:53 2012 -0500
+
+ sierra: allow more time for PDP context activation
+
+ 3 seconds isn't always enough to set up the context with the network.
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 26956924b062bed7f1b724376f9e6ee7e89c1e13
+Author: Marius B. Kotsbak <marius@kotsbak.com>
+Date: Tue Oct 30 18:01:23 2012 +0100
+
+ sierra: avoid reset when setting cfun=1
+
+ Some Sierra modems trigger a reset of the modem when sending +cfun=1.
+ All sierra modems supports a second parameter to indicate that no
+ reset is to be done: "+cfun=1,0".
+
+ plugins/sierra/mm-common-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 120b660fd4824e779b37e16a4e211867c8e34a68
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 30 16:06:27 2012 +0100
+
+ core,log: include logging from the 'Qmi' log domain
+
+ Sync with libqmi:
+
+ commit 2835a53732fdae32478dd954a9ee3fa8afd93cab
+ Author: Aleksander Morgado <aleksander@lanedo.com>
+ Date: Tue Oct 30 15:02:24 2012 +0100
+
+ libqmi-glib: define library G_LOG_DOMAIN
+
+ src/mm-log.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 3c2bcb8d04da23567f88db2710a93803ca54f347
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 30 15:50:32 2012 +0100
+
+ huawei: ignore '^STIN' unsolicited messages
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 6992e3b32d33d7d2ff340b7f9c26f99f91099ad3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 30 15:48:30 2012 +0100
+
+ huawei: reset ignored unsolicited message handlers only once
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 56
+ +++++++++++++++++++-----------
+ 1 file changed, 36 insertions(+), 20 deletions(-)
+
+commit 0ca6ae1b4b142dfa947bec45c833388f86cc9709
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 26 13:41:27 2012 +0200
+
+ plugin-manager,plugin: run pre-probing filters early
+
+ For each port, we will construct the list of plugins to test with. In
+ that list
+ we will include those plugins which are likely to handle a given port,
+ so we
+ will skip all those which aren't.
+
+ To see if a plugin is likely or not, we will run the pre-probing
+ filters before
+ adding them to the list, with the new
+ `mm_plugin_discard_port_early()'. This
+ method will return one of these hints:
+
+ * UNSUPPORTED: The plugin will not be able to handle this port.
+ * MAYBE: The plugin may handle this port.
+ * LIKELY: The plugin may (very likely) handle this port.
+ * SUPPORTED: If any plugin should support the port, this is it.
+
+ Plugins reported to be 'likely' supporting the port will be probed
+ before the
+ ones reported just as 'maybe'.
+
+ If a plugin reports 'supported' only that one and the fallback
+ generic ones will
+ be tried.
+
+ src/mm-plugin-manager.c | 119
+ ++++++++++++++++++++++++++++++++++--------------
+ src/mm-plugin.c | 82 +++++++++++++++++++++------------
+ src/mm-plugin.h | 15 +++++-
+ 3 files changed, 152 insertions(+), 64 deletions(-)
+
+commit e5b4b4d0e5ab11a581504ce88be2a1aa317524e8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 26 13:00:49 2012 +0200
+
+ plugin-manager: use dispose() as we're holding plugin objects
+
+ src/mm-plugin-manager.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit 49c19bf83e0c03e8d134d2c1d6a8d60df7d341f3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 26 12:56:08 2012 +0200
+
+ plugin: avoid unneeded vendor/product AT probing if already passed
+ USB ID filter
+
+ Don't require vendor/product string probing if the plugin already had
+ vendor/product ID filters and we actually passed those.
+
+ src/mm-plugin.c | 42 ++++++++++++++++++++++++++++--------------
+ 1 file changed, 28 insertions(+), 14 deletions(-)
+
+commit 3f255b628aac5c7b491a4daeb5a7cb43357d8432
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 26 12:44:15 2012 +0200
+
+ plugin-manager,plugin: improve logging
+
+ Logging which are the reasons for a plugin to filter a given port
+ really help
+ when trying to debug user issues. Some other general logging
+ improvements also
+ done.
+
+ src/mm-plugin-manager.c | 61 ++++++++--------------------
+ src/mm-plugin.c | 103
+ ++++++++++++++++++++++++++++++++++++------------
+ 2 files changed, 94 insertions(+), 70 deletions(-)
+
+commit 28114f66d53a5f232904f2609778b9cd8f84ffa0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 16:25:38 2012 +0200
+
+ iface-modem,broadband-modem: update 'enabling->enabled transition
+ logic
+
+ It is not the Modem interface the one notifying about the
+ 'enabling->enabled'
+ transition, it's the BroadbandModem directly doing it, covering all
+ the enabling
+ sequences of all the interfaces.
+
+ src/mm-broadband-modem.c | 93
+ ++++++++++++++++++++++++++++++++++++++----------
+ src/mm-iface-modem.c | 26 --------------
+ 2 files changed, 75 insertions(+), 44 deletions(-)
+
+commit d09d02442ff19f7b0b47b6a5505d49ed3154c30a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 16:24:52 2012 +0200
+
+ iface-modem,broadband-modem: update 'disabling->disabled' transition
+ logic
+
+ It is not the Modem interface the one notifying about the
+ 'disabling->disabled'
+ transition, it's the BroadbandModem directly doing it, covering
+ all the
+ disabling sequences of all the interfaces.
+
+ src/mm-broadband-modem.c | 125
+ +++++++++++++++++++++++++++--------------------
+ src/mm-iface-modem.c | 17 -------
+ 2 files changed, 72 insertions(+), 70 deletions(-)
+
+commit a12d1e36b0bcda80f3b7f0ae28513a086bb3fd91
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 16:22:25 2012 +0200
+
+ iface-modem: when transitioning to ENABLED check registration-specific
+ states
+
+ src/mm-iface-modem.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit f667898ecac27906fae9dfa526b799b0c81221f6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 16:22:55 2012 +0200
+
+ iface-modem: ignore registration-related state changes if enabling
+ or disabling
+
+ src/mm-iface-modem.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit db80fd25509ca9c9cf56d57d1e4de637a859c0cd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 16:22:05 2012 +0200
+
+ iface-modem: ignore bearer related state changes if disabling
+ or enabling
+
+ src/mm-iface-modem.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 16428630372d5047da8fa6874fd7b7ebc6da7fd1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 11:21:48 2012 +0200
+
+ iface-modem-simple: avoid intermediate states
+
+ If the modem is currently disabling, we need to wait to get fully
+ disabled
+ before starting with the new connection sequence.
+
+ If the modem is currently disconnecting, we need to wait to get fully
+ disconnected before starting with the new connection sequence.
+
+ src/mm-iface-modem-simple.c | 160
+ +++++++++++++++++++++++++-------------------
+ 1 file changed, 90 insertions(+), 70 deletions(-)
+
+commit 4fc3f527919182031e039d902f7d1e3cd2b3ab11
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 13:37:52 2012 +0200
+
+ iface-modem: new helper method to wait until a final state is reached
+
+ src/mm-iface-modem.c | 128
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 9 ++++
+ 2 files changed, 137 insertions(+)
+
+commit 96986117b3f5dcbfa3c70d9e74047ebccc99dfcd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 13:39:20 2012 +0200
+
+ option,hso: don't reset connection if cancelled, wait to get
+ connected before
+
+ If we are requested to cancel the connection, we first need to wait
+ for the
+ connection attempt to finish before issuing the disconnect command,
+ as otherwise
+ the modem just returns an error saying that it cannot perform the
+ operation and
+ at the end we end up with the modem connected but ModemManager
+ thinking that it
+ isn't.
+
+ plugins/option/mm-broadband-bearer-hso.c | 152
+ ++++++++++++++++++++-----------
+ 1 file changed, 101 insertions(+), 51 deletions(-)
+
+commit 6297c4b4c891ab99576cf69f88fc570313553e1a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 23 12:40:55 2012 +0200
+
+ icera: don't reset connection if cancelled, wait to get connected
+ before
+
+ If we are requested to cancel the connection, we first need to wait
+ for the
+ connection attempt to finish before issuing the disconnect command,
+ as otherwise
+ the modem just returns an error saying that it cannot perform the
+ operation and
+ at the end we end up with the modem connected but ModemManager
+ thinking that it
+ isn't.
+
+ Tries to fix https://bugzilla.gnome.org/show_bug.cgi?id=685578
+
+ plugins/icera/mm-broadband-bearer-icera.c | 103
+ ++++++++++++++++++++++--------
+ 1 file changed, 76 insertions(+), 27 deletions(-)
+
+commit a772b28ad61d5ebd5dd0705d81707dbc9cf04273
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 25 16:50:08 2012 +0200
+
+ broadband-modem-qmi: only give gsm/wcdma acquisition order if both
+ 2G & 3G given
+
+ src/mm-broadband-modem-qmi.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 79af94fdbda0c7ed093108fa9e79f4e2ef74be1b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 25 16:49:16 2012 +0200
+
+ broadband-modem-qmi: don't treat no-effect errors as failure when
+ setting SSP
+
+ src/mm-broadband-modem-qmi.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit e2d20974c14b1c28d172864974e1e73b2f65dc10
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 25 16:18:16 2012 +0200
+
+ iface-modem: don't re-set interface skeleton after PIN unlock
+
+ Before the change, the client application loses all new property
+ change
+ notifications in the interface object:
+
+ $ sudo mmcli -m 0 -w
+ /org/freedesktop/ModemManager1/Modem/0: Initial state,
+ 'locked'
+ /org/freedesktop/ModemManager1/Modem/0: State changed,
+ 'locked' --> 'initializing' (Reason: None or unknown)
+
+ After the change, it doesn't:
+
+ $ sudo mmcli -m 0 -w
+ /org/freedesktop/ModemManager1/Modem/0: Initial state,
+ 'locked'
+ /org/freedesktop/ModemManager1/Modem/0: State changed,
+ 'locked' --> 'initializing' (Reason: None or unknown)
+ /org/freedesktop/ModemManager1/Modem/0: State changed,
+ 'initializing' --> 'disabled' (Reason: None or unknown)
+ /org/freedesktop/ModemManager1/Modem/0: State changed,
+ 'disabled' --> 'enabling' (Reason: User request)
+ /org/freedesktop/ModemManager1/Modem/0: State changed,
+ 'enabling' --> 'registered' (Reason: User request)
+ /org/freedesktop/ModemManager1/Modem/0: State changed,
+ 'registered' --> 'disabling' (Reason: User request)
+ /org/freedesktop/ModemManager1/Modem/0: State changed,
+ 'disabling' --> 'disabled' (Reason: User request)
+
+ src/mm-iface-modem.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 7fd09123f899c8d9a9d82af6a2fde2e503eb1b47
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 11:30:06 2012 +0200
+
+ broadband-bearer: log all found PDP contexts before looking for
+ a match
+
+ src/mm-broadband-bearer.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 675d8aeeea8ded0adcfacb2ef20ca2db2fc1388d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 11:29:50 2012 +0200
+
+ tests: add PDP context reply parser test for Samsung/Icera replies
+
+ src/tests/test-modem-helpers.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit e499d32ef1f3eafe130585a2be9089b1c7d31892
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 10:57:51 2012 +0200
+
+ core: add info logs to show main state machine start/stop points
+
+ src/mm-broadband-modem.c | 7 +++++++
+ src/mm-iface-modem-simple.c | 2 ++
+ 2 files changed, 9 insertions(+)
+
+commit 6d4a4d647cfd5740abdd729691f553741dbf5200
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 10:38:35 2012 +0200
+
+ broadband-modem: disable echo in secondary port when enabling
+
+ src/mm-broadband-modem.c | 19 ++++++++++++++++++-
+ 1 file changed, 18 insertions(+), 1 deletion(-)
+
+commit d3ddfd583c5bd4cf3fc45886983b0bf4f26a1d3d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 24 10:36:24 2012 +0200
+
+ broadband-modem: make sure the primary port is used for the modem
+ init sequence
+
+ src/mm-broadband-modem.c | 57
+ +++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 44 insertions(+), 13 deletions(-)
+
+commit 89723c7ef28e3b071413bb22c561abfa5724d3ea
+Author: Martyn Russell <martyn@lanedo.com>
+Date: Wed Oct 24 10:43:00 2012 +0200
+
+ docs,ModemManager: include the missing manpage
+
+ (aleksander) I messed up the integration of commit bc49794848,
+ this should fix
+ it.
+
+ .gitignore | 2 --
+ docs/man/ModemManager.8 | 51
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 51 insertions(+), 2 deletions(-)
+
+commit 96c6db99265e7448a8e21df49f7c94de35a540a4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 23 19:37:04 2012 +0200
+
+ man,mmcli: add additional commonly used examples
+
+ docs/man/mmcli.8 | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+commit b5040fa033b44fdf2036dc2873840582afeea94d
+Author: Martyn Russell <martyn@lanedo.com>
+Date: Tue Oct 23 18:42:58 2012 +0200
+
+ docs,mmcli: Add man page for mmcli(8)
+
+ docs/man/Makefile.am | 2 +-
+ docs/man/mmcli.8 | 699
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 700 insertions(+), 1 deletion(-)
+
+commit bc497948487a7c3f8e5df683db77262bfee8c19d
+Author: Martyn Russell <martyn@lanedo.com>
+Date: Tue Oct 23 18:40:38 2012 +0200
+
+ docs,ModemManager: Don't use .in file for manpage, no need
+
+ configure.ac | 1 -
+ docs/man/Makefile.am | 6 +-----
+ docs/man/ModemManager.8.in | 51
+ ----------------------------------------------
+ 3 files changed, 1 insertion(+), 57 deletions(-)
+
+commit 90e67404d6ab075d8d4bae1f006b69ca26696296
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 19 19:32:03 2012 -0500
+
+ bearer-qmi: get and log current IP settings when connecting the bearer
+
+ All addresses are given as machine byte order, and thus must be
+ converted
+ to network byte order (BE) before passing to inet_ntop().
+
+ src/mm-bearer-qmi.c | 216
+ ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 210 insertions(+), 6 deletions(-)
+
+commit 6788f809ea442b7ed3dca7a4f4351d51c67db5d1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 23 16:31:51 2012 +0200
+
+ cli,sms: add missing parameter documentation in `--store-in-storage'
+
+ cli/mmcli-sms.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 29e3c0e742d7a33e5d24fdcd3c2c0b24c98469bc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 22 19:05:58 2012 +0200
+
+ bearer: fix connection allowance rules in 3GPP+LTE modems
+
+ Only force disconnection of the bearer if not registered in any
+ network or if
+ registered in both 3GPP and CDMA roaming networks.
+
+ src/mm-bearer.c | 66
+ +++++++++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 48 insertions(+), 18 deletions(-)
+
+commit 82f91f321788689ca527405ed7e84a44c8c03f06
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 22 18:57:42 2012 +0200
+
+ iface-modem: when playing with bands is not supported, use 'unknown'
+
+ src/mm-iface-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 219aff47e075a5bfc7b7fdc2c7f251a5133c93ab
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 22 17:06:14 2012 +0200
+
+ iface-modem: try to avoid showing 'any' as current bands
+
+ Just expose the list of supported bands when the current bands is
+ set to 'any'.
+
+ src/mm-iface-modem.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+commit b317996a8e18ba039d3d8ffb9968139d6d0bf9c1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 22 17:05:25 2012 +0200
+
+ iface-modem: always ensure that current bands is a subset of
+ supported bands
+
+ In QMI modems the logic behind supported and current bands is
+ completely
+ separated in different services (DMS vs NAS). Actually, the list
+ reported by NAS
+ as current band preferences seems to include more values than the
+ ones reported
+ by DMS as supported bands (e.g. CDMA bands are reported even if
+ the firmware
+ image is GSM/HSPA only).
+
+ So, just clean up the list of current preferred bands so that no
+ more than those
+ given as supported is used.
+
+ src/mm-iface-modem.c | 20 +++++++++++++++-----
+ src/mm-modem-helpers.c | 50
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 3 +++
+ 3 files changed, 68 insertions(+), 5 deletions(-)
+
+commit 8e4d93c04eed7eefb25da22bfa071f6650b4203c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 22 14:03:43 2012 +0200
+
+ nokia,icera: setup custom AT probing as in the generic Nokia plugin
+
+ plugins/nokia/mm-plugin-nokia-icera.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit c900aa7c0b41be04082f1bdfe6dc7c28e1d41f18
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 22 13:08:31 2012 +0200
+
+ nokia: run vendor string probing, in order to grab Bluetooth DUN
+ devices
+
+ plugins/nokia/mm-plugin-nokia.c | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit 2559dc5baffc97afd637172a16c445f544e1d6f3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 22 12:46:34 2012 +0200
+
+ cli: don't abort when looking for bearers in failed modems
+
+ cli/mmcli-common.c | 24 +++++++++++++++++++++++-
+ 1 file changed, 23 insertions(+), 1 deletion(-)
+
+commit 5978258d85a148307a8ddb1c4dedccd81aa5871a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 22 12:33:19 2012 +0200
+
+ base-modem-at: handle NULL responses from the serial parsing in
+ sequences
+
+ src/mm-base-modem-at.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c5f3198a9fdcd22a342be496b7ba6751ea1b53d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 22 12:27:55 2012 +0200
+
+ device: only export modem if it is available
+
+ src/mm-device.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 10a0ed12c461242ca3dbf6f9192907d320b561f7
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 18 23:44:19 2012 -0700
+
+ novatel-lte: retry $NWQMISTATUS upon an unknown error during
+ connecting
+
+ The $NWQMISTATUS command sometimes replies an ERROR shortly after
+ calling the $NWQMICONNECT command, but then replies the proper QMI
+ status if we retry it. This behavior is observed on an E362 modem with
+ 4.08 firmware.
+
+ (ttyUSB0): --> 'AT$NWQMICONNECT=,,,,,,"",,,"",""<CR>'
+ (ttyUSB0): <-- '<CR><LF>OK<CR><LF>'
+ (ttyUSB0): --> 'AT$NWQMISTATUS<CR>'
+ (ttyUSB0): <-- '<CR><LF>ERROR<CR><LF>'
+ Got failure code 100: Unknown error
+ QMI connection status failed: Unknown error
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit 8362171973c600eb7d253a3f9cc343488f93408f
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Oct 18 23:44:18 2012 -0700
+
+ novatel-lte: handle $NWQMISTATUS responses for firmware 4.08
+
+ In firmware 4.08, the $NWQMISTATUS command returns different
+ values for
+ QMI state to indicate the current connection state. This patch
+ modifies
+ the code to handle $NWQMISTATUS responses in firmware 1.41 and 4.08.
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 26
+ +++++++++++++++++------
+ 1 file changed, 20 insertions(+), 6 deletions(-)
+
+commit 7f105dc3862ad53236dcd5d1ce0b9e2539341dfa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 19 19:30:04 2012 -0500
+
+ simple: don't try to enable the "unknown" band
+
+ If the band isn't actually given, don't try to enable it.
+
+ src/mm-iface-modem-simple.c | 22 ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+commit 79fdddccbfccd50f2c4d98d90fc707061c39d1f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 19 00:58:36 2012 +0200
+
+ api,modem: new 'PrimaryPort' property
+
+ We do need to specify which is the primary port being used for
+ controlling the
+ modem. This allows us to match the device with an already existing
+ bluetooth
+ device in NetworkManager.
+
+ cli/mmcli-modem.c | 6 ++--
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 5 +++
+ .../org.freedesktop.ModemManager1.Modem.xml | 7 ++++
+ libmm-glib/mm-modem.c | 41
+ ++++++++++++++++++++++
+ libmm-glib/mm-modem.h | 3 ++
+ src/mm-iface-modem.c | 15 ++++++++
+ 6 files changed, 75 insertions(+), 2 deletions(-)
+
+commit e123c7d5b43cd4fb63d7f1fbdb44fbb641e410ac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 17 15:20:37 2012 +0200
+
+ blacklist: skip probing SheevaPlug serial ports
+
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686217
+
+ src/77-mm-usb-device-blacklist.rules | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 64a11ceec786de3bdd950532e066cceeb3f164ac
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Oct 16 11:39:39 2012 +0200
+
+ icera: parse HSPA+ access technology in %NWSTATE response
+
+ plugins/icera/mm-broadband-modem-icera.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 6223f61803c674d4c60e4ab126151de0696e0f48
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 16 11:34:36 2012 +0200
+
+ Revert "icera: improve parsing of access technologies in %NWSTATE
+ response"
+
+ This reverts commit e2f3034f6e2c79062c095be0bc4278907b32ec8f.
+
+ The report of current access technologies is supposed to give which
+ is the
+ *current* access technology being active. We allow reporting more
+ than one for
+ the cases where several access technologies are given simultaneously
+ (e.g.
+ cdma1x + evdo + lte). For example, we shouldn't be giving 4 different
+ technologies like "umts, hsdpa, hsupa, hspa" when the modem reports
+ "3G-HSDPA-HSUPA". Just giving HSPA in that case is enough and more
+ accurate.
+
+ plugins/icera/mm-broadband-modem-icera.c | 40
+ ++++++++++++++++----------------
+ 1 file changed, 20 insertions(+), 20 deletions(-)
+
+commit e2f3034f6e2c79062c095be0bc4278907b32ec8f
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Oct 15 23:48:18 2012 -0700
+
+ icera: improve parsing of access technologies in %NWSTATE response
+
+ plugins/icera/mm-broadband-modem-icera.c | 40
+ ++++++++++++++++----------------
+ 1 file changed, 20 insertions(+), 20 deletions(-)
+
+commit e39b3a42edae4806f195824ce01251d625df0028
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 13:35:30 2012 +0200
+
+ TODO: remove tasks which were already done
+
+ TODO | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+commit ae26762d110855ab1294c6afad1dc153dd3532c7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 13:35:15 2012 +0200
+
+ cli: avoid segfault when revision info is not given
+
+ cli/mmcli-modem.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 4f55511680c04c89f8288cdf07fc7ad2c5c5b096
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 13:34:51 2012 +0200
+
+ pantech: wait up to 5s after SIM unlock before sending new commands
+
+ Or the modem will get stuck completely.
+
+ plugins/pantech/mm-broadband-modem-pantech.c | 39
+ ++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit 5c8ef351bb191e3735efcc9ac65df5a844afedb7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 13:34:16 2012 +0200
+
+ pantech: create a Pantech-specific SIM object
+
+ We'll just skip most SIM info retrieval commands based on AT+CRSM,
+ as they seem
+ to be unsupported.
+
+ plugins/Makefile.am | 6 +-
+ plugins/pantech/mm-broadband-modem-pantech.c | 92
+ ++++++++++++++++++++++++++++
+ plugins/pantech/mm-broadband-modem-pantech.h | 47 ++++++++++++++
+ plugins/pantech/mm-plugin-pantech.c | 12 ++--
+ plugins/pantech/mm-sim-pantech.c | 86
+ ++++++++++++++++++++++++++
+ plugins/pantech/mm-sim-pantech.h | 51 +++++++++++++++
+ 6 files changed, 287 insertions(+), 7 deletions(-)
+
+commit e6930921af46a7ccbe05c7973ae3bdc4043d1d20
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 12:41:22 2012 +0200
+
+ broadband-modem-qmi: map 'any' to all supported bands when setting
+ current bands
+
+ src/mm-broadband-modem-qmi.c | 46
+ +++++++++++++++++++++++++++++++++++++-------
+ src/mm-modem-helpers-qmi.c | 5 -----
+ 2 files changed, 39 insertions(+), 12 deletions(-)
+
+commit b0eca9c09c167f3467acd20493b68224dc1ef04c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 12:19:45 2012 +0200
+
+ modem-helpers-qmi: add missing GSM primary 900 and WCDMA PCS 1900
+ band mappings
+
+ src/mm-modem-helpers-qmi.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit 3025893c942f747172647fb1c0fa6c6bb151a7c3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 11:46:02 2012 +0200
+
+ broadband-modem-qmi: set current bands using NAS System Selection
+ Preference
+
+ src/mm-broadband-modem-qmi.c | 86
+ ++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 84 insertions(+), 2 deletions(-)
+
+commit d64b016231aa5ea147b0fee813ea0d2507fdb1f3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 11:45:50 2012 +0200
+
+ modem-helpers-qmi: new helper to load NAS band preferences from
+ bands array
+
+ src/mm-modem-helpers-qmi.c | 53
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-qmi.h | 3 +++
+ 2 files changed, 56 insertions(+)
+
+commit c2d4dc3951d8d7483753c6d2733323483ab6c706
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 11:20:58 2012 +0200
+
+ broadband-modem-qmi: load current bands using NAS System Selection
+ Preference
+
+ src/mm-broadband-modem-qmi.c | 90
+ +++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 84 insertions(+), 6 deletions(-)
+
+commit 3a7d2dcf7d12ea73c8bfd8d42e84db5c3c09ad90
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 15 11:20:29 2012 +0200
+
+ modem-helpers-qmi: new helper to load bands array from NAS band
+ preferences
+
+ src/mm-modem-helpers-qmi.c | 208
+ +++++++++++++++++++++++++++++++++++++++++----
+ src/mm-modem-helpers-qmi.h | 3 +
+ 2 files changed, 193 insertions(+), 18 deletions(-)
+
+commit 529b031a017940e7176e1d4ca154a888f7579a18
+Author: David Härdeman <david@hardeman.nu>
+Date: Fri Oct 12 21:38:26 2012 +0200
+
+ Add udev rules for HP (Ericsson) hs2350 Mobile Broadband Module
+
+ This WWAN module came installed in my new HP EliteBook 8570p Laptop.
+ The patch is generated against the master branch but the same udev
+ rule should be useful in the 0.5 and 0.6 branches as well.
+
+ Signed-off-by: David Härdeman <david@hardeman.nu>
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit e2c68681ce74c32d21f73f1a354f2060d067a841
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 11 12:23:16 2012 +0200
+
+ iface-modem: plug memleak
+
+ src/mm-iface-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a850644cd8520aa0a515231d1a1bfc6fd0c8ffc1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 11 11:47:53 2012 +0200
+
+ iface-modem-simple: plug memleaks
+
+ src/mm-iface-modem-simple.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c16bcdf68c0d1e2d027a5a44b7e3b4bf29d4aee3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 11 11:41:15 2012 +0200
+
+ core: make sure objects retrieved with g_object_get() are valid in
+ the ifaces
+
+ The interfaces usually retrieve objects (e.g. skeletons) from the
+ Modem object
+ using g_object_get(), but we didn't make sure that these objects
+ were actually
+ valid before using them.
+
+ This should clean up errors happening when the modem gets unplugged
+ and still
+ some actions are ongoing.
+
+ Should fix https://bugzilla.gnome.org/show_bug.cgi?id=685933
+
+ src/mm-iface-modem-3gpp-ussd.c | 145 ++++++-------
+ src/mm-iface-modem-3gpp.c | 173 ++++++++--------
+ src/mm-iface-modem-cdma.c | 154 ++++++--------
+ src/mm-iface-modem-firmware.c | 46 ++--
+ src/mm-iface-modem-location.c | 169 +++++++--------
+ src/mm-iface-modem-messaging.c | 244 +++++++++++-----------
+ src/mm-iface-modem-simple.c | 23 +-
+ src/mm-iface-modem-time.c | 158 ++++++--------
+ src/mm-iface-modem.c | 461
+ +++++++++++++++++++++--------------------
+ 9 files changed, 747 insertions(+), 826 deletions(-)
+
+commit 224b73709956818e3091b68be1966beffbc3ba1b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 11 09:25:52 2012 +0200
+
+ broadband-modem-qmi: don't check PIN lock in CDMA-only modems
+
+ src/mm-broadband-modem-qmi.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 014d0688ff2eebd5ef821ef74e20ba704b52634d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 11 09:23:49 2012 +0200
+
+ core,qmi: don't assume QMI port is always available
+
+ When the modem gets unplugged all ports disappear from the modem,
+ so don't
+ assume the port is always given.
+
+ E.g. if the unplug happens in the middle of the initialization
+ sequence we may
+ end up with nasty segfaults:
+
+ Crash reason: SIGSEGV
+ Crash address: 0x0
+
+ Thread 0 (crashed)
+ 0 ModemManager!mm_qmi_port_peek_client [mm-qmi-port.c : 50
+ + 0x0]
+ rbx = 0x00007fbb5c1d8010 r12 = 0x0000000000000003
+ r13 = 0x00007fbb5c1f9880 r14 = 0x00007fbb59a30980
+ r15 = 0x00007fbb5c187a60 rip = 0x00007fbb5a1a54c0
+ rsp = 0x00007fffc6c0f628 rbp = 0x00007fffc6c0f650
+ Found by: given as instruction pointer in context
+ 1 ModemManager!peek_qmi_client [mm-broadband-modem-qmi.c :
+ 109 + 0x24]
+ rbx = 0x00007fbb5c1d8010 r12 = 0x0000000000000003
+ r13 = 0x00007fbb5c1f9880 r14 = 0x00007fbb59a30980
+ r15 = 0x00007fbb5c187a60 rip = 0x00007fbb5a193851
+ rsp = 0x00007fffc6c0f630 rbp = 0x00007fffc6c0f650
+ Found by: call frame info
+ 2 ModemManager!ensure_qmi_client [mm-broadband-modem-qmi.c :
+ 132 + 0x4]
+ rbx = 0x00007fbb5c1d8010 r12 = 0x00007fbb5a165140
+ r13 = 0x00007fbb5c1f9880 r14 = 0x00007fbb59a30980
+ r15 = 0x00007fbb5c187a60 rip = 0x00007fbb5a1938e4
+ rsp = 0x00007fffc6c0f650 rbp = 0x00007fffc6c0f690
+ Found by: call frame info
+ ...
+
+ Reported by: Ben Chan <benchan@chromium.org>
+
+ src/mm-broadband-modem-qmi.c | 45
+ +++++++++++++++++++++++++++++++++++---------
+ src/mm-sim-qmi.c | 26 +++++++++++++++++++------
+ src/mm-sms-qmi.c | 26 +++++++++++++++++++------
+ 3 files changed, 76 insertions(+), 21 deletions(-)
+
+commit ba64c49f3689f6fbc4dd740a39941b691768b04a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 10 17:06:59 2012 +0200
+
+ bearer-qmi: update timeout when starting network to 45s
+
+ It really may get worse than 10s, specially if the modem changes
+ access
+ technologies after getting registered.
+
+ src/mm-bearer-qmi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e2a36bd6bec59f361b528ff861835e5bd2e6e39e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 10 16:55:24 2012 +0200
+
+ libmm-glib: allow 'none' authentication with more values
+
+ Specifying 'none' is really not exclusive. We may want to say that
+ the modem can
+ either authenticate with a given protocol, or otherwise just try
+ without
+ authentication.
+
+ The reality is that 'none' itself is usually always given in the
+ connection
+ settings.
+
+ libmm-glib/mm-common-helpers.c | 10 ----------
+ src/mm-modem-helpers-qmi.c | 2 +-
+ 2 files changed, 1 insertion(+), 11 deletions(-)
+
+commit 255ac4364dac4260e20ee7cbbe2d4b97cc8cc350
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 10 16:35:11 2012 +0200
+
+ bearer-qmi: fix authentication logic
+
+ src/mm-bearer-qmi.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit c668972d9e568e7ea7902591c0b457498979fe42
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 10 15:57:35 2012 +0200
+
+ build: add missing includes in polkit auth provider
+
+ src/mm-auth-provider-polkit.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit fa76ca95a7433993c84bd3eb81ce15bbca2274ae
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 5 13:20:14 2012 +0200
+
+ via: new 'Via CBP7' plugin
+
+ This is the port to git master of the following commit:
+
+ commit ff8c60641aa2ea41080c15f81f633b3f78e07bf8
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Mon Sep 10 17:12:38 2012 -0500
+
+ via: new plugin for CBP7-based CDMA and EVDO devices (bgo #683525)
+
+ The Via baseband is used in a number of CDMA/EVDO devices, from
+ ChinaTelecom USB sticks, to the Fusion Wireless/UBlox 2770p, to
+ various Motorola Android phones.
+
+ plugins/Makefile.am | 12 +-
+ plugins/via/mm-broadband-modem-via.c | 583
+ +++++++++++++++++++++++++++++++++++
+ plugins/via/mm-broadband-modem-via.h | 49 +++
+ plugins/via/mm-plugin-via.c | 83 +++++
+ plugins/via/mm-plugin-via.h | 46 +++
+ 5 files changed, 772 insertions(+), 1 deletion(-)
+
+commit df330dd7294611cf3f1d90879b996a4f4bb08873
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 16:41:35 2012 +0200
+
+ broadband-modem-qmi: don't require a PDS client to disable 3GPP
+ location
+
+ src/mm-broadband-modem-qmi.c | 25 +++++++++++++++++++------
+ 1 file changed, 19 insertions(+), 6 deletions(-)
+
+commit 88d80935d6c5930fe0657da8383487a23c4705ab
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 16:30:09 2012 +0200
+
+ core: second request to terminate does a hard exit()
+
+ src/main.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit caefbcfbd901d875f256adc61b12532f8f7777d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 16:29:37 2012 +0200
+
+ base-modem: new fallback when matching QMI vs data ports
+
+ If no matching found, but there is only one QMI port and only one
+ data port,
+ assume that is already a valid match.
+
+ src/mm-base-modem.c | 22 +++++++++++++++++-----
+ 1 file changed, 17 insertions(+), 5 deletions(-)
+
+commit f1bcc531a353287d8f2b213b3bb8c33ceb13b724
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 16:28:46 2012 +0200
+
+ log: enable QMI traces when showing debug logs
+
+ Use the new `qmi_utils_set_traces_enabled()' to specify that we want
+ QMI traces
+ when running with DEBUG logs.
+
+ Sync with libqmi:
+
+ commit 35dcb4bb6ed2755d968cf97d69faff9ed5f6871f
+ Author: Aleksander Morgado <aleksander@lanedo.com>
+ Date: Tue Oct 9 13:44:16 2012 +0200
+
+ libqmi-glib: message traces compiled always
+
+ Message traces have been very useful when debugging issues in
+ the protocol, and
+ we should avoid requiring a full recompilation in order to get
+ them enabled.
+
+ Instead, we provide two new API methods,
+ `qmi_utils_(get|set)_traces_enabled()',
+ which allow specifying whether traces should be dumped with
+ g_debug() or not.
+
+ src/mm-log.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 927889edbec5fc68f457303cf62c563d546d0f1b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 9 15:54:48 2012 +0200
+
+ bearer-qmi: use user-specified allowed authentication methods
+
+ If none of the specified methods is supported, an error is returned.
+
+ src/mm-bearer-qmi.c | 40 +++++++++++++++++++++++++++++++++++-----
+ src/mm-modem-helpers-qmi.c | 16 ++++++++++++++++
+ src/mm-modem-helpers-qmi.h | 4 ++++
+ 3 files changed, 55 insertions(+), 5 deletions(-)
+
+commit 316b9fa001edee37a17d831708839016aed93e80
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 8 14:09:35 2012 +0200
+
+ libmm-glib,build: remove unneeded rule
+
+ libmm-glib/Makefile.am | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 08eb8c22e8634b52dd3d958556abed721eacc760
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 8 12:26:53 2012 +0200
+
+ base-modem: cleanly close the QMI port to get the CIDs released
+
+ If we end up allocating too many CIDs without releasing them new
+ allocations
+ will fail with client-ids-exhausted errors. This usually happens
+ specially
+ when debugging/developing as you're all the time Ctrl+C-ing the
+ daemon without
+ rebooting the system.
+
+ src/mm-base-modem.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 13fa73f66677062f254f1c5e25eb874047012d96
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 8 11:41:03 2012 +0200
+
+ broadband-modem-qmi: process CDMA 1x & EV-DO roaming flags
+
+ src/mm-broadband-modem-qmi.c | 60
+ +++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 56 insertions(+), 4 deletions(-)
+
+commit 8d47d31b29ebec367dfbc64782961d7c30a0a83e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 8 09:53:28 2012 +0200
+
+ broadband-modem: cancellable may not be given during disable()
+
+ If the modem is currently being disposed, we may not get a proper
+ GCancellable
+ when disabling, so try to handle that case in order to avoid
+ warnings like:
+
+ GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT
+ (object)' failed
+
+ #0 0x00007ffff7ab1ba0 in g_log () from
+ /usr/lib64/libglib-2.0.so.0
+ #1 0x00007ffff7b99784 in g_object_ref () from
+ /usr/lib64/libgobject-2.0.so.0
+ #2 0x0000000000456c05 in disable (self=0x50d3f0, cancellable=0x0,
+ callback=<value optimized out>, user_data=<value optimized
+ out>) at
+ mm-broadband-modem.c:7052
+ #3 0x0000000000431e69 in handle_enable_auth_ready (self=0x50d3f0,
+ res=<value optimized out>, ctx=0xa41200) at mm-iface-modem.c:1216
+ #4 0x00007ffff7e7f447 in g_simple_async_result_complete () from
+ /usr/lib64/libgio-2.0.so.0
+ #5 0x0000000000427bc1 in authorize_ready (authp=<value optimized
+ out>, res=<value optimized out>, simple=0x51d810) at
+ mm-base-modem.c:1015
+ #6 0x00007ffff7e7f447 in g_simple_async_result_complete () from
+ /usr/lib64/libgio-2.0.so.0
+ #7 0x00007ffff7e7f549 in ?? () from /usr/lib64/libgio-2.0.so.0
+ #8 0x00007ffff7aaa5c3 in g_main_context_dispatch () from
+ /usr/lib64/libglib-2.0.so.0
+ #9 0x00007ffff7aaa940 in ?? () from /usr/lib64/libglib-2.0.so.0
+ #10 0x00007ffff7aaad7a in g_main_loop_run () from
+ /usr/lib64/libglib-2.0.so.0
+ #11 0x0000000000417ef2 in main (argc=<value optimized out>,
+ argv=<value optimized out>) at main.c:150
+
+ GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT
+ (object)' failed
+
+ #0 0x00007ffff7ab1ba0 in g_log () from
+ /usr/lib64/libglib-2.0.so.0
+ #1 0x000000000044af26 in disabling_context_complete_and_free
+ (ctx=0xa408a0) at mm-broadband-modem.c:6788
+ #2 0x0000000000431e69 in handle_enable_auth_ready (self=0x50d3f0,
+ res=<value optimized out>, ctx=0xa41200) at mm-iface-modem.c:1216
+ #3 0x00007ffff7e7f447 in g_simple_async_result_complete () from
+ /usr/lib64/libgio-2.0.so.0
+ #4 0x0000000000427bc1 in authorize_ready (authp=<value optimized
+ out>, res=<value optimized out>, simple=0x51d810) at
+ mm-base-modem.c:1015
+ #5 0x00007ffff7e7f447 in g_simple_async_result_complete () from
+ /usr/lib64/libgio-2.0.so.0
+ #6 0x00007ffff7e7f549 in ?? () from /usr/lib64/libgio-2.0.so.0
+ #7 0x00007ffff7aaa5c3 in g_main_context_dispatch () from
+ /usr/lib64/libglib-2.0.so.0
+ #8 0x00007ffff7aaa940 in ?? () from /usr/lib64/libglib-2.0.so.0
+ #9 0x00007ffff7aaad7a in g_main_loop_run () from
+ /usr/lib64/libglib-2.0.so.0
+ #10 0x0000000000417ef2 in main (argc=<value optimized out>,
+ argv=<value optimized out>) at main.c:150
+
+ Reported by: Ben Chan <benchan@chromium.org>
+
+ Partially fixes: https://bugzilla.gnome.org/show_bug.cgi?id=684693
+
+ src/mm-broadband-modem.c | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+commit 41cc66f33adc81d19246dfb8c3beeed3aff6a1e3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 8 09:41:58 2012 +0200
+
+ core: log successful shutdown
+
+ src/main.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c9d22a655ad58724d0e8916e63ec2c0631d8331d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 8 09:38:46 2012 +0200
+
+ core: don't wait forever to get all modems disabled and removed
+
+ Just in case, put a maximum time to wait for all modems to get
+ disabled and
+ removed, as we don't want to wait forever.
+
+ src/main.c | 19 +++++++++++++++++--
+ 1 file changed, 17 insertions(+), 2 deletions(-)
+
+commit 7f216537866b77b749df2c03e040e12690b8d497
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 8 08:59:25 2012 +0200
+
+ broadband-modem: skeletons may already be disposed when disabling
+ the modem
+
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=684694
+
+ Reported by: Ben Chan <benchan@chromium.org>
+
+ src/mm-broadband-modem.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit 8ddee24cc9b1a11eadd895bd928660fc7b8f0b6a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Oct 7 20:52:16 2012 +0200
+
+ hso: use user-specified allowed authentication methods
+
+ If none of the specified methods is supported, an error is returned.
+
+ Also quote user and password using `mm_at_serial_port_quote_string()'.
+
+ plugins/option/mm-broadband-bearer-hso.c | 49
+ ++++++++++++++++++++++++++++----
+ 1 file changed, 43 insertions(+), 6 deletions(-)
+
+commit de96243cd4fa588f22c078b838d5f8bb3529baee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Oct 7 20:47:31 2012 +0200
+
+ sierra: use user-specified allowed authentication methods
+
+ If none of the specified methods is supported, an error is returned.
+
+ Also quote user and password using `mm_at_serial_port_quote_string()'.
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 54
+ ++++++++++++++++++++++++-----
+ 1 file changed, 45 insertions(+), 9 deletions(-)
+
+commit f4790c26bf8b6dd8dbd4a3b0b6ab2e4123524e42
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Oct 7 20:41:34 2012 +0200
+
+ icera: use user-specified allowed authentication methods
+
+ If none of the specified methods is supported, an error is returned.
+
+ plugins/icera/mm-broadband-bearer-icera.c | 38
+ +++++++++++++++++++++++++++----
+ 1 file changed, 33 insertions(+), 5 deletions(-)
+
+commit ebd792d2aaa0917a6628eb1f9c1fbeedafbf2617
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Oct 7 20:19:13 2012 +0200
+
+ api,libmm-glib: new `allowed-auth' configuration for bearers
+
+ For bearers using STATIC or DHCP IP method, the modem itself is
+ the one
+ negotiating authentication with the network. The new `allowed-auth'
+ property
+ allows users to specify which authentication method(s) are allowed
+ to be used.
+
+ See the following NetworkManager commit for more reference:
+ commit 34aef8aaaa09b7473b9496aa49e550bd2def03f8
+ Author: Andrew Bird <ajb@spheresystems.co.uk>
+ Date: Thu Mar 15 16:19:43 2012 -0500
+
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 12 ++++-
+ include/ModemManager-enums.h | 23 ++++++++
+ .../org.freedesktop.ModemManager1.Modem.Simple.xml | 7 +++
+ .../org.freedesktop.ModemManager1.Modem.xml | 2 +
+ libmm-glib/mm-bearer-properties.c | 61
+ +++++++++++++++++++++-
+ libmm-glib/mm-bearer-properties.h | 3 ++
+ libmm-glib/mm-common-helpers.c | 60
+ +++++++++++++++++++++
+ libmm-glib/mm-common-helpers.h | 30 ++++++-----
+ libmm-glib/mm-simple-connect-properties.c | 34 ++++++++++++
+ libmm-glib/mm-simple-connect-properties.h | 31 ++++++-----
+ 11 files changed, 233 insertions(+), 31 deletions(-)
+
+commit 7ae18eecdd3c0aae851441d970b3a54319dd3404
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Oct 6 12:17:38 2012 -0500
+
+ vl600: add supported AT commands for V8 firmware
+
+ vl600/vl600.txt | 334
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 334 insertions(+)
+
+commit 2a96592f697e1a1267f3348e0ffdfdb58f9d6167
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 5 14:40:28 2012 +0200
+
+ cli: include signal quality information in modem status info
+
+ cli/mmcli-modem.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+commit 8a23ac8a554c9d37d2b0fe016537ea913832fa6e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 5 12:59:34 2012 +0200
+
+ broadband-modem: fall back to +CSQ if +CIND reports no signal
+
+ This is the port to git master of the following commit:
+
+ commit 8bd6903c30e52e65a4afbebf85ba59e6c0fada71
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Thu Oct 4 09:34:01 2012 -0500
+
+ gsm: fall back to +CSQ if +CIND reports no signal (bgo #636040)
+
+ Some devices say they support +CIND signal reporting, but either
+ actually don't, or they report signal for a non-current access
+ technology that we don't care about. So if +CIND reports zero
+ signal, fall back to +CSQ.
+
+ src/mm-broadband-modem.c | 46
+ +++++++++++++++++++++++++++++++---------------
+ 1 file changed, 31 insertions(+), 15 deletions(-)
+
+commit 0f8f345d79192a329161298ab4742dfdab548b1b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 5 11:28:19 2012 +0200
+
+ broadband-modem: export the Firmware interface even if locked
+
+ src/mm-broadband-modem.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit f7433502104abe64f63310ddc5599eacb1b535cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 5 11:09:53 2012 +0200
+
+ broadband-modem-qmi: allow 'PRI info' substrings when changing
+ firmware
+
+ Instead of just the exact 'Build ID' we now also allow specifying
+ a substring
+ of the 'PRI info' as ID to select a the new firmware to change to.
+
+ If we get multiple matches of the substring in the existing Firmware
+ images
+ the change is cancelled with error.
+
+ src/mm-broadband-modem-qmi.c | 72
+ ++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 59 insertions(+), 13 deletions(-)
+
+commit da8cc53636976b9033b83e3a674869a43b6daf4c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 5 11:07:41 2012 +0200
+
+ iface-modem-firmware: fix error reporting on firmware change
+
+ src/mm-iface-modem-firmware.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d4b6b8dd8c7bf654eaebb83d6cf08f676eadf57e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 5 10:10:50 2012 +0200
+
+ broadband-modem-qmi: implement Firmware switching using QMI
+
+ Soo... we can now switch firmware images directly from ModemManager,
+ taking care
+ of completely rebooting the modem directly.
+
+ The new image to select needs to be specified by the 'unique-id'
+ currently,
+ which maps to the 'Build ID' reported in QMI for PRI and MODEM images.
+
+ src/mm-broadband-modem-qmi.c | 236
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 236 insertions(+)
+
+commit 3cf4f3cc1d6713dd251978b1ad497fa506a5ba7d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 15:17:08 2012 +0200
+
+ broadband-modem-qmi: implement Firmware interface support using QMI
+
+ src/mm-broadband-modem-qmi.c | 437
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 436 insertions(+), 1 deletion(-)
+
+commit 1ccf89dbb89c3068e30bb7fb395c4fe7b0ee843a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 17:09:27 2012 +0200
+
+ api,libmm-glib,cli: handle firmware images of type
+ `MM_FIRMWARE_IMAGE_TYPE_GOBI'
+
+ cli/mmcli-modem-firmware.c | 19 +-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 10 +
+ include/ModemManager-enums.h | 4 +-
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 38 +++-
+ libmm-glib/mm-firmware-properties.c | 215
+ ++++++++++++++++++++-
+ libmm-glib/mm-firmware-properties.h | 19 ++
+ 6 files changed, 294 insertions(+), 11 deletions(-)
+
+commit 1b83af9482c848ef9f53e9986c1736341f00a8e3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 13:37:59 2012 +0200
+
+ broadband-modem: implement the firmware interface
+
+ src/mm-broadband-modem.c | 63
+ +++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 46 insertions(+), 17 deletions(-)
+
+commit 67db1b50b4abdbcdf3e0d79f465579a9854afb8e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 13:37:47 2012 +0200
+
+ iface-modem-firmware: new `MMIfaceModemFirmware' interface
+
+ src/Makefile.am | 2 +
+ src/mm-iface-modem-firmware.c | 511
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-firmware.h | 86 +++++++
+ 3 files changed, 599 insertions(+)
+
+commit 9e16aeb6bfc097c59e3dfc8932c21353e00f73c1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 18:35:57 2012 +0200
+
+ libmm-glib: fix firmware list result parsing
+
+ libmm-glib/mm-modem-firmware.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit a27fd5a47bbb7842712cf228184148b5158dea8b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 18:36:46 2012 +0200
+
+ api,instrospection: fix firmware list result signature
+
+ introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 15a99ebe55e8cc948295577f3dc0cdfd5616a883
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 17:22:59 2012 +0200
+
+ cli,firmware: no need to be enabled to run actions
+
+ cli/mmcli-modem-firmware.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 0d00ee28be0e82227dd6795ab62669944fb7076f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 16:43:43 2012 +0200
+
+ api,libmm-glib: use a 'unique-id' as ID of the firmware image, not a
+ 'name'
+
+ Also, make only the 'unique-id' mandatory.
+
+ cli/mmcli-modem-firmware.c | 14 ++---
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 3 +-
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 10 ++--
+ libmm-glib/mm-firmware-properties.c | 70
+ ++++++----------------
+ libmm-glib/mm-firmware-properties.h | 6 +-
+ libmm-glib/mm-modem-firmware.c | 18 +++---
+ libmm-glib/mm-modem-firmware.h | 4 +-
+ 7 files changed, 43 insertions(+), 82 deletions(-)
+
+commit d84b4f634eac8e5aca8243824243e8c017c11f13
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 12:10:13 2012 +0200
+
+ build,data: include missing generation of the policy file
+
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 7cd047b75da45c3cfbae930da947e392adada24b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 12:09:53 2012 +0200
+
+ build,plugins: include missing builddir in CPPFLAGS
+
+ Built files in the ModemManager daemon
+ (e.g. mm-serial-enums-types.[c|h]) will
+ be available in ${top_builddir}/src, not in ${top_srcdir}/src.
+
+ plugins/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ebf7f790a657a5bcb4043aea1a3e25f3faa07a0e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 12:07:55 2012 +0200
+
+ build,build-aux: include missing `mm-errors-quarks-template.c'
+ file in dist
+
+ build-aux/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 99cb8cb2e6933241bae5734faf85815b941fd9e9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 11:36:02 2012 +0200
+
+ tests: fix sms part tests
+
+ src/tests/test-sms-part.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 82f253b8ca69cdc99f8e72ba9548c7493baed604
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 11:14:09 2012 +0200
+
+ docs: include the logos in the generated documentation
+
+ docs/reference/api/Makefile.am | 16 +++++++++++++---
+ docs/reference/api/ModemManager-docs.xml | 11 ++++++++++-
+ docs/reference/libmm-glib/Makefile.am | 20 ++++++++++++++++++++
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 11 ++++++++++-
+ 4 files changed, 53 insertions(+), 5 deletions(-)
+
+commit 86ff6b35c34604184fc5f44527abad8969d5cebd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 11:13:49 2012 +0200
+
+ data: include ModemManager logo images
+
+ data/Makefile.am | 10 +-
+ data/ModemManager-logo-square.png | Bin 0 -> 11029 bytes
+ data/ModemManager-logo-square.svg | 229
+ +++++++++++++++++++++++++++++++++
+ data/ModemManager-logo-wide-text.png | Bin 0 -> 18072 bytes
+ data/ModemManager-logo-wide-text.svg | 238
+ +++++++++++++++++++++++++++++++++++
+ data/ModemManager-logo-wide.png | Bin 0 -> 11017 bytes
+ data/ModemManager-logo-wide.svg | 217
+ ++++++++++++++++++++++++++++++++
+ 7 files changed, 693 insertions(+), 1 deletion(-)
+
+commit 8bdf70e1c2f1768b2729261214c4e2904b3066cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 4 10:08:02 2012 +0200
+
+ docs: include documentation for enum/flags helpers
+
+ build-aux/mm-enums-template.c | 40 ++++++++-----
+ build-aux/mm-enums-template.h | 10 ++--
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 5 ++
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 71
+ ++++++++++++-----------
+ docs/reference/libmm-glib/libmm-glib.types | 23 ++++++++
+ 5 files changed, 94 insertions(+), 55 deletions(-)
+
+commit 3228ca10beecb8db0979f25deade78fc2f3f1e29
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 20:44:40 2012 +0200
+
+ docs: don't rebuild types every time
+
+ .gitignore | 1 -
+ docs/reference/libmm-glib/libmm-glib.types | 100
+ +++++++++++++++++++++++++++++
+ 2 files changed, 100 insertions(+), 1 deletion(-)
+
+commit 2d5000abaeac508a5bec051aa8ff912553c76df5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 19:48:06 2012 +0200
+
+ docs: fix `libmm-glib-sections.txt' for the gdbus-codegen generated
+ stuff
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 65 +-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 1723
+ ++++++++++++---------
+ 2 files changed, 1072 insertions(+), 716 deletions(-)
+
+commit 4251030bd8bc08af713c7865027ecdb40a3b3db4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 18:06:14 2012 +0200
+
+ api: only allow including `ModemManager.h' directly
+
+ include/ModemManager-enums.h | 4 ++++
+ include/ModemManager-errors.h | 4 ++++
+ include/ModemManager.h | 2 ++
+ libmm-glib/generated/Makefile.am | 6 +++---
+ libmm-glib/mm-common-helpers.h | 2 +-
+ src/mm-broadband-modem.h | 3 ++-
+ src/mm-error-helpers.h | 4 ++--
+ 7 files changed, 18 insertions(+), 7 deletions(-)
+
+commit 239c56cf7fe42d37257fbcd1f1d0893498c6cd05
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 17:49:03 2012 +0200
+
+ libmm-glib: don't install the common helpers header
+
+ And make it only available for internal ModemManager compilation.
+
+ docs/reference/libmm-glib/Makefile.am | 1 +
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 37
+ -----------------------
+ libmm-glib/Makefile.am | 1 -
+ libmm-glib/libmm-glib.h | 8 ++++-
+ libmm-glib/tests/Makefile.am | 3 +-
+ 5 files changed, 10 insertions(+), 40 deletions(-)
+
+commit b52bbf7b0b2b7564f725db4eccac505823bade79
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 17:40:25 2012 +0200
+
+ libmm-glib,sms-properties: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 35 +--
+ libmm-glib/mm-sms-properties.c | 285
+ +++++++++++++++++-----
+ libmm-glib/mm-sms-properties.h | 30 ++-
+ 3 files changed, 265 insertions(+), 85 deletions(-)
+
+commit 054915299afefc27f0f19d12553960544e1bd624
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 17:20:16 2012 +0200
+
+ libmm-glib,bearer-ip-config: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 12 +-
+ libmm-glib/mm-bearer-ip-config.c | 139
+ +++++++++++++++-------
+ libmm-glib/mm-bearer-ip-config.h | 29 ++++-
+ 3 files changed, 129 insertions(+), 51 deletions(-)
+
+commit 52f457bb8807f1330bbb177954e7944361a8c8a9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 17:09:05 2012 +0200
+
+ libmm-glib,bearer-properties: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 37 ++--
+ libmm-glib/mm-bearer-properties.c | 231
+ +++++++++++++++++-----
+ libmm-glib/mm-bearer-properties.h | 58 ++++--
+ 3 files changed, 241 insertions(+), 85 deletions(-)
+
+commit 54c2ee77b018d19098805cd1b7be63a6f4b85ce8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 16:46:31 2012 +0200
+
+ libmm-glib,firmware-properties: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 6 ++++--
+ libmm-glib/mm-firmware-properties.c | 16 ++++++++++++++++
+ libmm-glib/mm-firmware-properties.h | 17 +++++++++++++----
+ 3 files changed, 33 insertions(+), 6 deletions(-)
+
+commit dc4656cead106a4f52a2e53ac329d8606d79c23c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 16:41:12 2012 +0200
+
+ libmm-glib,network-timezone: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 10 +--
+ libmm-glib/mm-network-timezone.c | 75
+ +++++++++++++++++------
+ libmm-glib/mm-network-timezone.h | 36 +++++++++--
+ 3 files changed, 95 insertions(+), 26 deletions(-)
+
+commit 487090607d73378cfaa4f0691fbacea55335946e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 16:29:54 2012 +0200
+
+ libmm-glib,location-gps-raw: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 18 ++++----
+ libmm-glib/mm-location-gps-nmea.h | 2 +
+ libmm-glib/mm-location-gps-raw.c | 51
+ +++++++++++++++++++++++
+ libmm-glib/mm-location-gps-raw.h | 48
+ +++++++++++++++++----
+ 4 files changed, 104 insertions(+), 15 deletions(-)
+
+commit 030daafc4554a20f53d1fee48a588e7907393716
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 16:19:14 2012 +0200
+
+ libmm-glib,location-gps-nmea: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 10 +++++---
+ libmm-glib/mm-location-gps-nmea.c | 30
+ +++++++++++++++++++++++
+ libmm-glib/mm-location-gps-nmea.h | 23 ++++++++++++++---
+ 3 files changed, 55 insertions(+), 8 deletions(-)
+
+commit 7edc3508c766f64ec21825695ce98730a289429c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 16:18:07 2012 +0200
+
+ libmm-glib,location-3gpp: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 8 +-
+ libmm-glib/mm-location-3gpp.c | 98
+ +++++++++++++++++------
+ libmm-glib/mm-location-3gpp.h | 29 +++++--
+ 3 files changed, 102 insertions(+), 33 deletions(-)
+
+commit f99ac11cbb9acd00c889eb11e58d690196ed929c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 14:35:46 2012 +0200
+
+ libmm-glib,simple-status: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 28 +++--
+ libmm-glib/mm-simple-status.c | 143
+ ++++++++++++++++++++--
+ libmm-glib/mm-simple-status.h | 52 +++++---
+ 3 files changed, 181 insertions(+), 42 deletions(-)
+
+commit 8185f24e64b28bab4966c97e9fe8cbfcc242ad8d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 14:10:40 2012 +0200
+
+ libmm-glib,simple-connect-properties: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 43 ++-
+ libmm-glib/mm-simple-connect-properties.c | 437
+ ++++++++++++++++------
+ libmm-glib/mm-simple-connect-properties.h | 66 ++--
+ 3 files changed, 381 insertions(+), 165 deletions(-)
+
+commit 4f5dd8afaa79efecc1e7ffa56988d60f6e45c706
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 13:17:12 2012 +0200
+
+ libmm-glib,unlock-retries: improve documentation
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 12 +++---
+ libmm-glib/mm-unlock-retries.c | 31 ++++++++++++++
+ libmm-glib/mm-unlock-retries.h | 50
+ ++++++++++++++++++-----
+ 3 files changed, 78 insertions(+), 15 deletions(-)
+
+commit 433fdea6d4107dcbe7848a28aa492c44742a00c2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 13:01:25 2012 +0200
+
+ libmm-glib: only allow including `libmm-glib.h' directly
+
+ Unless when compiling libmm-glib itself, of course.
+
+ libmm-glib/Makefile.am | 3 ++-
+ libmm-glib/libmm-glib.h | 4 +++-
+ libmm-glib/mm-bearer-ip-config.h | 4 ++++
+ libmm-glib/mm-bearer-properties.h | 4 ++++
+ libmm-glib/mm-bearer.h | 4 ++++
+ libmm-glib/mm-common-helpers.h | 4 ++++
+ libmm-glib/mm-firmware-properties.h | 4 ++++
+ libmm-glib/mm-location-3gpp.h | 4 ++++
+ libmm-glib/mm-location-gps-nmea.h | 4 ++++
+ libmm-glib/mm-location-gps-raw.h | 4 ++++
+ libmm-glib/mm-manager.h | 4 ++++
+ libmm-glib/mm-modem-3gpp-ussd.h | 4 ++++
+ libmm-glib/mm-modem-3gpp.h | 4 ++++
+ libmm-glib/mm-modem-cdma.h | 4 ++++
+ libmm-glib/mm-modem-firmware.h | 4 ++++
+ libmm-glib/mm-modem-location.h | 4 ++++
+ libmm-glib/mm-modem-messaging.h | 4 ++++
+ libmm-glib/mm-modem-simple.h | 4 ++++
+ libmm-glib/mm-modem-time.h | 4 ++++
+ libmm-glib/mm-modem.h | 4 ++++
+ libmm-glib/mm-network-timezone.h | 4 ++++
+ libmm-glib/mm-object.h | 4 ++++
+ libmm-glib/mm-sim.h | 4 ++++
+ libmm-glib/mm-simple-connect-properties.h | 4 ++++
+ libmm-glib/mm-simple-status.h | 4 ++++
+ libmm-glib/mm-sms-properties.h | 4 ++++
+ libmm-glib/mm-sms.h | 4 ++++
+ libmm-glib/mm-unlock-retries.h | 4 ++++
+ 28 files changed, 109 insertions(+), 2 deletions(-)
+
+commit c250fa3797b40f70cbac1d9e417b1d3ad946ee89
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 3 12:46:37 2012 +0200
+
+ libmm-glib: remove the `libmm-common.h' header
+
+ Both the ModemManager daemon and the mmcli will now include
+ `libmm-glib.h' only.
+
+ We also handle two new special `_LIBMM_INSIDE_MM' and
+ `LIBMM_INSIDE_MMCLI'
+ symbols, which if included before the `libmm-glib.h' library allow
+ us to:
+
+ * Don't include the libmm-glib high level API in the ModemManager
+ daemon, as
+ the object names would clash with those in the core.
+
+ * Define some of the methods of helper objects to be included only
+ if compiling
+ ModemManager daemon or the mmcli.
+
+ cli/mmcli-bearer.c | 1 +
+ cli/mmcli-common.c | 1 +
+ cli/mmcli-common.h | 2 +
+ cli/mmcli-manager.c | 1 +
+ cli/mmcli-modem-3gpp.c | 1 +
+ cli/mmcli-modem-cdma.c | 1 +
+ cli/mmcli-modem-firmware.c | 1 +
+ cli/mmcli-modem-location.c | 1 +
+ cli/mmcli-modem-messaging.c | 1 +
+ cli/mmcli-modem-simple.c | 1 +
+ cli/mmcli-modem-time.c | 1 +
+ cli/mmcli-modem.c | 1 +
+ cli/mmcli-sim.c | 1 +
+ cli/mmcli-sms.c | 1 +
+ cli/mmcli.c | 1 +
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 54
+ ++++++++++++++++-------
+ libmm-glib/libmm-common.h | 46
+ -------------------
+ libmm-glib/libmm-glib.h | 42 +++++++++++++++---
+ libmm-glib/mm-bearer.h | 5 ++-
+ libmm-glib/mm-manager.c | 6 ++-
+ libmm-glib/mm-manager.h | 3 +-
+ libmm-glib/mm-modem-3gpp-ussd.c | 1 +
+ libmm-glib/mm-modem-3gpp-ussd.h | 3 +-
+ libmm-glib/mm-modem-3gpp.c | 1 +
+ libmm-glib/mm-modem-3gpp.h | 3 +-
+ libmm-glib/mm-modem-cdma.c | 1 +
+ libmm-glib/mm-modem-cdma.h | 3 +-
+ libmm-glib/mm-modem-firmware.c | 1 +
+ libmm-glib/mm-modem-firmware.h | 4 +-
+ libmm-glib/mm-modem-location.c | 1 +
+ libmm-glib/mm-modem-location.h | 6 ++-
+ libmm-glib/mm-modem-messaging.c | 2 +
+ libmm-glib/mm-modem-messaging.h | 2 +-
+ libmm-glib/mm-modem-simple.c | 1 +
+ libmm-glib/mm-modem-simple.h | 4 +-
+ libmm-glib/mm-modem-time.c | 1 +
+ libmm-glib/mm-modem-time.h | 4 +-
+ libmm-glib/mm-modem.c | 4 +-
+ libmm-glib/mm-modem.h | 3 +-
+ libmm-glib/mm-object.c | 1 +
+ libmm-glib/mm-object.h | 2 +-
+ libmm-glib/mm-sim.h | 3 +-
+ libmm-glib/mm-sms.h | 4 +-
+ libmm-glib/tests/test-common-helpers.c | 4 +-
+ plugins/anydata/mm-plugin-anydata.c | 3 +-
+ plugins/cinterion/mm-plugin-cinterion.c | 3 +-
+ plugins/generic/mm-plugin-generic.c | 3 +-
+ plugins/gobi/mm-plugin-gobi.c | 3 +-
+ plugins/huawei/mm-broadband-modem-huawei.c | 6 ++-
+ plugins/huawei/mm-plugin-huawei.c | 3 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 3 +-
+ plugins/icera/mm-broadband-bearer-icera.h | 3 +-
+ plugins/iridium/mm-bearer-iridium.c | 3 +-
+ plugins/iridium/mm-bearer-iridium.h | 3 +-
+ plugins/iridium/mm-plugin-iridium.c | 3 +-
+ plugins/iridium/mm-sim-iridium.c | 3 +-
+ plugins/linktop/mm-broadband-modem-linktop.c | 3 +-
+ plugins/linktop/mm-plugin-linktop.c | 4 +-
+ plugins/longcheer/mm-plugin-longcheer.c | 3 +-
+ plugins/mbm/mm-broadband-bearer-mbm.c | 3 +-
+ plugins/mbm/mm-broadband-bearer-mbm.h | 3 +-
+ plugins/mbm/mm-plugin-mbm.c | 3 +-
+ plugins/motorola/mm-plugin-motorola.c | 3 +-
+ plugins/nokia/mm-plugin-nokia-icera.c | 3 +-
+ plugins/nokia/mm-plugin-nokia.c | 3 +-
+ plugins/nokia/mm-sim-nokia.c | 3 +-
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 3 +-
+ plugins/novatel/mm-broadband-bearer-novatel-lte.h | 3 +-
+ plugins/novatel/mm-sim-novatel-lte.c | 3 +-
+ plugins/option/mm-broadband-bearer-hso.c | 3 +-
+ plugins/option/mm-broadband-bearer-hso.h | 3 +-
+ plugins/option/mm-plugin-hso.c | 3 +-
+ plugins/option/mm-plugin-option.c | 3 +-
+ plugins/pantech/mm-plugin-pantech.c | 3 +-
+ plugins/sierra/mm-broadband-bearer-sierra.c | 3 +-
+ plugins/sierra/mm-broadband-bearer-sierra.h | 3 +-
+ plugins/sierra/mm-plugin-sierra.c | 3 +-
+ plugins/sierra/mm-sim-sierra.c | 3 +-
+ plugins/simtech/mm-broadband-modem-simtech.c | 3 +-
+ plugins/simtech/mm-plugin-simtech.c | 4 +-
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 3 +-
+ plugins/wavecom/mm-plugin-wavecom.c | 3 +-
+ plugins/x22x/mm-plugin-x22x.c | 3 +-
+ plugins/zte/mm-plugin-zte.c | 3 +-
+ src/mm-auth-provider-polkit.c | 2 -
+ src/mm-bearer-list.c | 3 +-
+ src/mm-bearer-qmi.c | 4 +-
+ src/mm-bearer-qmi.h | 3 +-
+ src/mm-bearer.c | 3 +-
+ src/mm-bearer.h | 3 +-
+ src/mm-broadband-bearer.c | 3 +-
+ src/mm-broadband-bearer.h | 3 +-
+ src/mm-broadband-modem.c | 3 +-
+ src/mm-charsets.c | 3 +-
+ src/mm-device.c | 3 +-
+ src/mm-iface-modem-3gpp-ussd.c | 3 +-
+ src/mm-iface-modem-3gpp-ussd.h | 3 +-
+ src/mm-iface-modem-3gpp.c | 3 +-
+ src/mm-iface-modem-3gpp.h | 4 +-
+ src/mm-iface-modem-cdma.c | 3 +-
+ src/mm-iface-modem-cdma.h | 3 +-
+ src/mm-iface-modem-location.c | 3 +-
+ src/mm-iface-modem-messaging.c | 3 +-
+ src/mm-iface-modem-simple.c | 3 +-
+ src/mm-iface-modem-time.c | 3 +-
+ src/mm-iface-modem.c | 3 +-
+ src/mm-iface-modem.h | 3 +-
+ src/mm-modem-helpers.c | 3 +-
+ src/mm-sim-qmi.c | 3 +-
+ src/mm-sim.c | 3 +-
+ src/mm-sms-list.c | 3 +-
+ src/mm-sms-part.c | 4 +-
+ src/mm-sms-qmi.c | 3 +-
+ src/mm-sms-qmi.h | 3 +-
+ src/mm-sms.c | 3 +-
+ src/mm-sms.h | 3 +-
+ src/tests/test-sms-part.c | 3 +-
+ 117 files changed, 292 insertions(+), 165 deletions(-)
+
+commit 8bdcdeecb68036bb6be39c5896342f1f1905b606
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 17:47:30 2012 +0200
+
+ libmm-glib,manager: minor indentation fixes
+
+ libmm-glib/mm-manager.c | 49
+ +++++++++++++++++++++++++------------------------
+ 1 file changed, 25 insertions(+), 24 deletions(-)
+
+commit b6d628b3a10bf183b918c7afe89a5b260eb87760
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 15:08:46 2012 +0200
+
+ build: merge libmm-common into libmm-glib
+
+ It's pointless to have libmm-common around, just merge it into
+ libmm-glib and
+ make ModemManager depend on libmm-glib directly. At the end,
+ the non-common
+ stuff in libmm-glib is really minimal.
+
+ .gitignore | 14 +-
+ Makefile.am | 2 +-
+ cli/Makefile.am | 7 +-
+ configure.ac | 16 +-
+ data/Makefile.am | 1 -
+ data/mm-common.pc.in | 11 -
+ data/mm-glib.pc.in | 4 +-
+ docs/reference/api/Makefile.am | 28 +-
+ docs/reference/api/ModemManager-dbus-reference.xml | 28 +-
+ docs/reference/libmm-glib/Makefile.am | 6 +-
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 82 +-
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 1500
+ +++++++++++++++++++-
+ libmm-glib/Makefile.am | 63 +-
+ {libmm-common => libmm-glib/generated}/Makefile.am | 135 +-
+ {libmm-common => libmm-glib}/libmm-common.h | 0
+ {libmm-common => libmm-glib}/mm-bearer-ip-config.c | 0
+ {libmm-common => libmm-glib}/mm-bearer-ip-config.h | 0
+ .../mm-bearer-properties.c | 0
+ .../mm-bearer-properties.h | 0
+ {libmm-common => libmm-glib}/mm-common-helpers.c | 0
+ {libmm-common => libmm-glib}/mm-common-helpers.h | 0
+ .../mm-firmware-properties.c | 0
+ .../mm-firmware-properties.h | 0
+ {libmm-common => libmm-glib}/mm-location-3gpp.c | 0
+ {libmm-common => libmm-glib}/mm-location-3gpp.h | 0
+ .../mm-location-gps-nmea.c | 2 +
+ .../mm-location-gps-nmea.h | 0
+ {libmm-common => libmm-glib}/mm-location-gps-raw.c | 2 +
+ {libmm-common => libmm-glib}/mm-location-gps-raw.h | 0
+ {libmm-common => libmm-glib}/mm-network-timezone.c | 0
+ {libmm-common => libmm-glib}/mm-network-timezone.h | 0
+ .../mm-simple-connect-properties.c | 0
+ .../mm-simple-connect-properties.h | 0
+ {libmm-common => libmm-glib}/mm-simple-status.c | 0
+ {libmm-common => libmm-glib}/mm-simple-status.h | 0
+ {libmm-common => libmm-glib}/mm-sms-properties.c | 0
+ {libmm-common => libmm-glib}/mm-sms-properties.h | 0
+ {libmm-common => libmm-glib}/mm-unlock-retries.c | 0
+ {libmm-common => libmm-glib}/mm-unlock-retries.h | 0
+ {libmm-common => libmm-glib}/tests/Makefile.am | 8 +-
+ .../tests/test-common-helpers.c | 0
+ plugins/Makefile.am | 5 +-
+ src/Makefile.am | 18 +-
+ src/tests/Makefile.am | 27 +-
+ 44 files changed, 1736 insertions(+), 223 deletions(-)
+
+commit 624fdb6ab4544a82774e9805332cc242c1068b0f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 14:41:39 2012 +0200
+
+ docs,libmm-glib: properly order the sections
+
+ docs/reference/libmm-glib/libmm-glib-sections.txt | 541
+ ++++++++++++++++++++++
+ 1 file changed, 541 insertions(+)
+
+commit c07a3832dd87e1501420a4f902d8c3b0f57e24d6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 12:55:35 2012 +0200
+
+ cli: new `--firmware-list' and `--firmware-select' actions
+
+ cli/Makefile.am | 1 +
+ cli/mmcli-modem-firmware.c | 322
+ +++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 ++
+ cli/mmcli.h | 8 ++
+ 4 files changed, 342 insertions(+)
+
+commit 715a7759491b3c7c716ffbf768a2ece222b23fb1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 11:37:01 2012 +0200
+
+ libmm-glib,firmware: new `MMModemFirmware' type to handle the
+ Firmware interface
+
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 1 +
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/mm-manager.c | 2 +-
+ libmm-glib/mm-modem-firmware.c | 377
+ ++++++++++++++++++++++++++
+ libmm-glib/mm-modem-firmware.h | 93 +++++++
+ libmm-glib/mm-object.c | 36 +++
+ libmm-glib/mm-object.h | 3 +
+ 7 files changed, 514 insertions(+), 1 deletion(-)
+
+commit a795772e3ddb26a0e8c07e959e68c05f61f29728
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 09:34:33 2012 +0200
+
+ libmm-common: new `MMFirmwareProperties' to handle firmare image
+ properties
+
+ libmm-common/Makefile.am | 4 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-firmware-properties.c | 300
+ ++++++++++++++++++++++++++++++++++
+ libmm-common/mm-firmware-properties.h | 68 ++++++++
+ 4 files changed, 373 insertions(+)
+
+commit f198bc4eb054223d27ce96829d3437b87a61f3cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 11:35:23 2012 +0200
+
+ api,introspection: simplify the Firmware interface
+
+ The Firmware interface was highly based on 'slots' to identify
+ the existing
+ firmware images; but that doesn't fit very well with the initial
+ implementation
+ of the Firmware interface in QMI-based modems. In these modems the
+ 'storage
+ index' is a property which is not available in all types of images
+ (e.g. 'PRI'
+ images don't have it).
+
+ Therefore, instead of using a unique 'slot' identifier we'll just
+ use the
+ 'name' of the firmware as unique ID.
+
+ Also, currently skip the handling of 'available' images, and the
+ method to
+ 'Install()' new images, at least until we have one implementation
+ defining what
+ to do with those.
+
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 34
+ ++++++++++------------
+ 1 file changed, 15 insertions(+), 19 deletions(-)
+
+commit dda274437c0b688b33027adac9c2496b5511d76d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 09:22:45 2012 +0200
+
+ api,introspection: firmware images require a new `image-type' property
+
+ Image types of `MM_FIRMWARE_IMAGE_TYPE_GENERIC' will expose only
+ the mandatory
+ parameters. Other vendor-specific images may expose other properties.
+
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ include/ModemManager-enums.h | 12
+ ++++++++++++
+ .../org.freedesktop.ModemManager1.Modem.Firmware.xml |
+ 11 ++++++++++-
+ 3 files changed, 23 insertions(+), 1 deletion(-)
+
+commit d148eb6c7db59ea2f960d56876fc97a6a36ea78f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 14:06:17 2012 +0200
+
+ libmm-glib,sms: `MMSms' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated `MmGdbusSms'.
+
+ libmm-glib/mm-modem-messaging.c | 100 ++++++----
+ libmm-glib/mm-sms.c | 412
+ ++++++++++++++++++++++++----------------
+ libmm-glib/mm-sms.h | 108 +++++++----
+ 3 files changed, 375 insertions(+), 245 deletions(-)
+
+commit ba075e48f4c4470022f0eec28918e14b499dd681
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 13:24:05 2012 +0200
+
+ libmm-glib,sim: `MMSim' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated `MmGdbusSim'.
+
+ libmm-glib/mm-modem.c | 48 ++++---
+ libmm-glib/mm-sim.c | 355
+ +++++++++++++++++++++++++++++---------------------
+ libmm-glib/mm-sim.h | 50 +++++--
+ 3 files changed, 275 insertions(+), 178 deletions(-)
+
+commit 41ece5a021cc2b3f53db465a06d60267bada3c5e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 2 12:29:44 2012 +0200
+
+ libmm-glib,bearer: `MMBearer' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated `MmGdbusBearer'.
+
+ libmm-glib/mm-bearer.c | 545
+ ++++++++++++++++++++++++++++++++++++-------
+ libmm-glib/mm-bearer.h | 51 +++-
+ libmm-glib/mm-modem-simple.c | 49 ++--
+ libmm-glib/mm-modem.c | 118 +++++-----
+ 4 files changed, 596 insertions(+), 167 deletions(-)
+
+commit 730f69a6d49e8785ea8051692e025f61dad8d7ef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 23:44:35 2012 +0200
+
+ libmm-glib,time: `MMModemTime' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated `MmGdbusModemTime'.
+
+ libmm-glib/mm-manager.c | 2 +-
+ libmm-glib/mm-modem-time.c | 223
+ +++++++++++++++++++++++++++++++++++++++++----
+ libmm-glib/mm-modem-time.h | 37 +++++++-
+ 3 files changed, 238 insertions(+), 24 deletions(-)
+
+commit 653582ce1786119017e5814fb081620246faff34
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 22:41:07 2012 +0200
+
+ libmm-glib,simple: `MMModemSimple' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated
+ `MmGdbusModemSimple'.
+
+ libmm-glib/mm-manager.c | 2 +-
+ libmm-glib/mm-modem-simple.c | 215
+ ++++++++++++++++++++++++++++++++++++-------
+ libmm-glib/mm-modem-simple.h | 39 ++++++--
+ 3 files changed, 215 insertions(+), 41 deletions(-)
+
+commit 6ac9460543300ae66d3429031dabeaae2053a68a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 21:34:58 2012 +0200
+
+ libmm-glib,messaging: `MMModemMessaging' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated
+ `MmGdbusModemMessaging'.
+
+ libmm-glib/mm-manager.c | 2 +-
+ libmm-glib/mm-modem-messaging.c | 257
+ +++++++++++++++++++++++++++++++---------
+ libmm-glib/mm-modem-messaging.h | 48 ++++++--
+ 3 files changed, 244 insertions(+), 63 deletions(-)
+
+commit 45172e39b4b902e4c68bd810fccf3cafa5283477
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 19:41:02 2012 +0200
+
+ libmm-glib,location: `MMModemLocation' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated
+ `MmGdbusModemLocation'.
+
+ libmm-glib/mm-manager.c | 2 +-
+ libmm-glib/mm-modem-location.c | 311
+ ++++++++++++++++++++++++++++++++++++++---
+ libmm-glib/mm-modem-location.h | 34 ++++-
+ 3 files changed, 321 insertions(+), 26 deletions(-)
+
+commit 2d6bca4b8bcc67225ca8b77e37813c458b8b8075
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 18:43:07 2012 +0200
+
+ libmm-glib,cdma: `MMModemCdma' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated `MmGdbusModemCdma'.
+
+ libmm-glib/mm-manager.c | 2 +-
+ libmm-glib/mm-modem-cdma.c | 175
+ ++++++++++++++++++++++++++++++++-------------
+ libmm-glib/mm-modem-cdma.h | 52 ++++++++++++--
+ 3 files changed, 173 insertions(+), 56 deletions(-)
+
+commit 9a722de6bb187b99ceb2e490feb625d5b01120c8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 18:13:41 2012 +0200
+
+ libmm-glib,3gpp-ussd: `MMModem3gppUssd' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated
+ `MmGdbusModem3gppUssd'.
+
+ libmm-glib/mm-manager.c | 2 +-
+ libmm-glib/mm-modem-3gpp-ussd.c | 321
+ +++++++++++++++++++++++++++++-----------
+ libmm-glib/mm-modem-3gpp-ussd.h | 34 ++++-
+ 3 files changed, 265 insertions(+), 92 deletions(-)
+
+commit f5be23757d247b6f09d3009643c199165bd8d32c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 17:35:54 2012 +0200
+
+ libmm-glib,3gpp: `MMModem3gpp' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated `MmGdbusModem3gpp'.
+
+ libmm-glib/mm-manager.c | 2 +-
+ libmm-glib/mm-modem-3gpp.c | 300
+ ++++++++++++++++++++++++++++++++++-----------
+ libmm-glib/mm-modem-3gpp.h | 47 ++++++-
+ 3 files changed, 271 insertions(+), 78 deletions(-)
+
+commit 8ae0c36ab99ee82ed2b60e19949f08e9f02cd9b9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 13:42:45 2012 +0200
+
+ libmm-glib,modem: `MMModem' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated `MmGdbusModem'.
+
+ libmm-glib/mm-manager.c | 2 +-
+ libmm-glib/mm-modem.c | 1333
+ +++++++++++++++++++++++++++++++++++------------
+ libmm-glib/mm-modem.h | 108 +++-
+ 3 files changed, 1070 insertions(+), 373 deletions(-)
+
+commit d07a138d37ed1267f43a950d47a45a0698d879b6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 11:25:56 2012 +0200
+
+ libmm-glib,object: `MMObject' is now a real object
+
+ Not just a typedef of the gdbus-codegen generated `MmGdbusObject'.
+
+ libmm-glib/mm-manager.c | 3 +-
+ libmm-glib/mm-object.c | 314
+ +++++++++++++++++++++++++++++-------------------
+ libmm-glib/mm-object.h | 64 +++++++---
+ 3 files changed, 238 insertions(+), 143 deletions(-)
+
+commit 2f16ef2278a8e6cb991af3cf0c196b914a6e6bb8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 13:41:34 2012 +0200
+
+ libmm-glib,manager: cleanup object implementation
+
+ libmm-glib/mm-manager.c | 202
+ +++++++++++++++++++++++++++++++-----------------
+ libmm-glib/mm-manager.h | 19 +++--
+ 2 files changed, 145 insertions(+), 76 deletions(-)
+
+commit acf2e6d1e0c830ae357f334e141146b3ca0abcad
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 11:23:55 2012 +0200
+
+ libmm-glib,manager: allow specifying the generated proxy types
+ ourselves
+
+ libmm-glib/mm-manager.c | 41 +++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 39 insertions(+), 2 deletions(-)
+
+commit ca14de0605c5d881c46dc43e77ce36d3c4bf6027
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 1 14:08:40 2012 +0200
+
+ doc: setup gtk-doc generation for libmm-glib
+
+ .gitignore | 13 ++++
+ configure.ac | 2 +
+ docs/reference/Makefile.am | 2 +-
+ docs/reference/libmm-glib/Makefile.am | 65 +++++++++++++++++
+ docs/reference/libmm-glib/libmm-glib-docs.xml | 100
+ ++++++++++++++++++++++++++
+ docs/reference/libmm-glib/version.xml.in | 1 +
+ 6 files changed, 182 insertions(+), 1 deletion(-)
+
+commit 54f476fe10e9683c19b50fc26b52ca648745fd9f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 08:14:11 2012 +0200
+
+ sierra: run power-down during init
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit e669e4c8685ab668397436c42cc7d591fd62e154
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 08:13:43 2012 +0200
+
+ cinterion: run power-down during init
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 2ca70365cf015bec7cd0098fecaf6d72a68f6768
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 08:12:30 2012 +0200
+
+ wavecom: run power-down during init
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 814bb21e9b3d718b376b6079410ee04d1a8b4702
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 08:11:57 2012 +0200
+
+ nokia: ensure we skip power down during init
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 305f02267eec36889f70ce8f13acb50219e13ce0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 08:11:31 2012 +0200
+
+ motorola: ensure we skip power down during init
+
+ plugins/motorola/mm-broadband-modem-motorola.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 28800018fb1ac459e67351eac3082f13958ab23e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 08:10:56 2012 +0200
+
+ gobi: ensure we skip power down during init
+
+ plugins/gobi/mm-broadband-modem-gobi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 668976f4d7c8b1d79bff6282241cc7dad8d397e0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 08:09:51 2012 +0200
+
+ iridium: ensure we skip power down during init
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit a5870ac3c6ec8e3b036f493a3066f0addb37deb9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 08:07:33 2012 +0200
+
+ zte: run power-down during init
+
+ plugins/zte/mm-broadband-modem-zte.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit a0e19630e4dafbff51ae9a7e1f815ee98167f37d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 08:07:21 2012 +0200
+
+ icera: we won't be implementing power-down during init
+
+ Some Icera-based modems (e.g. Samsung/Icera Y3300/Y3400) may take
+ a loong time
+ to run the power down command (see commit 5f1a1cf8). So, for these
+ modems we
+ will fully skip the power down command run during initialization.
+
+ plugins/icera/mm-broadband-modem-icera.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 77208f66ab4ad3c8401b2fe62c93915a5b944331
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 18 16:09:54 2012 +0200
+
+ iface-modem: ensure we're in low power mode when initializing
+
+ The power-down command defined by the plugin will be run *only*
+ after having
+ checked for current and modem capabilities, as plugins (e.g. Sierra)
+ may have
+ different commands for that depending on whether they are 3GPP
+ or 3GPP2.
+
+ We do not reuse the 'modem_power_down' callback from the disabling
+ sequence, as
+ some plugins really behave pretty badly with this (e.g. Samsung
+ CFUN=4 may take
+ up to 30s to complete). So, we let plugins use the power-down
+ command when
+ disabling but avoid launching it during init.
+
+ src/mm-iface-modem.c | 35 +++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 8 ++++++++
+ 2 files changed, 43 insertions(+)
+
+commit b622424d2fdcd1f455c3ecbc86a7624a39050f2d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 28 20:35:41 2012 +0200
+
+ broadband-modem: handle unknown errors in AT sequences
+
+ When none of the commands in the AT sequence succeeds no error is set.
+
+ src/mm-broadband-modem.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 00a8ed3af44835ccb83c05c2ecfec2a119320420
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 28 14:57:25 2012 +0200
+
+ iface-modem: ensure the state change is flushed before the detailed
+ notify
+
+ In order to ease the life for clients listening to the 'state-changed'
+ signal,
+ the change in the 'state' property in the DBus interface skeleton
+ is flushed
+ right away, before emitting 'state-changed'. By doing this we make
+ sure that
+ the 'state-changed' callbacks in the clients are able to see exactly
+ the same
+ current state in the modem proxy.
+
+ src/mm-iface-modem.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 65c3976cad2ed5ee14b979270b73d5c2a93ed215
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 28 08:41:44 2012 +0200
+
+ core: acquire DBus name only after having created the `MMManager'
+
+ The `MMManager' is itself also a `GDBusObjectManagerServer'. If we
+ create this
+ object after having fully acquired the bus name, the client
+ application in the
+ other side of the bus could be trying to use the ObjectManager
+ interface before
+ we actually exported it, which is wrong. Therefore, we need to make
+ sure that
+ the Manager interfaces are all exported before the name is acquired.
+
+ src/main.c | 51 +++++++++++++++++++++++++++------------------------
+ 1 file changed, 27 insertions(+), 24 deletions(-)
+
+commit 0b059ea9c9b894c470da0a3dc795ba7bc2b46cfd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Sep 27 11:13:26 2012 -0500
+
+ uml290mode: fix log message
+
+ uml290/uml290mode.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit f5c5a455c1d96efbb4cec4f677b1b9746ff637e7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Sep 27 10:55:48 2012 -0500
+
+ uml290mode: offline and reset modem after making changes
+
+ uml290/uml290mode.c | 59
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 58 insertions(+), 1 deletion(-)
+
+commit fb65cba607eaebaccd9b1df64074297e6f197d1a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Sep 27 10:55:20 2012 -0500
+
+ qcdm: add qcdm_cmd_control_new() to set operating mode
+
+ libqcdm/src/commands.c | 29 +++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 13 +++++++++++++
+ libqcdm/src/dm-commands.h | 13 +++++++++++++
+ 3 files changed, 55 insertions(+)
+
+commit 1b5804895f9eeb81fc469acfaa316ba3ea1da86e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 24 04:36:38 2012 +0200
+
+ build: use $PKG_CONFIG
+
+ The build system sets up this variable for us, so use it rather than
+ hardcoding "pkg-config" which might be the wrong one.
+
+ Equivalent to the one done by
+ Mike Frysinger <vapier@gentoo.org>
+ in libqmi.
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 717b16b5b6cbca628f48791c9ea35075f393fe68
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 22 00:03:43 2012 -0700
+
+ broadband-modem: increase timeout for ATZ
+
+ Some modem like Novatel LTE can take up to 5 seconds to complete
+ the ATZ
+ command. Increase the timeout for ATZ from 3 seconds to 6 seconds.
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e60207d6ab6ebe56d702924a8fcbe966e60196a7
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 22 00:07:08 2012 -0700
+
+ broadband-modem: disconnect bearers only if the bearer list still
+ exists
+
+ This patch fixes a crash when MMBroadbandModem tries to access an
+ already cleared bearer list during the disabling steps.
+
+ Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )
+
+ 0x7f6eed4c40a3 [ModemManager] - mm-bearer-list.c:259
+ mm_bearer_list_disconnect_all_bearers
+ 0x7f6eed4cd6f8 [ModemManager] - mm-iface-modem.c:1216
+ handle_enable_auth_ready
+ 0x7f6eed332676 [libgio-2.0.so.0.3000.2] - gsimpleasyncresult.c:749
+ g_simple_async_result_complete
+ 0x7f6eed4c5750 [ModemManager] - mm-base-modem.c:1015
+ authorize_ready
+ 0x7f6eed332676 [libgio-2.0.so.0.3000.2] - gsimpleasyncresult.c:749
+ g_simple_async_result_complete
+ 0x7f6eed332788 [libgio-2.0.so.0.3000.2] - gsimpleasyncresult.c:761
+ complete_in_idle_cb
+ 0x7f6eecf36f44 [libglib-2.0.so.0.3000.2] - gmain.c:2441
+ g_main_context_dispatch
+ 0x7f6eecf37597 [libglib-2.0.so.0.3000.2] - gmain.c:3089
+ g_main_context_iterate
+ 0x7f6eecf37b51 [libglib-2.0.so.0.3000.2] - gmain.c:3297
+ g_main_loop_run
+ 0x7f6eed4b5ad1 [ModemManager] - main.c:150
+ main
+ 0x7f6eec95141c [libc-2.15.so] - libc-start.c:234
+ __libc_start_main
+ 0x7f6eed4b55e8 [ModemManager] + 0x0001a5e8
+
+ src/mm-broadband-modem.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+commit 6124022ab38222d1b9a239b3f21ec6c8a6eced0f
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Sep 20 08:41:30 2012 -0700
+
+ modem-helpers: handle the case when operator name is "Unknown"
+
+ Some modems report "Unknown" as the operator name when failed
+ to obtain
+ the actual value:
+
+ --> 'AT+COPS=3,0;+COPS?<CR>'
+ <-- '<CR><LF>+COPS: 0,0,"Unknown",0<CR><LF><CR><LF>OK<CR><LF>'
+
+ This patch prevents "Unknown" from being treated as a valid operator
+ name.
+
+ src/mm-modem-helpers.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 6995300ecd8534e99539ca2a9974c2fb7236484f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 10:37:31 2012 +0200
+
+ huawei: if port replies to AT^GETPORTMODE, port is AT
+
+ Just skips the additional check for AT support in the port.
+
+ plugins/huawei/mm-plugin-huawei.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit c4b5293669f5b956e47a8b0fbfe70d179c0ef43f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 10:18:18 2012 +0200
+
+ device: if failed to get VID/PID in first port, try the next one
+
+ Don't rely only in the first grabbed port to get VID/PID. Some
+ modems, e.g.
+ Huawei E367, won't report a proper VID in the cdc-wdm port, which
+ is the first
+ one probed.
+
+ src/mm-device.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit ee099fcd087c0960e4b6f40b251e798e53978edf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 10:16:41 2012 +0200
+
+ plugin-manager: never suggest the Generic plugin to others
+
+ Some modems, e.g. Huawei E367, will probe first the QMI port and
+ for some reason
+ it doesn't report a proper VID/PID so the Generic plugin is the
+ one finally
+ accepting that port. When we probe the AT ports afterwards we already
+ got the
+ Generic plugin as suggestion, and we end up not grabbing the proper
+ primary and
+ secondary ports as we skipped the AT^GETPORTMODE reply.
+
+ So, from now on the Generic plugin is never suggested to other
+ probes; except
+ for the case where we need the suggestion to finish a probing task
+ which was
+ 'deferred until suggested'.
+
+ Also, the device-level plugin can now be overwritten, if and only
+ if, the
+ previously set plugin was the Generic one.
+
+ src/mm-plugin-manager.c | 73
+ ++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 48 insertions(+), 25 deletions(-)
+
+commit a6faae32608833f3d26d57bc6bace4f2a9add8bd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 19 07:35:23 2012 +0200
+
+ broadband-modem: skip +CGMM: prefix when loading device model
+
+ Some devices, e.g. ZTE MF820D, seem to prefix the `AT+CGMM?' response
+ with the
+ `+CGMM:' string, resulting in the following model string being loaded:
+
+ model: '+CGMM: "MF820D"'
+
+ Avoid this by:
+ 1) Removing the expected prefixes.
+ 2) Unquoting the resulting string.
+
+ Reported by: Marius Kotsbak <marius.kotsbak@gmail.com>
+
+ src/mm-broadband-modem.c | 12 +++++++++++-
+ src/mm-modem-helpers.c | 17 +++++++++++++++++
+ src/mm-modem-helpers.h | 5 +++--
+ 3 files changed, 31 insertions(+), 3 deletions(-)
+
+commit d2353e01ff4b786da4542f7fd6f4f4e76081f450
+Author: Marius B. Kotsbak <marius@kotsbak.com>
+Date: Sun Sep 9 18:06:30 2012 +0200
+
+ sierra: use +CFUN=4 for powering down GSM modems
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 18 ++++++++++--------
+ 1 file changed, 10 insertions(+), 8 deletions(-)
+
+commit b65bc50777a9de7d0f5a16503056435b19140048
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 18 19:01:30 2012 +0200
+
+ qmi-port: plug memleak
+
+ Ensure we clear all allocated client objects when disposing the port.
+
+ src/mm-qmi-port.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 127900b67b73b80ded9dc24f2bfb8f2274e6a325
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 18 18:54:37 2012 +0200
+
+ broadband-modem-qmi: plug memleak, always need to unref() input
+ containers
+
+ src/mm-broadband-modem-qmi.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 48bb20d0184ac5db085521539b186842b87a47e3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 18 13:57:25 2012 +0200
+
+ libmm-common,gps-nmea: skip duplicate traces in sequence
+
+ libmm-common/mm-location-gps-nmea.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 598799a61ce2862a6bf8f603c91ebee7ef83576b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 18 13:11:59 2012 +0200
+
+ broadband-modem-qmi: request NMEA trace indications
+
+ src/mm-broadband-modem-qmi.c | 60
+ ++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 50 insertions(+), 10 deletions(-)
+
+commit 48d8bf4164f201fba3228d56ff4a21e1a9ee88e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 18 12:41:07 2012 +0200
+
+ broadband-modem-qmi: listen to "PDS Event Report" indications
+
+ src/mm-broadband-modem-qmi.c | 161
+ ++++++++++++++++++++++++++++++-------------
+ 1 file changed, 112 insertions(+), 49 deletions(-)
+
+commit b43c5933d85f244d977d72da8a9d2a3477f713f4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 18 12:16:24 2012 +0200
+
+ broadband-modem-qmi: enable/disable GPS location gathering
+
+ src/mm-broadband-modem-qmi.c | 292
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 292 insertions(+)
+
+commit 4babcbe30edf254d17de9a2a6d55af3152d40f62
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 18 11:53:52 2012 +0200
+
+ broadband-modem-qmi: new common method to peek a QMI client
+
+ src/mm-broadband-modem-qmi.c | 37 +++++++++++++++++++++++++++----------
+ 1 file changed, 27 insertions(+), 10 deletions(-)
+
+commit 0e40bb7b11caf0079a2b9a1d0b387ef08b46254f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 18 10:59:49 2012 +0200
+
+ broadband-modem-qmi: check support for GPS location capabilities
+
+ src/mm-broadband-modem-qmi.c | 84
+ ++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 82 insertions(+), 2 deletions(-)
+
+commit 6284737249aca9d65d721c746bb2b3750a677ebe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 14 13:12:02 2012 +0200
+
+ sms: don't allow more than 255 parts
+
+ src/mm-sms.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit d5e57dd8eb98d89f68d2e651271d54949c910b31
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 14 13:11:33 2012 +0200
+
+ sms: fix error message string when failing to parse input text
+
+ src/mm-sms.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d30ec8f5a6054fb42e458bfadef0d2786a6b13d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 14 11:57:36 2012 +0200
+
+ cli: minor text output fixes
+
+ cli/mmcli-sms.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 2c1ce492cebd2a95de8b14abc644beb370d4f6b5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 13 12:33:50 2012 +0200
+
+ sms: don't try the generic SMS method if we got a timeout error
+
+ src/mm-sms.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit e212f6b6edcd2b5678372bd0b05c70209c516f05
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 13 12:00:37 2012 +0200
+
+ sms: create SMS parts only when storing or sending
+
+ When a user creates an SMS object, we will expose all its properties
+ in DBus
+ properly, but we will not create the internal list of SMS parts.
+
+ The list of SMS parts will be created when the SMS is stored or
+ sent, whatever
+ comes first. When the message is sent and it was previously stored,
+ the list of
+ parts is not re-created.
+
+ If the message requires multiple parts, the multipart reference is
+ computed as
+ follows:
+ * If the SMS was not stored and is being sent, we just use a
+ random number.
+ * If the SMS is being stored, we will use a multipart reference
+ which is not
+ being used already in another SMS to the same destination.
+
+ src/mm-iface-modem-messaging.c | 48 ++++++
+ src/mm-iface-modem-messaging.h | 5 +
+ src/mm-sms-list.c | 29 ++++
+ src/mm-sms-list.h | 4 +
+ src/mm-sms-part.c | 19 +--
+ src/mm-sms-part.h | 3 +-
+ src/mm-sms.c | 357
+ +++++++++++++++++++++++++----------------
+ 7 files changed, 320 insertions(+), 145 deletions(-)
+
+commit 2da9474d0c0e22044d7ab636e3336cab1a75bc22
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 13 11:54:42 2012 +0200
+
+ test: new tester for the messaging capabilities of a modem, using
+ `mmcli'
+
+ Usage:
+ mmcli-test-sms [MODEM INDEX] [all|ucs2|gsm7|data] [NUMBER]"
+
+ If [NUMBER] is not given, a dummy number will be used and NO SMS
+ will be sent.
+
+ If you give a proper [NUMBER], we will try to send the SMS.
+
+ test/mmcli-test-sms | 169
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 169 insertions(+)
+
+commit 4196ef1a86bbac44461bfdae985cfc3a9696f488
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 13 11:40:05 2012 +0200
+
+ sms: don't try to delete parts if SMS not stored
+
+ src/mm-sms.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit 861266777693162fdfeb54a3e1094ab05f0d3c4d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 13 07:45:17 2012 +0200
+
+ sms,sms-qmi: update timeout when sending an SMS to 30s
+
+ src/mm-sms-qmi.c | 4 ++--
+ src/mm-sms.c | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit f6832d72cf386eb495c5d2b988d24c1a963f71d6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 15:44:01 2012 +0200
+
+ cli: new `--create-file-with-data' action for SMS objects
+
+ This new action allows creating a new file with the binary data
+ stored in the
+ SMS, if any.
+
+ E.g.:
+
+ $> sudo mmcli -s 7 \
+ --create-file-with-data=output.txt
+
+ This action can only be run on SMS object with binary data.
+
+ cli/mmcli-sms.c | 80
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 74 insertions(+), 6 deletions(-)
+
+commit 015627974984ef7b5a7595421a9921fbaa759555
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 15:42:34 2012 +0200
+
+ cli: new `--messaging-create-sms-with-data' switch
+
+ This switch can be run along with the `--messaging-create-sms'
+ action, in order
+ to include in the SMS the data as given in the file specified by
+ the new switch.
+
+ E.g.:
+
+ $> sudo mmcli -m 0 \
+ --messaging-create-sms="number='1234567890'" \
+ --messaging-create-sms-with-data=file.txt
+
+ In this case, the SMS properties string cannot contain a 'text' field.
+
+ cli/mmcli-modem-messaging.c | 68
+ ++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 55 insertions(+), 13 deletions(-)
+
+commit 1304a628f8b7e3ebc1b41101533c2eb5ff2f25ec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 15:39:19 2012 +0200
+
+ sms-part: include user data, if passed, when building the PDU
+
+ src/mm-sms-part.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit 8e6a6035780da3ccc18e5eb9c30eb40ab4ea9885
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 13:08:36 2012 +0200
+
+ libmm-glib: provide accessors for the 'Data' property in the SMS
+ interface
+
+ libmm-glib/mm-sms.c | 67
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-sms.h | 40 ++++++++++++++++++--------------
+ 2 files changed, 89 insertions(+), 18 deletions(-)
+
+commit a66f971a7cdea4bf1d9f6390e12f950f41ee5595
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 13:06:40 2012 +0200
+
+ libmm-common: added common utils from core
+
+ Moved the utils to play with binary to hex strings into libmm-common.
+
+ libmm-common/mm-common-helpers.c | 94
+ +++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 7 ++
+ plugins/huawei/mm-broadband-modem-huawei.c | 5 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 1 -
+ plugins/iridium/mm-bearer-iridium.c | 1 -
+ plugins/mbm/mm-broadband-bearer-mbm.c | 1 -
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 1 -
+ plugins/option/mm-broadband-bearer-hso.c | 1 -
+ plugins/sierra/mm-broadband-bearer-sierra.c | 1 -
+ src/Makefile.am | 2 -
+ src/mm-bearer-list.c | 1 -
+ src/mm-bearer-qmi.c | 1 -
+ src/mm-bearer.c | 1 -
+ src/mm-broadband-bearer.c | 1 -
+ src/mm-broadband-modem.c | 3 +-
+ src/mm-charsets.c | 13 +--
+ src/mm-device.c | 11 +--
+ src/mm-sim.c | 5 +-
+ src/mm-sms-list.c | 1 -
+ src/mm-sms-part.c | 3 +-
+ src/mm-sms.c | 3 +-
+ src/mm-utils.c | 109
+ ----------------------
+ src/mm-utils.h | 28 ------
+ src/tests/test-sms-part.c | 7 +-
+ 24 files changed, 124 insertions(+), 177 deletions(-)
+
+commit fbe01c8d6a22cb95ff74ddefc907e663cdeee710
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 12:34:43 2012 +0200
+
+ sms: 'Text' and 'Data' will never be given at the same time
+
+ When receiving an SMS, if the encoding is either GSM7 or UCS2,
+ we will treat the
+ contents of the SMS as text; and if the encoding is either 8BIT or
+ unknown, we
+ will just dump the contents of the SMS as data.
+
+ When creating an SMS, the user is not allowed to give both text and
+ data, only
+ one can be given. We will use by default 8BIT when data is given,
+ and guess the
+ best encoding if text is given.
+
+ Note that it's still possible to have SMS with neither text nor data,
+ as in
+ delivery status reports.
+
+ This commit also handles the split of the input data in order to
+ make it fit
+ into singlepart or multipart messages.
+
+ .../org.freedesktop.ModemManager1.Sms.xml | 6 +-
+ src/mm-sms-part.c | 73 +++++++++++---
+ src/mm-sms-part.h | 2 +
+ src/mm-sms.c | 111
+ +++++++++++++++++----
+ 4 files changed, 157 insertions(+), 35 deletions(-)
+
+commit 15be01d4fac9c761411f23903df5c0d6c2360424
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 11:40:06 2012 +0200
+
+ sms: fix error return when a mandatory parameter missing in dictionary
+
+ src/mm-sms.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit baf3ed0c64135af4a21d21ba4d1ca7c6f534ba29
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 11:27:30 2012 +0200
+
+ sms-part: don't keep track of the whole TP-DCS value
+
+ We already retrieve the bits we use from it, class and encoding.
+
+ src/mm-broadband-modem.c | 1 -
+ src/mm-sms-part.c | 6 ------
+ src/mm-sms-part.h | 4 ----
+ src/tests/test-sms-part.c | 41 +++++++++++++++++------------------------
+ 4 files changed, 17 insertions(+), 35 deletions(-)
+
+commit 64f728b375f494a31dcbe978ffa864a1f96e4713
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 11:19:21 2012 +0200
+
+ sms-part: read message class only if TP-DCS available
+
+ src/mm-sms-part.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit 815decb03474754a56e7572a2823ce438a81023b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 10:41:27 2012 +0200
+
+ broadband-modem: properly avoid duplicate CMTI indications
+
+ We will look for the part being notified in the CMTI indication
+ directly in the
+ list of processed parts; and if we have it there already we won't
+ re-process it.
+
+ Still, we may get several CMTI indications for the same part one
+ after the
+ other, so it may still happen that the second CMTI comes *before*
+ we have parsed
+ and created the part in the SMS list. For that case, the SMS list
+ will reject
+ taking the part if there is already a part with the same storage+index
+ already
+ processed.
+
+ This fix removes the `known_sms_parts' hash table, which was being
+ handled
+ incorrectly.
+
+ This should fix https://bugzilla.gnome.org/show_bug.cgi?id=675175
+
+ src/mm-broadband-modem.c | 55
+ ++++++++++++++++++++----------------------------
+ src/mm-sms-list.c | 26 +++++++++++++++++++----
+ src/mm-sms-list.h | 4 ++++
+ 3 files changed, 49 insertions(+), 36 deletions(-)
+
+commit 8cbf3b7826ccf794431d37e449724caaf0f4206b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 10:35:51 2012 +0200
+
+ broadband-modem: fix SMS list object type
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 91b324ed407a849173701aa70e2a15f842ac6db6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 10:06:17 2012 +0200
+
+ broadband-modem: select and lock proper storage when reading CMTI
+ indications
+
+ src/mm-broadband-modem.c | 71
+ ++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 56 insertions(+), 15 deletions(-)
+
+commit f6147e0d6bb9d24f6fd470f99a278178690e5d83
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 16:04:11 2012 +0200
+
+ cli: print new SMS properties in SMS status report
+
+ cli/mmcli-sms.c | 50 +++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 37 insertions(+), 13 deletions(-)
+
+commit 744b9fba671d858f4ca31a17e358764767703ae6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 15:56:11 2012 +0200
+
+ libmm-glib: added methods to retrieve new SMS properties
+
+ libmm-glib/mm-sms.c | 84
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-sms.h | 5 ++++
+ 2 files changed, 89 insertions(+)
+
+commit 1111bfa80664d88b5e9572a9d3de7c4f117e7384
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 09:19:23 2012 +0200
+
+ api: new `DeliveryState' property in the SMS interface
+
+ Given only for STATUS REPORT SMS messages.
+
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ include/ModemManager-enums.h | 71
+ ++++++++++++++++++++++
+ .../org.freedesktop.ModemManager1.Sms.xml | 11 ++++
+ libmm-common/mm-common-helpers.c | 44 ++++++++++++++
+ libmm-common/mm-common-helpers.h | 2 +
+ src/mm-sms-part.c | 9 ++-
+ src/mm-sms-part.h | 4 ++
+ src/mm-sms.c | 1 +
+ 8 files changed, 142 insertions(+), 1 deletion(-)
+
+commit bdf0f9484b4244c024599e00ec589ccc5b97893e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 16:35:46 2012 +0200
+
+ sms: allow parts with neither text nor data only in Status Report PDUs
+
+ src/mm-sms.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 83ab63138cfbe7988e3462f66675a3f7261b381f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 16:31:14 2012 +0200
+
+ sms: fix double free when parsing PDUs
+
+ If we get an error when telling the SMS list to take the new PDU,
+ the caller is
+ the one responsible for freeing the part, so avoid doing it twice.
+
+ Relevant valgrind log:
+ ==7287== Invalid read of size 8
+ ==7287== at 0x437CE1: mm_sms_part_free (mm-sms-part.c:344)
+ ==7287== by 0x454D11: mm_iface_modem_messaging_take_part
+ (mm-iface-modem-messaging.c:359)
+ ==7287== by 0x461234: cds_received (mm-broadband-modem.c:4626)
+ ==7287== by 0x48A305: parse_unsolicited (mm-at-serial-port.c:256)
+ ==7287== by 0x48723D: parse_response (mm-serial-port.c:731)
+ ==7287== by 0x48759B: data_available (mm-serial-port.c:801)
+ ==7287== by 0x36ADC47694: g_main_context_dispatch (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==7287== by 0x36ADC479C7: ??? (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==7287== by 0x36ADC47DC1: g_main_loop_run (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==7287== by 0x421398: main (main.c:150)
+ ==7287== Address 0x9840b78 is 24 bytes inside a block of size
+ 104 free'd
+ ==7287== at 0x4A079AE: free (vg_replace_malloc.c:427)
+ ==7287== by 0x36ADC4D37E: g_free (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==7287== by 0x36ADC61CCE: g_slice_free1 (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==7287== by 0x437D5A: mm_sms_part_free (mm-sms-part.c:351)
+ ==7287== by 0x36ADC449EC: g_list_foreach (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==7287== by 0x36ADC44A0A: g_list_free_full (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==7287== by 0x43D8A1: finalize (mm-sms.c:1629)
+ ==7287== by 0x36AE8145DA: g_object_unref (in
+ /usr/lib64/libgobject-2.0.so.0.3200.4)
+ ==7287== by 0x43CD52: mm_sms_singlepart_new (mm-sms.c:1376)
+ ==7287== by 0x43E223: take_singlepart (mm-sms-list.c:236)
+ ==7287== by 0x43E60D: mm_sms_list_take_part (mm-sms-list.c:338)
+ ==7287== by 0x454CC7: mm_iface_modem_messaging_take_part
+ (mm-iface-modem-messaging.c:353)
+
+ src/mm-sms.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 2871e3e821251245823d0e178c965a1ecbb5984a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 16:20:01 2012 +0200
+
+ sms-part: don't read out of the pdu buffer
+
+ ... or Valgrind will complain:
+
+ ==4834== Invalid read of size 1
+ ==4834== at 0x43904C: mm_sms_part_new_from_binary_pdu
+ (mm-sms-part.c:783)
+ ==4834== by 0x4382C9: mm_sms_part_new_from_pdu (mm-sms-part.c:485)
+ ==4834== by 0x461D85: sms_pdu_part_list_ready
+ (mm-broadband-modem.c:5004)
+ ==4834== by 0x3161A6CFB6: g_simple_async_result_complete (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x432F82: at_command_parse_response
+ (mm-base-modem-at.c:490)
+ ==4834== by 0x489F96: handle_response (mm-at-serial-port.c:161)
+ ==4834== by 0x486D0A: mm_serial_port_got_response
+ (mm-serial-port.c:588)
+ ==4834== by 0x48758B: data_available (mm-serial-port.c:804)
+ ==4834== by 0x36ADC47694: g_main_context_dispatch (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==4834== by 0x36ADC479C7: ??? (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==4834== by 0x36ADC47DC1: g_main_loop_run (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==4834== by 0x421398: main (main.c:150)
+ ==4834== Address 0x927e489 is 0 bytes after a block of size 25
+ alloc'd
+ ==4834== at 0x4A06F18: calloc (vg_replace_malloc.c:566)
+ ==4834== by 0x36ADC4D2C6: g_malloc0 (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==4834== by 0x4844B2: utils_hexstr2bin (mm-utils.c:63)
+ ==4834== by 0x438284: mm_sms_part_new_from_pdu (mm-sms-part.c:476)
+ ==4834== by 0x461D85: sms_pdu_part_list_ready
+ (mm-broadband-modem.c:5004)
+ ==4834== by 0x3161A6CFB6: g_simple_async_result_complete (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x432F82: at_command_parse_response
+ (mm-base-modem-at.c:490)
+ ==4834== by 0x489F96: handle_response (mm-at-serial-port.c:161)
+ ==4834== by 0x486D0A: mm_serial_port_got_response
+ (mm-serial-port.c:588)
+ ==4834== by 0x48758B: data_available (mm-serial-port.c:804)
+ ==4834== by 0x36ADC47694: g_main_context_dispatch (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==4834== by 0x36ADC479C7: ??? (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+
+ src/mm-sms-part.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 2b01c93c577e480768d721c48d09645914794666
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 15:50:58 2012 +0200
+
+ api: make read-only all SMS properties for now
+
+ We don't support yet modifying these properties on the fly (e.g. we
+ would need
+ to re-construct the internal PDU list when the text changes).
+
+ introspection/org.freedesktop.ModemManager1.Sms.xml | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 628f7e41a481756950cf896e326c5050ef4c1489
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 15:47:39 2012 +0200
+
+ sms-list: don't look for duplicate parts if index is unknown
+
+ src/mm-sms-list.c | 28 +++++++++++++++++++---------
+ 1 file changed, 19 insertions(+), 9 deletions(-)
+
+commit 4f1991e2bab533176d0e720aee0bbe7ce755cc21
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 15:41:53 2012 +0200
+
+ api: new `MessageReference' property in the SMS interface
+
+ Message reference allows to match a sent SMS with its corresponding
+ delivery
+ report, if requested.
+
+ .../org.freedesktop.ModemManager1.Sms.xml | 11 ++++
+ src/mm-sms-part.c | 4 ++
+ src/mm-sms-part.h | 4 ++
+ src/mm-sms-qmi.c | 10 +++
+ src/mm-sms.c | 77
+ ++++++++++++++++++++--
+ 5 files changed, 101 insertions(+), 5 deletions(-)
+
+commit 320984a4a00b886a7c6b61aa48413900efe56e86
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 15:03:08 2012 +0200
+
+ api: new `DischargeTimestamp' property for Status Report SMS messages
+
+ introspection/org.freedesktop.ModemManager1.Sms.xml | 18
+ +++++++++++++++++-
+ src/mm-sms-part.c | 8 ++++++--
+ src/mm-sms-part.h | 6 ++++++
+ src/mm-sms.c | 3 ++-
+ 4 files changed, 31 insertions(+), 4 deletions(-)
+
+commit f1a73a5719002426f1f0a7ffdbec1dc1822c794c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 14:52:31 2012 +0200
+
+ sms-part: always treat TP-DCS as a bitmask
+
+ src/mm-sms-part.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit 6c7766afed735500ffc4c3197518b479760edec6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 14:48:35 2012 +0200
+
+ sms-part: always treat TP-MTI as a bitmask
+
+ src/mm-sms-part.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit ef5842f4dab34843f514838505102ea37bf95ba6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 14:46:24 2012 +0200
+
+ sms-part: implement parsing SUBMIT and STATUS REPORT PDUs
+
+ src/mm-sms-part.c | 532
+ ++++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 361 insertions(+), 171 deletions(-)
+
+commit 7faa48ea9490c0af563d3bb8426a1e2d9bf83f82
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 14:40:42 2012 +0200
+
+ api: new `PduType' property in the SMS interface
+
+ It will help deciding the type of message.
+
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ include/ModemManager-enums.h | 16 +++++++++++
+ .../org.freedesktop.ModemManager1.Sms.xml | 8 ++++++
+ src/mm-broadband-modem.c | 32
+ ++++++++++++++++------
+ src/mm-sms-part.c | 10 +++++--
+ src/mm-sms-part.h | 8 +++++-
+ src/mm-sms.c | 7 +++--
+ src/tests/test-sms-part.c | 2 +-
+ 8 files changed, 69 insertions(+), 15 deletions(-)
+
+commit 5b6e080472952d1c97568d9925aae268677623a6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 14:00:44 2012 +0200
+
+ test: set text encoding when testing PDU creator
+
+ src/tests/test-sms-part.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 6c5bead94b39f344464dbbd5db36599c377c798c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 14:00:24 2012 +0200
+
+ test: print all logs in SMS part tests
+
+ They are extremely helpful for debugging issues.
+
+ src/tests/test-sms-part.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit f7caa7c9bc189c6a13ffafdb26e95e5343488abf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 13:59:31 2012 +0200
+
+ test: new tests to parse SUBMIT PDUs
+
+ src/tests/test-sms-part.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit f139bbe48503f34c2e9f80d0e7196eb9b3f75999
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 08:37:21 2012 +0200
+
+ test: new tests to parse non-stored PDUs
+
+ src/tests/test-sms-part.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit af4f23a1d250b9e348ac2e7dcb874b2f5f3c4c3f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 08:21:27 2012 +0200
+
+ test: new tester for +CDS unsolicited messages
+
+ src/tests/test-modem-helpers.c | 46
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 8acaf7baa7b2bb585bdbdce556a4c37b3b7d2afe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 07:39:27 2012 +0200
+
+ broadband-modem: process not-stored SMS part indications
+
+ src/mm-broadband-modem.c | 42 ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.c | 12 ++++++++++++
+ src/mm-modem-helpers.h | 1 +
+ 3 files changed, 55 insertions(+)
+
+commit 7be32700fb474621db732f4eb1599a6951280b86
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 07:39:01 2012 +0200
+
+ broadband-modem: minor improvement when reading from match info
+
+ src/mm-broadband-modem.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit 7c9beae0136a4c3f030265f21b403ca0cf655484
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 07:10:30 2012 +0200
+
+ cli: print delivery report request information in SMS status
+
+ cli/mmcli-sms.c | 22 ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+commit bda572faa7cac778e133c0b385cdc35fbfa0b0d6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 07:06:57 2012 +0200
+
+ libmm-glib,sms: new `mm_sms_get_delivery_report_request()'
+
+ libmm-glib/mm-sms.c | 8 ++++++++
+ libmm-glib/mm-sms.h | 25 +++++++++++++------------
+ 2 files changed, 21 insertions(+), 12 deletions(-)
+
+commit 2508d01bdf13b0757947dcff7ea58488810a366e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 07:06:25 2012 +0200
+
+ libmm-glib,sms: fix values returned on error
+
+ libmm-glib/mm-sms.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 1c119be83492dac56f8d2ea5bd6b8717ccda1ae6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 20:13:00 2012 +0200
+
+ api: new `Sms.DeliveryReportRequest' property
+
+ Also allowing the 'delivery-report-request' key in the
+ `Messaging.CreateSms()'
+ method.
+
+ .../org.freedesktop.ModemManager1.Sms.xml | 7 ++
+ libmm-common/mm-sms-properties.c | 78
+ ++++++++++++++++++++--
+ libmm-common/mm-sms-properties.h | 51 +++++++-------
+ src/mm-sms-part.c | 17 ++++-
+ src/mm-sms-part.h | 4 ++
+ src/mm-sms.c | 4 ++
+ 6 files changed, 128 insertions(+), 33 deletions(-)
+
+commit b42b5795e33e052e7dacc4731af89fde44f56ff5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 19:01:50 2012 +0200
+
+ iface-modem-messaging: automatically detect the best default storage
+
+ Instead of letting the plugins specify a default storage to use,
+ just look at
+ the supported ones and use the best one.
+
+ "MT is preferred over "ME" or "SM", as "MT=ME+SM"
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 1 -
+ plugins/iridium/mm-broadband-modem-iridium.c | 2 -
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 2 -
+ plugins/novatel/mm-broadband-modem-novatel.c | 2 -
+ src/mm-broadband-modem.c | 2 +-
+ src/mm-iface-modem-messaging.c | 65
+ ++++++++++++++++--------
+ 6 files changed, 44 insertions(+), 30 deletions(-)
+
+commit 54178a7959c018341da48b86164a0cb6f74be1e1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 18:27:15 2012 +0200
+
+ cli: include default SMS storage info in `--messaging-status'
+
+ $> sudo mmcli -m 1 --messaging-status
+
+ /org/freedesktop/ModemManager1/Modem/1
+ ----------------------------
+ Messaging | supported storages: 'sm, mt, me, sr'
+ | default storage: 'me'
+
+ cli/mmcli-modem-messaging.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit fdb9db8d2858c7c53cad0666c539faefd990f6f7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 18:26:50 2012 +0200
+
+ libmm-glib: new `mm_modem_messaging_get_default_storage()' method
+
+ libmm-glib/mm-modem-messaging.c | 16 ++++++++++++++++
+ libmm-glib/mm-modem-messaging.h | 7 ++++---
+ 2 files changed, 20 insertions(+), 3 deletions(-)
+
+commit 4f7534452dc9eb96c5119052707987c41c7c091d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 18:21:16 2012 +0200
+
+ option,hso: properly parse returned IMEI
+
+ plugins/option/mm-broadband-modem-option.c | 44
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 44 insertions(+)
+
+commit 43650043eabf1e84c48842d5494668a30515639c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 18:12:08 2012 +0200
+
+ sms: select proper storage when sending SMS from storage
+
+ We need to select the correct 'mem2' storage before trying to send
+ from storage.
+
+ src/mm-sms.c | 46 +++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 41 insertions(+), 5 deletions(-)
+
+commit bddcc2fb07f96c9332b031a7b91bc5ba74b62149
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 18:03:29 2012 +0200
+
+ iface-modem-messaging: instead of mem1,mem2,mem3 use just a new
+ default storage
+
+ There is no point in specifying a default 'mem1' memory storage,
+ which is used
+ for reading/listing/deleting, as those are operations that need
+ a specific
+ 'mem1' set each time.
+
+ Also, there is no point in specifying separate default 'mem2' and
+ 'mem3' memory
+ storages, specially because now we allow Sms.Store() to specify
+ a storage.
+
+ So, we will now only have a 'default' memory storage, which is
+ applicable for
+ both 'mem2' and 'mem3' (storing, sending from storage and deleting).
+
+ ...g.freedesktop.ModemManager1.Modem.Messaging.xml | 8 ++
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
+ plugins/iridium/mm-broadband-modem-iridium.c | 5 +-
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 5 +-
+ plugins/novatel/mm-broadband-modem-novatel.c | 6 +-
+ src/mm-broadband-modem-qmi.c | 42 +++-------
+ src/mm-broadband-modem.c | 90
+ +++++++---------------
+ src/mm-iface-modem-messaging.c | 66 ++++++----------
+ src/mm-iface-modem-messaging.h | 28 +++----
+ src/mm-sms.c | 2 +-
+ 10 files changed, 90 insertions(+), 164 deletions(-)
+
+commit 584fc77bb361f8485c255bd5ce2bb9c6320efc21
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 16:25:29 2012 +0200
+
+ cli: include the `--messaging' prefix in all Messaging-related actions
+
+ Just for consistency with other interfaces, which also provide
+ interface
+ specific prefixes in their mmcli actions.
+
+ cli/mmcli-modem-messaging.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 47b459603a2605f574d8ea1a7b51d501754d67ac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 16:23:58 2012 +0200
+
+ cli: new `--messaging-status' action
+
+ Currently shows the list of supported SMS storages.
+
+ cli/mmcli-modem-messaging.c | 46
+ ++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 45 insertions(+), 1 deletion(-)
+
+commit c7e81d74708ca87d37d374cd8d2f67e9199a3c43
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 16:23:37 2012 +0200
+
+ libmm-glib: new `mm_modem_messaging_get_supported_storages()' method
+
+ libmm-glib/mm-modem-messaging.c | 24 ++++++++++++++++++++++++
+ libmm-glib/mm-modem-messaging.h | 4 ++++
+ 2 files changed, 28 insertions(+)
+
+commit 67081f02c88bc907561f6d9a9bd0e74cf9797189
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 16:23:05 2012 +0200
+
+ api: new `SupportedStorages' property in the Messaging interface
+
+ We will list which are the storages allowed to use when
+ receiving/storing SMS
+ messages.
+
+ ...g.freedesktop.ModemManager1.Modem.Messaging.xml | 9 +++++++
+ src/mm-iface-modem-messaging.c | 28
+ ++++++++++++++++++++++
+ 2 files changed, 37 insertions(+)
+
+commit b7e1c6d36dd10c6772582196117dc5d0ccefcb08
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 16:21:29 2012 +0200
+
+ libmm-common: new helpers to work with arrays of `MMSmsStorage' values
+
+ libmm-common/mm-common-helpers.c | 61
+ ++++++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 7 +++++
+ 2 files changed, 68 insertions(+)
+
+commit d75bfa2db9aeaa98140249770e919822af88ccaa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 15:35:05 2012 +0200
+
+ broadband-modem: allow locking/unlocking either 'mem1' or 'mem2'
+ or both
+
+ So that e.g. listing all SMS in a given storage ('mem1' lock)
+ doesn't collide
+ with storing a new SMS ('mem2' lock).
+
+ src/mm-broadband-modem.c | 83
+ +++++++++++++++++++++++++++++++++---------------
+ src/mm-broadband-modem.h | 4 ++-
+ src/mm-sms.c | 8 ++---
+ 3 files changed, 64 insertions(+), 31 deletions(-)
+
+commit e6f827ed3367ad9e3311f4d5c2dc1f501fb04748
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 14:51:33 2012 +0200
+
+ sms: select proper storage when deleting SMS
+
+ src/mm-sms.c | 38 ++++++++++++++++++++++++++++++++++----
+ 1 file changed, 34 insertions(+), 4 deletions(-)
+
+commit f0e873b26e036f3a6374ac3859987403cfc01d52
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 14:31:16 2012 +0200
+
+ cli: new `--store-in-storage' action to be able to select where to
+ store the SMS
+
+ Expects the storage as the enum nickname string, e.g:
+ "me" for MM_SMS_STORAGE_ME
+ or
+ "sm" for MM_SMS_STORAGE_SM
+
+ cli/mmcli-sms.c | 51
+ ++++++++++++++++++++++++++++++++++++++--
+ libmm-common/mm-common-helpers.c | 23 +++++++++++++++++-
+ libmm-common/mm-common-helpers.h | 2 ++
+ 3 files changed, 73 insertions(+), 3 deletions(-)
+
+commit 667026f0c829ba1be3d69726d7145b3ecd224dbd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 14:18:00 2012 +0200
+
+ api: Sms.Store() now requires the specific memory storage where to
+ store the SMS
+
+ ... or MM_SMS_STORAGE_UNKNOWN to store it in the default storage.
+
+ cli/mmcli-sms.c | 2 +
+ .../org.freedesktop.ModemManager1.Sms.xml | 9 +-
+ libmm-glib/mm-sms.c | 6 ++
+ libmm-glib/mm-sms.h | 2 +
+ src/mm-sms-qmi.c | 5 +-
+ src/mm-sms.c | 101
+ +++++++++++++++------
+ src/mm-sms.h | 1 +
+ 7 files changed, 96 insertions(+), 30 deletions(-)
+
+commit 96928909b9294b319374f1440832fbd7d934e0cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 14:07:31 2012 +0200
+
+ iface-modem-messaging: setting preferred storages is a one-time
+ operation
+
+ Selection specific storages to run actions on them can now be done
+ with the
+ broadband-modem-specific lock|unlock_sms_storages() methods.
+
+ src/mm-iface-modem-messaging.c | 129
+ ++++++++++++++---------------------------
+ src/mm-iface-modem-messaging.h | 11 ----
+ 2 files changed, 42 insertions(+), 98 deletions(-)
+
+commit 2481d97d525b5e6a9d91d893892c72fcc91f7217
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 13:58:54 2012 +0200
+
+ iface-modem-messaging: load initial SMS parts after having set
+ default storages
+
+ We really want the 'mem3' storage set as soon as possible.
+
+ src/mm-iface-modem-messaging.c | 56
+ +++++++++++++++++++++---------------------
+ 1 file changed, 28 insertions(+), 28 deletions(-)
+
+commit a5650ca091140def2070f0b631e398047313d5ba
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 13:53:22 2012 +0200
+
+ broadband-modem: lock/unlock the 'mem1' storage when reading initial
+ SMS lists
+
+ src/mm-broadband-modem.c | 42 +++++++++++++++++++++++-------------------
+ src/mm-broadband-modem.h | 2 +-
+ 2 files changed, 24 insertions(+), 20 deletions(-)
+
+commit 4f9817741ff6284c895a90ff15cab3ab056ac21b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 13:45:23 2012 +0200
+
+ broadband-modem: new methods to lock/unlock current SMS storages
+
+ The default AT commands to play with SMS rely on AT+CPMS to select
+ the default
+ memory storages for different operations. AT+CPMS defines 3 different
+ storages,
+ called 'mem1' (for reading/listing/deleting), 'mem2' (for storing
+ or sending
+ from storage) and 'mem3' (for receiving).
+
+ For example, when an SMS is to be deleted, we first need to select
+ with AT+CPMS
+ the proper 'mem1' storage before issuing the command to delete the
+ SMS part.
+ But, in order to do this properly we need to synchronize the access
+ to the
+ currently set storages, so that no more than one action is run in
+ the storages
+ at the same time (e.g. don't store an SMS while another SMS is
+ being deleted).
+ In order to synchronize this access, we now provide commands to
+ lock()/unlock()
+ the storages, which should be used when we want to do some operation
+ on them.
+
+ Note that this logic is only required because we cannot specify
+ the storage
+ explicitly in the specific AT command operations. With QMI we don't
+ need this
+ locking/unlocking.
+
+ src/mm-broadband-modem.c | 147
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-broadband-modem.h | 12 ++++
+ 2 files changed, 158 insertions(+), 1 deletion(-)
+
+commit 83dc9e3e1d32eb72ed60163a066c20d553f4c468
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 12:42:54 2012 +0200
+
+ iface-modem-messaging: new methods to check support for storage
+ actions
+
+ We can now check whether a specific storage is valid for receiving
+ or storing.
+
+ src/mm-iface-modem-messaging.c | 60
+ ++++++++++++++++++++++++++++++------------
+ src/mm-iface-modem-messaging.h | 8 ++++++
+ 2 files changed, 51 insertions(+), 17 deletions(-)
+
+commit bfa742ae13f36150e7b08fa0e9428a4a4f0f1d96
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 11:59:58 2012 +0200
+
+ broadband-modem-qmi: we don't support 3GPP2 messaging yet
+
+ src/mm-broadband-modem-qmi.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+commit e6a4c72ebc1e0f32722c58c03eaa19ee237cf6dc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 10 11:27:56 2012 +0200
+
+ sms-qmi: handle sending/storing multipart SMS messages
+
+ src/mm-sms-qmi.c | 251
+ ++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 135 insertions(+), 116 deletions(-)
+
+commit 3c814d74caeef9218bf678e21e56fa054ad67703
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 20:18:16 2012 +0200
+
+ sms-part: create proper SUBMIT PDUs for multipart SMS messages
+
+ If the SMS part is from a multipart message we'll need to create a
+ PDU with a
+ proper User Data Header.
+
+ This patch is based on a previous implementation by:
+ Roberto Majadas <roberto.majadas@openshine.com>
+
+ src/mm-sms-part.c | 122
+ +++++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 83 insertions(+), 39 deletions(-)
+
+commit 3332ec0c688ce302ba276f5aa0a31d62452cec8b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 18:01:25 2012 +0200
+
+ sms: try to store/send all parts of a SMS message
+
+ src/mm-sms.c | 213
+ ++++++++++++++++++++++++++++++++---------------------------
+ 1 file changed, 114 insertions(+), 99 deletions(-)
+
+commit b2b7fccdf58eda4f7d1f6585cb0749d1812103f7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 17:38:40 2012 +0200
+
+ sms: allow users to create multipart SMS messages
+
+ src/mm-sms.c | 63
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 61 insertions(+), 2 deletions(-)
+
+commit 0edb58b7381ef38e04a6b3b5e84828b3e5ffc74a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 17:37:55 2012 +0200
+
+ sms: always export incomplete multipart SMS messages
+
+ src/mm-sms-list.c | 7 -------
+ src/mm-sms.c | 8 ++++++++
+ 2 files changed, 8 insertions(+), 7 deletions(-)
+
+commit e7b094ea3c67209f305b3f8b9cb9eb8ed89d52b5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 17:00:03 2012 +0200
+
+ sms-part: new util to split input text string into chunks to fit
+ in PDUs
+
+ src/mm-sms-part.c | 107 ++++++++++++++++++++++++++++++++++++
+ src/mm-sms-part.h | 3 +
+ src/tests/test-sms-part.c | 137
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 247 insertions(+)
+
+commit 6b575cece08f026710d4421c11dfba8051036dc4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 14:33:27 2012 +0200
+
+ sms-part: allow storing and accessing the user encoding info of an
+ SMS part
+
+ src/mm-sms-part.c | 37 ++++++++++++++++++-------------------
+ src/mm-sms-part.h | 11 +++++++++++
+ 2 files changed, 29 insertions(+), 19 deletions(-)
+
+commit cb0ce9c6ca13fafb0c86182aa2924f296cfeb48b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 13:56:45 2012 +0200
+
+ sms: either 'text' or 'data' is mandatory
+
+ src/mm-sms.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit c2b246414cb7d4bbd6782b7879fa66a7d627177a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 13 14:57:55 2012 +0200
+
+ iface-modem-3gpp: update state to REGISTERED after loading operator
+ code/name
+
+ Call managers all want to be able to set the operator ID and/or name
+ as soon as
+ we get registered. We will consider now that whenever we get into
+ registered
+ state we already have operator code and name updated to the proper
+ values.
+
+ Applications shouldn't, though, just rely on those values to be
+ valid as long as
+ we're registered, as the modem may re-register automatically in
+ some other
+ network (e.g. going from a roaming network to the home network).
+
+ This change involves not setting the state to REGISTERED until
+ operator name
+ and code loading sequences have been run. We will still signal in
+ the log the
+ change, with a new 'registering' intermediate state indication.
+
+ src/mm-broadband-modem.c | 3 +-
+ src/mm-iface-modem-3gpp.c | 254
+ ++++++++++++++++++++++++++++++++--------------
+ src/mm-iface-modem-3gpp.h | 8 +-
+ 3 files changed, 189 insertions(+), 76 deletions(-)
+
+commit 40816e5c90b73fef238da525af91b69657ceb203
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 13 16:04:24 2012 +0200
+
+ broadband-modem-qmi: don't update access technology from operator info
+
+ The operator info seems to show what the operator can do; it doesn't
+ show the
+ current access technology.
+
+ src/mm-broadband-modem-qmi.c | 48
+ ++++++--------------------------------------
+ 1 file changed, 6 insertions(+), 42 deletions(-)
+
+commit 4b906f7996256bf16453bc05b4b5444f8a692411
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 13 15:17:36 2012 +0200
+
+ broadband-modem-qmi: update access technology along with signal
+ quality
+
+ src/mm-broadband-modem-qmi.c | 33 +++++++++++++++++++++++++++------
+ 1 file changed, 27 insertions(+), 6 deletions(-)
+
+commit 0080a0d023278bcb456b810cf29eba1901e2d381
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 13 14:57:16 2012 +0200
+
+ broadband-modem-qmi: handle SEARCHING registration state
+
+ src/mm-broadband-modem-qmi.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit 210af3241cd950e09d02451decb7a035993eba08
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 12 23:02:53 2012 -0500
+
+ core: fix a leak in "core: better handling of non-UCS2 conversions
+ that should be UCS2 (bgo #683817)"
+
+ src/mm-charsets.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit c524734d9fd897add850391e7db0a1060e2f6c37
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Sep 11 16:36:16 2012 -0500
+
+ core: better handling of non-UCS2 conversions that should be UCS2
+ (bgo #683817)
+
+ Some modems return the +COPS operator name in hex-encoded current
+ character set (as set with +CSCS). Others return the operator name
+ in ASCII when set to UCS2, while yet others return the ASCII name
+ with trash at the end (*cough* Huawei *cough*). Handle that better
+ by not crashing.
+
+ src/mm-charsets.c | 42 ++++++++++++++++++++++++++++++------------
+ src/mm-charsets.h | 3 +--
+ src/tests/test-charsets.c | 39 +++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 70 insertions(+), 14 deletions(-)
+
+commit 73ced242da75abf63a1b5be47ad95123a9e53a3f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 12 07:59:39 2012 +0200
+
+ api: remove `Completed' signal from the Messaging interface
+
+ This signal is no longer needed, as the individual state changes of
+ the SMS
+ objects are enough to know their correct status of completion.
+
+ See https://bugzilla.gnome.org/show_bug.cgi?id=675178
+
+ .../org.freedesktop.ModemManager1.Modem.Messaging.xml | 14
+ --------------
+ 1 file changed, 14 deletions(-)
+
+commit ea87a4556e4f4d09d0c4eaa6d85a7efc85431328
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 11 16:19:38 2012 +0200
+
+ sms: fix full data setting with `g_variant_new_from_data()'
+
+ The `g_variant_new_from_data()' method uses the original array
+ during its
+ operation, so we need to make sure it is valid as long as the
+ method needs
+ it, or we'll end up with Valgrind complaining a bit:
+
+ ==4834== Invalid read of size 1
+ ==4834== at 0x36ADC75DA5: g_variant_get_byte (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==4834== by 0x3161ABED8C: ??? (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x3161ABEEA2: ??? (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x3161ABE844: ??? (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x3161ABE91E: ??? (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x3161ABEEA2: ??? (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x3161AC232E: g_dbus_message_to_blob (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x3161AB750A: ??? (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x3161AB9FEF: g_dbus_connection_send_message (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x3161ABDB22: g_dbus_connection_emit_signal (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x4C5B8BD: _mm_gdbus_sms_emit_changed
+ (mm-gdbus-sms.c:2291)
+ ==4834== by 0x36ADC47694: g_main_context_dispatch (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==4834== Address 0x939efa0 is 0 bytes inside a block of size
+ 512 free'd
+ ==4834== at 0x4A079AE: free (vg_replace_malloc.c:427)
+ ==4834== by 0x36ADC4D37E: g_free (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==4834== by 0x36ADC1CF40: ??? (in
+ /usr/lib64/libglib-2.0.so.0.3200.4)
+ ==4834== by 0x43C88E: assemble_sms (mm-sms.c:1260)
+ ==4834== by 0x43CAD6: mm_sms_multipart_take_part (mm-sms.c:1329)
+ ==4834== by 0x43E2EF: take_multipart (mm-sms-list.c:268)
+ ==4834== by 0x43E546: mm_sms_list_take_part (mm-sms-list.c:328)
+ ==4834== by 0x454C8F: mm_iface_modem_messaging_take_part
+ (mm-iface-modem-messaging.c:353)
+ ==4834== by 0x461DF6: sms_pdu_part_list_ready
+ (mm-broadband-modem.c:5007)
+ ==4834== by 0x3161A6CFB6: g_simple_async_result_complete (in
+ /usr/lib64/libgio-2.0.so.0.3200.4)
+ ==4834== by 0x432F82: at_command_parse_response
+ (mm-base-modem-at.c:490)
+ ==4834== by 0x489F96: handle_response (mm-at-serial-port.c:161)
+
+ src/mm-sms.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 36c7136510d40313c2dcbcb847d9092d0f56148a
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Sep 10 22:22:17 2012 -0700
+
+ novatel-lte: implement modem reset
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 26
+ ++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+commit 776d755d7704773b8ca92a7e87774ba0c8217302
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Sep 8 20:18:21 2012 -0700
+
+ iface-modem-3gpp-ussd: avoid update if object skeleton is NULL
+
+ src/mm-iface-modem-3gpp-ussd.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 8213a09a3412a3eb47666c6ccc6a56a75adbb668
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 5 16:11:51 2012 -0500
+
+ broadband-modem-qmi: set network port to 802.3/no-QoS mode
+
+ The kernel drivers expect this mode, so make sure we set it.
+
+ src/mm-bearer-qmi.c | 1 +
+ src/mm-broadband-modem-qmi.c | 1 +
+ src/mm-port-probe.c | 1 +
+ src/mm-qmi-port.c | 9 ++++++++-
+ src/mm-qmi-port.h | 1 +
+ 5 files changed, 12 insertions(+), 1 deletion(-)
+
+commit 5f1a1cf834d06a6ed430f835b8d694c4dd44ac95
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 7 14:15:12 2012 -0700
+
+ icera: increase timeout for +CFUN=4
+
+ plugins/icera/mm-broadband-modem-icera.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 1252572607094cc0036dd656e6d596510ce49f39
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Sep 7 13:39:39 2012 -0700
+
+ novatel-lte: set default SMS storage to 'SM'
+
+ Novatel E362 LTE modem only supports 'SM' and 'SR', but not 'ME'.
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 2ca6d6285696d09d7a0f8bad3a551e6af0dd9be1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 13:13:14 2012 +0200
+
+ broadband-modem: clear error properly as it may be re-used
+
+ Avoids this kind of issues:
+
+ [mm-sms-list.c:334] mm_sms_list_take_part(): SMS part at 'me/0'
+ is from a singlepart SMS
+ [mm-iface-modem-messaging.c:475] sms_added(): Added received SMS at
+ '/org/freedesktop/ModemManager1/SMS/31'
+ [mm-broadband-modem.c:4791] sms_pdu_part_list_ready(): Error parsing
+ PDU (1): PDU too short (2): 41 < 79
+
+ GLib-WARNING **: GError set over the top of a previous GError or
+ uninitialized memory.
+ This indicates a bug in someone's code. You must ensure an error is
+ NULL before it's set.
+ The overwriting error message was: PDU too short (3): 28 < (210 +
+ 14), user data length: '203'
+
+ [mm-broadband-modem.c:4791] sms_pdu_part_list_ready(): Error parsing
+ PDU (2): PDU too short (3): 28 < (210 + 14), user data length: '203'
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a973825eac2b741282c3e09410362ed96f4d6c28
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 12:20:14 2012 +0200
+
+ sms: multipart sequence starts with 1; singlepart is always 0
+
+ src/mm-sms-list.c | 6 ++++--
+ src/mm-sms.c | 48 ++++++++++++++++++++++++++++++++++++------------
+ 2 files changed, 40 insertions(+), 14 deletions(-)
+
+commit f2cc69bc7f729efc2400cb01681b54a9fa148858
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 11:19:46 2012 +0200
+
+ cli: include both current and modem capabilities in modem report
+
+ cli/mmcli-modem.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit 997848ef4f6417bbd10696447e6754b7b69d8ee2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 11:19:26 2012 +0200
+
+ broadband-modem-qmi: try to use Band Preference for current caps
+ if available
+
+ The "NAS Get System Selection Preference" response may come without
+ "Mode
+ Preference". If that is found, look for "Band Preference" and
+ "LTE Band
+ Preference" TLVs and try to build capabilities from those.
+
+ This makes my UML290 properly report CDMA/EVDO+LTE capabilities:
+
+ ModemManager[16586]: [/dev/cdc-wdm0] Received message...
+ >>>>>> QMUX:
+ >>>>>> length = 55
+ >>>>>> flags = 0x80
+ >>>>>> service = "nas"
+ >>>>>> client = 1
+ >>>>>> QMI:
+ >>>>>> flags = "response"
+ >>>>>> transaction = 1
+ >>>>>> tlv_length = 43
+ >>>>>> message = "Get System Selection Preference" (0x0034)
+ >>>>>> TLV:
+ >>>>>> type = "Result" (0x02)
+ >>>>>> length = 4
+ >>>>>> value = 00:00:00:00
+ >>>>>> translated = SUCCESS
+ >>>>>> TLV:
+ >>>>>> type = "Emergency mode" (0x10)
+ >>>>>> length = 1
+ >>>>>> value = 00
+ >>>>>> translated = 0
+ >>>>>> TLV:
+ >>>>>> type = "Band Preference" (0x12)
+ >>>>>> length = 8
+ >>>>>> value = 07:00:00:00:00:00:00:00
+ >>>>>> translated = 7
+ >>>>>> TLV:
+ >>>>>> type = "CDMA PRL Preference" (0x13)
+ >>>>>> length = 2
+ >>>>>> value = FF:3F
+ >>>>>> translated = 16383
+ >>>>>> TLV:
+ >>>>>> type = "Roaming Preference" (0x14)
+ >>>>>> length = 2
+ >>>>>> value = FF:00
+ >>>>>> translated = 255
+ >>>>>> TLV:
+ >>>>>> type = "LTE Band Preference" (0x15)
+ >>>>>> length = 8
+ >>>>>> value = 00:00:00:00:00:00:00:00
+ >>>>>> translated = 0
+ ModemManager[16586]: KEY: 01:00:01:03:00:00:00:00
+ ModemManager[16586]: Service: 03
+ ModemManager[16586]: Client ID: 01
+ ModemManager[16586]: Transaction ID: 01:00
+ ModemManager[16586]: <debug>
+ [1347005734.979115] [mm-broadband-modem-qmi.c:321]
+ load_current_capabilities_get_system_selection_preference_ready():
+ Mode preference not reported in system selection preference
+ ModemManager[16586]: <debug>
+ [1347005734.979131] [mm-broadband-modem-qmi.c:333]
+ load_current_capabilities_get_system_selection_preference_ready():
+ Valid bands reported in system selection preference: 'bc-0-a-system,
+ bc-0-b-system, bc-1-all-blocks'
+ ModemManager[16586]: <debug>
+ [1347005734.979141] [mm-broadband-modem-qmi.c:341]
+ load_current_capabilities_get_system_selection_preference_ready():
+ LTE band preference found
+ ModemManager[16586]: [/dev/cdc-wdm0] Sending message...
+ <<<<<< QMUX:
+ <<<<<< length = 12
+ <<<<<< flags = 0x00
+ <<<<<< service = "dms"
+ <<<<<< client = 1
+ <<<<<< QMI:
+ <<<<<< flags = "none"
+ <<<<<< transaction = 1
+ <<<<<< tlv_length = 0
+ <<<<<< message = "Get Capabilities" (0x0020)
+ ModemManager[16586]: KEY: 01:00:01:02:00:00:00:00
+ ModemManager[16586]: Service: 02
+ ModemManager[16586]: Client ID: 01
+ ModemManager[16586]: Transaction ID: 01:00
+ ModemManager[16586]: <debug> [1347005734.982676]
+ [mm-at-serial-port.c:392] debug_log(): (ttyACM0): <--
+ '<CR><LF>OK<CR><LF>'
+ ModemManager[16586]: <debug> [1347005734.982751]
+ [mm-serial-port.c:969] mm_serial_port_close(): (ttyACM0) device open
+ count is 2 (close)
+ ModemManager[16586]: <debug> [1347005734.982797]
+ [mm-at-serial-port.c:392] debug_log(): (ttyACM0): --> 'AT+CMEE=1<CR>'
+ ModemManager[16586]: [/dev/cdc-wdm0] Received message...
+ >>>>>> QMUX:
+ >>>>>> length = 38
+ >>>>>> flags = 0x80
+ >>>>>> service = "dms"
+ >>>>>> client = 1
+ >>>>>> QMI:
+ >>>>>> flags = "response"
+ >>>>>> transaction = 1
+ >>>>>> tlv_length = 26
+ >>>>>> message = "Get Capabilities" (0x0020)
+ >>>>>> TLV:
+ >>>>>> type = "Result" (0x02)
+ >>>>>> length = 4
+ >>>>>> value = 00:00:00:00
+ >>>>>> translated = SUCCESS
+ >>>>>> TLV:
+ >>>>>> type = "Info" (0x01)
+ >>>>>> length = 16
+ >>>>>> value = B0:9D:57:00:00:DD:6D:00:03:02:05:01:02:04:05:08
+ >>>>>> translated = [ max_tx_channel_rate = '5742000'
+ max_rx_channel_rate = '7200000' data_service_capability = '3'
+ sim_capability = '2' radio_interface_list = '{ [0] = '1 ' [1] = '2 '
+ [2] = '4 ' [3] = '5 ' [4] = '8 '}' ]
+ ModemManager[16586]: KEY: 01:00:01:02:00:00:00:00
+ ModemManager[16586]: Service: 02
+ ModemManager[16586]: Client ID: 01
+ ModemManager[16586]: Transaction ID: 01:00
+ ModemManager[16586]: <debug>
+ [1347005734.983353] [mm-broadband-modem-qmi.c:183]
+ modem_load_current_capabilities_finish(): loaded current capabilities:
+ cdma-evdo, lte
+
+ src/mm-broadband-modem-qmi.c | 26 ++++++++++++++++++++
+ src/mm-modem-helpers-qmi.c | 58
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-qmi.h | 2 ++
+ 3 files changed, 86 insertions(+)
+
+commit c2952e0adc3534bfb28ad57f30e9690b236c49a9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 7 09:50:49 2012 +0200
+
+ broadband-modem-qmi: don't always trust the current capabilities
+ reported by SSP
+
+ Sometimes the 'Mode Preference' TLV in the SSP response will have
+ incorrect
+ values. The following log is for a Gobi3k modem which is *only*
+ GMS/UMTS.
+
+ ModemManager[13415]: [/dev/cdc-wdm0] Received message...
+ >>>>>> QMUX:
+ >>>>>> length = 44
+ >>>>>> flags = 0x80
+ >>>>>> service = "nas"
+ >>>>>> client = 2
+ >>>>>> QMI:
+ >>>>>> flags = "response"
+ >>>>>> transaction = 1
+ >>>>>> tlv_length = 32
+ >>>>>> message = "Get System Selection Preference" (0x0034)
+ >>>>>> TLV:
+ >>>>>> type = "Result" (0x02)
+ >>>>>> length = 4
+ >>>>>> value = 00:00:00:00
+ >>>>>> translated = SUCCESS
+ >>>>>> TLV:
+ >>>>>> type = "Emergency mode" (0x10)
+ >>>>>> length = 1
+ >>>>>> value = 00
+ >>>>>> translated = 0
+ >>>>>> TLV:
+ >>>>>> type = "Mode Preference" (0x11)
+ >>>>>> length = 2
+ >>>>>> value = 0F:00
+ >>>>>> translated = 15
+ >>>>>> TLV:
+ >>>>>> type = "Band Preference" (0x12)
+ >>>>>> length = 8
+ >>>>>> value = FF:FF:FF:3F:FF:FF:FF:FF
+ >>>>>> translated = 18446744070488326143
+ >>>>>> TLV:
+ >>>>>> type = "Roaming Preference" (0x14)
+ >>>>>> length = 2
+ >>>>>> value = FF:00
+ >>>>>> translated = 255
+
+ Instead of setting to '1' only the bits related to GSM/UMTS in the
+ "Mode
+ Preference" TLV, the modem sets all the bits it knows of to '1',
+ including the
+ CDMA/EVDO ones. It is not easy to detect this properly, because the
+ modem didn't
+ set to '1' the bits it didn't know of (e.g. LTE or TD-SCDMA), so
+ we *cannot*
+ assume that 0x000F actually means 'unknown'.
+
+ So, we now will pass these returned values through the "DMS Get
+ Capabilities"
+ filter, as we did for the Technology Preference result. The final
+ reported
+ current capabilities will be either:
+ * The intersection between the capabilities loaded by "NAS Get
+ System Selection
+ Preference" and "DMS Get Capabilities" or,
+ * The intersection between the capabilities loaded by "NAS Get
+ Technology
+ Preference" and "DMS Get Capabilities".
+
+ For 'modem' (not 'current') capabilities, we still rely only on
+ "DMS Get
+ Capabilities".
+
+ src/mm-broadband-modem-qmi.c | 70
+ ++++++++++++++++++++------------------------
+ 1 file changed, 32 insertions(+), 38 deletions(-)
+
+commit ebc7b3dc70dd15b5f0d2bf0bb4ca03c34fae3a02
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 19:22:23 2012 +0200
+
+ sms-qmi: implement SMS part deleting
+
+ src/mm-sms-qmi.c | 140
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 140 insertions(+)
+
+commit a8ec884931286b8f5aca36adb44ced316492dcb6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 18:44:36 2012 +0200
+
+ sms-qmi: implement singlepart SMS sending
+
+ src/mm-sms-qmi.c | 252
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 252 insertions(+)
+
+commit d3b632c7a83a08e6d8dbab4e596fb5ee5af13855
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 16:39:53 2012 +0200
+
+ sms-qmi: implement singlepart SMS storage
+
+ src/mm-sms-qmi.c | 193
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 193 insertions(+)
+
+commit bdf4df2b6b9dd795f12f457f6ce101fee9679c64
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 16:04:25 2012 +0200
+
+ sms-qmi: new `MMSmsQmi' object
+
+ src/Makefile.am | 2 ++
+ src/mm-broadband-modem-qmi.c | 11 ++++++++++
+ src/mm-sms-qmi.c | 50
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-qmi.h | 50
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 113 insertions(+)
+
+commit 912eea79ef8510d2df15f3732c2abdcb0ab3e21f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 14:11:04 2012 +0200
+
+ broadband-modem-qmi: implement unsolicited messaging events
+ setup/cleanup
+
+ src/mm-broadband-modem-qmi.c | 288
+ ++++++++++++++++++++++++++++++++++++-------
+ src/mm-modem-helpers-qmi.c | 13 ++
+ src/mm-modem-helpers-qmi.h | 1 +
+ 3 files changed, 259 insertions(+), 43 deletions(-)
+
+commit 3db1094e411d52a6946adbbb78023719e674c796
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 13:40:47 2012 +0200
+
+ broadband-modem-qmi: implement unsolicited messaging events
+ enabling/disabling
+
+ src/mm-broadband-modem-qmi.c | 135
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 135 insertions(+)
+
+commit 249ec8955cd4ed5483539a968660a0d7a1cb3c7d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 13:26:56 2012 +0200
+
+ broadband-modem-qmi: minor indentation fix
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0fb980a28a689bb5bacc800982ddffe28339d29d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 12:13:05 2012 +0200
+
+ broadband-modem-qmi: load initial SMS parts using QMI
+
+ src/mm-broadband-modem-qmi.c | 232
+ +++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-qmi.c | 18 ++++
+ src/mm-modem-helpers-qmi.h | 2 +
+ 3 files changed, 252 insertions(+)
+
+commit 454b0e1c33cf067b24609aba2f252128a4b76971
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 4 13:39:19 2012 +0200
+
+ broadband-modem-qmi: implement default storage setting using QMI
+
+ src/mm-broadband-modem-qmi.c | 104
+ +++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-qmi.c | 15 +++++++
+ src/mm-modem-helpers-qmi.h | 5 +++
+ 3 files changed, 124 insertions(+)
+
+commit 26596b1615463a0c270b1b97136377a24d949627
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 4 09:49:10 2012 +0200
+
+ broadband-modem-qmi: no need to setup SMS format, always in PDU mode
+
+ src/mm-broadband-modem-qmi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 88942a5f1baca9b25b553adfda38beec45132107
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 4 09:42:14 2012 +0200
+
+ broadband-modem-qmi: QMI enabled modems have SM and ME messaging
+ storages
+
+ src/mm-broadband-modem-qmi.c | 39 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit 9235a24c11cfab7fc890fd9c65dd3db112046f98
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 4 09:41:36 2012 +0200
+
+ broadband-modem-qmi: if WMS service is available Messaging is
+ supported
+
+ src/mm-broadband-modem-qmi.c | 46
+ ++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 42 insertions(+), 4 deletions(-)
+
+commit 018d9b458f1c5456cf131659548c3dec09965aad
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 19:14:07 2012 +0200
+
+ sms: set state back to UNKNOWN when all SMS parts were deleted
+
+ src/mm-sms.c | 20 +++++++++++++-------
+ 1 file changed, 13 insertions(+), 7 deletions(-)
+
+commit c9a80609d49ccf0c52f175b7d2a7a96b9756cd2a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 18:25:38 2012 +0200
+
+ sms: transition from Unknown|Stored to Sent when the SMS is sent
+
+ src/mm-sms.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit a5266406ba3a28397a4c31b5b127aada9c2ec8eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 17:50:04 2012 +0200
+
+ sms: use property accessors from parent MmGdbusSms when it simplifies
+ things
+
+ src/mm-sms.c | 38 ++++++++++----------------------------
+ 1 file changed, 10 insertions(+), 28 deletions(-)
+
+commit 8fd02318ec5aee2b44924d1e49d991e5a5dbf3a5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 17:45:12 2012 +0200
+
+ sms: transition from Unknown to Stored in user-created SMS objects
+
+ src/mm-sms.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit b03985a019181511c5147e9ec54790a87e004e66
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 17:33:45 2012 +0200
+
+ sms: user-created SMS objects will have either 'text' or 'data'
+
+ .../org.freedesktop.ModemManager1.Modem.Messaging.xml | 3 ++-
+ src/mm-sms.c | 14
+ ++++++++++----
+ 2 files changed, 12 insertions(+), 5 deletions(-)
+
+commit 39e819788d9d6751a1b90be4dc1b400b7e6cbcc4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 17:33:03 2012 +0200
+
+ libmm-common,sms-properties: handle the 'data' property for SMS
+
+ libmm-common/mm-sms-properties.c | 92
+ +++++++++++++++++++++++++++++++++++++++-
+ libmm-common/mm-sms-properties.h | 39 ++++++++++-------
+ 2 files changed, 115 insertions(+), 16 deletions(-)
+
+commit 163e16754388f74d2bac28e28573de37e837f9ed
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 17:32:33 2012 +0200
+
+ sms-part: beware of NULL input data
+
+ src/mm-sms-part.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 98f588867caf95b174eb3bcf09af7f43c1bdb791
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 16:38:57 2012 +0200
+
+ sms: allow getting list of parts
+
+ src/mm-sms.c | 6 ++++++
+ src/mm-sms.h | 1 +
+ 2 files changed, 7 insertions(+)
+
+commit a90d149ce476010747a32398df8b556ec597afb1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 15:58:48 2012 +0200
+
+ sms: SMS objects need to be create by `create_modem()' in the
+ Messaging iface
+
+ So that plugins can subclass the generic SMS object.
+
+ src/mm-broadband-modem.c | 11 ++++++++++-
+ src/mm-iface-modem-messaging.c | 10 ++++++++++
+ src/mm-iface-modem-messaging.h | 5 ++++-
+ src/mm-sms.c | 10 ++++++++--
+ 4 files changed, 32 insertions(+), 4 deletions(-)
+
+commit 11740e9075fd43009929c57b86d78d82c34aed78
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 4 09:47:32 2012 +0200
+
+ iface-modem-messaging: plug memleak
+
+ src/mm-iface-modem-messaging.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit db457fdb468b614c5cdc314d3f08b9b20f64f84e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 13:13:07 2012 +0200
+
+ sms: fix setting full text in object
+
+ src/mm-sms.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 28c22ce8dbec9e48b836e8dd4cd983c97914d02c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 13:13:18 2012 +0200
+
+ sms-list: add helper debug logs
+
+ src/mm-sms-list.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit 32c41f62e51ece885190910e258b35f1c4f36ee4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 13:04:42 2012 +0200
+
+ sms-part: add helper debug logs
+
+ src/mm-sms-part.c | 9 +++++++--
+ src/tests/test-sms-part.c | 11 +++++++++++
+ 2 files changed, 18 insertions(+), 2 deletions(-)
+
+commit 176498239f9024c5954edb06c20da0fc457cc1b6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Sep 6 12:47:15 2012 +0200
+
+ sms-part: new `mm_sms_part_new_from_binary_pdu()' method
+
+ src/mm-sms-part.c | 35 ++++++++++++++++++++++-------------
+ src/mm-sms-part.h | 4 ++++
+ 2 files changed, 26 insertions(+), 13 deletions(-)
+
+commit 4c2951692cffd44d0b8b3ebfe91c2943d77f92d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 5 18:31:51 2012 -0700
+
+ bearer: set signal handlers only after setting 'config' and 'modem'
+ properties
+
+ Modem plugins may set the 'modem' property before the 'config'
+ property when
+ creating a bearer. set_signal_handlers() should thus be called
+ after both
+ properties are set such that
+ modem_{3gpp,cdma}_registration_state_changed
+ checks roaming allowance correctly when launching a connection.
+
+ Based on a draft patch by:
+ Ben Chan <benchan@chromium.org>
+
+ src/mm-bearer.c | 25 ++++++++++++++++++++-----
+ 1 file changed, 20 insertions(+), 5 deletions(-)
+
+commit e3152772e5a3219748fe3ac19a4dd3f5a3dab098
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 5 17:21:53 2012 -0700
+
+ icera: properly specify MM_BROADBAND_BEARER_ICERA_DEFAULT_IP_METHOD
+ property
+
+ plugins/icera/mm-broadband-bearer-icera.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 143674ea3ed47062fa382a5c3a411b5e811583d4
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Sep 5 23:26:23 2012 -0700
+
+ sms: use g_variant_new_from_data instead of g_variant_new_fixed_array
+
+ ModemManager configure script currenty requires glib 2.30.2 or later,
+ bud g_variant_new_fixed_array requires at least glib 2.32. To maintain
+ the compatibility with glib 2.30, this patch modifies the code to use
+ g_variant_new_from_data instead of g_variant_new_fixed_array.
+
+ src/mm-sms.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 02b71336ae98775c1a613b5a4133515ea7b06c4a
+Author: Marius B. Kotsbak <marius@kotsbak.com>
+Date: Thu Sep 6 08:36:34 2012 +0200
+
+ zte: extend allowed modes for LTE/4G devices for +ZSNT command
+
+ Updates:
+ AT+ZSNT=6 means LTE only
+ AT+ZSNT to specify 2G and 3G doesn't support 2G or 3G preference
+ in LTE modems
+
+ Tested with a ZTE MF 820D.
+
+ plugins/zte/mm-broadband-modem-zte.c | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+commit 4804c376049ad5746eb054ab5ed08bc4d8f9fedf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Sep 5 19:51:18 2012 +0200
+
+ build: new `--without-qmi' configure option
+
+ For those who don't care about the QMI support through libqmi-glib,
+ or if you're
+ stuck with glib 2.30 (libqmi-glib requires 2.32), this configure
+ switch allows
+ disabling the QMI support completely.
+
+ The logic to detect cdc-wdm ports is still in place, but the QMI
+ probing is
+ never launched at them. Also, all QMI-related objects won't be
+ compiled.
+
+ configure.ac | 23 +++++++++++++++--
+ plugins/Makefile.am | 4 +++
+ plugins/generic/mm-plugin-generic.c | 7 +++++-
+ plugins/gobi/mm-plugin-gobi.c | 7 +++++-
+ plugins/huawei/mm-plugin-huawei.c | 7 +++++-
+ plugins/pantech/mm-plugin-pantech.c | 5 ++++
+ plugins/sierra/mm-plugin-sierra.c | 7 +++++-
+ src/Makefile.am | 49
+ ++++++++++++++++++++++++-------------
+ src/mm-base-modem.c | 33 ++++++++++++++++++++++++-
+ src/mm-base-modem.h | 9 +++++++
+ src/mm-port-probe.c | 25 ++++++++++++++++++-
+ src/mm-port-probe.h | 2 ++
+ src/mm-port.h | 2 +-
+ src/tests/Makefile.am | 26 ++++++++++++++++++++
+ 14 files changed, 180 insertions(+), 26 deletions(-)
+
+commit bf1da3faea4605a9a1305993b04e9db425561b1d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Sep 4 11:34:00 2012 +0200
+
+ iface-modem-simple: never remove connected bearers
+
+ Modems have a maximum of bearers allowed to be connected at a time,
+ number which
+ is given by the number of available ports that may be used for
+ data connections.
+
+ When Simple.Connect() tries to launch a connection, it will try to
+ find first an
+ existing bearer with the required parameters (e.g. APN, IP type). If
+ such bearer
+ is found, it will just use it. If no such bearer is found, it will
+ try to create
+ one. When trying to create one, if there is no more room for bearers
+ in the
+ modem, we will remove the first disconnected bearer that we find,
+ if any, before
+ trying to create the new one. This logic now makes sure that no
+ connected bearer
+ gets removed in order to create a new one, and also that only one
+ existing gets
+ removed if possible (not every bearer as we did previously).
+
+ Further logic to connect multiple bearers at a time cannot be done
+ using the
+ Simple interface.
+
+ src/mm-iface-modem-simple.c | 59
+ ++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 55 insertions(+), 4 deletions(-)
+
+commit 72db2a53ed114a6b46515130a6ed8238eba35bfe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 3 17:20:29 2012 +0200
+
+ plugin: defer task if supports check tells us to retry
+
+ Huawei modems will probe interface 0 always first; if we try to
+ probe another
+ interface meanwhile the supports check will give us a
+ MM_CORE_ERROR_RETRY error,
+ indicating that we need to defer the probing of the port.
+
+ src/mm-plugin.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit 9c2a6320a82aa301b2415227741a8bff5a33ea1b
+Author: Marius B. Kotsbak <marius@kotsbak.com>
+Date: Mon Sep 3 18:26:59 2012 +0200
+
+ sierra: add support for new !SELRAT values in newer Sierra LTE modems
+
+ AT!SELRAT=?
+ !SELRAT: Index, Name
+ 00, Automatic
+ 01, UMTS 3G Only
+ 02, GSM 2G Only
+ 03, Automatic
+ 04, Automatic
+ 05, GSM and UMTS Only
+ 06, LTE Only
+ 07, GSM, UMTS, LTE
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 45
+ ++++++++++++++++++++++++++----
+ 1 file changed, 39 insertions(+), 6 deletions(-)
+
+commit d99169022eefe658e405051ef58c1af6c653faee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Sep 3 09:43:52 2012 +0200
+
+ iface-modem: don't try to use the bearer list if there is none
+
+ When the modem gets unplugged, or system gone into suspend, we start
+ losing the
+ modem ports one by one. When the last is lost, we trigger the disposal
+ of the
+ modem (we call g_object_run_dispose() and then we call the
+ main-reference
+ unref()). So, if we end up losing all ports while the connection
+ sequence was
+ being run, we would end up in this situation, where we try to
+ disconnect the
+ bearers (the bearer and modem objects are still valid, as we have
+ references
+ around, but the list of bearers won't be available any more in the
+ modem object
+ as it was cleared in the modem dispose().
+
+ Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )
+
+ 0x7f5cdbd5cda0 [ModemManager] -
+ mm-bearer-list.c:163] mm_bearer_list_foreach
+ 0x7f5cdbd6a4bd [ModemManager] -
+ mm-iface-modem.c:110] bearer_status_changed
+ 0x7f5cdbad0903 [libgobject-2.0.so.0.3000.2] - gclosure.c:774]
+ g_closure_invoke
+ 0x7f5cdbae1dbb [libgobject-2.0.so.0.3000.2] - gsignal.c:3272]
+ signal_emit_unlocked_R
+ 0x7f5cdbaeac82 [libgobject-2.0.so.0.3000.2] - gsignal.c:3003]
+ g_signal_emit_valist
+ 0x7f5cdbaeae5e [libgobject-2.0.so.0.3000.2] - gsignal.c:3060]
+ g_signal_emit
+ 0x7f5cdbad3876 [libgobject-2.0.so.0.3000.2] - gobject.c:925]
+ g_object_dispatch_properties_changed
+ 0x7f5cdbad5ceb [libgobject-2.0.so.0.3000.2] -
+ gobjectnotifyqueue.c:132] g_object_notify_by_pspec
+ 0x7f5cdbd56b08 [ModemManager] - mm-bearer.c:112]
+ bearer_update_status
+ 0x7f5cdbd56ffd [ModemManager] - mm-bearer.c:393]
+ disconnect_ready
+ 0x7f5cdbbcc676 [libgio-2.0.so.0.3000.2] -
+ gsimpleasyncresult.c:749] g_simple_async_result_complete
+ 0x7f5cdbbcc788 [libgio-2.0.so.0.3000.2] -
+ gsimpleasyncresult.c:761] complete_in_idle_cb
+ 0x7f5cdb7cff44 [libglib-2.0.so.0.3000.2] - gmain.c:2441]
+ g_main_context_dispatch
+ 0x7f5cdb7d0597 [libglib-2.0.so.0.3000.2] - gmain.c:3089]
+ g_main_context_iterate
+ 0x7f5cdb7d0b51 [libglib-2.0.so.0.3000.2] - gmain.c:3297]
+ g_main_loop_run
+ 0x7f5cdbd4e331 [ModemManager] - main.c:150]
+ main
+ 0x7f5cdb1ea41c [libc-2.15.so] - libc-start.c:234]
+ __libc_start_main
+ 0x7f5cdbd4de48 [ModemManager] + 0x00019e48]
+
+ Reported by Ben Chan <benchan@google.com>
+
+ src/mm-iface-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f146c3a3dcc43688e7e8d3eb6b7752567cf2dfc4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Sep 2 16:34:39 2012 +0200
+
+ broadband-modem: avoid segfault when initialization sequence is
+ aborted
+
+ The ports context is only set if the initialization sequence succeeds;
+ so don't
+ try to clear the ports context if it wasn't set.
+
+ src/mm-broadband-modem.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 80fa4cb31216c9448334ac2efe83a488c3c97e35
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Sep 2 16:20:12 2012 +0200
+
+ sierra: use generic current capabilities loading
+
+ The generic current capabilities loading already has the required
+ extra
+ AT+WS46=? query to see if LTE capabilities are available.
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 133
+ -----------------------------
+ 1 file changed, 133 deletions(-)
+
+commit 22d70792dcea230e9224d56dc89d41d6b37532f7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Sep 2 16:11:26 2012 +0200
+
+ broadband-modem: run an extra AT+WS46=? when querying current
+ capabilities
+
+ Some modems (e.g. Sierra Wireless MC7710 or ZTE MF820D) won't
+ report LTE
+ capabilities even if they have them. So just run AT+WS46=? as well
+ to see
+ if the current supported modes list includes any LTE-specific mode.
+
+ This is not a big deal, as the AT+WS46=? command is a test command
+ with a
+ cache-able result, so the next time we need the command result
+ (when loading
+ supported modes) the value will be loaded from the cache.
+
+ src/mm-broadband-modem.c | 139
+ +++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 117 insertions(+), 22 deletions(-)
+
+commit 5eab715bb6a9c3f6aacdb77bcf036d25caed72c6
+Author: Marius B. Kotsbak <marius@kotsbak.com>
+Date: Sat Sep 1 02:04:19 2012 +0200
+
+ modem-helpers: recognize "4G" as LTE access technology
+
+ Some modems (e.g. ZTE MF 820D) report LTE access technology as "4G":
+ +ZPAS: "4G","PS_ONLY"
+
+ src/mm-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6f2c440b7be4e843c1eb193eb04f111924a89dfd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Aug 31 12:30:13 2012 -0500
+
+ broadband-modem-qmi: fix handling of current and overall modem
+ capabilities
+
+ Current capabilities is the set of *active* radios that can be used
+ right now. Modem capabilities are the set of all radios the modem
+ could use, if some action were performed to enable them if they are
+ not enabled already (firmware reload, changing allowed mode, etc).
+
+ For QMI devices, the DMS Get Capabilities command represents all
+ radios, and thus "modem capabilities".
+
+ But to read *current* capabilities, ie active radios, we need to
+ query the NAS System Selection Preference and grab the "mode
+ preference" TLV. Unfortunately that is only available with NAS
+ >= 1.1, which means older Gobi devices (1K and 2K) don't support
+ it. So for older devices, we try to get the Technology Preference
+ (which takes into account user-requested limitations) and then
+ mask that with the DMS Get Capabilities result for a best-effort
+ current capabilities.
+
+ For example, the Pantech UML290VW reports DMS Get Capabilities
+ of "cdma, evdo, gsm, umts, lte", but a more limited SSP mode
+ preference according to what modes are actually enabled. Gobi
+ 1K devices don't support SSP, and the DMS Get Capabilities
+ reports cdma/evdo or gsm/umts depending on the currently loaded
+ firmware. Previous to this patch, ModemManager reported all
+ modes as available on the UML290, ignoring what modes were
+ actually enabled.
+
+ src/mm-broadband-modem-qmi.c | 310
+ ++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-helpers-qmi.c | 57 ++++++++
+ src/mm-modem-helpers-qmi.h | 4 +
+ 3 files changed, 364 insertions(+), 7 deletions(-)
+
+commit 04ce8b567cca9f3ab125f59af3bd8bfed554adce
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 16:52:59 2012 +0200
+
+ broadband-modem-qmi: use System Selection Preference when available
+
+ Get/Set Technology Preference was introduced in NAS 1.0, so should
+ be always
+ available (even if we thought it was introduced in NAS 1.7, that's
+ not true).
+ But the newer System Selection Preference behaves better as it
+ allows more
+ features like 'preferred' modes; so use it when available (NAS
+ >= 1.1).
+
+ src/mm-broadband-modem-qmi.c | 66
+ +++++++-------------------------------------
+ src/mm-modem-helpers-qmi.c | 4 ---
+ src/mm-modem-helpers-qmi.h | 4 ---
+ 3 files changed, 10 insertions(+), 64 deletions(-)
+
+commit 61d41978c1b217870f399aa38df9af110ca977b1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Aug 31 10:37:49 2012 -0500
+
+ icera: fix parsing of IP config options
+
+ Some of the IP address items will be 0.0.0.0 depending on what the
+ other items are, like when the duplicate gateway is set on newer
+ devices, the first gateway address may be 0.0.0.0. Since that's
+ not a valid IP address, just don't set that member of the config.
+
+ Second, the intent with the duplicate gateway is only to use that
+ when the first gateway was not given (ie, was 0.0.0.0) so fix the
+ check for that.
+
+ plugins/icera/mm-broadband-bearer-icera.c | 21 ++++++++++++---------
+ 1 file changed, 12 insertions(+), 9 deletions(-)
+
+commit 20539a88e66df64d311752d889d239a34b389d87
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 16:50:56 2012 +0200
+
+ broadband-modem-qmi: fix compilation when using
+ `--with-newest-qmi-comands'
+
+ src/mm-broadband-modem-qmi.c | 8 ++++----
+ src/mm-modem-helpers-qmi.c | 1 +
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+commit fa0ccc593e9c7f3f7a5754b5977eb63fe231df32
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 16:41:38 2012 +0200
+
+ sierra: fix finding LTE capabilities
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 63ef0990b65a46b56707e6f28534e0e01bc4e22c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 28 21:33:44 2012 -0500
+
+ sierra: allow users to help debug APP1 PPP capability
+
+ Most Sierra PPP-based devices are supposed to allow PPP on the
+ APP1 port, which has a dumb AT parser, leaving the main port
+ (with the intelligent AT parser) free for status and signal strength.
+ But out of all the devices I've tested it with (8775, 8781, AC881,
+ and C885), only the C885 actually works. The rest (including three
+ different firmware versions for the 8775) either crash or disconnect
+ shortly after PPP starts.
+
+ To help figure out which devices actually support this, when
+ running MM in debug mode, users can set the MM_SIERRA_APP1_PPP_OK
+ environment variable and assume the APP1 port allows PPP. This
+ is only for debugging purposes.
+
+ plugins/sierra/mm-plugin-sierra.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 369e14f1d374eb2eaeda9724aa70fd0b7242dfab
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 14:31:04 2012 +0200
+
+ huawei: additional unsolicited messages to ignore
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit b4e0fa3d89ab4d8b053769335a489cd4517b68ae
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 14:23:11 2012 +0200
+
+ sierra: skip echo removal in the secondary port
+
+ This is the port to git master of the following commit:
+
+ commit d1be19d231a395339b1f452d1a30b73ea77ad528
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Tue Aug 28 21:58:43 2012 -0500
+
+ sierra: fix CSQ handling on APP1 port
+
+ The APP1 port doesn't always prefix its replies with <CR><LF>
+ which
+ runs afoul of the built-in echo removal. Since Sierra modems
+ are on
+ the whole well-behaved WRT echo removal, just disable it on the
+ secondary ports. Only changes behavior for PPP-based devices
+ since
+ they are the only ones that use the APP1 ports.
+
+ plugins/sierra/mm-common-sierra.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit fa8c09ca668d27af39c28b9590c5c48410c6b3d5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 14:19:50 2012 +0200
+
+ port-probe: speed up QCDM probing a bit
+
+ This is the port to git master of the following commit:
+
+ commit 01201860de5565a78823913423c6b2a762e3731f
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Tue Aug 28 21:12:14 2012 -0500
+
+ core: speed up QCDM probing a bit
+
+ The point of sending two "version info" commands was to ensure
+ that
+ the terminating 0x7E of the first one was processed as a QCDM
+ frame
+ boundary and that any random data in the buffer (like AT commands
+ from probing) got cleared out. The second command would always
+ get processed as a valid QCDM command if the device supported
+ QCDM,
+ since there was no garbage before it.
+
+ Instead of that dance, just prepend the version info message with
+ an extra 0x7E to ensure a clean QCDM frame which the device
+ hopefully
+ responds to immediately. Second, actually process that response
+ instead of throwing it away. Should save about 3 seconds when
+ probing QCDM ports.
+
+ src/mm-port-probe.c | 53
+ +++++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 37 insertions(+), 16 deletions(-)
+
+commit 061e184d393e22d4331f8f004be110a0176ea4dc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 14:05:29 2012 +0200
+
+ sierra: use DHCP for the USB 305 (AT&T Lightning)
+
+ This is the port to git master of the following commit:
+
+ commit 44f70121f75d59dbf31a4a9a1a4e87293e509e7a
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Tue Aug 28 20:18:40 2012 -0500
+
+ sierra: use DHCP for the USB 305 (AT&T Lightning)
+
+ For some reason, my AT&T Lightning just doesn't work with static
+ IP (AT%IPDPADDR) any more. No traffic passes even though
+ everything
+ is set up the way it was before. No idea what happened. Using
+ latest firmware 2.0.0.11.
+
+ But what's interesting is on Windows the generic Sierra Watcher
+ app uses DHCP. But on Linux, when using AT%IPDPACT, DHCP doesn't
+ work. That's odd. But it turns out the modem supports the
+ "standard" Sierra proprietary AT!SCACT commands, and that
+ *does* make DHCP work. Crazy no? So since the Windows app
+ uses DHCP, it's likely that the non-DHCP case
+ (AT%IPDPACT/AT%IPDPADDR)
+ either isn't well tested or isn't well supported. With that
+ in mind, let's just use DHCP for this device in Linux too.
+
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 59
+ ++++++++++++++++++++++++
+ 1 file changed, 59 insertions(+)
+
+commit a195dabc93153c7acc220cd9daccbbf4657bbb62
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 13:56:42 2012 +0200
+
+ icera: handle additional IPv4 configuration options
+
+ This is the port to git master of the following commit:
+
+ commit c8153b1ecdec1995258b114c90b575af1e721d3d
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Tue Aug 28 12:16:26 2012 -0500
+
+ icera: handle additional IPv4 configuration options
+
+ Newer devices like the ZTE/Vodafone K3805-z have an enhanced
+ %IPDPADDR command that includes a netmask and gateway, and
+ these are necessary to configure the device since it uses /24
+ instead of a /32. Since the device is nice enough to tell
+ us that, we should probably use that information.
+
+ Unfortunately the MM API doens't expose the netmask and gateway
+ yet, so we'll have to add a GetIP4ConfigEx() method or something
+ like that, but this commit sets us up to do that.
+
+ plugins/icera/mm-broadband-bearer-icera.c | 47
+ +++++++++++++++++++++++++++++--
+ 1 file changed, 44 insertions(+), 3 deletions(-)
+
+commit 529eecdb9771cbb9140af015e4a8a5fdb3df59a7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 13:54:48 2012 +0200
+
+ modem-helpers: new helper to convert from netmask string to CIDR
+
+ src/mm-modem-helpers.c | 12 ++++++++++++
+ src/mm-modem-helpers.h | 2 ++
+ 2 files changed, 14 insertions(+)
+
+commit ab7f558a2c6376396c021d57175c6faaba57554c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 13:21:35 2012 +0200
+
+ zte: handle Icera-based devics that use DHCP
+
+ This is the port to git master of the following commit:
+
+ commit d2654a287c309346cc46b535dd974b0a5fc06fd4
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Tue Aug 28 12:15:30 2012 -0500
+
+ zte: handle Icera-based devics that use DHCP
+
+ Since we can't autodetect that the devices use DHCP, we'll need to
+ tag them with udev rules for the time being.
+
+ plugins/zte/77-mm-zte-port-types.rules | 3 +++
+ plugins/zte/mm-plugin-zte.c | 7 +++++++
+ 2 files changed, 10 insertions(+)
+
+commit c6a1d91cd5683df2551fd7b9750f23bbad5c1077
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 13:05:32 2012 +0200
+
+ sierra: use an additional AT+WS46=? to detect LTE capabilities
+
+ Some Sierra modems (e.g. MC7710) will report LTE-specific supported
+ modes in the
+ AT+WS46=? reply, but not +CLTE capability in the AT+GCAP reply:
+
+ AT+GCAP
+ +GCAP: +CGSM
+ OK
+
+ AT+WS46=?
+ +WS46: (12,22,25,28,29)
+ OK
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 133
+ +++++++++++++++++++++++++++++
+ 1 file changed, 133 insertions(+)
+
+commit e8ca43e315688f04a4f896646abaffab2b3a395e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 12:31:00 2012 +0200
+
+ broadband-modem: if the generic CNMI request fails, try a
+ Qualcomm-compatible one
+
+ This is the port to git master of the following commit:
+
+ commit 1d9164ec90788d1be134482ff88c501e3c5d623c
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Mon Aug 27 18:20:33 2012 -0500
+
+ gsm: if the generic CNMI request fails, try a Qualcomm-compatible
+ one
+
+ Many devices based on Qualcomm chipsets don't support a <ds> value
+ of '1', despite saying they do in the AT+CNMI=? response.
+ But they
+ do accept '2'. Since we're not doing much with delivery status
+ reports yet, if we get a CME 303 (not supported) error when
+ setting
+ the message indication parameters via CNMI, fall back to the
+ Qualcomm-compatible CNMI parameters.
+
+ If we don't do this, we don't get SMS indications on these
+ devices,
+ because the original CNMI failed.
+
+ Tested on Huawei E1550, Huawei E160G, ZTE MF622, and Novatel
+ XU870.
+
+ src/mm-broadband-modem.c | 61
+ ++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 54 insertions(+), 7 deletions(-)
+
+commit a3d32c552c526a7f5850007428a5a32216766a64
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 12:13:45 2012 +0200
+
+ sms: fix handling of 'data' property for multipart messages
+
+ This is the port to git master of the following commit:
+
+ commit 1c29ce5999d11dee2898e7bf41c00995a00c71d0
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Mon Aug 27 17:36:49 2012 -0500
+
+ sms: fix handling of 'data' property for multipart messages
+
+ Text was getting concatenated when reconstructing the full
+ message,
+ but the data wasn't. That meant that non-text multipart messages,
+ like the binary APN/MMS settings messages that operators often
+ send,
+ were broken.
+
+ libmm-common/Makefile.am | 1 +
+ src/mm-sms.c | 77
+ +++++++++++++++++++++++++++++++++---------------
+ 2 files changed, 54 insertions(+), 24 deletions(-)
+
+commit 5af3e232a0ac0725ef62ac543ac92854fad78677
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 12:12:25 2012 +0200
+
+ api,introspection: new `Data' property in the SMS interface
+
+ We need to expose the raw data for the case where we get SMS
+ messages with
+ binary content (e.g. settings SMS).
+
+ introspection/org.freedesktop.ModemManager1.Sms.xml | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 9d2a046754d383dec8ef7415e2c77ba739989c3b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 27 16:36:39 2012 -0500
+
+ mbm: add Ericsson H5321gw (often found in Thinkpad X230)
+
+ plugins/mbm/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 19e91c5c79f5f824c309c8d11c0b148ca8b0955e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 10:08:11 2012 +0200
+
+ sim: better handling of IMSI response
+
+ This is a port to git master of the following commit:
+
+ commit 0b051f9c7033143c56f59267794d1cadf4bd3416
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Mon Aug 27 10:24:50 2012 -0500
+
+ gsm: better handling of IMSI response
+
+ Moto EZX devices prefix the response with "+CIMI:" while most
+ devices do not.
+
+ src/mm-sim.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit f53e53ba3738f3d24465ea577781b6c3ed6f6083
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 10:04:37 2012 +0200
+
+ novatel: fix checking ERI for roaming/home decision
+
+ This is a port to git master of the following commit:
+
+ commit c21e29c50b5661308fb3b223c05f6942c06dc15d
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Fri Aug 24 13:31:04 2012 -0500
+
+ novatel: fix checking ERI for roaming/home decision
+
+ More fallout from b22b2d99db57e4cec8e6c3074dd20acd6845cb62
+ which changed the return type of the qcdm_result_get_*()
+ functions.
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 04d50e2db7a4bae2b21112faadf5f23176663d1d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 10:01:11 2012 +0200
+
+ icera: retry configuring PDP context if it fails.
+
+ This is the port to git master of the following commit:
+
+ commit fb3187847b9c62d5205962c3c707ac1f44eaddcc
+ Author: Eric Shienbrood <ers@chromium.org>
+ Date: Thu Aug 11 16:58:34 2011 -0400
+
+ icera: retry configuring PDP context if it fails.
+
+ If a connect operation is attempted immediately after a
+ disconnect,
+ it sometimes fails with CME error 583 - "a profile (CID)
+ is currently
+ active". Apparently, even though the preceding operation
+ (%IPDPACT)
+ to deactivate the PDP context returned an OK response, the context
+ is not really completely available until a fraction of a second
+ later. This causes the %IPDPCFG operation that is part of the
+ subsequent connect attempt to fail with error 583. This change
+ retries the %IPDPCFG after a one second delay.
+
+ BUG=chrome-os-partner:4936
+ TEST=This can be tested from the UI, but I found it easier
+ to produce
+ the timing needed to trigger the bug by running mm-disconnect and
+ mm-connect from a shell.
+
+ Start out with the modem in the connected state. In the shell, run
+
+ sudo /usr/local/lib/flimflam/test/mm-disconnect; sudo
+ /usr/local/lib/flimflam/test/mm-connect --number='*99#'
+ --apn=wap.cingular
+
+ modem-manager should emit the log line "Invalid error code: 583".
+ Prior to this change, the connect operation would fail. Now
+ it should
+ succeed.
+
+ Change-Id: I6ae0e6a9f5405b54b0b465fe91d9542529f365c2
+ Reviewed-on: http://gerrit.chromium.org/gerrit/5781
+ Tested-by: Eric Shienbrood <ers@chromium.org>
+ Reviewed-by: Nathan J. Williams <njw@chromium.org>
+
+ plugins/icera/mm-broadband-bearer-icera.c | 21 ++++++++++++++++++++-
+ 1 file changed, 20 insertions(+), 1 deletion(-)
+
+commit 31d98a43c8dcd2a7721615a05da684edc2b4dd71
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Aug 24 08:39:07 2012 -0500
+
+ test: add utility to force a modem disconnect
+
+ test/Makefile.am | 1 +
+ test/disconnect.py | 30 ++++++++++++++++++++++++++++++
+ 2 files changed, 31 insertions(+)
+
+commit a2c7cacb695b062146b3acda249e26bb180dd10e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 09:22:45 2012 +0200
+
+ sierra: fix detection of APP1 port
+
+ This is the port to git master of the following commit:
+
+ commit e0242b4db7fb1556e79f6829d22edf411f9f6ba4
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Thu Aug 23 21:14:38 2012 -0500
+
+ sierra: fix detection of APP1 port
+
+ The APP1 port (which has a limited AT parser) doesn't prefix
+ its replies with <CR><LF> like nice modems do, and that means
+ it runs afoul of the echo removal bits of the AT serial port
+ code. We need to parse the whole string even though it's not
+ prefixed properly to find the APP1 string in the response.
+
+ plugins/sierra/mm-plugin-sierra.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1e5b00e33b98dbfd3fc6208ff51c30f4b0b40d88
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 09:20:43 2012 +0200
+
+ plugin: let plugins decide if they want echo removal during AT probing
+
+ This is the port to git master of the following patch:
+
+ commit 21e66dfa1774ac2ee037ac8b6e8bb4d71a6f7931
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Thu Aug 23 21:13:35 2012 -0500
+
+ core: add function to open probe ports without removing echo
+
+ Some devices (Sierra GSM ones) return stuff we need but don't
+ bother to prefix it with <CR><LF>, so we need to optionally turn
+ off the echo removal at probe time.
+
+ src/mm-plugin.c | 19 +++++++++++++++++++
+ src/mm-plugin.h | 1 +
+ src/mm-port-probe.c | 11 ++++++++---
+ src/mm-port-probe.h | 1 +
+ 4 files changed, 29 insertions(+), 3 deletions(-)
+
+commit 9faba582263f541048816d8e161166a525952a52
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 00:21:36 2012 +0200
+
+ bearer: check only roaming allowance when launching a connection
+
+ Don't abort the connection if the modem reports unregistered in either
+ 3GPP or CDMA, as mixed CDMA+3GPP modems may connect even if not
+ registered
+ in both technologies.
+
+ src/mm-bearer.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 6c94741e04ecb786579855a562a5ee5039901068
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 31 00:05:21 2012 +0200
+
+ sierra: fix dialling context deallocation
+
+ We were using the slice allocator, not plain g_malloc().
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6c1e005b54692ffd3dbb3f3c185b5d0eb951196b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 23:47:30 2012 +0200
+
+ hso: fix error handling in PIN retry counts
+
+ plugins/option/mm-broadband-modem-hso.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8be5ecf186ffbbf941dce68460be3d69e4b19e97
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 23:47:21 2012 +0200
+
+ longcheer: fix error handling in PIN retry counts
+
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b288b26718dc95f86fe28eb740b18c0f91f72336
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 23:46:58 2012 +0200
+
+ icera: fix error handling in loading supported/current bands
+
+ plugins/icera/mm-broadband-modem-icera.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ff1a175035206fa092ad603327455c296cde3f5c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 22:33:01 2012 +0200
+
+ sierra: detect stupid secondary ports
+
+ Some sierra modems (e.g. MC7710) have a secondary port that likes
+ to reply OK
+ to any AT command passed. Detect that as soon as possible, and
+ don't consider
+ the Icera port probing result from that secondary port.
+
+ plugins/sierra/mm-plugin-sierra.c | 33 +++++++++++++++++++++++++++++----
+ 1 file changed, 29 insertions(+), 4 deletions(-)
+
+commit 57f56f0f161bd622a7808a97adcce2b0fdaf69a1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 19:22:16 2012 +0200
+
+ icera: fix error handling in PIN retry counts
+
+ GErrors need to be always NULL initialized.
+
+ plugins/icera/mm-broadband-modem-icera.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit f61db0fc4b0b41cd9bf0ea7aab7d1498c3e41cec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 19:18:05 2012 +0200
+
+ broadband-modem-qmi: implement current bands loading
+
+ Also, sync with libqmi:
+
+ commit b03ca502f45f75541c2b2ccebf44e712ab925456
+ Author: Aleksander Morgado <aleksander@lanedo.com>
+ Date: Thu Aug 30 19:17:19 2012 +0200
+
+ nas: consolidate `QmiNasActiveBand' names
+
+ src/mm-broadband-modem-qmi.c | 87 ++++++++++++++++++++++++++
+ src/mm-modem-helpers-qmi.c | 144
+ +++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-qmi.h | 2 +
+ 3 files changed, 233 insertions(+)
+
+commit 4f406b2c380dc42ee50267430377ecea85b38ef3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 18:36:11 2012 +0200
+
+ broadband-modem-qmi: move common enum translators to new
+ -helpers-qmi.[ch] files
+
+ src/Makefile.am | 2 +
+ src/mm-broadband-modem-qmi.c | 581
+ +++----------------------------------------
+ src/mm-modem-helpers-qmi.c | 579
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers-qmi.h | 69 +++++
+ 4 files changed, 678 insertions(+), 553 deletions(-)
+
+commit 5e448cf5d33013241a2b17a10886f79ad2dd2efd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 11:01:55 2012 +0200
+
+ bearer-qmi: try to use proper QMI port to connect a given net
+ interface
+
+ src/mm-bearer-qmi.c | 19 ++++---------------
+ 1 file changed, 4 insertions(+), 15 deletions(-)
+
+commit 36733aa4de83bfce7676899c7d1acea36cc4a147
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 11:01:29 2012 +0200
+
+ base-modem: allow looking for the QMI port associated to a given
+ data port
+
+ QMI and wwan ports come in pairs. Each wwan port has an associated
+ control QMI
+ port, which is the only port allowed to send the Start|Stop Network
+ QMI requests
+ to start|stop the connection in the given wwan interface.
+
+ Paired QMI and wwan interfaces (should) share the same parent
+ udev device,
+ quoting Bjørn:
+
+ "If we ignore the unfortunate 3.4 and 3.5 kernels, then a
+ matching wwanX
+ and cdc-wdmY set will always share the same parent USB interface
+ on QMI
+ devices.
+
+ Having the same parent USB device is *not* sufficient.
+ You cannot control
+ wwan0 using cdc-wdm1 in the above example."
+
+ src/mm-base-modem.c | 118
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-base-modem.h | 20 +++++----
+ 2 files changed, 129 insertions(+), 9 deletions(-)
+
+commit 3132e34dc143e90542746f3c85102584279433b0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 16:36:38 2012 +0200
+
+ iface-mode-simple: when setting bands or modes, wait some time to
+ settle down
+
+ When bands or allowed modes are changed, the modem will very likely
+ reset its
+ current registration and start from scratch. We will now give it
+ some seconds
+ to settle down before going on with the connection request, so that
+ the modem
+ has enough time to report being unregistered. Without this sleep
+ time, the
+ unsolicited message reporting being unregistered may arrive *after*
+ having
+ checked registration status in the Simple connect sequence, and
+ therefore we
+ end up failing the connection request.
+
+ src/mm-iface-modem-simple.c | 56
+ +++++++++++++++++++++++++++++++++------------
+ 1 file changed, 42 insertions(+), 14 deletions(-)
+
+commit aa51a16f70178e2c0edb1be0db30b816d02d8f85
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 14:24:16 2012 +0200
+
+ port-probe: fix generic icera support check during probing
+
+ src/mm-port-probe.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 35a69d6b8ea1bcaf68552fb258f9e7ac8412f065
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 14:18:03 2012 +0200
+
+ huawei: enable QMI-powered Huawei modems
+
+ plugins/huawei/mm-plugin-huawei.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+commit 35bece0af36b017a0fce879e235a2b62bb9a13e2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 14:17:51 2012 +0200
+
+ sierra: enable QMI-powered Sierra modems
+
+ plugins/sierra/mm-plugin-sierra.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+commit 1ca46bb4a7e750655f3d066881f4f3823c03f537
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 13:57:56 2012 +0200
+
+ port-probe: easier check for Icera support over a list of port probes
+
+ plugins/sierra/mm-plugin-sierra.c | 10 +---------
+ plugins/zte/mm-plugin-zte.c | 10 +---------
+ src/mm-port-probe.c | 13 +++++++++++++
+ src/mm-port-probe.h | 1 +
+ 4 files changed, 16 insertions(+), 18 deletions(-)
+
+commit a4e5964506cbb6613421ab44bb43c225eb9d82a3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 13:35:37 2012 +0200
+
+ bearer: add roaming connection allowance rules from the broadband
+ bearer
+
+ Connection allowance rules need to be applied to every kind of bearer,
+ regardless of whether it's based on the generic broadband bearer
+ or not.
+
+ src/mm-bearer.c | 195
+ +++++++++++++++++++++++++++++++++++++++++-
+ src/mm-broadband-bearer.c | 212
+ ++++++----------------------------------------
+ 2 files changed, 218 insertions(+), 189 deletions(-)
+
+commit 58553df9bb5b1228861920196abc637b23e93443
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 11:21:46 2012 +0200
+
+ bearer-qmi: 'no-effect' errors while disconnecting aren't fatal
+
+ src/mm-bearer-qmi.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit 2edbf674e0781680cd0c5a2681565d1b2489d9d1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 30 11:04:51 2012 +0200
+
+ bearer-qmi: assume we need the global packet data handle on no-effect
+ errors
+
+ src/mm-bearer-qmi.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit b060bcfc743a39f4385466f57e2f43c9569a9d54
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 29 20:36:18 2012 -0700
+
+ novatel-lte: use 'AT+CRSM=176,28423,0,0,9' instead of 'AT+CIMI'
+ to read IMSI
+
+ Based on empirical results, 'AT+CRSM=176,28423,0,0,9' is found
+ more reliable
+ than 'AT+CIMI' for reading IMSI.
+
+ plugins/Makefile.am | 4 +-
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 26 +++
+ plugins/novatel/mm-sim-novatel-lte.c | 251
+ +++++++++++++++++++++++
+ plugins/novatel/mm-sim-novatel-lte.h | 51 +++++
+ 4 files changed, 331 insertions(+), 1 deletion(-)
+
+commit a2aad7d2931baf1260fe2652dc75b991416e0c2d
+Author: Ben Chan <benchan@chromium.org>
+Date: Tue Aug 28 13:35:25 2012 -0700
+
+ novatel-lte: add a 2-second wait after SIM unlock
+
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 38
+ ++++++++++++++++++++++++
+ 1 file changed, 38 insertions(+)
+
+commit 1c49e35a8e03ea0724cd0831f2ca7819368b0a66
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 18:34:07 2012 +0200
+
+ iface-modem: run after-sim-unlock also when PIN request is not enabled
+
+ Whenever we query current unlock required status and we get that
+ we're unlocked,
+ we'll launch the after-sim-unlock step so that we try to ensure that
+ the SIM is
+ ready.
+
+ src/mm-iface-modem.c | 88
+ +++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 50 insertions(+), 38 deletions(-)
+
+commit 4114eabaa31bb10ec3af14a7308760f0fbe42608
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 29 18:43:01 2012 +0200
+
+ plugin-manager: never suggest result to the probe which generated
+ the suggestion
+
+ src/mm-plugin-manager.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 72602a395105006736ecf5829ba33ffcefce3692
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 23:04:11 2012 +0200
+
+ qmi-bearer: use new enum types for call end reasons
+
+ Sync with libqmi:
+
+ commit d473f9ab35b85b76ebd6510a69a49ffa141d85f1
+ Author: Aleksander Morgado <aleksander@lanedo.com>
+ Date: Tue Aug 28 13:18:44 2012 +0200
+
+ wds: implement "Verbose Call End Reason" types
+
+ commit d39c997771da9a8037e61f1b4fc5ccfbb34be952
+ Author: Aleksander Morgado <aleksander@lanedo.com>
+ Date: Mon Aug 27 20:29:16 2012 +0200
+
+ wds: implement "Call End Reason" type
+
+ src/mm-bearer-qmi.c | 16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+commit 4cb6c42d6cea99f9dc674f5f38fe7d781d19becd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 22:58:31 2012 +0200
+
+ qmi-bearer: fix IPv6 disconnection logic
+
+ src/mm-bearer-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 84e69a1abb534452547b62d18a5658515a516a7f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 27 15:49:19 2012 +0200
+
+ bearer-qmi: only keep internal state if IP type specific connection
+ succeeds
+
+ src/mm-bearer-qmi.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+commit c468e5b35236bfd006e5e841143b5795536f7030
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 27 15:38:36 2012 +0200
+
+ bearer-qmi: if possible, use "WDS Set IP Family" to select IP family
+ preference
+
+ src/mm-bearer-qmi.c | 92
+ +++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 90 insertions(+), 2 deletions(-)
+
+commit ea7edbbf9e3de5f3cd1c4c0ed335a0f5504f0edc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 27 15:16:50 2012 +0200
+
+ bearer-qmi: only specify IP family preference TLV if one explicitly
+ requested
+
+ src/mm-bearer-qmi.c | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+commit fb932268587bb59e5700e93a52c72e619e150b27
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 27 15:10:23 2012 +0200
+
+ bearer-qmi: allocate different WDS clients for IPv4 and IPv6 setups
+
+ src/mm-bearer-qmi.c | 178
+ ++++++++++++++++++++++++++++++++++++----------------
+ src/mm-qmi-port.h | 4 +-
+ 2 files changed, 126 insertions(+), 56 deletions(-)
+
+commit 28eb5df342e26c0792c2fc141dbb1ef6cc186577
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 27 14:52:00 2012 +0200
+
+ qmi-port: allow allocating more than one client of a given service
+
+ We'll uniquely identify each client generated by the service ID and
+ a user
+ defined flag, so that we then allow to peek/get the specific client.
+
+ src/mm-bearer-qmi.c | 9 +++++++--
+ src/mm-broadband-modem-qmi.c | 5 ++++-
+ src/mm-qmi-port.c | 16 +++++++++++-----
+ src/mm-qmi-port.h | 11 +++++++++--
+ src/mm-sim-qmi.c | 4 +++-
+ 5 files changed, 34 insertions(+), 11 deletions(-)
+
+commit a8cf6f627856e8d072dd59d1af7518b19e22d8f1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 27 12:55:36 2012 +0200
+
+ bearer-qmi: enable dual IPv4/IPv6 connections
+
+ We provide separate steps to connect/disconnect IPv4 and IPv6.
+
+ src/mm-bearer-qmi.c | 461
+ +++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 326 insertions(+), 135 deletions(-)
+
+commit 7c291ab7a3973dea5d901fb87cae204421a88380
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 24 08:27:01 2012 +0200
+
+ bearer-qmi: make compiler happy
+
+ src/mm-bearer-qmi.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 26d95381048e0e4c91b17eda0a7e6d444a736b52
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 18:42:09 2012 +0200
+
+ bearer-qmi: 'no-effect' errors while starting network aren't fatal
+
+ src/mm-bearer-qmi.c | 63
+ ++++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 38 insertions(+), 25 deletions(-)
+
+commit 5fdb820f28dcdcba76fa5e4300b806bfd7181fcb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 18:29:15 2012 +0200
+
+ bearer-qmi: pass down APN/username/password/IP-type to `WDS Start
+ Network'
+
+ src/mm-bearer-qmi.c | 58
+ +++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 56 insertions(+), 2 deletions(-)
+
+commit 60b0812d3ad75db9188f3012c12895284ec9c615
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 17:06:19 2012 +0200
+
+ bearer-qmi: implement connection/disconnection sequences
+
+ src/mm-bearer-qmi.c | 490
+ +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 489 insertions(+), 1 deletion(-)
+
+commit 02c049ce7dfd7aacfc2fe50fe76a2221764501eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 13:16:45 2012 +0200
+
+ broadband-modem-qmi: create a `MMBearerQmi' always by default
+
+ We still don't consider the case of having all net ports already
+ connected and
+ falling back to PPP over a serial port.
+
+ src/mm-broadband-modem-qmi.c | 46
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit b29fcde7e223fc96fb1445e38797b46916927aa6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 13:11:36 2012 +0200
+
+ bearer-qmi: new `MMBearerQmi' object
+
+ This bearer type does not inherit from `MMBroadbandBearer', and
+ therefore it
+ doesn't need to be async-initable.
+
+ src/Makefile.am | 2 ++
+ src/mm-bearer-qmi.c | 73
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-bearer-qmi.h | 56 ++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 131 insertions(+)
+
+commit 1525c6a15438aac530aa0470152ac96afed8aff4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 13:07:56 2012 +0200
+
+ build: minor reorder of files to build
+
+ src/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c07490887aac281e5a5a546645f7fcb30552e432
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 13:04:06 2012 +0200
+
+ broadband-bearer: remove obsolete property names
+
+ src/mm-broadband-bearer.h | 6 ------
+ 1 file changed, 6 deletions(-)
+
+commit e2a6be368eab6045c176ef5f404afb246769953f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 12:21:08 2012 +0200
+
+ iface-modem: max number of bearers equal to the number of available
+ data ports
+
+ src/mm-iface-modem.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 14bd267e8e1fd8411df8155c5c487adf2a4764d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 12:18:21 2012 +0200
+
+ base-modem: allow getting/peeking all data ports
+
+ src/mm-base-modem.c | 20 ++++++++++++++++++++
+ src/mm-base-modem.h | 2 ++
+ 2 files changed, 22 insertions(+)
+
+commit bc3e77dadf81a18adc88073fe1601e784ff90150
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 12:11:09 2012 +0200
+
+ broadband-modem-qmi: assume we don't have messaging support
+
+ Just to cleanup the sequence for now, we can develop it later.
+
+ src/mm-broadband-modem-qmi.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit 877fbba595092c7f0dab7eac350a5a8bfa1a3e45
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 12:09:08 2012 +0200
+
+ broadband-modem-qmi: assume we don't have USSD support
+
+ Just to cleanup the sequence for now, we can develop it later.
+
+ src/mm-broadband-modem-qmi.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 494a70a8ffff4a50d0a00e99e964165054ff36aa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 11:32:24 2012 +0200
+
+ core: handle the 'usb'->'usbmisc' subsystem rename in the kernel
+
+ We'll try to cope with getting devices being reported in either
+ 'usb' or
+ 'usbmisc', trying to avoid the need of checking kernel version
+ during runtime.
+
+ src/80-mm-candidate.rules | 1 +
+ src/mm-base-modem.c | 4 ++--
+ src/mm-device.c | 4 ++--
+ src/mm-manager.c | 22 +++++++++++++++++-----
+ src/mm-plugin.c | 4 ++++
+ src/mm-port-probe.c | 12 ++++++------
+ 6 files changed, 32 insertions(+), 15 deletions(-)
+
+commit 8cb021293ce0aa316028339c8f213c0bf72c9158
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 10:27:25 2012 +0200
+
+ broadband-modem-qmi: don't allocate WDS client during startup
+
+ We'll allocate WDS clients only when launching a connection.
+
+ src/mm-broadband-modem-qmi.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit e9aff3ba42c3b29c529c155694c7df3770792814
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 10:23:42 2012 +0200
+
+ base-modem: allow grabbing multiple 'net' and 'qmi' ports
+
+ All grabbed 'net' ports are added to the new list of data ports. It
+ is a task
+ for the specific plugin to decide how each of the data ports should be
+ connected. In the case of not having 'net' ports, the list of data
+ ports will
+ only contain a single AT port.
+
+ All grabbed 'qmi' ports are added to the new list of QMI ports. The
+ first port
+ in the list is to be considered the 'primary' one, and will be the
+ one used
+ for all services. The remaining QMI ports, if any, will only be used
+ to for WDS,
+ to manage the associated 'net' ports.
+
+ src/mm-base-modem.c | 121
+ ++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 79 insertions(+), 42 deletions(-)
+
+commit 7369f1675972e203b906315a9c79f851fbca6c7d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 10 10:21:36 2012 +0200
+
+ broadband-modem-qmi: don't rely on the detailed service status to
+ get HDR reg
+
+ The 'detailed service status' TLV is either pretty new and not
+ always available,
+ or given only under some specific circumstances. So, try to gather
+ CDMA1x and
+ EV-DO registration status with the default info we usually do get.
+
+ The logic is the following:
+ * If registered and the access technologies contain CDMA1x, then
+ CDMA1x is
+ registered, otherwise it's not.
+ * If registered and the access technologies contain any of the
+ EV-DO revisions,
+ then EV-DO is registered, otherwise it's not.
+
+ An example output in a CDMA network:
+
+ [/dev/cdc-wdm0] Successfully got serving system:
+ Registration state: 'registered'
+ CS: 'attached'
+ PS: 'attached'
+ Selected network: '3gpp2'
+ Radio interfaces: '2'
+ [0]: 'cdma-1xevdo'
+ [1]: 'cdma-1x'
+ Roaming status: 'off'
+ Data service capabilities: '2'
+ [0]: 'cdma'
+ [1]: 'evdo-rev-a'
+ Current PLMN:
+ MCC: '311'
+ MNC: '480'
+ Description: 'Verizon Wireless'
+ CDMA System ID:
+ SID: '26'
+ ESN: '1'
+ CDMA Base station info:
+ Base station ID: '3633'
+ Latitude: '44.913333'º
+ Longitude: '-93.279722'º
+ Roaming indicators: '2'
+ [0]: '(null)' (cdma-1x)
+ [1]: '(null)' (none)
+ Default roaming status: '(null)'
+ 3GPP2 time zone:
+ Leap seconds: '16' seconds
+ Local time offset: '-300' minutes
+ Daylight saving time: 'no'
+ CDMA P_Rev: '6'
+
+ src/mm-broadband-modem-qmi.c | 35 +++++++----------------------------
+ 1 file changed, 7 insertions(+), 28 deletions(-)
+
+commit 1f82cd1a32d7643c1a24bb9a1001ba01d19c9096
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 10 10:14:25 2012 +0200
+
+ broadband-modem-qmi: handle serving system output when selected
+ network is unknown
+
+ Seems that sometimes we get 'selected network' as UNKNOWN, but we
+ still have
+ proper registration information. Try to handle those cases.
+
+ [/dev/cdc-wdm0] Successfully got serving system:
+ Registration state: 'registered'
+ CS: 'detached'
+ PS: 'attached'
+ Selected network: 'unknown'
+ Radio interfaces: '1'
+ [0]: 'lte'
+ Roaming status: 'off'
+ Data service capabilities: '1'
+ [0]: 'lte'
+ Current PLMN:
+ MCC: '311'
+ MNC: '480'
+ Description: 'Verizon Wireless'
+ Roaming indicators: '1'
+ [0]: 'off' (lte)
+
+ src/mm-broadband-modem-qmi.c | 80
+ +++++++++++++++++++++++++-------------------
+ 1 file changed, 46 insertions(+), 34 deletions(-)
+
+commit 12246a8c606f567e2d74eeffe2f96827c48b5922
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 16:58:34 2012 +0200
+
+ broadband-modem-qmi: use only deprecated commands
+
+ The QMI protocol is updated frequently with new commands replacing and
+ improving some already existing ones, which get marked as deprecated.
+ Instead of initially try to cover the logic with both the old and
+ the new
+ commands, we'll default to use only the old deprecated ones, which
+ should be
+ supported also in the modems with newer services.
+
+ The supported already implemented for the new QMI commands is hidden
+ behind a
+ `--with-newest-qmi-commands' configure switch.
+
+ Once the implementation is fully developed and tested using the
+ deprecated
+ commands we can then focus in including the support for the new ones.
+
+ configure.ac | 16 ++++++
+ src/mm-broadband-modem-qmi.c | 114
+ +++++++++++++++++++++++++++++++++++--------
+ 2 files changed, 110 insertions(+), 20 deletions(-)
+
+commit 0886322cc48b06eb9d19699555854ea3ab5af997
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 11:43:46 2012 +0200
+
+ broadband-modem-qmi: implement supported modes loading
+
+ src/mm-broadband-modem-qmi.c | 40
+ ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+commit 716256595f6809df8fb071d3a694396c20176df2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 11:10:36 2012 +0200
+
+ broadband-modem-qmi: implement CDMA unsolicited registration events
+ for NAS < 1.8
+
+ src/mm-broadband-modem-qmi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 930235cbb62f082766e3e46ca7a109847b4a7f38
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 11:08:44 2012 +0200
+
+ broadband-modem-qmi: implement CDMA registration checks for NAS < 1.8
+
+ src/mm-broadband-modem-qmi.c | 230
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 229 insertions(+), 1 deletion(-)
+
+commit edf2940c15d9d1f00e4af2936171335d8cf814aa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 10:58:12 2012 +0200
+
+ iface-modem-cdma: provide separate method to update access tech
+
+ src/mm-broadband-modem.c | 7 +++++
+ src/mm-iface-modem-cdma.c | 66
+ +++++++++++++++++++++++++++++++----------------
+ src/mm-iface-modem-cdma.h | 19 ++++++++++----
+ 3 files changed, 65 insertions(+), 27 deletions(-)
+
+commit be05543a9a0f52ac48beb23c0efd9354a8f15b1d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 18:03:51 2012 +0200
+
+ broadband-modem-qmi: build 3GPP access technologies from data
+ service capabilities
+
+ src/mm-broadband-modem-qmi.c | 65
+ ++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 63 insertions(+), 2 deletions(-)
+
+commit fe4d94788badc3b41f60919b0bb635a54f5cda08
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 10:31:01 2012 +0200
+
+ iface-modem-3gpp: provide separate methods to update access tech
+ and location
+
+ src/mm-broadband-modem-qmi.c | 47 +++++------------
+ src/mm-broadband-modem.c | 32 ++++--------
+ src/mm-iface-modem-3gpp.c | 121
+ +++++++++++++++++++++++--------------------
+ src/mm-iface-modem-3gpp.h | 18 +++----
+ 4 files changed, 95 insertions(+), 123 deletions(-)
+
+commit 483f59c01def1df37a6fe85e19aebf1c1a1532f3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 09:51:41 2012 +0200
+
+ broadband-modem-qmi: include '3gpp' prefix in the 3GPP registration
+ checks
+
+ src/mm-broadband-modem-qmi.c | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+commit 9baac727fe5172718c2a3327f7f7ea930d8d9bae
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 09:50:56 2012 +0200
+
+ broadband-modem-qmi: don't keep cs|ps flags when checking registration
+ status
+
+ Just report both always.
+
+ src/mm-broadband-modem-qmi.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit f796c6d906a4d6728728452a52c636ca148a9a91
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 08:19:31 2012 +0200
+
+ iface-modem-3gpp: log about which registration check will be run
+
+ src/mm-iface-modem-3gpp.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 05f80036d15c826866422b41ebbcde41e6ff512d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 21:35:23 2012 +0200
+
+ iface-modem-cdma: allow implementations to fully override registration
+ checks
+
+ Implementations of the CDMA interface can either:
+ * Implement run_registration_checks()
+ or,
+ * Implement the sub-steps of the generic registration checks
+ sequence
+
+ src/mm-iface-modem-cdma.c | 110
+ +++++++++++++++++++++++++++++++++-------------
+ src/mm-iface-modem-cdma.h | 52 ++++++++++++++++------
+ 2 files changed, 117 insertions(+), 45 deletions(-)
+
+commit 421d4237778d1ff4eaa0ec038020f7f277ef0b99
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 18:09:35 2012 +0200
+
+ iface-modem-cdma: minor fix in interface API names
+
+ src/mm-broadband-modem.c | 29 ++++++++++++++---------------
+ src/mm-iface-modem-cdma.c | 44
+ +++++++++++++++++++++-----------------------
+ src/mm-iface-modem-cdma.h | 12 ++++++------
+ 3 files changed, 41 insertions(+), 44 deletions(-)
+
+commit 7af1edbd111744029829b68569e2501d7a23db0c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 14:37:37 2012 +0200
+
+ TODO: QMI based modems always require a QMI and WWAN port
+
+ TODO | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit bccd80058a2c35ca29a636f9ee70374f6565a2aa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 14:34:07 2012 +0200
+
+ broadband-modem-qmi: 'no-effect' is not an error during automatic
+ registration
+
+ src/mm-broadband-modem-qmi.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit 43315f1121824de6cace9e4bb00555f21bd81be5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 14:28:07 2012 +0200
+
+ broadband-modem-qmi: fix signal handlers
+
+ User data is always the last parameter
+
+ src/mm-broadband-modem-qmi.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit d31b2ae019dbf32824c1a9df4ee7d42accf07337
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 13:20:10 2012 +0200
+
+ broadband-modem-qmi: implement auto/manual network registration
+ using QMI
+
+ src/mm-broadband-modem-qmi.c | 102
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 102 insertions(+)
+
+commit a6ff9b2a17d3f76026afcffc660d0842fb737b7b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 13:19:49 2012 +0200
+
+ iface-modem-3gpp: implement the network registration request logic
+
+ In the generic broadband modem implementation we'll just implement
+ the specific
+ command to request auto/manual network registration, and we leave
+ all the other
+ logic (waiting for the new registration status and all that) in
+ the interface,
+ as it is really common for every possible implementation.
+
+ src/mm-broadband-modem.c | 238 ++--------------------------
+ src/mm-iface-modem-3gpp.c | 386
+ +++++++++++++++++++++++++++++++++++-----------
+ src/mm-iface-modem-3gpp.h | 2 +-
+ 3 files changed, 310 insertions(+), 316 deletions(-)
+
+commit 7ce6b1296288271c02dbb7d2a85651f87bd244fb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 10:13:19 2012 +0200
+
+ broadband-modem: validate operator ID before trying to register to it
+
+ src/mm-broadband-modem.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 51678e141b74eab4303414db2f3837d02a39a587
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 10:12:43 2012 +0200
+
+ modem-helpers: new method to validate and/or parse MCC/MNC operator
+ ID string
+
+ src/mm-modem-helpers.c | 60 ++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 5 +++
+ src/tests/test-modem-helpers.c | 73
+ ++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 138 insertions(+)
+
+commit 02573a55654a17b1270a34f1e91622f4afbf0fcd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 7 17:36:10 2012 +0200
+
+ broadband-modem-qmi: limit 3GPP registration updates for 3GPP modems
+
+ src/mm-broadband-modem-qmi.c | 22 ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+commit 6b5799ea0f061197bd54730c89bbe1c1b523bcab
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 7 17:34:53 2012 +0200
+
+ broadband-modem-qmi: consolidate Serving System response/indication
+ processing
+
+ src/mm-broadband-modem-qmi.c | 306
+ +++++++++++++++++--------------------------
+ 1 file changed, 121 insertions(+), 185 deletions(-)
+
+commit 8bcf6dc47d1479a2c2252e9c0a9b2bc0a0f5383f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 7 17:15:52 2012 +0200
+
+ broadband-modem-qmi: implement 3GPP unsolicited registration events
+ for NAS >= 1.8
+
+ src/mm-broadband-modem-qmi.c | 394
+ +++++++++++++++++++++++++++++--------------
+ 1 file changed, 270 insertions(+), 124 deletions(-)
+
+commit c3f6e2e06fcc7ffda94a0545287937c0ec0f0a80
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 7 16:38:41 2012 +0200
+
+ TODO: add note about SIM provisioning info
+
+ TODO | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 2a9b9506ec56e7eb23ffc5e682099ae4fb389907
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 7 15:32:06 2012 +0200
+
+ TODO: add reminder to implement Operator name loading in NAS >= 1.8
+
+ TODO | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit a6a34c3b9c12247a3973970adf0f93aaf22a1dfa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 7 12:30:16 2012 +0200
+
+ broadband-modem-qmi: implement 3GPP registration checks for NAS >= 1.8
+
+ src/mm-broadband-modem-qmi.c | 449
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 443 insertions(+), 6 deletions(-)
+
+commit f015bf54db8de0e45f3843020684f38e3c339567
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 6 20:48:35 2012 +0200
+
+ broadband-modem-qmi: fix radio technology preference enum names
+
+ Sync with libqmi:
+
+ commit 54e5400f6977ae2036b54c2661c1e5c101e03fe4
+ Author: Aleksander Morgado <aleksander@lanedo.com>
+ Date: Mon Aug 6 19:57:06 2012 +0200
+
+ nas: fix `QmiNasRadioTechnologyPreference' enum names
+ 'Analog' and 'Digital' are purely 3GPP2 terms, so avoid those
+ and provide a mix
+ of 3GPP and 3GPP2 names.
+
+ src/mm-broadband-modem-qmi.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 03e1c9348e817607823f5df12c5b57ece7731d9e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 6 18:24:18 2012 +0200
+
+ broadband-modem-qmi: implement operator name/code loading with QMI
+
+ Just report the values cached during the 3GPP registration checks
+
+ src/mm-broadband-modem-qmi.c | 78
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit b708976bd6610b21813bffc71a2a6640eea5f99f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 6 17:52:50 2012 +0200
+
+ broadband-modem-qmi: implement 3GPP unsolicited registration events
+ for NAS < 1.8
+
+ src/mm-broadband-modem-qmi.c | 391
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 389 insertions(+), 2 deletions(-)
+
+commit 0b52840d1560e1a97e8a72ddbb87d8b1ae2eaff3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 6 17:23:30 2012 +0200
+
+ broadband-modem-qmi: implement 3GPP registration checks for NAS < 1.8
+
+ src/mm-broadband-modem-qmi.c | 272
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 268 insertions(+), 4 deletions(-)
+
+commit c97aaba47f4894422fe9c83c1f8cd6690a4e1e07
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 6 15:50:19 2012 +0200
+
+ broadband-modem-qmi: use version from the client to know supported
+ commands
+
+ Instead of always trying to use the newest commands and falling back
+ to the
+ deprecated one when found that it is not supported, use the service
+ version
+ given by the client to determine which is the best command to use.
+
+ Still, sometimes we need to handle ourselves the fallback to the
+ deprecated
+ command, when we don't exactly know in which service version the
+ new behaviour
+ was added (e.g. the 'Mode Preference' TLV in 'Get/Set System Selection
+ Preference' was last updated in NAS 1.16, but we don't exactly know
+ when it
+ was added).
+
+ src/mm-broadband-modem-qmi.c | 405
+ +++++++++++++++++--------------------------
+ 1 file changed, 162 insertions(+), 243 deletions(-)
+
+commit ad37b494c44ef10ac3a4f24b58eb6382cb4ee8fb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Aug 5 20:43:41 2012 +0200
+
+ broadband-modem-qmi: fix radio interface variable name
+
+ Sync with libqmi:
+
+ commit ebfa80154fad012bb6ea3e964dcea6f5b6cf3f91
+ Author: Aleksander Morgado <aleksander@lanedo.com>
+ Date: Thu Aug 2 12:06:09 2012 +0200
+
+ nas: consolidate variable names for `QmiNasRadioInterface' types
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e2c6c66d0c94000e34d621b2e1b11f772dcd0552
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Aug 5 20:42:44 2012 +0200
+
+ broadband-modem-qmi: fix method name
+
+ Sync with libqmi:
+
+ commit cc97645578d937417bb2d72d22714776a98c549e
+ Author: Aleksander Morgado <aleksander@lanedo.com>
+ Date: Thu Aug 2 12:15:05 2012 +0200
+
+ nas: don't mistake 'change duration' with 'preference duration'
+ They actually have POWER_CYCLE and PERMANENT values swapped.
+ Kudos to the one who decided that.
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 651d306c282d93bfd23d3987c0c2f23407d6ad94
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 1 09:28:50 2012 +0200
+
+ broadband-modem-qmi: fix missing GSimpleAsyncResult unrefs
+
+ src/mm-broadband-modem-qmi.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 3a29d1b2bc75418c8c61f19599581e252b79488a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 18:28:24 2012 +0200
+
+ broadband-modem-qmi: setup/cleanup signal quality related unsolicited
+ events
+
+ We setup signal handlers for every possible indication, even if they
+ are not
+ supported.
+
+ src/mm-broadband-modem-qmi.c | 227
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 227 insertions(+)
+
+commit 0bd9b46b0991ba43b12ae1cac1ae417f80b7f389
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 14:53:00 2012 +0200
+
+ broadband-modem-qmi: enable/disable signal quality related unsolicited
+ events
+
+ The logic here involves knowing if we have support for 'Signal Info'
+ indications. All the 'Signal Info' stuff was included in NAS 1.8,
+ so we're
+ just using a single flag to indicate support for that.
+
+ If we do have 'Signal Info', enabling the signal quality indications
+ involves
+ two steps: configuring thresholds with "Config Signal Info" and
+ then enabling
+ them with "Register Indications".
+
+ If we don't have 'Signal Info' we fallback to the good old "Set
+ Event Report"
+ for enabling/disabling the indications.
+
+ src/mm-broadband-modem-qmi.c | 383
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 378 insertions(+), 5 deletions(-)
+
+commit 88053b7342036ef27a168d728a8a2467bcfc94da
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 30 16:07:45 2012 +0200
+
+ broadband-modem-qmi: implement allowed mode setting
+
+ src/mm-broadband-modem-qmi.c | 312
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 312 insertions(+)
+
+commit da106845ca1eddb016445181b5d15e5c00dfed77
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 11:13:10 2012 +0200
+
+ broadband-modem-qmi: fix flags of supported commands for allowed modes
+
+ src/mm-broadband-modem-qmi.c | 22 +++++++++++++---------
+ 1 file changed, 13 insertions(+), 9 deletions(-)
+
+commit 979ae98feba2ffbf9801ec72a15c92646768d9de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 16:21:30 2012 +0200
+
+ TODO: handle devices with multiple QMI ports
+
+ TODO | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit e94f19789891707e4fa1c126927f4682d9bcf81e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 16:03:14 2012 +0200
+
+ broadband-modem-qmi: use 'low-power' mode when disabling
+
+ Reported by: Bjørn Mork <bjorn@mork.no>
+
+ src/mm-broadband-modem-qmi.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bef4fd64d4dbfd998eda68e47c20a81aeb2f7447
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 27 16:05:36 2012 +0200
+
+ broadband-modem-qmi: implement initial allowed mode loading using QMI
+
+ src/mm-broadband-modem-qmi.c | 319
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 319 insertions(+)
+
+commit 68c32dcf7b1a73fa78ecce096622aa2289c33c12
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 14:22:35 2012 +0200
+
+ broadband-modem-qmi: fix band enum names
+
+ src/mm-broadband-modem-qmi.c | 116
+ +++++++++++++++++++++----------------------
+ 1 file changed, 58 insertions(+), 58 deletions(-)
+
+commit 1c9ec829be51ed48958048229e848bfe460505c8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 10:57:27 2012 +0200
+
+ broadband-modem-qmi: load ESN from the cached info
+
+ src/mm-broadband-modem-qmi.c | 45
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+commit bb54ff4fecf2beb2ad7380c32bde785dba9d0c53
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 10:56:00 2012 +0200
+
+ broadband-modem-qmi: load MEID from the cached info
+
+ src/mm-broadband-modem-qmi.c | 45
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+commit b12abb6b97cddae88aeb2ad230e58d93be0fc620
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 10:53:44 2012 +0200
+
+ broadband-modem-qmi: implement the CDMA interface
+
+ src/mm-broadband-modem-qmi.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 9f6250e7a5876576c25223ec46f3c35175ae915c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 10:52:16 2012 +0200
+
+ broadband-modem-qmi: load IMEI from the cached info
+
+ src/mm-broadband-modem-qmi.c | 45
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+commit 38c9ccd0b9f0b556eb3e35f562f5f1ecb275bf45
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 10:45:59 2012 +0200
+
+ TODO: add task to see how to avoid QMI clients exhausted problem
+ in Gobi2k
+
+ TODO | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 2fb4080a7efab378fd88078eff32cd529ebe3084
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 10:26:42 2012 +0200
+
+ broadband-modem-qmi: cache IMEI, ESN and MEID values when loaded
+
+ src/mm-broadband-modem-qmi.c | 125
+ ++++++++++++++++++++++++++++---------------
+ 1 file changed, 82 insertions(+), 43 deletions(-)
+
+commit 37da8fabdab1a672dbfe205aee6b53ad45562ba0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 09:46:03 2012 +0200
+
+ broadband-modem-qmi: ignore charsets setup
+
+ src/mm-broadband-modem-qmi.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit e03edd56af21d4f40c0d5534482cda3fafb5ed35
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 09:44:53 2012 +0200
+
+ broadband-modem-qmi: ignore flow control setup
+
+ Not needed for QMI commands.
+
+ src/mm-broadband-modem-qmi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit d19fd3bcb154b1c4baa94850effc5c40f1da3359
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 09:43:56 2012 +0200
+
+ broadband-modem-qmi: ignore modem after-power-up
+
+ The generic implementation doesn't have a method for after power
+ up, we're
+ just ensuring that that is the case always.
+
+ src/mm-broadband-modem-qmi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit eaa94518195b8d12cdf6c1f1ce398181f94f20e2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 09:42:43 2012 +0200
+
+ broadband-modem-qmi: ignore modem initialization sequence
+
+ src/mm-broadband-modem-qmi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f1781f7589ffdf0f433375fc4c6c09b8c0d529f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 09:20:31 2012 +0200
+
+ broadband-modem-qmi: run modem power up/down using QMI
+
+ src/mm-broadband-modem-qmi.c | 115
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 115 insertions(+)
+
+commit 56721d687f0f6844bfddb558072c88d1e60665ff
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 08:45:41 2012 +0200
+
+ broadband-modem-qmi: log gathered signal strength/rssi values
+
+ src/mm-broadband-modem-qmi.c | 65
+ +++++++++++++++++++++++++++++---------------
+ 1 file changed, 43 insertions(+), 22 deletions(-)
+
+commit 40f96158af253e3efcee274e8e09430e364e1c14
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 25 17:37:44 2012 +0200
+
+ broadband-modem-qmi: implement signal quality loading using QMI
+
+ src/mm-broadband-modem-qmi.c | 242
+ +++++++++++++++++++++++++++++++++++++++++++
+ src/mm-broadband-modem-qmi.h | 2 +
+ 2 files changed, 244 insertions(+)
+
+commit 629f452d0746156d8adc61290305eba22ac25890
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 25 17:19:05 2012 +0200
+
+ broadband-modem-qmi: treat as fatal internal protocol errors when
+ checking PIN status
+
+ src/mm-broadband-modem-qmi.c | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+commit b5534d123bb023220a1d816110828912d4681de3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 25 11:42:38 2012 +0200
+
+ broadband-modem-qmi: implement network scan
+
+ The "NAS Network Scan" command replies with several optional TLVs. One
+ of the
+ TLVs gives the status of the network, using MCC/MNC as index;
+ another one gives
+ the radio access technology, also using MCC/MNC as index. But,
+ several entries
+ may have the same MCC/MNC, so there is no clear way to mix the
+ results of both
+ TLVs in the same element. We'll try to do a best guess, trying not
+ to use the
+ same RAT result twice, but this is really a best guess.
+
+ src/mm-broadband-modem-qmi.c | 201
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 201 insertions(+)
+
+commit 6686f8d4db3819a7b603bdb033d9731d47d91d76
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 23 11:15:58 2012 +0200
+
+ port-probe: minor indentation fixes
+
+ src/mm-port-probe.h | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 90c32a7a6db1df086c8b3ff60ba4a6184d8492ec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 14:49:14 2012 +0200
+
+ broadband-modem-qmi: load supported bands using QMI
+
+ Seems to me that "Get Band Capabilities" just returns the bands
+ 'currently'
+ allowed to use. E.g. my Pantech UML290 gives me:
+ 'cdma-bc0-cellular-800, cdma-bc1-pcs-1900'
+ (even if I know the modem can also do LTE and 3GPP)
+
+ src/mm-broadband-modem-qmi.c | 259
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 259 insertions(+)
+
+commit 7c3849ca53eddf79bac4f48cd1466551a17e5769
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 17 11:03:49 2012 +0200
+
+ broadband-modem-qmi: load facility locks state using QMI
+
+ src/mm-broadband-modem-qmi.c | 182
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 182 insertions(+)
+
+commit 8634403fd935e8875a33451a73262f4e0148ec2b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 17 10:36:56 2012 +0200
+
+ broadband-modem-qmi: implement the 3GPP interface
+
+ src/mm-broadband-modem-qmi.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 65b8d4794eb1d352a4a25f5346ae0579ac3c68be
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 17 09:45:54 2012 +0200
+
+ broadband-modem-qmi: run factory reset using QMI
+
+ src/mm-broadband-modem-qmi.c | 83
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 83 insertions(+)
+
+commit a17bc801a527bcf553090835263e7869067bded7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 4 10:21:43 2012 +0200
+
+ sim-qmi: enable/disable PIN using QMI
+
+ src/mm-sim-qmi.c | 79
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 79 insertions(+)
+
+commit 1e6d8ba7796843726a26034d017e05234d28dd5d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 4 10:15:24 2012 +0200
+
+ sim-qmi: change PIN using QMI
+
+ src/mm-sim-qmi.c | 78
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit 36aca91abb84ec4cd381625982ac8bfaaff914d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 4 10:09:45 2012 +0200
+
+ sim-qmi: skip loading operator identifier/name
+
+ Not yet implemented in libqmi-glib.
+
+ src/mm-sim-qmi.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 30bdc8d592ae83480b93c0788ae9be6d48976901
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 2 15:40:29 2012 +0200
+
+ sim-qmi: send PUK using QMI
+
+ src/mm-sim-qmi.c | 78
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit d1d5322f510e6c121ed797953802c0a32d685b2d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 2 15:34:18 2012 +0200
+
+ sim-qmi: send PIN using QMI
+
+ src/mm-sim-qmi.c | 75
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 75 insertions(+)
+
+commit 6dc6f7bf0d48ab060b0b79fbd465871d5a134245
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 2 13:19:01 2012 +0200
+
+ sim-qmi: update IMSI using QMI
+
+ src/mm-sim-qmi.c | 78
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit 742527aa606c73139fd8046c506362ed8c6ffef5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 2 13:04:48 2012 +0200
+
+ sim-qmi: update SIM ID (ICCID) using QMI
+
+ src/mm-sim-qmi.c | 114
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 114 insertions(+)
+
+commit 086a25da98e0902cb466cbb02d115adeb7d30023
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:43:13 2012 +0200
+
+ broadband-modem-qmi: create a `MMSimQmi' by default
+
+ src/mm-broadband-modem-qmi.c | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit e64bb097312078d88e603b8a7656bc3fc1d7f49b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 2 12:11:42 2012 +0200
+
+ sim-qmi: new `MMSimQmi' object
+
+ src/Makefile.am | 2 ++
+ src/mm-sim-qmi.c | 75
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sim-qmi.h | 51 ++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 128 insertions(+)
+
+commit f9ebfb8ee680dcb6a2e5cc91f332558e090fbc1c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:41:18 2012 +0200
+
+ broadband-modem-qmi: load unlock retries using QMI
+
+ src/mm-broadband-modem-qmi.c | 95
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 95 insertions(+)
+
+commit 6fe32b58cb66405df92f7219beeb9eef82b3cfbe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:40:34 2012 +0200
+
+ broadband-modem-qmi: load unlock required using QMI
+
+ src/mm-broadband-modem-qmi.c | 120
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 120 insertions(+)
+
+commit 5436a62f9c4de51af26126586ecb7364d0f5606f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:39:56 2012 +0200
+
+ broadband-modem-qmi: load own numbers using QMI
+
+ src/mm-broadband-modem-qmi.c | 79
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 79 insertions(+)
+
+commit b4dedcf944e6483563666b81aa803176f7a2a392
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:38:56 2012 +0200
+
+ broadband-modem-qmi: load device ID using QMI
+
+ src/mm-broadband-modem-qmi.c | 44
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 44 insertions(+)
+
+commit 12fb2312bb9899e0c8167103266dac5efe3efe77
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:38:21 2012 +0200
+
+ broadband-modem: let subclasses create their own device IDs
+
+ src/mm-broadband-modem.c | 38 ++++++++++++++++++++++++--------------
+ src/mm-broadband-modem.h | 6 ++++++
+ 2 files changed, 30 insertions(+), 14 deletions(-)
+
+commit 81fe9f84ec05b9faa99f90191da12b6e986a330e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:36:15 2012 +0200
+
+ broadband-modem-qmi: load equipment ID using QMI
+
+ src/mm-broadband-modem-qmi.c | 104
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 104 insertions(+)
+
+commit 573af140b8de386a373ef2a21b5bcf52d2f36485
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:35:24 2012 +0200
+
+ broadband-modem-qmi: load revision using QMI
+
+ src/mm-broadband-modem-qmi.c | 78
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit f3dee3d8ee295f8da6353d2b80864b82e171df59
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:34:49 2012 +0200
+
+ broadband-modem-qmi: load model using QMI
+
+ src/mm-broadband-modem-qmi.c | 78
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit bbbb98198d11d405e3609cb31798568ca7ca235f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 13:20:03 2012 +0200
+
+ broadband-modem-qmi: load manufacturer using QMI
+
+ src/mm-broadband-modem-qmi.c | 78
+ ++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit 816a7b14da6304b066250d6eddd967157413bf2f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 13:12:53 2012 +0200
+
+ broadband-modem-qmi: load current capabilities using QMI
+
+ src/mm-broadband-modem-qmi.c | 148
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 148 insertions(+)
+
+commit d2d5a4b89a526d275e4c224bf36b067a99122b7e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 12:44:11 2012 +0200
+
+ broadband-modem-qmi: implement the `Modem' interface
+
+ src/mm-broadband-modem-qmi.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit 6d77a54230292d8d7b4a1707eec98dd68bd49f57
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 14:17:18 2012 +0200
+
+ generic: create a generic QMI Broadband Modem if at least one QMI
+ port found
+
+ plugins/generic/mm-plugin-generic.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+commit b2db092b25f40aa21052d5807b48b7c940a70fee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 14:17:13 2012 +0200
+
+ gobi: create a generic QMI Broadband Modem if at least one QMI
+ port found
+
+ plugins/gobi/mm-plugin-gobi.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit 2038c5ed8625f925ae701f74b7573e6322844a03
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 12:15:24 2012 +0200
+
+ pantech: create a generic QMI Broadband Modem if at least one QMI
+ port found
+
+ plugins/pantech/mm-plugin-pantech.c | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+commit b2ea82ed3b85897094257ac63230048ab9605f1c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 12:19:19 2012 +0200
+
+ broadband-modem-qmi: keep the QMI port open for the whole lifetime
+ of the modem
+
+ The QMI port is opened during the modem initialization, and kept
+ open until the
+ modem gets destroyed.
+
+ src/mm-broadband-modem-qmi.c | 175
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 175 insertions(+)
+
+commit 19da38a330ad0e5ef567c074932a79ae09e897f2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 28 11:42:07 2012 +0200
+
+ qmi: new generic `MMBroadbandModemQmi' object
+
+ src/Makefile.am | 2 ++
+ src/mm-broadband-modem-qmi.c | 58
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-broadband-modem-qmi.h | 47 +++++++++++++++++++++++++++++++++++
+ 3 files changed, 107 insertions(+)
+
+commit 40c5e74fec2123aa4016b11df2751962238c7325
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 12:13:38 2012 +0200
+
+ qmi: setup allocation of service-specific clients
+
+ src/mm-qmi-port.c | 140
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-qmi-port.h | 16 +++++++
+ 2 files changed, 156 insertions(+)
+
+commit 8ee0e3f30fad2cf808ad4f87b5b0827e3d741584
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 14:16:53 2012 +0200
+
+ port-probe: new helper to check if a QMI port was found in a list
+ of probes
+
+ src/mm-port-probe.c | 13 +++++++++++++
+ src/mm-port-probe.h | 3 ++-
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+commit db99f340c89f589784a76879bcf3735c8317cfc7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 27 13:57:34 2012 +0200
+
+ port-probe: launch QMI probing on cdc-wdm ports
+
+ Some devices may export cdc-wdm ports talking AT. We need to
+ explicitly check
+ for QMI protocol support on the cdc-wdm ports before assuming they
+ are QMI.
+
+ src/mm-plugin.c | 38 +++++++-------
+ src/mm-port-probe.c | 140
+ +++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-port-probe.h | 4 ++
+ 3 files changed, 157 insertions(+), 25 deletions(-)
+
+commit 3e251129c2f2d481e3391d64db9fc12820899803
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 26 14:18:01 2012 +0200
+
+ base-modem: use the new `MMQmiPort' object
+
+ src/mm-base-modem.c | 12 ++++--------
+ src/mm-base-modem.h | 5 +++--
+ 2 files changed, 7 insertions(+), 10 deletions(-)
+
+commit 26d3c28e435a07aa4233ef3c3e6fc09f94a8e2b0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 26 14:12:44 2012 +0200
+
+ core: new `MMQmiPort' object
+
+ This object encapsulates the usage of the `QmiDevice' coming from
+ libqmi-glib.
+
+ configure.ac | 3 +-
+ src/Makefile.am | 4 +-
+ src/mm-qmi-port.c | 216
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-qmi-port.h | 59 +++++++++++++++
+ 4 files changed, 280 insertions(+), 2 deletions(-)
+
+commit dc8d9dfdb9456c3aae466d4f2168c1b0e24d8c16
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 26 13:01:39 2012 +0200
+
+ build: fix definitions of cflags/libs
+
+ configure.ac | 9 ++++++---
+ libmm-glib/Makefile.am | 4 ++--
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+commit f1e711e01bd08cfb68fbfbda0119913ed123f8b4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 11:22:56 2012 +0200
+
+ udev: don't require specific driver for cdc-wdm ports
+
+ Reported by Bjørn Mork <bjorn@mork.no>
+
+ src/80-mm-candidate.rules | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 73a9a037be65807f7eb3c04b5726bc9416ac1524
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 11 11:47:02 2012 +0200
+
+ base-modem: allow getting/peeking the QMI port
+
+ src/mm-base-modem.c | 33 ++++++++++++++++++++++++++++++++-
+ src/mm-base-modem.h | 2 ++
+ 2 files changed, 34 insertions(+), 1 deletion(-)
+
+commit 306b4eb5094fb4f46120b41a104e937d0f41e1e9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 11 11:38:49 2012 +0200
+
+ core: allow grabbing QMI ports
+
+ src/80-mm-candidate.rules | 2 +-
+ src/mm-base-modem.c | 14 +++++++++++--
+ src/mm-device.c | 11 ++++++++++
+ src/mm-manager.c | 39 ++++++++++++++++++++++++++---------
+ src/mm-plugin.c | 7 ++++---
+ src/mm-port-probe.c | 52
+ ++++++++++++++++++++++++++++++++++++++++-------
+ src/mm-port.h | 6 ++++--
+ 7 files changed, 106 insertions(+), 25 deletions(-)
+
+commit ab67c0b7c363198078c49b6003c4a2cbdffa6694
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 17:34:47 2012 +0200
+
+ cinterion: update AT command timeout when setting bands to 15s
+
+ Seems the reply to the command is received once the change has been
+ done, so it
+ may take longer than the previous default of 3s.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ae9e2df294faf2a6469db1223bb0ab7955be633c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 17:25:32 2012 +0200
+
+ iface-modem-3gpp: don't try to update anything if no skeleton
+ available
+
+ src/mm-iface-modem-3gpp.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 3ee1fb691c87cee5a5c27548a2f8dc03e596ec17
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 17:25:25 2012 +0200
+
+ iface-modem-cdma: don't try to update anything if no skeleton
+ available
+
+ src/mm-iface-modem-cdma.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 26e95b2d3c979bf35a49466a2b245a39da82fde0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 17:21:08 2012 +0200
+
+ iface-modem-location: don't try to update anything if no skeleton
+ available
+
+ src/mm-iface-modem-location.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 3ff03c946fb244bf336aebd61807b5ffa0b28124
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 17:07:10 2012 +0200
+
+ iface-modem-simple: don't launch band/mode updates unless explicitly
+ required
+
+ libmm-common/mm-simple-connect-properties.c | 38 ++++++++++++-------
+ libmm-common/mm-simple-connect-properties.h | 4 +-
+ src/mm-iface-modem-simple.c | 58
+ +++++++++++++++++------------
+ 3 files changed, 61 insertions(+), 39 deletions(-)
+
+commit 567a744a49deb81ecdda307444692d8c38d062c6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 17:06:09 2012 +0200
+
+ wavecom: fix segfault when setting allowed modes
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6b684fec5fef608eb28ab443598c3ca03f0077bc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 16:55:08 2012 +0200
+
+ cinterion: fix loading supported bands
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 19 ++++++++++++-------
+ 1 file changed, 12 insertions(+), 7 deletions(-)
+
+commit b087ba7d1d87cdc51d136eb186d984c40d04c831
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 16:52:26 2012 +0200
+
+ wavecom: fix loading supported bands
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 33
+ ++++++++++++++++------------
+ 1 file changed, 19 insertions(+), 14 deletions(-)
+
+commit 8225dec907adaca45eb7c2c1c8205401499e3d1d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 16:36:37 2012 +0200
+
+ iface-modem: supported bands may be reported as UNKNOWN if couldn't
+ be loaded
+
+ src/mm-iface-modem.c | 21 ++++++++++++++-------
+ 1 file changed, 14 insertions(+), 7 deletions(-)
+
+commit 9dbf9a8d0ec50be69b2b0f09634f12e04a4efd15
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 16:26:28 2012 +0200
+
+ iface-modem: don't validate against supported bands if these are
+ unknown
+
+ src/mm-iface-modem.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 67b051cf6999526d961ea7bb657644502df9ef90
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 28 16:18:03 2012 +0200
+
+ broadband-modem: skip trail/leading whitespaces in manufacturer,
+ model, revision
+
+ src/mm-broadband-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 667df5635c7ce947232d5071bed260668e843d7d
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 24 09:12:42 2012 -0700
+
+ iface-modem: skip setting bands if target list equals to current list
+
+ src/mm-iface-modem.c | 55
+ ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 53 insertions(+), 2 deletions(-)
+
+commit 178de0e51d925f7b20aedcfc6b773e9d173d13a8
+Author: Ben Chan <benchan@chromium.org>
+Date: Sat Aug 25 21:34:55 2012 -0700
+
+ sms-part: use g_set_error instead of g_error_new for consistency
+
+ src/mm-sms-part.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit e997803594873dffbdd9922e2f4f682f07e9a0eb
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Aug 24 08:04:09 2012 -0700
+
+ sim: validate IMSI value in +CIMI response
+
+ src/mm-sim.c | 32 ++++++++++++++++++++++++++++++--
+ 1 file changed, 30 insertions(+), 2 deletions(-)
+
+commit a1d6667df93703b3a15bca0388192680aa54027c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Aug 26 23:01:07 2012 +0200
+
+ novatel: don't claim the Novatel E362, should be handled by
+ `novatel-lte'
+
+ plugins/novatel/mm-plugin-novatel.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+commit 0436b3e45753a166fea18d6c1463aef5a38fd1ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 24 13:28:22 2012 +0200
+
+ api,introspection: report list of drivers, not just one
+
+ Different ports of the same modem may get handled by different
+ drivers. We
+ therefore need to provide a list of drivers (new `Modem.Drivers'
+ property with
+ signature 'as') instead of just one (removed `Modem.Driver'
+ property with
+ signature 's').
+
+ $ sudo mmcli -m 0 | grep drivers
+ | drivers: 'qcserial, qmi_wwan'
+
+ TODO | 3 --
+ cli/mmcli-modem.c | 15 ++++++-
+ .../org.freedesktop.ModemManager1.Modem.xml | 6 +--
+ libmm-glib/mm-modem.c | 24 +++++------
+ libmm-glib/mm-modem.h | 4 +-
+ plugins/anydata/mm-broadband-modem-anydata.c | 4 +-
+ plugins/anydata/mm-broadband-modem-anydata.h | 2 +-
+ plugins/anydata/mm-plugin-anydata.c | 4 +-
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 4 +-
+ plugins/cinterion/mm-broadband-modem-cinterion.h | 2 +-
+ plugins/cinterion/mm-plugin-cinterion.c | 4 +-
+ plugins/generic/mm-plugin-generic.c | 4 +-
+ plugins/gobi/mm-broadband-modem-gobi.c | 4 +-
+ plugins/gobi/mm-broadband-modem-gobi.h | 2 +-
+ plugins/gobi/mm-plugin-gobi.c | 4 +-
+ plugins/huawei/mm-broadband-modem-huawei.c | 4 +-
+ plugins/huawei/mm-broadband-modem-huawei.h | 2 +-
+ plugins/huawei/mm-plugin-huawei.c | 4 +-
+ plugins/icera/mm-broadband-modem-icera.c | 4 +-
+ plugins/icera/mm-broadband-modem-icera.h | 2 +-
+ plugins/iridium/mm-broadband-modem-iridium.c | 4 +-
+ plugins/iridium/mm-broadband-modem-iridium.h | 2 +-
+ plugins/iridium/mm-plugin-iridium.c | 4 +-
+ plugins/linktop/mm-broadband-modem-linktop.c | 4 +-
+ plugins/linktop/mm-broadband-modem-linktop.h | 2 +-
+ plugins/linktop/mm-plugin-linktop.c | 4 +-
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 4 +-
+ plugins/longcheer/mm-broadband-modem-longcheer.h | 2 +-
+ plugins/longcheer/mm-plugin-longcheer.c | 4 +-
+ plugins/mbm/mm-broadband-modem-mbm.c | 4 +-
+ plugins/mbm/mm-broadband-modem-mbm.h | 2 +-
+ plugins/mbm/mm-plugin-mbm.c | 4 +-
+ plugins/motorola/mm-broadband-modem-motorola.c | 4 +-
+ plugins/motorola/mm-broadband-modem-motorola.h | 2 +-
+ plugins/motorola/mm-plugin-motorola.c | 4 +-
+ plugins/nokia/mm-broadband-modem-nokia.c | 4 +-
+ plugins/nokia/mm-broadband-modem-nokia.h | 2 +-
+ plugins/nokia/mm-plugin-nokia-icera.c | 4 +-
+ plugins/nokia/mm-plugin-nokia.c | 4 +-
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 4 +-
+ plugins/novatel/mm-broadband-modem-novatel-lte.h | 2 +-
+ plugins/novatel/mm-broadband-modem-novatel.c | 4 +-
+ plugins/novatel/mm-broadband-modem-novatel.h | 2 +-
+ plugins/novatel/mm-plugin-novatel-lte.c | 4 +-
+ plugins/novatel/mm-plugin-novatel.c | 4 +-
+ plugins/option/mm-broadband-modem-hso.c | 10 ++---
+ plugins/option/mm-broadband-modem-hso.h | 2 +-
+ plugins/option/mm-broadband-modem-option.c | 4 +-
+ plugins/option/mm-broadband-modem-option.h | 2 +-
+ plugins/option/mm-plugin-hso.c | 4 +-
+ plugins/option/mm-plugin-option.c | 4 +-
+ plugins/pantech/mm-plugin-pantech.c | 4 +-
+ plugins/samsung/mm-broadband-modem-samsung.c | 4 +-
+ plugins/samsung/mm-broadband-modem-samsung.h | 2 +-
+ plugins/samsung/mm-plugin-samsung.c | 4 +-
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 4 +-
+ plugins/sierra/mm-broadband-modem-sierra-icera.h | 2 +-
+ plugins/sierra/mm-broadband-modem-sierra.c | 4 +-
+ plugins/sierra/mm-broadband-modem-sierra.h | 2 +-
+ plugins/sierra/mm-common-sierra.c | 15 ++++---
+ plugins/sierra/mm-plugin-sierra.c | 6 +--
+ plugins/simtech/mm-broadband-modem-simtech.c | 4 +-
+ plugins/simtech/mm-broadband-modem-simtech.h | 2 +-
+ plugins/simtech/mm-plugin-simtech.c | 4 +-
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 4 +-
+ plugins/wavecom/mm-broadband-modem-wavecom.h | 2 +-
+ plugins/wavecom/mm-plugin-wavecom.c | 4 +-
+ plugins/x22x/mm-broadband-modem-x22x.c | 4 +-
+ plugins/x22x/mm-broadband-modem-x22x.h | 2 +-
+ plugins/x22x/mm-plugin-x22x.c | 4 +-
+ plugins/zte/mm-broadband-modem-zte-icera.c | 4 +-
+ plugins/zte/mm-broadband-modem-zte-icera.h | 2 +-
+ plugins/zte/mm-broadband-modem-zte.c | 4 +-
+ plugins/zte/mm-broadband-modem-zte.h | 2 +-
+ plugins/zte/mm-plugin-zte.c | 6 +--
+ src/mm-base-modem.c | 36 ++++++++--------
+ src/mm-base-modem.h | 8 ++--
+ src/mm-broadband-modem.c | 4 +-
+ src/mm-broadband-modem.h | 2 +-
+ src/mm-device.c | 50
+ ++++++++++++++++++----
+ src/mm-device.h | 24 +++++------
+ src/mm-iface-modem.c | 12 +++---
+ src/mm-plugin.c | 37 ++++++++++------
+ src/mm-plugin.h | 2 +-
+ 84 files changed, 268 insertions(+), 214 deletions(-)
+
+commit a595912d2d70fce7a8370b194c230331fee605a7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 24 13:09:17 2012 +0200
+
+ novatel: fix creation of the `MMBroadbandModemNovatel' object
+
+ plugins/novatel/mm-plugin-novatel.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 985f510041a131cd1400deca5a9a9b004479dcac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 24 12:28:34 2012 +0200
+
+ cli: fix output message when storing a SMS
+
+ cli/mmcli-sms.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ba4e209745676a08f7c886d7cd0ba13202e336d5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 24 12:01:01 2012 +0200
+
+ sms: fix sending SMS messages on some modems
+
+ This is the port to git master of the following commit:
+
+ commit 65f13f41cfd00cd38f118121a58b83713501f45f
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Tue Jul 17 16:00:31 2012 -0500
+
+ gsm: fix sending SMS messages on some modems and use PDU by
+ default
+
+ It turns out we really do have to wait for the modem to return the
+ ">" prompt before sending the message data, otherwise a number of
+ modems will complain about the data and fail the message.
+ Fix that
+ by sending the first bit of the CMGS, waiting for the ">",
+ and then
+ sending the rest.
+
+ This also switches all modems over to PDU mode by default if they
+ support it, since it's more compatible and most recent modems
+ don't
+ even bother to support text mode anyway.
+
+ src/mm-serial-parsers.c | 19 ++++++--
+ src/mm-sms.c | 118
+ ++++++++++++++++++++++++++++++++++++------------
+ 2 files changed, 105 insertions(+), 32 deletions(-)
+
+commit 4fe7c7d637644de6b24e7d71a45aad3647086e19
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 24 11:47:14 2012 +0200
+
+ base-modem-at: new `mm_base_modem_at_command_raw()'
+
+ Equivalent to `mm_base_modem_at_command()', but with a raw setup.
+
+ src/mm-base-modem-at.c | 39 +++++++++++++++++++++++++++++++--------
+ src/mm-base-modem-at.h | 7 +++++++
+ 2 files changed, 38 insertions(+), 8 deletions(-)
+
+commit d18dbb869ae0546dc5baa3118535e701fa513b34
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 24 11:45:02 2012 +0200
+
+ base-modem-at: add 'raw' handling to `mm_base_modem_at_command_full()'
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 1 +
+ plugins/icera/mm-broadband-bearer-icera.c | 7 +++++++
+ plugins/iridium/mm-bearer-iridium.c | 3 +++
+ plugins/mbm/mm-broadband-bearer-mbm.c | 4 ++++
+ plugins/option/mm-broadband-bearer-hso.c | 32
+ +++++++++++++++++------------
+ plugins/option/mm-broadband-modem-hso.c | 4 +++-
+ plugins/sierra/mm-broadband-bearer-sierra.c | 4 ++++
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 ++
+ src/mm-base-modem-at.c | 11 +++++-----
+ src/mm-base-modem-at.h | 1 +
+ src/mm-broadband-bearer.c | 9 ++++++++
+ src/mm-broadband-modem.c | 8 ++++++--
+ 12 files changed, 65 insertions(+), 21 deletions(-)
+
+commit d9ea4a304c06d28c5f8d780abe6f57cc179ba2a8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 24 11:39:19 2012 +0200
+
+ at-serial-port: allow sending 'raw' commands
+
+ Commands treated as 'raw' won't get the 'AT' prefix and will also
+ not get the
+ trailing carriage return.
+
+ plugins/huawei/mm-plugin-huawei.c | 2 ++
+ plugins/longcheer/mm-plugin-longcheer.c | 1 +
+ plugins/sierra/mm-plugin-sierra.c | 1 +
+ plugins/x22x/mm-plugin-x22x.c | 1 +
+ src/mm-at-serial-port.c | 25 ++++++++++++++++---------
+ src/mm-at-serial-port.h | 2 ++
+ src/mm-base-modem-at.c | 5 +++++
+ src/mm-port-probe.c | 1 +
+ 8 files changed, 29 insertions(+), 9 deletions(-)
+
+commit d74336e96dc24b578324f45d57e108d686a95df5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 24 11:37:38 2012 +0200
+
+ build: warn about unused but set variables
+
+ m4/compiler_warnings.m4 | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 20cd805a2a9a1f637108b9b132d3ab007bd43d5f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 18:54:26 2012 +0200
+
+ build: cleanup plugin compilation rules
+
+ plugins/Makefile.am | 36 ------------------------------------
+ 1 file changed, 36 deletions(-)
+
+commit e1aa7d376f27ab46a3f7711a2a0c0b0c4be913bd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 18:53:51 2012 +0200
+
+ mbm: plugin fully ported
+
+ plugins/mm-modem-mbm.c | 1068
+ -----------------------------------------------
+ plugins/mm-modem-mbm.h | 50 ---
+ plugins/mm-plugin-mbm.c | 194 ---------
+ plugins/mm-plugin-mbm.h | 44 --
+ 4 files changed, 1356 deletions(-)
+
+commit 2d0cb24af86610032e4f797ccc407ec0722623bd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 18:52:32 2012 +0200
+
+ mbm: implement custom 3GPP disconnection sequence
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 82
+ +++++++++++++++++++++++++++++++++++
+ 1 file changed, 82 insertions(+)
+
+commit 3ddb57d816ae449c4b4b2d7fc4c201d4d68cf50d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 18:49:16 2012 +0200
+
+ mbm: implement custom 3GPP dialling sequence
+
+ plugins/mbm/mm-broadband-bearer-mbm.c | 417
+ ++++++++++++++++++++++++++++++++++
+ plugins/mbm/mm-broadband-bearer-mbm.h | 10 +
+ plugins/mbm/mm-broadband-modem-mbm.c | 103 +++++++--
+ 3 files changed, 516 insertions(+), 14 deletions(-)
+
+commit 2f20fc64c27fa48675c170460f2584279831ae23
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 17:57:25 2012 +0200
+
+ mbm: new `MMBroadbandBearerMbm' object
+
+ plugins/Makefile.am | 4 +-
+ plugins/mbm/mm-broadband-bearer-mbm.c | 93
+ +++++++++++++++++++++++++++++++++++
+ plugins/mbm/mm-broadband-bearer-mbm.h | 66 +++++++++++++++++++++++++
+ plugins/mbm/mm-broadband-modem-mbm.c | 59 ++++++++++++++++++++++
+ 4 files changed, 221 insertions(+), 1 deletion(-)
+
+commit 3753184eb149c9f12ea8d24f65da3a9339f890ae
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 17:41:31 2012 +0200
+
+ mbm: implement custom PIN retry count loading
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 61
+ ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 61 insertions(+)
+
+commit 3cdfa93c7376a10092cc771ff79430bc3e77fb75
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 17:32:51 2012 +0200
+
+ mbm: implement custom modem factory reset
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 48
+ ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+commit 1fa82ebd403c6b696b607046ad370726a3db7272
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 17:27:03 2012 +0200
+
+ mbm: implement custom modem reset
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit ef300a69b6b859f071849bd7a39653cf03a0e305
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 17:24:17 2012 +0200
+
+ mbm: receive E2NAP unsolicited messages
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit e9941b1b80f4cc7c237fc9a5b94b5d7a025bc7d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 17:19:29 2012 +0200
+
+ mbm: implement custom 3GPP unsolicited messages setup/cleanup
+
+ Including access technology reporting now.
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 162
+ +++++++++++++++++++++++++++++++++++
+ 1 file changed, 162 insertions(+)
+
+commit 08825d361c8cf033df3acf1a3483ce55d8f96816
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 17:10:04 2012 +0200
+
+ mbm: no need to flash serial ports
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 894ff1be689647425b76237515ffe2f50701693b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 17:09:03 2012 +0200
+
+ mbm: ignore several unsolicited messages
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit 49f5bc98e2577a0e6c4d1c4f9695d344a0a38830
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 17:02:16 2012 +0200
+
+ mbm: only allow enabling if *EMRDY has been received
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 152
+ +++++++++++++++++++++++++++++++++--
+ 1 file changed, 146 insertions(+), 6 deletions(-)
+
+commit 6c6cbb33e7bfd1709e57f677ec265b65e4e5c1ef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 16:31:34 2012 +0200
+
+ mbm: implement custom initialization commands
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 36
+ ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+commit 2a06d1ed08addd97578f71d671cdaf87d8a71515
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 16:27:01 2012 +0200
+
+ mbm: implement custom power-up command
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 52
+ +++++++++++++++++++++++++++++++++++-
+ plugins/mbm/mm-broadband-modem-mbm.h | 2 ++
+ 2 files changed, 53 insertions(+), 1 deletion(-)
+
+commit efe4a7fb755b4b140cb680cb92e2d9f925387f96
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 15:25:56 2012 +0200
+
+ mbm: implement custom 3GPP unsolicited events enabling/disabling
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 155
+ ++++++++++++++++++++++++++++++++++-
+ 1 file changed, 154 insertions(+), 1 deletion(-)
+
+commit 78a716e07b3fb4e2227eb35ac3cf8d325751805b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 15:19:31 2012 +0200
+
+ mbm: implement custom allowed mode setting
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 87
+ ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 87 insertions(+)
+
+commit e2c7ff2219d546e1ded96c0ace4e4f7b7648c25d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 15:10:49 2012 +0200
+
+ mbm: implement custom allowed mode loading
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 65
+ ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 65 insertions(+)
+
+commit 758eb07c0d830eaa6cc01b96c1d7cbdf89a25156
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 15:00:56 2012 +0200
+
+ mbm: sleep 500ms after sim unlock
+
+ plugins/mbm/mm-broadband-modem-mbm.c | 48
+ +++++++++++++++++++++++++++++++++++-
+ 1 file changed, 47 insertions(+), 1 deletion(-)
+
+commit ea53df17ddb140f63d0743e83bf98e697952d595
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 14:53:14 2012 +0200
+
+ mbm: new `MMBroadbandModemMbm' object
+
+ plugins/Makefile.am | 4 ++-
+ plugins/mbm/mm-broadband-modem-mbm.c | 66
+ ++++++++++++++++++++++++++++++++++++
+ plugins/mbm/mm-broadband-modem-mbm.h | 56 ++++++++++++++++++++++++++++++
+ plugins/mbm/mm-plugin-mbm.c | 12 +++----
+ 4 files changed, 131 insertions(+), 7 deletions(-)
+
+commit c7c21ae460cd87aa93c9fcba3f35fec0cffffd9d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 12:33:01 2012 +0200
+
+ mbm: start porting the MBM plugin
+
+ plugins/Makefile.am | 18 +++----
+ plugins/{ => mbm}/77-mm-ericsson-mbm.rules | 0
+ plugins/mbm/mm-plugin-mbm.c | 83
+ ++++++++++++++++++++++++++++++
+ plugins/mbm/mm-plugin-mbm.h | 43 ++++++++++++++++
+ 4 files changed, 135 insertions(+), 9 deletions(-)
+
+commit 24bb59f5a52257cf3e785736ca8fc27517d2e010
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 11:44:24 2012 +0200
+
+ sierra: plugin fully ported
+
+ plugins/mm-modem-sierra-cdma.c | 415 -------------------
+ plugins/mm-modem-sierra-cdma.h | 47 ---
+ plugins/mm-modem-sierra-gsm.c | 917
+ -----------------------------------------
+ plugins/mm-modem-sierra-gsm.h | 45 --
+ plugins/mm-plugin-sierra.c | 244 -----------
+ plugins/mm-plugin-sierra.h | 42 --
+ 6 files changed, 1710 deletions(-)
+
+commit 6b1ee4e3cbf82a06943de56589c5ee533065bc79
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 12:10:55 2012 +0200
+
+ sierra: both AT and QCDM expected
+
+ plugins/sierra/mm-plugin-sierra.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 896e0469f027768757a68266f0390b203cbf06d5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 11:43:07 2012 +0200
+
+ sierra: implement custom CDMA detailed registration checks
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 338
+ ++++++++++++++++++++++++++++-
+ 1 file changed, 337 insertions(+), 1 deletion(-)
+
+commit 5764d396899c725d5702710af030d23744d3f0d4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 11:42:50 2012 +0200
+
+ modem-helpers: ERI parser is generic enough, not just for !SPERI
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 2 +-
+ src/mm-broadband-modem.c | 2 +-
+ src/mm-modem-helpers.c | 8 ++++----
+ src/mm-modem-helpers.h | 10 +++++-----
+ 4 files changed, 11 insertions(+), 11 deletions(-)
+
+commit 86e7b0e8c6d88565adcac5dcb72f87e3fd97f0d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 11:24:33 2012 +0200
+
+ sierra: custom power-down command for CDMA modems
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 58
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 58 insertions(+)
+
+commit 5b9c1625b6025d027c40fc62081e154507181557
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 23 11:19:14 2012 +0200
+
+ sierra: custom power-up command for CDMA modems
+
+ plugins/sierra/mm-common-sierra.c | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+commit 7027c6e9729f5eeaf53c11d7791b372cb9e85e43
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 17:14:14 2012 +0200
+
+ sierra: custom 3GPP disconnection sequence
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 97
+ +++++++++++++++++++++++++++++
+ 1 file changed, 97 insertions(+)
+
+commit d8bc27a8c3681693a0c297a965d5f5858258d96a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 17:02:18 2012 +0200
+
+ sierra: custom 3GPP dialling sequence
+
+ plugins/sierra/mm-broadband-bearer-sierra.c | 244
+ ++++++++++++++++++++++++++++
+ 1 file changed, 244 insertions(+)
+
+commit d091344da2e50ef4016a87493b06fc54e40a2184
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 16:44:10 2012 +0200
+
+ broadband-bearer: pass down the data port to the 3GPP dialling step
+
+ Plugins may require specific dialling commands depending on the
+ port type.
+
+ plugins/icera/mm-broadband-bearer-icera.c | 1 +
+ plugins/option/mm-broadband-bearer-hso.c | 1 +
+ src/mm-broadband-bearer.c | 2 ++
+ src/mm-broadband-bearer.h | 1 +
+ 4 files changed, 5 insertions(+)
+
+commit 3666168c121e7ad74c611af74f8c905cec9d030b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 16:30:56 2012 +0200
+
+ sierra: new `MMBroadbandBearerSierra' object
+
+ plugins/Makefile.am | 2 +
+ plugins/sierra/mm-broadband-bearer-sierra.c | 85
+ +++++++++++++++++++++++++++++
+ plugins/sierra/mm-broadband-bearer-sierra.h | 58 ++++++++++++++++++++
+ plugins/sierra/mm-broadband-modem-sierra.c | 59 ++++++++++++++++++++
+ 4 files changed, 204 insertions(+)
+
+commit 79b4c4b47d39907c0a38d5e13d9e9a6c576b5e9b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 16:11:19 2012 +0200
+
+ sierra: implement custom ports setup
+
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 15 +++++++++++
+ plugins/sierra/mm-broadband-modem-sierra.c | 15 +++++++++++
+ plugins/sierra/mm-common-sierra.c | 32
+ ++++++++++++++++++++++++
+ plugins/sierra/mm-common-sierra.h | 2 ++
+ 4 files changed, 64 insertions(+)
+
+commit 96a6e8923ae2d2d418f868a15fbf662c737df09d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 16:01:10 2012 +0200
+
+ broadband-bearer: generic CDMA connections are all over serial port
+ and PPP
+
+ src/mm-broadband-bearer.c | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+commit e38828c31808d7055a739083dffe773e9e8782aa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 16:00:12 2012 +0200
+
+ broadband-bearer: allow implementations to override the port used
+ for connection
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 4 ++
+ src/mm-broadband-bearer.c | 84
+ +++++++++++++++--------
+ src/mm-broadband-bearer.h | 2 +
+ 3 files changed, 61 insertions(+), 29 deletions(-)
+
+commit 3dfb48d75a715e593354840e3ec59eedf55c3847
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 15:05:30 2012 +0200
+
+ sierra: custom SIM identifier loading
+
+ plugins/sierra/mm-sim-sierra.c | 113
+ +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 113 insertions(+)
+
+commit 0c80815ea2366bbf2dbc3b2bf4aee8aa175d435e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 14:50:28 2012 +0200
+
+ sierra: new `MMSimSierra' object
+
+ plugins/Makefile.am | 2 +
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 2 +
+ plugins/sierra/mm-broadband-modem-sierra.c | 2 +
+ plugins/sierra/mm-common-sierra.c | 24 ++++++++
+ plugins/sierra/mm-common-sierra.h | 7 +++
+ plugins/sierra/mm-sim-sierra.c | 77
+ ++++++++++++++++++++++++
+ plugins/sierra/mm-sim-sierra.h | 53 ++++++++++++++++
+ 7 files changed, 167 insertions(+)
+
+commit cd2174d2ef0a0fa023ac2ddfeaa7ca0abb2ea7b0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 14:38:01 2012 +0200
+
+ sierra: implement custom allowed/preferred mode setting
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 117
+ +++++++++++++++++++++++++++++
+ 1 file changed, 117 insertions(+)
+
+commit bce0a2c48e4a865f30ee0371712d577be8ccfaa1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 12:55:40 2012 +0200
+
+ sierra: implement custom allowed/preferred mode loading
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 145
+ +++++++++++++++++++++++++++++
+ 1 file changed, 145 insertions(+)
+
+commit b6fb78ffd71ff14b14a302158cc87ed1f42b3dba
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 12:31:23 2012 +0200
+
+ sierra,icera: implement custom power up sequence
+
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+commit 713eb2848476d331d01df57549cb5aa307f77f6f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 12:29:39 2012 +0200
+
+ sierra: new `MMBroadbandModemSierraIcera' object
+
+ plugins/Makefile.am | 4 +-
+ plugins/sierra/mm-broadband-modem-sierra-icera.c | 59
+ ++++++++++++++++++++++++
+ plugins/sierra/mm-broadband-modem-sierra-icera.h | 49
+ ++++++++++++++++++++
+ plugins/sierra/mm-plugin-sierra.c | 12 ++---
+ 4 files changed, 117 insertions(+), 7 deletions(-)
+
+commit 4195a3f1a3ee3a7b15457a965b04489d9b091c22
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 12:25:03 2012 +0200
+
+ sierra: implement custom power up sequence
+
+ It is split in a new set of `mm-common-sierra.[hc]' files as this
+ sequence will
+ also be used in Icera-based modems.
+
+ plugins/Makefile.am | 2 +
+ plugins/sierra/mm-broadband-modem-sierra.c | 3 +
+ plugins/sierra/mm-common-sierra.c | 137
+ +++++++++++++++++++++++++++++
+ plugins/sierra/mm-common-sierra.h | 31 +++++++
+ 4 files changed, 173 insertions(+)
+
+commit d517b611e9fbc24a5d0e58cc7bd87f2d448412cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 12:12:50 2012 +0200
+
+ sierra: load access technologies in 3GPP modems
+
+ plugins/sierra/mm-broadband-modem-sierra.c | 103
+ ++++++++++++++++++++++++++++-
+ 1 file changed, 102 insertions(+), 1 deletion(-)
+
+commit 2d425d89b94694979ea182c1ead7b0af4dd623a3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 12:00:33 2012 +0200
+
+ sierra: new `MMBroadbandModemSierra' object
+
+ plugins/Makefile.am | 4 +-
+ plugins/sierra/mm-broadband-modem-sierra.c | 59
+ ++++++++++++++++++++++++++++++
+ plugins/sierra/mm-broadband-modem-sierra.h | 49 +++++++++++++++++++++++++
+ plugins/sierra/mm-plugin-sierra.c | 12 +++---
+ 4 files changed, 117 insertions(+), 7 deletions(-)
+
+commit d033d6927ff59c0b11dbe5922ca9a7db516934c0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 10:52:21 2012 +0200
+
+ sierra: allow Icera-based sierra modems
+
+ plugins/Makefile.am | 3 ++-
+ plugins/sierra/mm-plugin-sierra.c | 17 +++++++++++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+commit 69316289e8aaea84cd5c22f940f4e83def1819e4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 10:38:49 2012 +0200
+
+ sierra: start porting the Sierra plugin
+
+ plugins/Makefile.am | 21 ++--
+ plugins/sierra/mm-plugin-sierra.c | 232
+ ++++++++++++++++++++++++++++++++++++++
+ plugins/sierra/mm-plugin-sierra.h | 42 +++++++
+ 3 files changed, 282 insertions(+), 13 deletions(-)
+
+commit b2ada906b0c39f5b4f74fff9c4167d11faf4f3c7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 14:50:05 2012 +0200
+
+ nokia: fix SIM object creation
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 55699e651892b62d46a2734f9aca7b773115bb1d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 14:49:55 2012 +0200
+
+ iridium: fix SIM object creation
+
+ plugins/iridium/mm-broadband-modem-iridium.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1ac18a06bb37d8745480a9af4fd6bc2f762bf265
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 22 09:35:15 2012 +0200
+
+ api,dbus: 'ip-type' property now given as a MMBearerIpFamily (u)
+
+ Instead of using a predefined set of string values for 'ip-type' in
+ Modem.CreateBearer() and Simple.Connect(), we'll use an
+ enumeration. The
+ implementation will then need to convert the requested IP family
+ type to e.g.
+ the correct PDP type in 3GPP modems.
+
+ This change also consolidates the use of enums in dictionary
+ properties when
+ possible to do so, as with the Rm Protocol.
+
+ cli/mmcli-bearer.c | 3 +-
+ docs/reference/api/ModemManager-sections.txt | 1 +
+ include/ModemManager-enums.h | 16 +++++
+ .../org.freedesktop.ModemManager1.Modem.Simple.xml | 4 +-
+ .../org.freedesktop.ModemManager1.Modem.xml | 2 +-
+ libmm-common/mm-bearer-properties.c | 36 +++++++-----
+ libmm-common/mm-bearer-properties.h | 4 +-
+ libmm-common/mm-common-helpers.c | 22 +++++++
+ libmm-common/mm-common-helpers.h | 2 +
+ libmm-common/mm-simple-connect-properties.c | 6 +-
+ libmm-common/mm-simple-connect-properties.h | 30 +++++-----
+ src/mm-broadband-bearer.c | 22 +++++--
+ src/mm-modem-helpers.c | 68
+ +++++++++++++++++-----
+ src/mm-modem-helpers.h | 5 +-
+ src/tests/test-modem-helpers.c | 4 +-
+ 15 files changed, 163 insertions(+), 62 deletions(-)
+
+commit c15525a1b3c2006e614f75a372f374176f576c23
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 18:28:46 2012 +0200
+
+ libmm-common: default is to request IPv4
+
+ libmm-common/mm-bearer-properties.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 39b497c3e758c8be6974ea0ae9a4e64cb5151c34
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 21 16:41:44 2012 +0200
+
+ iridium: plug memleak
+
+ plugins/iridium/mm-bearer-iridium.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d26071325c2555c1926db84cc77db2084313c4ef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 20 16:24:08 2012 +0200
+
+ novatel: plugin fully ported
+
+ plugins/mm-modem-novatel-cdma.c | 310 ----------------------------------
+ plugins/mm-modem-novatel-cdma.h | 47 ------
+ plugins/mm-modem-novatel-gsm.c | 366
+ ----------------------------------------
+ plugins/mm-modem-novatel-gsm.h | 45 -----
+ plugins/mm-plugin-novatel.c | 191 ---------------------
+ plugins/mm-plugin-novatel.h | 42 -----
+ 6 files changed, 1001 deletions(-)
+
+commit 678972b63a0c2608f19a49a9caf9efd3406054a8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 20 16:22:56 2012 +0200
+
+ novatel: add detailed CDMA registration state checks
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 171
+ ++++++++++++++++++++++++++-
+ 1 file changed, 170 insertions(+), 1 deletion(-)
+
+commit 773ff03f9132d7b8a16818cdfa2ea6c2e0ac304a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 14 18:08:24 2012 +0200
+
+ novatel: custom signal quality loading for non-3GPP modems
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 151
+ +++++++++++++++++++++++++++
+ 1 file changed, 151 insertions(+)
+
+commit 953f787bf349842d5a31a5dd38f7b78a4d860b98
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 13 11:56:18 2012 +0200
+
+ novatel: allowed modes and access tech loading only in non-CDMA modems
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 195
+ +++++++++++++++++++++------
+ 1 file changed, 152 insertions(+), 43 deletions(-)
+
+commit c9337cc8b91ea6c5fc8022ae876d4dc5ee3904fa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 13 11:31:26 2012 +0200
+
+ novatel: configure SM storage as default always
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 348a80374ae8ff5d523349f8874011525647f683
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 13 11:29:21 2012 +0200
+
+ novatel: implement custom messaging unsolicited messages enabling
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 37
+ +++++++++++++++++++++++++++-
+ 1 file changed, 36 insertions(+), 1 deletion(-)
+
+commit 1931a69e50d295b0e7ea308e9770381fdf0700b7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 13 11:07:45 2012 +0200
+
+ novatel: implement current access technology loading
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 49
+ ++++++++++++++++++++++++++++
+ 1 file changed, 49 insertions(+)
+
+commit e150c4cf922a4caf2b741a2a155e7ae53eb57740
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 08:52:03 2012 +0200
+
+ novatel: implement allowed mode loading/setting
+
+ Settings are given with the 'AT$NWRAT' arguments as follows:
+ 1,1: 2G allowed
+ 2,1: 3G allowed
+ 0,2: 2G and 3G allowed, none preferred
+ 1,2: 2G and 3G allowed, 2G preferred
+ 2,2: 2G and 3G allowed, 3G preferred
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 205
+ ++++++++++++++++++++++++++-
+ 1 file changed, 204 insertions(+), 1 deletion(-)
+
+commit b8e5dbcaf45aa34423e066e2af669f9c87af9f6f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 30 23:49:11 2012 +0200
+
+ novatel: flip secondary ports to AT mode during port setup
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 23 +++++++++++++++++++++++
+ src/mm-base-modem-at.c | 17 +++++++++++++++++
+ src/mm-base-modem-at.h | 9 +++++++++
+ 3 files changed, 49 insertions(+)
+
+commit 058fd0256de7e374660088387f291df63880cdb4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 30 21:06:12 2012 +0200
+
+ novatel: new `MMBroadbandModemNovatel'
+
+ plugins/Makefile.am | 4 +-
+ plugins/novatel/mm-broadband-modem-novatel.c | 60
+ ++++++++++++++++++++++++++++
+ plugins/novatel/mm-broadband-modem-novatel.h | 51 +++++++++++++++++++++++
+ 3 files changed, 114 insertions(+), 1 deletion(-)
+
+commit 56a7e40e373883a7d2c5e430b4a554aa65974b3e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 30 20:48:40 2012 +0200
+
+ novatel: start porting the Novatel plugin
+
+ plugins/Makefile.am | 8 ++++
+ plugins/novatel/mm-plugin-novatel.c | 86
+ +++++++++++++++++++++++++++++++++++++
+ plugins/novatel/mm-plugin-novatel.h | 48 +++++++++++++++++++++
+ 3 files changed, 142 insertions(+)
+
+commit eb71b9464d715ce00027aea33b98b4455e178192
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 30 21:02:07 2012 +0200
+
+ novatel-lte: reorganize code
+
+ Just to make it more aligned with how other plugins are structured.
+
+ plugins/novatel/mm-broadband-bearer-novatel-lte.c | 82
+ ++++++++++++-----------
+ plugins/novatel/mm-broadband-modem-novatel-lte.c | 60 +++++++++--------
+ 2 files changed, 77 insertions(+), 65 deletions(-)
+
+commit b399a17163d4035d208050220ef5daf230677bfb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 30 19:47:09 2012 +0200
+
+ novatel-lte: renamed the plugin to "Novatel LTE"
+
+ This plugin only handles the E362 right now.
+
+ plugins/Makefile.am | 22 ++++----
+ ...novatel.c => mm-broadband-bearer-novatel-lte.c} | 44 +++++++--------
+ plugins/novatel/mm-broadband-bearer-novatel-lte.h | 64
+ ++++++++++++++++++++++
+ plugins/novatel/mm-broadband-bearer-novatel.h | 64
+ ----------------------
+ ...-novatel.c => mm-broadband-modem-novatel-lte.c} | 28 +++++-----
+ plugins/novatel/mm-broadband-modem-novatel-lte.h | 50 +++++++++++++++++
+ plugins/novatel/mm-broadband-modem-novatel.h | 50 -----------------
+ ...mm-plugin-novatel.c => mm-plugin-novatel-lte.c} | 24 ++++----
+ ...mm-plugin-novatel.h => mm-plugin-novatel-lte.h} | 24 ++++----
+ 9 files changed, 185 insertions(+), 185 deletions(-)
+
+commit 84d205c9be4fa5e6d773ac60edc7200885da7af6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 30 20:25:22 2012 +0200
+
+ plugin: new filters for forbidden product IDs/strings
+
+ Plugins may specify that specific vendor & product IDs or strings
+ are not
+ supported. This is useful when plugins need to specify that they
+ support
+ all devices of a given vendor except for some specific ones.
+
+ docs/reference/api/ModemManager-overview.xml | 52 +++++++++------
+ src/mm-plugin.c | 99
+ +++++++++++++++++++++++-----
+ src/mm-plugin.h | 38 ++++++-----
+ 3 files changed, 137 insertions(+), 52 deletions(-)
+
+commit 4e84cd241b7b41fe6f87242136b3f5ae857e5a13
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 30 20:20:17 2012 +0200
+
+ plugin: fix icera filters when using the allowed product string filter
+
+ src/mm-plugin.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 9512eda21d7392bcb80cfd4dae6708fb1c92907e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 30 20:18:05 2012 +0200
+
+ plugin: don't apply product ID filters if no vendor ID was retrieved
+
+ src/mm-plugin.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7b13b5e1c02bca89a317fce57abc9b5faa115ee7
+Author: Ben Chan <benchan@chromium.org>
+Date: Sun Aug 19 23:26:14 2012 -0700
+
+ broadband-bearer,icera: fix CID matching for unsolicited IPDPACT
+ responses
+
+ plugins/icera/mm-broadband-modem-icera.c | 2 +-
+ src/mm-broadband-bearer.c | 7 +++++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+commit 2b5fb682c6315d27723137d8c7a7982e198a538a
+Author: Ben Chan <benchan@chromium.org>
+Date: Sun Aug 19 23:27:19 2012 -0700
+
+ icera: fix modem_load_current_bands and modem_set_bands
+
+ This patch modifies MMBroadbandModemIcera as follows:
+ - Change modem_load_current_bands to report only bands that are
+ currently enabled
+ - Change modem_set_bands to handle setting ANY band in a way that no
+ forbidden bands are activated.
+
+ plugins/icera/mm-broadband-modem-icera.c | 22 ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+commit 3955aab25bfc5ad68678ee27ee29867c805ce57d
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 16 21:26:51 2012 -0700
+
+ icera: add missing break statement in MMBroadbandBearerIcera
+ set_property
+
+ plugins/icera/mm-broadband-bearer-icera.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 946dcca4fca28296ed326fe800018993470df927
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 15 12:18:59 2012 -0500
+
+ qcdm: add some EVDO log item numbers
+
+ libqcdm/src/log-items.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 7eb1782023b3704f91c1bac2d4686463fb1bc9cd
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Aug 9 23:05:46 2012 -0700
+
+ iface-modem: increase number of trials for PIN check from 3 to 6
+
+ In practice, it may take longer time for a SIM to become ready
+ when the
+ modem interface tries to use AT+CPIN? to determine if the SIM is
+ PIN-locked. This patch increases the number of trials for PIN check to
+ address the issue.
+
+ src/mm-iface-modem.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 6c9a7c54506e57238056d13bcba130c1aaff7840
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 11:48:10 2012 +0200
+
+ nokia: implement custom supported modes loading
+
+ Nokia handsets report incorrect modes in AT+WS46?, so just fully
+ skip that.
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 42
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+commit 1e687337c12655760c2f187b5278684e7776dac4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 9 09:31:57 2012 +0200
+
+ zte: plug memleak
+
+ The GError wasn't properly disposed.
+
+ Reported by: Ben Chan <benchan@google.com>
+
+ plugins/zte/mm-broadband-modem-zte.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 1e286f80eae1d4cbdb7e92c52d68529f0662fa22
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 8 16:20:32 2012 -0500
+
+ qcdm: interpret MCC value from StatusSnapshot command
+
+ libqcdm/src/commands.c | 36 ++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 4 ++++
+ libqcdm/tests/test-qcdm-com.c | 5 +++++
+ 3 files changed, 45 insertions(+)
+
+commit 36594dd9fbe3d1a9848343b529ae404121aa2423
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 8 13:17:29 2012 +0200
+
+ broadband-modem: fix GError disposal
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 45e8aa50df7357f7c96fc73e3cda6b69ae93bff8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 6 19:05:54 2012 +0200
+
+ iface-modem-3gpp: when disabled, cleanup interface properties
+
+ src/mm-iface-modem-3gpp.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 278842108c2cc1cb887f1afedfbf6cfd4a91d26a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 6 11:58:42 2012 +0200
+
+ iface-modem-3gpp: refactor registration sequences
+
+ Once upon a time it was a good idea to have separate steps for CS
+ and PS related
+ actions, so that plugins could override specific steps with a great
+ detail. That
+ idea turned out to be not very useful, as the only case which
+ requires custom
+ CS/PS registration actions is the QMI-enabled modem, and that one
+ has commands
+ to act on both registration actions at the same time. So, we now
+ consolidate
+ all steps, so that the implementation of the interface needs to
+ provide all the
+ logic to setup/enable/disable/cleanup/check registrations in each
+ mode.
+
+ Also, we consolidate how the unsolicited registration messages are
+ handled, so
+ that it's equivalent to other unsolicited messages:
+ * 'Setup' will configure ports to process the unsolicited messages.
+ * 'Enable' will tell the modem to send unsolicited messages.
+ * 'Disable' will tell the modem not to send unsolicited messages.
+ * 'Cleanup will configure ports to ignore the unsolicited messages.
+
+ src/mm-broadband-modem.c | 789
+ +++++++++++++++++++++++++---------------------
+ src/mm-iface-modem-3gpp.c | 334 ++++++--------------
+ src/mm-iface-modem-3gpp.h | 113 +++----
+ 3 files changed, 559 insertions(+), 677 deletions(-)
+
+commit 01bb5cd6601a2eb47af002579af7978bf503976d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 15:53:50 2012 +0200
+
+ iface-modem-cdma: new steps to enable/disable unsolicited events
+
+ src/mm-iface-modem-cdma.c | 63
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-cdma.h | 17 +++++++++++++
+ 2 files changed, 80 insertions(+)
+
+commit 779b293387643daf2453dca484a1e35fd284e550
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 15:51:15 2012 +0200
+
+ iface-modem-cdma: skip checks to see if unsolicited events are
+ supported
+
+ src/mm-iface-modem-cdma.c | 55
+ ++++++++++++-----------------------------------
+ 1 file changed, 14 insertions(+), 41 deletions(-)
+
+commit 4aaafc54c78f96160675109a27c4fde75ebb6f2e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 12:59:23 2012 +0200
+
+ iface-modem-3gpp: removed the 'setup indicators' step
+
+ The previous logic would first request to check if indicators were
+ supported,
+ and only then allow to setup/enable/cleanup/disable unsolicited
+ events. This
+ behaviour is very specific to the generic 3GPP case, and therefore
+ it shouldn't
+ be handled in the even more generic 3GPP interface. The logic is
+ still kept,
+ but handled within the MMBroadbandModem object.
+
+ src/mm-broadband-modem.c | 288
+ +++++++++++++++++++++++++---------------------
+ src/mm-iface-modem-3gpp.c | 155 +++++--------------------
+ src/mm-iface-modem-3gpp.h | 8 --
+ 3 files changed, 186 insertions(+), 265 deletions(-)
+
+commit 4d5892204d9f28b65a9f1a8495c036c7448791bc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 23 11:06:25 2012 +0200
+
+ zte: use +CFUN=4 for powering down
+
+ Icera-based ZTE already has the same functionality coming from
+ the parent
+ `MMBroadbandModemIcera' modem object.
+
+ plugins/zte/mm-broadband-modem-zte.c | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit f6415a71b6ee3998b144393c3c4facdb7a77c545
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 21:00:42 2012 +0200
+
+ device: keep all unsupported ports in a separate list
+
+ Ports being marked as unsupported should not be passed to the
+ plugin specific
+ create_modem() or grab_port() methods.
+
+ src/mm-device.c | 43 +++++++++++++++++++++++++++++++++++++------
+ src/mm-device.h | 2 ++
+ src/mm-plugin-manager.c | 3 +++
+ 3 files changed, 42 insertions(+), 6 deletions(-)
+
+commit 1811bb015c79b319c517d0bd23ae04899d2bc981
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 20:59:38 2012 +0200
+
+ plugin-manager: relaunch probing when suggestion comes to deferred
+ tasks
+
+ If a port support task was deferred until suggested, do not assume
+ that the
+ suggested plugin actually supports the port, instead re-launch
+ support check.
+
+ This covers the cases where a net port appears in a modem which
+ only supports
+ AT ports (e.g. Nokia case).
+
+ src/mm-plugin-manager.c | 35 ++++++++++++++++++++++++-----------
+ 1 file changed, 24 insertions(+), 11 deletions(-)
+
+commit 793218bfdbe92806f231c59e6ecbb68b9bb3ec13
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 19:05:59 2012 +0200
+
+ zte: plugin fully ported
+
+ plugins/mm-modem-zte.c | 761
+ ------------------------------------------------
+ plugins/mm-modem-zte.h | 45 ---
+ plugins/mm-plugin-zte.c | 230 ---------------
+ plugins/mm-plugin-zte.h | 41 ---
+ 4 files changed, 1077 deletions(-)
+
+commit 73a420095fcde1bd745d44a87359afa7af505791
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 11:15:16 2012 +0200
+
+ TODO: the ZTE MF637 doesn't like default setup fo messaging
+ unsolicited messages
+
+ TODO | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 125f297434032218ecc057ff613a4daa02567b0c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 12:37:17 2012 +0200
+
+ zte: setup/cleanup unsolicited messages in Icera based modems
+
+ plugins/zte/mm-broadband-modem-zte-icera.c | 110
+ ++++++++++++++++++++++++++++-
+ 1 file changed, 109 insertions(+), 1 deletion(-)
+
+commit efe85fd1abc2e26fc2207189eb03c9523eaa57aa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 12:33:08 2012 +0200
+
+ zte: use common unsolicited messages handler setup in Icera based
+ modems
+
+ plugins/zte/mm-broadband-modem-zte-icera.c | 59
+ ++++++++++++++++++++++++++++++
+ plugins/zte/mm-broadband-modem-zte-icera.h | 2 +
+ 2 files changed, 61 insertions(+)
+
+commit 64dfa59c42d3f9b7e1b4d643996bc87268da7987
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 12:15:31 2012 +0200
+
+ zte: use common unsolicited messages handler setup
+
+ plugins/zte/mm-broadband-modem-zte.c | 106
+ +++++------------------------------
+ 1 file changed, 14 insertions(+), 92 deletions(-)
+
+commit a8516fa1f8cdab03f9e8b13cea15f03de10fe70d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 12:14:48 2012 +0200
+
+ zte: new common code to setup unsolicited event handlers
+
+ plugins/Makefile.am | 2 +
+ plugins/zte/mm-common-zte.c | 141
+ ++++++++++++++++++++++++++++++++++++++++++++
+ plugins/zte/mm-common-zte.h | 31 ++++++++++
+ 3 files changed, 174 insertions(+)
+
+commit 1f2a7bd87c2bd5b166b93150d07bb8ff56594d90
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 00:41:56 2012 +0200
+
+ zte: try +CPMS? calls after SIM unlock until SIM gets ready
+
+ plugins/zte/mm-broadband-modem-zte.c | 104
+ +++++++++++++++++++++++++++++++++++
+ 1 file changed, 104 insertions(+)
+
+commit dcde1e04083a175f11986c47d526ec36cec9c049
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 00:03:12 2012 +0200
+
+ zte: carrier-detect disabled in serial ports
+
+ plugins/zte/mm-broadband-modem-zte.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 4cf4a98bba3a94efb49fea86636e13db017a351c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 23:34:57 2012 +0200
+
+ zte: support Icera-based modems
+
+ We request Icera support check during port probing, and we then
+ decide which
+ modem object to create based on the check results.
+
+ plugins/Makefile.am | 7 +++-
+ plugins/zte/mm-broadband-modem-zte-icera.c | 60
+ ++++++++++++++++++++++++++++++
+ plugins/zte/mm-broadband-modem-zte-icera.h | 49 ++++++++++++++++++++++++
+ plugins/zte/mm-plugin-zte.c | 17 +++++++++
+ 4 files changed, 131 insertions(+), 2 deletions(-)
+
+commit 855c0ec5143d3a48c3f8a5cba0eb58d74a45740c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 23:06:38 2012 +0200
+
+ zte: implement access technology loading
+
+ plugins/mm-modem-zte.c | 1 -
+ plugins/zte/mm-broadband-modem-zte.c | 41
+ ++++++++++++++++++++++++++++++++++++
+ 2 files changed, 41 insertions(+), 1 deletion(-)
+
+commit 169ccdf1d4bbfad4d63c6b11b3dbb349e8985970
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 20:44:05 2012 +0200
+
+ zte: implement allowed mode loading/setting
+
+ plugins/zte/mm-broadband-modem-zte.c | 201
+ +++++++++++++++++++++++++++++++++++
+ 1 file changed, 201 insertions(+)
+
+commit 641c5aed06b3f7f42723455813394b051c731857
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 14:22:27 2012 +0200
+
+ zte: setup ports and unsolicited message handling
+
+ plugins/zte/mm-broadband-modem-zte.c | 232
+ ++++++++++++++++++++++++++++++++++-
+ plugins/zte/mm-broadband-modem-zte.h | 2 +
+ 2 files changed, 233 insertions(+), 1 deletion(-)
+
+commit 3b00c6f5ac97a5aeefbc4772be09a36061027eda
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 13:13:34 2012 +0200
+
+ zte: new `MMBroadbandModemZte'
+
+ plugins/Makefile.am | 4 ++-
+ plugins/zte/mm-broadband-modem-zte.c | 60
+ ++++++++++++++++++++++++++++++++++++
+ plugins/zte/mm-broadband-modem-zte.h | 49 +++++++++++++++++++++++++++++
+ plugins/zte/mm-plugin-zte.c | 12 ++++----
+ 4 files changed, 118 insertions(+), 7 deletions(-)
+
+commit bbb4ed2b0a7e171e9a045a1e37580697b9cbc783
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 13:10:29 2012 +0200
+
+ zte: start porting the ZTE plugin
+
+ plugins/Makefile.am | 19 ++--
+ plugins/{ => zte}/77-mm-zte-port-types.rules | 0
+ plugins/zte/mm-plugin-zte.c | 126
+ +++++++++++++++++++++++++++
+ plugins/zte/mm-plugin-zte.h | 42 +++++++++
+ 4 files changed, 177 insertions(+), 10 deletions(-)
+
+commit bdcc4becab4a10ae100117678e8249021d4bfd69
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 18:41:35 2012 +0200
+
+ nokia: no need specific port grabbing
+
+ The udev tags for port grabbing hints are for Icera-based Nokia
+ modems only.
+
+ plugins/nokia/mm-plugin-nokia.c | 35 -----------------------------------
+ 1 file changed, 35 deletions(-)
+
+commit 5c2df4a0cac1675d31a94d1ee5f6b9c113e8ed35
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 18:17:24 2012 +0200
+
+ nokia-icera: new plugin to handle Icera-based Nokia modems
+
+ We have a whole new plugin because the whole probing process is
+ different
+ between the Icera and non-Icera based Nokia modems.
+
+ plugins/Makefile.am | 9 +++
+ plugins/nokia/mm-plugin-nokia-icera.c | 106
+ ++++++++++++++++++++++++++++++++++
+ plugins/nokia/mm-plugin-nokia-icera.h | 41 +++++++++++++
+ 3 files changed, 156 insertions(+)
+
+commit 3b6a20dfb64495653d636e24b124733ca82df3c3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 18:08:11 2012 +0200
+
+ nokia: don't support Icera-based modems
+
+ Nokia CS Internet sticks are based on Icera chipsets; the default
+ Nokia plugin
+ shouldn't handle them.
+
+ plugins/nokia/mm-plugin-nokia.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 509ad9420460a652f2390eebea72d4b0ed486382
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 18:40:40 2012 +0200
+
+ plugin: check if the current probe is the one with AT support before
+ assuming it's not
+
+ src/mm-plugin.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit edc9825788bc12d03add9b6fdf83ae2f55886c34
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 18:07:22 2012 +0200
+
+ plugin: let plugins request Icera support checks and Icera based
+ filters
+
+ docs/reference/api/ModemManager-overview.xml | 29 ++++++++++++
+ src/mm-plugin.c | 69
+ ++++++++++++++++++++++++++++
+ src/mm-plugin.h | 3 ++
+ 3 files changed, 101 insertions(+)
+
+commit 0b3eb27856462e232f54762a3ba496bf36e25775
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 18:01:02 2012 +0200
+
+ port-probe: include Icera support check in the probing sequence
+
+ src/mm-port-probe-at.c | 19 +++++++++++++
+ src/mm-port-probe-at.h | 8 ++++++
+ src/mm-port-probe.c | 75
+ ++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-port-probe.h | 6 +++-
+ 4 files changed, 104 insertions(+), 4 deletions(-)
+
+commit 5b96aa9db4899d6c217b7ba5596e1dd64ca8f931
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 10:20:54 2012 +0200
+
+ samsung: use generic power down of the Icera modem
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 39
+ +---------------------------
+ 1 file changed, 1 insertion(+), 38 deletions(-)
+
+commit 53707357f39ac9da71896a6bb11dad2a779f7586
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 10:20:39 2012 +0200
+
+ icera: use +CFUN=4 for power down in all Icera modems
+
+ plugins/icera/mm-broadband-modem-icera.c | 28
+ ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit e9a367eb21e937e5f757e9d00ac49d19be7d57f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 16:56:58 2012 +0200
+
+ icera: remove `MMIfaceIcera'
+
+ plugins/Makefile.am | 2 -
+ plugins/icera/mm-iface-icera.c | 1405
+ ----------------------------------------
+ plugins/icera/mm-iface-icera.h | 160 -----
+ 3 files changed, 1567 deletions(-)
+
+commit 7ad73e4fa3c13ef1c73538d70ee2f7ad63853849
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 19:49:11 2012 +0200
+
+ samsung: make the modem object inherit from the
+ `MMBroadbandModemIcera'
+
+ plugins/Makefile.am | 4 +-
+ plugins/samsung/mm-broadband-bearer-samsung.c | 89 -------
+ plugins/samsung/mm-broadband-bearer-samsung.h | 57 -----
+ plugins/samsung/mm-broadband-modem-samsung.c | 320
+ +-------------------------
+ plugins/samsung/mm-broadband-modem-samsung.h | 6 +-
+ 5 files changed, 9 insertions(+), 467 deletions(-)
+
+commit 4f1269344fa5b27286cd01314477066c07770e27
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 19:42:22 2012 +0200
+
+ icera: create a generic broadband bearer when no net ports available
+
+ plugins/icera/mm-broadband-modem-icera.c | 43
+ +++++++++++++++++++++++++++++---
+ 1 file changed, 39 insertions(+), 4 deletions(-)
+
+commit fa8bcb0a7f9a84822ea2f196c1165a93e8380c11
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 19:35:06 2012 +0200
+
+ icera: allow specifying at modem/bearer level whether we want DHCP
+ or STATIC
+
+ plugins/icera/mm-broadband-bearer-icera.c | 117
+ +++++++++++++++++++++++++-----
+ plugins/icera/mm-broadband-bearer-icera.h | 3 +
+ plugins/icera/mm-broadband-modem-icera.c | 59 +++++++++++++++
+ plugins/icera/mm-broadband-modem-icera.h | 2 +
+ plugins/icera/mm-iface-icera.c | 1 +
+ 5 files changed, 165 insertions(+), 17 deletions(-)
+
+commit ef4de86b4281c16229729d724c2aedc2b8248fe5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 18:31:51 2012 +0200
+
+ icera: new `MMBroadbandModemIcera'
+
+ We'll get rid of the `MMIfaceIcera'.
+
+ plugins/Makefile.am | 2 +
+ plugins/icera/mm-broadband-modem-icera.c | 1577
+ ++++++++++++++++++++++++++++++
+ plugins/icera/mm-broadband-modem-icera.h | 51 +
+ 3 files changed, 1630 insertions(+)
+
+commit e0c17f936f83b81296c643d656fa68de36a24883
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 19 21:27:15 2012 -0500
+
+ icera: implement dynamic band support checking
+
+ Turns out we can check supported bands by asking the modem what
+ the enabled state is for the bands it says it supports, and then
+ setting the enabled state to what it currently is. For bands the
+ modem actually doesn't support, it'll return an error. Use that
+ to build up the modem's actual supported band list.
+
+ plugins/icera/mm-iface-icera.c | 311
+ ++++++++++++++++++++++++++++++-----------
+ 1 file changed, 231 insertions(+), 80 deletions(-)
+
+commit ea024f2e520789ac41ec281d3737f74a89df6b74
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jul 20 10:49:27 2012 -0500
+
+ samsung: use generic Icera band handling functions
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 354
+ +--------------------------
+ 1 file changed, 6 insertions(+), 348 deletions(-)
+
+commit a532c081d15911a289b837f0e0247e131733130e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 19 16:05:28 2012 -0500
+
+ icera: add generic band handling functions
+
+ plugins/icera/mm-iface-icera.c | 343
+ +++++++++++++++++++++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 25 +++
+ 2 files changed, 368 insertions(+)
+
+commit b1c2e0ba5fc001c20249c76a8698c6b5d8ee7531
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jul 20 10:48:08 2012 -0500
+
+ samsung: use generic Icera unlock retries checking functions
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 76
+ +---------------------------
+ 1 file changed, 2 insertions(+), 74 deletions(-)
+
+commit abfce5493c05fb1207a274573f56460bd3e84e2c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 19 15:30:16 2012 -0500
+
+ icera: add generic unlock retries checking
+
+ plugins/icera/mm-iface-icera.c | 72
+ ++++++++++++++++++++++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 7 ++++
+ 2 files changed, 79 insertions(+)
+
+commit 36924d8f82d240d1fc963d0444d42625368c42be
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 14:56:36 2012 +0200
+
+ samsung: add Samsung Electronics, Inc. as copyright owners
+
+ They actually wrote the original Samsung plugin in ModemManager 0.5.
+
+ plugins/samsung/mm-broadband-bearer-samsung.c | 1 +
+ plugins/samsung/mm-broadband-bearer-samsung.h | 1 +
+ plugins/samsung/mm-broadband-modem-samsung.c | 2 +-
+ plugins/samsung/mm-broadband-modem-samsung.h | 1 +
+ plugins/samsung/mm-plugin-samsung.c | 1 +
+ plugins/samsung/mm-plugin-samsung.h | 1 +
+ 6 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 2bf2b8e84804c261690032809a6775e3e7b01ed4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 14:51:23 2012 +0200
+
+ samsung: new `MMBroadbandBearerSamsung'
+
+ Based on the Icera bearer, but using DHCP in the net port.
+
+ plugins/Makefile.am | 4 +-
+ plugins/samsung/mm-broadband-bearer-samsung.c | 88
+ +++++++++++++++++++++++++++
+ plugins/samsung/mm-broadband-bearer-samsung.h | 56 +++++++++++++++++
+ plugins/samsung/mm-broadband-modem-samsung.c | 61 ++++++++++++++++++-
+ 4 files changed, 206 insertions(+), 3 deletions(-)
+
+commit 39bb356fe5dc5572ef1f560d6aebe2af60977c71
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 12:54:12 2012 +0200
+
+ TODO: add task to update drivers info in the Modem iface
+
+ TODO | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 97730df9c706412577776a5f5219dc172ed85f4f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 12:52:36 2012 +0200
+
+ TODO: we should retry Icera authentication command
+
+ TODO | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit d861ad1d570e734079be473dcff4e617fde6ad24
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 12:47:03 2012 +0200
+
+ TODO: add task to check if HSO disconnection needs to get updated
+
+ TODO | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 93252f39ef75dbca4e7e238032c5065727464a85
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 12:34:22 2012 +0200
+
+ icera: avoid highly unlikely use of already unref-ed bearer
+
+ In the connection and disconnection sequences, we make sure that
+ the Bearer
+ object is valid by keeping a reference in the Dial3gppContext and
+ Disconnect3gppContext (actually, another one kept by the
+ GSimpleAsyncResult as
+ well). But we are considering here the case where the context is
+ completed and
+ freed by an unsolicited message handler before we get the reply to
+ the AT
+ command, so to properly ensure that the bearer object is still valid
+ when we try
+ to check if the context is in the priv struct, we need to keep an
+ extra ref
+ around.
+
+ plugins/icera/mm-broadband-bearer-icera.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit 40730b115e3aa7f744f6e0c72772c8a4f1872695
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 12:26:28 2012 +0200
+
+ hso: avoid highly unlikely use of already unref-ed bearer
+
+ In the connection sequence, we make sure that the Bearer object is
+ valid by
+ keeping a reference in the Dial3gppContext (actually, another one
+ kept by the
+ GSimpleAsyncResult as well). But we are considering here the case
+ where the
+ connection context is completed and freed by an unsolicited message
+ handler
+ before we get the reply to the AT command, so to properly ensure
+ that the bearer
+ object is still valid when we try to check if the context is in the
+ priv struct,
+ we need to keep an extra ref around.
+
+ plugins/option/mm-broadband-bearer-hso.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 63a45f808260f3138b595bf9b250d2a212cb83d4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 12:24:13 2012 +0200
+
+ hso: avoid trying to use an already freed context
+
+ In the connection sequence, we keep the context in the private info
+ of the
+ Bearer object, so that we can complete and free it when we receive
+ OWANCALL
+ unsolicited messages. Now, the reply of the OWANCALL itself may
+ get processed
+ as an unsolicited message, so effectively we're processing and
+ finishing the
+ connection/disconnection context *before* we process the reply of
+ the AT
+ command.
+
+ This patch ensures that we do not try to re-use the connection
+ context after it
+ has been processed by the unsolicited messages handler.
+
+ plugins/option/mm-broadband-bearer-hso.c | 48
+ ++++++++++++++++++++++----------
+ 1 file changed, 33 insertions(+), 15 deletions(-)
+
+commit d065dd572b3abb5e76467abe1140bf2010fe6fbb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 20 11:58:55 2012 +0200
+
+ icera: avoid trying to use an already freed context
+
+ In both the connection and disconnection sequences, we keep the
+ context in the
+ private info of the Bearer object, so that we can complete and free
+ it when we
+ receive %IPDPACT unsolicited messages. Now, the reply of the %IPDPACT
+ itself may
+ get processed as an unsolicited message, so effectively we're
+ processing and
+ finishing the connection/disconnection context *before* we process
+ the reply of
+ the AT command.
+
+ This patch ensures that we do not try to re-use the
+ connection/disconnection
+ context after it has been processed by the unsolicited messages
+ handler.
+
+ plugins/icera/mm-broadband-bearer-icera.c | 92
+ +++++++++++++++++++++----------
+ 1 file changed, 64 insertions(+), 28 deletions(-)
+
+commit e18778d815ffda24ac0f9a7b17dab3fdd22a575e
+Author: Ben Chan <benchan@chromium.org>
+Date: Fri Jul 13 11:09:55 2012 -0700
+
+ samsung: fix crash due to uninitialized GError variables
+
+ BUG=chromium-os:32475
+ TEST=emerge modemmanager-next
+
+ Change-Id: I8dad924dae9a249c3b9235786226b7dd40bd8819
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 3a28f660c5b60b1615f0c664bf16d5d3c69ed2a6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 19 13:28:24 2012 -0500
+
+ icera: fix timezone request AT command
+
+ Actual command uses a *, not a %. Must have been a typo when
+ porting to the new MM since 0.6 uses a * too.
+
+ plugins/icera/mm-iface-icera.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8740f0b72f442a33caf91010a91f1454ed021fc2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 19 13:23:12 2012 -0500
+
+ trivial: comment spelling fix
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6f3a83534cfd1e6ff6bd3aeff5b338a7d71db9eb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 19 13:02:10 2012 -0500
+
+ longcheer: implement unlock retries checking
+
+ TODO | 4 --
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 78
+ ++++++++++++++++++++++++
+ 2 files changed, 78 insertions(+), 4 deletions(-)
+
+commit 4e92b849affb87ceecf3f902449cef8b275932fd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 19 12:16:48 2012 -0500
+
+ hso: fix small error in unlock retries checking
+
+ _OERCN only reports PIN and PUK, so we only check for two values.
+
+ plugins/option/mm-broadband-modem-hso.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 32bc031ae6a8a76818bb0e8cf8f2ea5180c959a7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 19 12:12:19 2012 -0500
+
+ hso: implement unlock retries checking
+
+ plugins/option/mm-broadband-modem-hso.c | 71
+ +++++++++++++++++++++++++++++++++
+ 1 file changed, 71 insertions(+)
+
+commit b1ebf221829ae09821d1ea6effc25feb13bd0ba5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 17:51:47 2012 +0200
+
+ TODO: add generic bearer improvements
+
+ TODO | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit cc095c9a94877a741d86c8cad6fedab3e66b8e1f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 16:05:56 2012 +0200
+
+ samsung: plugin fully ported
+
+ plugins/mm-modem-samsung-gsm.c | 722
+ -----------------------------------------
+ plugins/mm-modem-samsung-gsm.h | 47 ---
+ plugins/mm-plugin-samsung.c | 163 ----------
+ plugins/mm-plugin-samsung.h | 45 ---
+ 4 files changed, 977 deletions(-)
+
+commit d820ca8f2726da56dfa27318bad65ea62281bbbe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 15:58:36 2012 +0200
+
+ samsung: use CFUN=4 for power down
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 28
+ ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit ef217c23b064a9d43e13bcd16aba4bd47d902e33
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 15:55:00 2012 +0200
+
+ samsung: custom configuration for AT serial ports
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit 5fcc8d16291fb4efbe70b69ca2ed6d7579403769
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 15:52:21 2012 +0200
+
+ samsung: use Icera-based time loading
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit e70fea145e3c113a37e515d5511268dc8915c591
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 15:41:37 2012 +0200
+
+ samsung: user Icera-based timezone loading
+
+ plugins/icera/mm-iface-icera.c | 12 ++++++++----
+ plugins/samsung/mm-broadband-modem-samsung.c | 11 +++++++++++
+ 2 files changed, 19 insertions(+), 4 deletions(-)
+
+commit 268db7fe0b29df8ab5962e8ebac89c6a0b3a9ebc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 11:35:26 2012 +0200
+
+ samsung: minor coding style fixes
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 41
+ +++++++++++++++++-----------
+ 1 file changed, 25 insertions(+), 16 deletions(-)
+
+commit d8ae69e7d1c19fabffd4ef92e33f99ace12d491a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 11:31:58 2012 +0200
+
+ samsung: use the generic Icera bearer
+
+ plugins/Makefile.am | 4 +-
+ plugins/samsung/mm-broadband-bearer-samsung.c | 551
+ --------------------------
+ plugins/samsung/mm-broadband-bearer-samsung.h | 61 ---
+ plugins/samsung/mm-broadband-modem-samsung.c | 60 +--
+ 4 files changed, 3 insertions(+), 673 deletions(-)
+
+commit 8d651dd68eee23cf4c86a177a4359735414bd4fb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 09:11:09 2012 +0200
+
+ samsung: use Icera-based unsolicited messages setup and access
+ tech loading
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 301
+ ++++++---------------------
+ plugins/samsung/mm-broadband-modem-samsung.h | 2 -
+ 2 files changed, 59 insertions(+), 244 deletions(-)
+
+commit 01e85aa1efe217a5ccc6c3627d1f2bf76388947b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 20:26:16 2012 +0200
+
+ samsung: don't hardcode supported modes
+
+ Don't try to implement supported modes loading if we're just
+ hardcoding the
+ values; the proper way would be to run the %IPSYS=? test command
+ and parse
+ the results.
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 31
+ ----------------------------
+ 1 file changed, 31 deletions(-)
+
+commit 4f0157cec4a25af4c6d34fa4fcbe7dd3aad39ef9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 19:46:25 2012 +0200
+
+ samsung: use Icera-based allowed mode setting
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 87
+ +---------------------------
+ 1 file changed, 2 insertions(+), 85 deletions(-)
+
+commit f127afd402a0324eccd578254333f80fa5c46de6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 19:32:09 2012 +0200
+
+ samsung: use Icera-based initial allowed mode loading
+
+ plugins/samsung/mm-broadband-modem-samsung.c | 112
+ +--------------------------
+ 1 file changed, 4 insertions(+), 108 deletions(-)
+
+commit ae22a99dabd32770cac5808f8174001fd55adcdf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 19:29:57 2012 +0200
+
+ samsung: implement the `MMIfaceIcera' interface
+
+ plugins/Makefile.am | 3 ++-
+ plugins/samsung/mm-broadband-modem-samsung.c | 10 +++++++++-
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit 6d6fc3bcde548d26697dce9b872f87731852d033
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 16:10:36 2012 +0200
+
+ icera: plugin fully ported
+
+ plugins/mm-modem-icera.c | 989
+ -----------------------------------------------
+ plugins/mm-modem-icera.h | 114 ------
+ 2 files changed, 1103 deletions(-)
+
+commit 89834810ae7c789847d987e8f772e7e859fe0e10
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 16:09:50 2012 +0200
+
+ icera: provide method to check Icera support
+
+ plugins/icera/mm-iface-icera.c | 24 ++++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 8 ++++++++
+ 2 files changed, 32 insertions(+)
+
+commit 6c0f14132b8f6a12e8535cb95961eeb78cf8342f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 15:47:43 2012 +0200
+
+ icera: implement network time retrieval
+
+ plugins/icera/mm-iface-icera.c | 30 ++++++++++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 7 +++++++
+ 2 files changed, 37 insertions(+)
+
+commit a105ffa7b73b2e1f27b759e8c67dfec9a19c9b04
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 15:38:52 2012 +0200
+
+ icera: implement timezone loading
+
+ plugins/icera/mm-iface-icera.c | 90
+ ++++++++++++++++++++++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 11 ++++++
+ 2 files changed, 101 insertions(+)
+
+commit 051b79cba3ad014a872ea4d1c96208173bcc9855
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 15:04:16 2012 +0200
+
+ icera: try to gather extended connection failed reasons when
+ reporting error
+
+ plugins/icera/mm-broadband-bearer-icera.c | 50
+ +++++++++++++++++++++++++++----
+ 1 file changed, 45 insertions(+), 5 deletions(-)
+
+commit 7209a090332abd03899072743befe164d83a043d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 14:52:05 2012 +0200
+
+ icera: implement IP config retrieval in the bearer
+
+ plugins/icera/mm-broadband-bearer-icera.c | 192
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 192 insertions(+)
+
+commit 4dbc213184a7add84d7a75a3bd6e01c13f3fbac8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 14:28:16 2012 +0200
+
+ icera: implement modem reset
+
+ plugins/icera/mm-iface-icera.c | 23 +++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 8 ++++++++
+ 2 files changed, 31 insertions(+)
+
+commit 5246a842caeb9bf2e39e286c388713e279c69efd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 11:28:01 2012 +0200
+
+ icera: implement 3GPP disconnection
+
+ plugins/icera/mm-broadband-bearer-icera.c | 169
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 169 insertions(+)
+
+commit 4dc9d674d14a9a1eaffada2c02ab51b59613a202
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 10:39:58 2012 +0200
+
+ icera: listen for %IPDPACT unsolicited messages and report connection
+ status
+
+ plugins/icera/mm-iface-icera.c | 88
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 88 insertions(+)
+
+commit 35df0bfc743857d70c67f104bf21c608e2c56790
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 10:27:53 2012 +0200
+
+ icera: implement 3GPP dialling
+
+ The modem object needs to listen to unsolicited messages and report
+ bearer
+ connection status itself.
+
+ plugins/icera/mm-broadband-bearer-icera.c | 400
+ ++++++++++++++++++++++++++++++
+ plugins/icera/mm-broadband-bearer-icera.h | 10 +
+ 2 files changed, 410 insertions(+)
+
+commit fa6ea4258a5db51f4fd9d93e8a8649d5c20f9211
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 09:33:56 2012 +0200
+
+ icera: new `MMBroadbandBearerIcera'
+
+ plugins/Makefile.am | 4 +-
+ plugins/icera/mm-broadband-bearer-icera.c | 84
+ +++++++++++++++++++++++++++++++
+ plugins/icera/mm-broadband-bearer-icera.h | 60 ++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.c | 57 +++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 8 +++
+ 5 files changed, 212 insertions(+), 1 deletion(-)
+
+commit e8aa5d0f722c1c8b72a62307124b05b8f6e73c7b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 08:27:39 2012 +0200
+
+ icera: ignore +PACSP unsolicited messages
+
+ plugins/icera/mm-iface-icera.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit b4f20bfaca787e9c91417ae9ea578876858aa5d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 08:13:20 2012 +0200
+
+ icera: implement 3GPP unsolicited messages enabling/disabling
+
+ plugins/icera/mm-iface-icera.c | 52
+ +++++++++++++++++++++++++++++++++++++++++-
+ plugins/icera/mm-iface-icera.h | 17 ++++++++++++++
+ 2 files changed, 68 insertions(+), 1 deletion(-)
+
+commit 7163f4fe5fa2927e702a5d034e1852a03e5f4bf1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 21:13:58 2012 +0200
+
+ icera: implement loading access technologies
+
+ plugins/icera/mm-iface-icera.c | 69
+ ++++++++++++++++++++++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 9 ++++++
+ 2 files changed, 78 insertions(+)
+
+commit 8ddd6e097d4980fadafd872c38551a39081c8293
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 20:58:46 2012 +0200
+
+ icera: implement %NWSTATE unsolicited messages handling
+
+ plugins/icera/mm-iface-icera.c | 153
+ +++++++++++++++++++++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 4 ++
+ 2 files changed, 157 insertions(+)
+
+commit a47cbae678ae64b391f010f9f69247d9fedf35a2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 19:44:50 2012 +0200
+
+ icera: implement allowed mode setting
+
+ plugins/icera/mm-iface-icera.c | 101
+ +++++++++++++++++++++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 9 ++++
+ 2 files changed, 110 insertions(+)
+
+commit b8310729ad94e024a0ce9217607fa6667e4735a2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 19:22:48 2012 +0200
+
+ icera: implement initial allowed mode loading
+
+ plugins/icera/mm-iface-icera.c | 78
+ +++++++++++++++++++++++++++++++++++++++++-
+ plugins/icera/mm-iface-icera.h | 12 +++++++
+ 2 files changed, 89 insertions(+), 1 deletion(-)
+
+commit 2e8ede1a2970ae1108a6b4e4f75a7bcc6a15b7aa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jun 10 04:40:52 2012 +0200
+
+ icera: add initial skeleton of the `MMIfaceIcera' interface
+
+ plugins/Makefile.am | 24 ++++++++---------
+ plugins/icera/mm-iface-icera.c | 58
+ ++++++++++++++++++++++++++++++++++++++++++
+ plugins/icera/mm-iface-icera.h | 35 +++++++++++++++++++++++++
+ 3 files changed, 105 insertions(+), 12 deletions(-)
+
+commit 9a068b4294b535de36f92c799dd94b28704ab336
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 18:44:12 2012 +0200
+
+ samsung: port Bearer to use the 'config' property in the MMBearer
+ class
+
+ This saves us from requiring to implement user & password in all
+ modems.
+
+ plugins/samsung/mm-broadband-bearer-samsung.c | 164
+ +++-----------------------
+ plugins/samsung/mm-broadband-bearer-samsung.h | 6 +-
+ 2 files changed, 19 insertions(+), 151 deletions(-)
+
+commit fc9a7dbbd971b14cc1ff56a61d2f8e90a0a55869
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 18:22:07 2012 +0200
+
+ samsung: port plugin to the refactored probing logic
+
+ plugins/samsung/mm-plugin-samsung.c | 72
+ ++++++++++---------------------------
+ plugins/samsung/mm-plugin-samsung.h | 6 ++--
+ 2 files changed, 22 insertions(+), 56 deletions(-)
+
+commit 03a0fee4ff3443a441f1356edb71af22d9048f47
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun May 6 13:15:46 2012 +0200
+
+ samsung: minor coding style fixes
+
+ plugins/samsung/mm-broadband-bearer-samsung.c | 16 +++++++++-------
+ plugins/samsung/mm-plugin-samsung.c | 6 +++---
+ 2 files changed, 12 insertions(+), 10 deletions(-)
+
+commit 6f814bb15afad3fc0a8490c7a8a7534a8d63c1f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun May 6 13:08:22 2012 +0200
+
+ samsung: plug memleak
+
+ get_port() actually increases the refcount of the returned port,
+ use peek_port()
+ instead.
+
+ plugins/samsung/mm-broadband-bearer-samsung.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit a80e620342a2e1f12d582dff95098e73566701b7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun May 6 13:07:41 2012 +0200
+
+ samsung: fix typo, s/recieved/received
+
+ plugins/samsung/mm-broadband-bearer-samsung.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit f15527eecde0b7349cccd6a2ea60d6999bc41e7a
+Author: Nathan Williams <njw@chromium.org>
+Date: Wed Feb 22 16:48:39 2012 -0500
+
+ samsung: plugin for Samsung Y3300/Y3400 UMTS modems based on the
+ Icera/Nvidia chipset
+
+ plugins/Makefile.am | 21 +-
+ plugins/samsung/mm-broadband-bearer-samsung.c | 679 ++++++++++++++
+ plugins/samsung/mm-broadband-bearer-samsung.h | 63 ++
+ plugins/samsung/mm-broadband-modem-samsung.c | 1179
+ +++++++++++++++++++++++++
+ plugins/samsung/mm-broadband-modem-samsung.h | 50 ++
+ plugins/samsung/mm-plugin-samsung.c | 115 +++
+ plugins/samsung/mm-plugin-samsung.h | 47 +
+ 7 files changed, 2144 insertions(+), 10 deletions(-)
+
+commit ea3652ef6313238e36d48f60e138271810eaea9e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 16 08:08:49 2012 +0200
+
+ TODO: add task to give time to modems to settle down after PIN entry
+
+ TODO | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 0bd8f5bc94abcc3134ce9446c31371014ffef442
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 11 11:36:31 2012 +0200
+
+ pantech: expect QCDM ports
+
+ plugins/pantech/mm-plugin-pantech.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b96a50f42be86c21f5b4b0ea320b6568c9426c96
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 10 14:23:54 2012 +0200
+
+ pantech: always prefer the ttyACM port as primary AT port
+
+ plugins/pantech/mm-plugin-pantech.c | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+commit f4754e150ecf34380935d7eb1d39c55063574664
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 10 14:06:08 2012 +0200
+
+ pantech: initial dummy plugin
+
+ plugins/Makefile.am | 10 ++++-
+ plugins/pantech/mm-plugin-pantech.c | 76
+ +++++++++++++++++++++++++++++++++++++
+ plugins/pantech/mm-plugin-pantech.h | 40 +++++++++++++++++++
+ 3 files changed, 125 insertions(+), 1 deletion(-)
+
+commit aab85242851deddd097721d376b64116bc11953a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 06:36:04 2012 +0200
+
+ x22x: plugin fully ported
+
+ plugins/mm-modem-x22x-gsm.c | 267
+ --------------------------------------------
+ plugins/mm-modem-x22x-gsm.h | 45 --------
+ plugins/mm-plugin-x22x.c | 246
+ ----------------------------------------
+ plugins/mm-plugin-x22x.h | 41 -------
+ 4 files changed, 599 deletions(-)
+
+commit 14d482286ff80cd0b3bacd4ead3e7682b1146059
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 06:35:14 2012 +0200
+
+ x22x: implement allowed mode loading and setting
+
+ plugins/x22x/mm-broadband-modem-x22x.c | 167
+ +++++++++++++++++++++++++++++++++
+ 1 file changed, 167 insertions(+)
+
+commit d206bb045b2de6f835cdcce27625a96806ef21d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 17:32:52 2012 +0200
+
+ x22x: implement access technology loading
+
+ plugins/x22x/mm-broadband-modem-x22x.c | 50
+ +++++++++++++++++++++++++++++++++-
+ 1 file changed, 49 insertions(+), 1 deletion(-)
+
+commit 2483eaecb537d52f2ee7425ceb2e72c56f972dad
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 17:28:41 2012 +0200
+
+ x22x: new `MMBroadbandModemX22x' object
+
+ plugins/Makefile.am | 4 ++-
+ plugins/x22x/mm-broadband-modem-x22x.c | 60
+ ++++++++++++++++++++++++++++++++++
+ plugins/x22x/mm-broadband-modem-x22x.h | 49 +++++++++++++++++++++++++++
+ plugins/x22x/mm-plugin-x22x.c | 12 +++----
+ 4 files changed, 118 insertions(+), 7 deletions(-)
+
+commit a74523feabab7b917f74318a4459c23275131359
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 17:24:56 2012 +0200
+
+ x22x: start porting the X22X plugin
+
+ plugins/Makefile.am | 21 +-
+ plugins/{ => x22x}/77-mm-x22x-port-types.rules | 0
+ plugins/x22x/mm-plugin-x22x.c | 274
+ +++++++++++++++++++++++++
+ plugins/x22x/mm-plugin-x22x.h | 42 ++++
+ 4 files changed, 326 insertions(+), 11 deletions(-)
+
+commit 6a4ce68e401c612b9cd71a13620ab7e284a22569
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 17:06:30 2012 +0200
+
+ TODO: add task for the PIN/PUK retries left loading in Longcheer
+ modems
+
+ TODO | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 24446735274333b91c2710737fc6954d3f88d00b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 17:01:53 2012 +0200
+
+ longcheer: plugin fully ported
+
+ plugins/mm-modem-longcheer-gsm.c | 242
+ ---------------------------------------
+ plugins/mm-modem-longcheer-gsm.h | 45 --------
+ 2 files changed, 287 deletions(-)
+
+commit 2a871db7ec58e5909553eb1dbf55f77444da55f9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 17:01:12 2012 +0200
+
+ longcheer: implement allowed mode loading and setting
+
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 164
+ +++++++++++++++++++++++
+ 1 file changed, 164 insertions(+)
+
+commit f5d7605defc8cef51fca03c60e6e6ece3764b825
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 16:45:56 2012 +0200
+
+ longcheer: implement access technology loading
+
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 50
+ +++++++++++++++++++++++-
+ 1 file changed, 49 insertions(+), 1 deletion(-)
+
+commit 1f9c3ef61e687658516a868ab3f92e596c0832cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 16:30:30 2012 +0200
+
+ longcheer: new `MMBroadbandModemLongcheer' object
+
+ plugins/Makefile.am | 4 +-
+ plugins/longcheer/mm-broadband-modem-longcheer.c | 60
+ ++++++++++++++++++++++++
+ plugins/longcheer/mm-broadband-modem-longcheer.h | 49 +++++++++++++++++++
+ plugins/longcheer/mm-plugin-longcheer.c | 12 ++---
+ 4 files changed, 118 insertions(+), 7 deletions(-)
+
+commit 3fb5f1ae38cbcba50bc9a47613d4fee78f793524
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 16:26:52 2012 +0200
+
+ longcheer: start porting the Longcheer plugin
+
+ plugins/Makefile.am | 20 +-
+ .../77-mm-longcheer-port-types.rules | 0
+ plugins/longcheer/mm-plugin-longcheer.c | 277
+ +++++++++++++++++++++
+ plugins/{ => longcheer}/mm-plugin-longcheer.h | 9 +-
+ plugins/mm-plugin-longcheer.c | 259
+ -------------------
+ 5 files changed, 292 insertions(+), 273 deletions(-)
+
+commit 5b2c839dd9437f4845fea953c4c41d9d7951f9f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 16 19:25:13 2012 +0200
+
+ huawei: cache port mode results in the parent `MMDevice'
+
+ This lets us skip the search for the `MMPortProbe' where we got
+ the results.
+
+ plugins/huawei/mm-plugin-huawei.c | 34 ++++++++++++++++------------------
+ 1 file changed, 16 insertions(+), 18 deletions(-)
+
+commit e303e5c90d42d1d37dab6ef093d8b526e1e74586
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 16 18:38:59 2012 +0200
+
+ huawei: plugin fully ported
+
+ plugins/mm-modem-huawei-cdma.c | 304 --------------
+ plugins/mm-modem-huawei-cdma.h | 47 ---
+ plugins/mm-modem-huawei-gsm.c | 922
+ -----------------------------------------
+ plugins/mm-modem-huawei-gsm.h | 45 --
+ plugins/mm-plugin-huawei.c | 332 ---------------
+ plugins/mm-plugin-huawei.h | 42 --
+ 6 files changed, 1692 deletions(-)
+
+commit dd7165610644be9a19106e3d61ff4e8a46fdb045
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 16 18:37:56 2012 +0200
+
+ huawei: implement custom detailed CDMA registration state checks
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 155
+ +++++++++++++++++++++++++++++
+ 1 file changed, 155 insertions(+)
+
+commit ad3f3fe6a69731d5ba911a3729bae38f3a8c9006
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 16 18:18:50 2012 +0200
+
+ huawei: do not run AT+CSS? in EV-DO capable devices
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 94
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 94 insertions(+)
+
+commit e6d7885d7fc34722e459d7a4b3c55bb8680d2401
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 20:15:35 2012 +0200
+
+ huawei: implement CDMA unsolicited signal change report handling
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit a7f0a313e5eea4abb74db9b744ae73ce104e5c60
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 20:15:04 2012 +0200
+
+ huawei: setup/cleanup unsolicited message handlers in the CDMA
+ interface
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 157
+ ++++++++++++++++++++++++++++-
+ 1 file changed, 156 insertions(+), 1 deletion(-)
+
+commit 93cc9483bc4fbdafa18134efd0edb41c175c11d4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 12:36:47 2012 +0200
+
+ huawei: allow grabbing QCDM ports
+
+ plugins/huawei/mm-plugin-huawei.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5d38983d66234144ed56a1a3def10dd882120322
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 12:13:24 2012 +0200
+
+ huawei: ignore unsolicited ^CSNR notifications
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit 1c3644e4775696b5b68aa2b22fe51560751e9a40
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 12:00:12 2012 +0200
+
+ TODO: add task to check messaging unsolicited messages in Huawei
+ modems
+
+ TODO | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 87757029067aea382ad630c01363e733539fd27d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 11:32:38 2012 +0200
+
+ huawei: implement custom USSD encode/decode methods
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 68
+ +++++++++++++++++++++++++++++-
+ 1 file changed, 67 insertions(+), 1 deletion(-)
+
+commit 5a5aa9b78969e5f46bcd14ea60bd56381576cdcd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 11:25:40 2012 +0200
+
+ huawei: implement allowed mode getting/setting
+
+ TODO | 6 +
+ plugins/huawei/mm-broadband-modem-huawei.c | 226
+ ++++++++++++++++++++++++++++-
+ 2 files changed, 230 insertions(+), 2 deletions(-)
+
+commit c0126531c5573f23ecb1b8b610067240c2c90d78
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 10:34:58 2012 +0200
+
+ huawei: implement band loading/setting
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 216
+ +++++++++++++++++++++++++++++
+ 1 file changed, 216 insertions(+)
+
+commit 325ece6fe38dc24a4feea05632f79e2f4dc34cf2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 09:45:01 2012 +0200
+
+ huawei: implement unlock retries loading
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 77
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 77 insertions(+)
+
+commit 8c5f13a657414f400d5ab7c1deb15ee9a6ec64e3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 08:41:25 2012 +0200
+
+ huawei: implement unsolicited messages enabling/disabling
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 155
+ +++++++++++++++++++++++++++++
+ 1 file changed, 155 insertions(+)
+
+commit 6f2fe89ef2f642e22cbea7539aef27bb76da56a0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 08:22:27 2012 +0200
+
+ huawei: implement unsolicited 3GPP signal change report handling
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 02cf87b149a44335259f4ec60da401cba2c53f52
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 08:10:19 2012 +0200
+
+ huawei: implement access technology loading and update handling
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 162
+ +++++++++++++++++++++++++++++
+ 1 file changed, 162 insertions(+)
+
+commit 433c8fa85b67a8ba691876aebd7b92129be2986f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 07:35:36 2012 +0200
+
+ huawei: report connection status statistics
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit b25b7f91cb625c4a89e1322797b2fa03134ddc3c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 07:30:51 2012 +0200
+
+ huawei: setup/cleanup unsolicited message handlers in the 3GPP
+ interface
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 103
+ ++++++++++++++++++++++++++++-
+ 1 file changed, 102 insertions(+), 1 deletion(-)
+
+commit 98f28db6e3bae0c38bc6e0679317fb38eb6d9ece
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 07:22:46 2012 +0200
+
+ huawei: setup handlers for unsolicited messages
+
+ Initially all disabled.
+
+ plugins/huawei/mm-broadband-modem-huawei.c | 132
+ +++++++++++++++++++++++++++++
+ plugins/huawei/mm-broadband-modem-huawei.h | 2 +
+ 2 files changed, 134 insertions(+)
+
+commit 008beeedccf201c2e4f4438c26525bf9af71935d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 06:59:29 2012 +0200
+
+ huawei: new `MMBroadbandModemHuawei' object
+
+ plugins/Makefile.am | 4 +-
+ plugins/huawei/mm-broadband-modem-huawei.c | 60
+ ++++++++++++++++++++++++++++++
+ plugins/huawei/mm-broadband-modem-huawei.h | 49 ++++++++++++++++++++++++
+ plugins/huawei/mm-plugin-huawei.c | 12 +++---
+ 4 files changed, 118 insertions(+), 7 deletions(-)
+
+commit efe2228515bcc702ac1f510b91629288d8876ed7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 10:21:28 2012 +0200
+
+ huawei: try to gather port layout while probing
+
+ We will try to use usbif0 to gather the port layout with
+ AT^GETPORTMODE.
+
+ plugins/huawei/mm-plugin-huawei.c | 403
+ +++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 401 insertions(+), 2 deletions(-)
+
+commit f9a0aba08c928f3cfb45ba7d609c5446687196ed
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 06:54:47 2012 +0200
+
+ huawei: start porting the Huawei plugin
+
+ plugins/Makefile.am | 22 ++++-----
+ plugins/huawei/mm-plugin-huawei.c | 93
+ +++++++++++++++++++++++++++++++++++++++
+ plugins/huawei/mm-plugin-huawei.h | 42 ++++++++++++++++++
+ 3 files changed, 144 insertions(+), 13 deletions(-)
+
+commit b8cc7c66ec4a8754902909b3d23d07462a881e6c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 13:07:26 2012 +0200
+
+ device: don't create devices with 0 ports
+
+ If for any reason we're requested to create a device with 0 ports,
+ just return
+ error.
+
+ src/mm-device.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit da0226708a2ff8ec0fda82776b03ff02b626c9f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 17 08:31:02 2012 +0200
+
+ plugin: abort probing when the port has been released from the device
+
+ src/mm-plugin.c | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+commit 68c276efc1d7c856f8ce9790f384ae485fcaad66
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 09:52:37 2012 +0200
+
+ broadband-modem: new generic steps in
+ initialization/enabling/disabling
+
+ Instead of hardcoding the logic to decide which ports are open or
+ closed in the
+ different steps, we now let the subclasses of MMBroadbandModem to
+ do that
+ themselves.
+
+ We now provide:
+
+ * initialization_started() and initialization_stopped(): the generic
+ implementation does the serial port open/close in these steps.
+
+ * enabling_started(): the generic implementation does the serial
+ port opening
+ here. The serial ports are kept open as long the modem is in
+ enabled state.
+
+ * disabling_stopped(): the generic implementation does the serial
+ port closing
+ here.
+
+ src/mm-broadband-modem.c | 436
+ ++++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-broadband-modem.h | 24 +++
+ src/mm-iface-modem.c | 125 --------------
+ 3 files changed, 415 insertions(+), 170 deletions(-)
+
+commit 3b1d3063ba9aacb6ecbb927de3f20bd938c45f55
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 15:35:55 2012 +0200
+
+ manager: remove the MMDevice object when the last port of the device
+ is released
+
+ src/mm-manager.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 8ae87f5c38d0947adddc5cf4a82798d6663a3100
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 12 12:51:41 2012 +0200
+
+ manager: fix removal of device from our HT of devices
+
+ src/mm-manager.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit ff8a962d990c53a0e901a96df4fc01211e4d1962
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 13:25:20 2012 +0200
+
+ port-probe: let us peek the `MMDevice' owning the probe from the
+ probe itself
+
+ src/mm-device.c | 11 +++++++----
+ src/mm-device.h | 5 ++---
+ src/mm-plugin.c | 2 +-
+ src/mm-port-probe.c | 44 +++++++++++++++++++++++++++++++++++++++++---
+ src/mm-port-probe.h | 9 +++++++--
+ 5 files changed, 58 insertions(+), 13 deletions(-)
+
+commit 1ca46cc0ec2fd407f3c70dcac11279dec4cc61d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 12:40:55 2012 +0200
+
+ plugins: use default port grabbing on those plugins without special
+ requirements
+
+ plugins/anydata/mm-plugin-anydata.c | 15 --------------
+ plugins/cinterion/mm-plugin-cinterion.c | 25 -----------------------
+ plugins/generic/mm-plugin-generic.c | 25 -----------------------
+ plugins/gobi/mm-plugin-gobi.c | 24 ----------------------
+ plugins/iridium/mm-plugin-iridium.c | 24 ----------------------
+ plugins/linktop/mm-plugin-linktop.c | 36
+ ---------------------------------
+ plugins/motorola/mm-plugin-motorola.c | 24 ----------------------
+ plugins/novatel/mm-plugin-novatel.c | 22 --------------------
+ plugins/wavecom/mm-plugin-wavecom.c | 24 ----------------------
+ 9 files changed, 219 deletions(-)
+
+commit b64f52cddc9dc1f49f167d010a8150671d0dd44a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 12:36:42 2012 +0200
+
+ plugin: if no grab_port() method given, use the default one
+
+ src/mm-plugin.c | 20 ++++++++++++++++----
+ src/mm-plugin.h | 6 ++----
+ 2 files changed, 18 insertions(+), 8 deletions(-)
+
+commit bfc3cb27e1ae798b6934bb85d7b2106dec556ae5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 12:26:22 2012 +0200
+
+ device,plugin: let the `MMPlugin' API know about `MMDevice'
+
+ src/mm-device.c | 17 +++++++++--------
+ src/mm-device.h | 9 +++++----
+ src/mm-plugin-manager.c | 12 +++++++-----
+ src/mm-plugin.c | 6 ++----
+ src/mm-plugin.h | 5 +++--
+ 5 files changed, 26 insertions(+), 23 deletions(-)
+
+commit 884aa7f2eb944ed70c3aa33b41631aa7138f854d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 12:15:08 2012 +0200
+
+ plugin-manager: simplify by iterating the list ourselves
+
+ src/mm-plugin-manager.c | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+commit 9be646f274c431f55cf89cc9109a1c9a9c931537
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 12:12:01 2012 +0200
+
+ plugin-manager: use a double-linked list for the plugin list
+
+ src/mm-plugin-manager.c | 37 ++++++++++++++++++-------------------
+ 1 file changed, 18 insertions(+), 19 deletions(-)
+
+commit 86f4923d7f69e7adcd488fb7085429b04dec3190
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 12:08:35 2012 +0200
+
+ plugin: new method to compare plugins
+
+ Instead of providing a method to get if a plugin is requesting to
+ get sorted
+ last, we provide a way to comparing two plugins, compatible with the
+ GCompareFunc required in g_list_sort().
+
+ src/mm-plugin-manager.c | 21 +--------------------
+ src/mm-plugin.c | 25 +++++++++++++++++++++----
+ src/mm-plugin.h | 5 +++--
+ 3 files changed, 25 insertions(+), 26 deletions(-)
+
+commit 624a1e9087a7020824a94914d3989ebf00093c07
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 11:00:29 2012 +0200
+
+ plugin: remove obsolete comment
+
+ src/mm-plugin.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit 6e3d90e2a4cd0a5b863748b88ab67e959f47f0f6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 10:20:11 2012 +0200
+
+ plugin: new `MM_PLUGIN_CUSTOM_INIT' property
+
+ We let plugins execute some custom initialization in the ports,
+ specified by
+ a `MMAsyncMethod'.
+
+ docs/reference/api/ModemManager-overview.xml | 14 ++++++++++
+ src/mm-plugin.c | 38
+ +++++++++++++++++++++++---
+ src/mm-plugin.h | 1 +
+ src/mm-port-probe.c | 40
+ ++++++++++++++++++++++++++++
+ src/mm-port-probe.h | 15 +++++++++++
+ 5 files changed, 104 insertions(+), 4 deletions(-)
+
+commit d63570838be002b4e82d4753e3b137aced1bcfe0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 08:28:27 2012 +0200
+
+ port-probe: fix typo in class definition
+
+ src/mm-port-probe.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 79abe00221450b9076eb9bb9898ec347ad863348
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 08:26:38 2012 +0200
+
+ core: new `MMAsyncMethod' boxed type
+
+ Helps to bundle the async method implementation in a property.
+
+ src/mm-private-boxed-types.c | 37 +++++++++++++++++++++++++++++++++++++
+ src/mm-private-boxed-types.h | 7 +++++++
+ 2 files changed, 44 insertions(+)
+
+commit f5fdf946c9a2eefb049155f476888742c5901643
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 07:03:56 2012 +0200
+
+ plugin: new `MM_PLUGIN_FORBIDDEN_DRIVERS' property
+
+ It allows plugins to specify whether they cannot support ports
+ handled by
+ specific drivers.
+
+ docs/reference/api/ModemManager-overview.xml | 10 ++++--
+ src/mm-plugin.c | 50
+ ++++++++++++++++++++++------
+ src/mm-plugin.h | 1 +
+ 3 files changed, 48 insertions(+), 13 deletions(-)
+
+commit 1078b246b0ccea5a85dbef713c527e22c9cc64a2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 06:57:16 2012 +0200
+
+ plugin: remove no longer used `MM_PLUGIN_SORT_LAST' property
+
+ The behaviour previously handled by this property is now automatically
+ handled.
+
+ src/mm-plugin.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 9b0f6c83f2e34620c99a7d3b2c945ef92314369a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 11 06:53:56 2012 +0200
+
+ plugin: renamed `custom-init' property to `custom-at-probe'
+
+ The `custom-at-probe' property is just to modify the way we check
+ for AT port
+ support.
+
+ docs/reference/api/ModemManager-overview.xml | 50
+ ++++++++++++----------------
+ plugins/nokia/mm-plugin-nokia.c | 6 ++--
+ src/mm-plugin.c | 22 ++++++------
+ src/mm-plugin.h | 2 +-
+ src/mm-port-probe.c | 39 ++++++----------------
+ src/mm-port-probe.h | 2 +-
+ 6 files changed, 47 insertions(+), 74 deletions(-)
+
+commit 89b3c0132879157c16526ae7da1aa3cdefe64fe8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 15:26:04 2012 +0200
+
+ port-probe: setup the port object as a property
+
+ src/mm-port-probe.c | 74
+ ++++++++++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-port-probe.h | 3 +++
+ 2 files changed, 71 insertions(+), 6 deletions(-)
+
+commit 055b56306ab194910416f5358ef7454a53bdfc59
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 15:11:57 2012 +0200
+
+ port-probe: no need to keep our internal copies of subsys/name
+
+ src/mm-port-probe.c | 128
+ ++++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 78 insertions(+), 50 deletions(-)
+
+commit 4a85707b09e2fffbae36f8a3320366f5cc869595
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 15:07:36 2012 +0200
+
+ port-probe: no need to keep neither physdev path nor driver
+
+ src/mm-device.c | 4 +---
+ src/mm-port-probe.c | 26 +-------------------------
+ src/mm-port-probe.h | 6 +-----
+ 3 files changed, 3 insertions(+), 33 deletions(-)
+
+commit a5560bef3d46c60acb05c4c3d94ca76c8d52df2c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 15:01:22 2012 +0200
+
+ port-probe: don't warn if requesting info which wasn't probed
+
+ src/mm-port-probe.c | 32 +++++++++++++++-----------------
+ 1 file changed, 15 insertions(+), 17 deletions(-)
+
+commit a8bc1909e4e2aa369efbccd97737c087927f5b78
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 13:27:31 2012 +0200
+
+ plugin: setup a `priv' opaque pointer for the internal data
+
+ G_TYPE_INSTANCE_GET_PRIVATE() is really slow, so try to call it as
+ less as
+ possible.
+
+ src/mm-plugin.c | 196
+ ++++++++++++++++++++++++++++----------------------------
+ src/mm-plugin.h | 2 +
+ 2 files changed, 99 insertions(+), 99 deletions(-)
+
+commit a31560216672b08f27cb93798478f49e31fb6298
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 13:18:21 2012 +0200
+
+ plugin: no need to have our own `GUdevClient'
+
+ src/mm-plugin.c | 7 -------
+ 1 file changed, 7 deletions(-)
+
+commit 1e9c6772ce674606b2e999baf9e9b7a3b25bb862
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 13:14:31 2012 +0200
+
+ plugin: no need to take care of probing tasks ourselves
+
+ src/mm-plugin.c | 55
+ +------------------------------------------------------
+ 1 file changed, 1 insertion(+), 54 deletions(-)
+
+commit cf48d3daa790a57bd003e6488baf936ec186caee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 13:14:13 2012 +0200
+
+ plugin: don't provide an additional method to cancel the probing
+
+ We'll do it with a GCancellable.
+
+ src/mm-plugin.c | 20 --------------------
+ src/mm-plugin.h | 3 ---
+ 2 files changed, 23 deletions(-)
+
+commit d84cecac99fa0b06ade470d093932ae97c72fe4b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 13:11:01 2012 +0200
+
+ plugin: don't use internal task list to cancel AT probing in other
+ probes
+
+ src/mm-plugin.c | 24 ++++++++++--------------
+ 1 file changed, 10 insertions(+), 14 deletions(-)
+
+commit 61e285497cd61f4b7620d3def3d63a01dc150b59
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 13:03:42 2012 +0200
+
+ port-probe-cache: removed, no longer needed
+
+ The `MMDevice' acts as port probe cache for us now, directly storing
+ all port
+ probes of the same device.
+
+ src/Makefile.am | 2 --
+ src/mm-manager.c | 6 ----
+ src/mm-plugin.c | 4 +--
+ src/mm-port-probe-cache.c | 87
+ -----------------------------------------------
+ src/mm-port-probe-cache.h | 31 -----------------
+ 5 files changed, 1 insertion(+), 129 deletions(-)
+
+commit 9d14e4e8e9f2c4c15016a62ab5a3aadddaf08312
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 12:59:01 2012 +0200
+
+ device: get vendor/product IDs
+
+ And don't do it in MMPlugin.
+
+ src/mm-device.c | 106 ++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-device.h | 2 +
+ src/mm-plugin.c | 133
+ +++++---------------------------------------------------
+ 3 files changed, 115 insertions(+), 126 deletions(-)
+
+commit 74dd7246697bb086c92fcdea93b26966fecc7fa5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 12:41:00 2012 +0200
+
+ plugin: simplify interface by passing around the device and/or
+ port objects
+
+ src/mm-device.c | 2 +-
+ src/mm-plugin-manager.c | 6 +-
+ src/mm-plugin.c | 159
+ +++++++++++++++++-------------------------------
+ src/mm-plugin.h | 8 +--
+ 4 files changed, 61 insertions(+), 114 deletions(-)
+
+commit b816887cace031b1b5fc33818fba9b513850f5b6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 12:40:04 2012 +0200
+
+ port-probe: use dispose() to cleanup internal object references
+
+ src/mm-port-probe.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+commit 87c2c8632e73a5e128c8b47a958e02fb809618c9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 12:39:43 2012 +0200
+
+ port-probe: new method to check if there is an AT port in a list
+ of probes
+
+ src/mm-port-probe.c | 13 +++++++++++++
+ src/mm-port-probe.h | 3 +++
+ 2 files changed, 16 insertions(+)
+
+commit b791e87b23b3cbfdad53edf1129a1428b14c191c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 12:11:52 2012 +0200
+
+ device: keep a list of port probes instead of just ports
+
+ src/mm-device.c | 111
+ ++++++++++++++++++++++++++++++++++++++------------------
+ src/mm-device.h | 7 ++++
+ src/mm-plugin.c | 31 +++-------------
+ src/mm-plugin.h | 2 +-
+ 4 files changed, 89 insertions(+), 62 deletions(-)
+
+commit a9075b0c09eb999eb64fda70154e055a9d0edb1d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 11:48:02 2012 +0200
+
+ port-probe: rename _get_port() to _peek_port() as there is no
+ ownership transfer
+
+ plugins/linktop/mm-plugin-linktop.c | 2 +-
+ plugins/nokia/mm-plugin-nokia.c | 2 +-
+ plugins/option/mm-plugin-hso.c | 2 +-
+ plugins/option/mm-plugin-option.c | 2 +-
+ plugins/simtech/mm-plugin-simtech.c | 2 +-
+ src/mm-port-probe.c | 2 +-
+ src/mm-port-probe.h | 2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+
+commit e5e46f489e9d89bdecb4c4948b0d9627e33555cc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 11:15:23 2012 +0200
+
+ core: merge `MMPluginBase' and `MMPlugin'
+
+ There's no real point in maintaining a separate `MMPlugin' interface,
+ as all the
+ plugins will inherit from `MMPluginBase', so just merge them and
+ simplify
+ everything.
+
+ TODO | 4 -
+ docs/reference/api/ModemManager-overview.xml | 74 +-
+ plugins/anydata/mm-plugin-anydata.c | 24 +-
+ plugins/anydata/mm-plugin-anydata.h | 6 +-
+ plugins/cinterion/mm-plugin-cinterion.c | 24 +-
+ plugins/cinterion/mm-plugin-cinterion.h | 6 +-
+ plugins/generic/mm-plugin-generic.c | 22 +-
+ plugins/generic/mm-plugin-generic.h | 5 +-
+ plugins/gobi/mm-plugin-gobi.c | 24 +-
+ plugins/gobi/mm-plugin-gobi.h | 7 +-
+ plugins/iridium/mm-plugin-iridium.c | 26 +-
+ plugins/iridium/mm-plugin-iridium.h | 6 +-
+ plugins/linktop/mm-plugin-linktop.c | 22 +-
+ plugins/linktop/mm-plugin-linktop.h | 6 +-
+ plugins/motorola/mm-plugin-motorola.c | 22 +-
+ plugins/motorola/mm-plugin-motorola.h | 6 +-
+ plugins/nokia/mm-plugin-nokia.c | 24 +-
+ plugins/nokia/mm-plugin-nokia.h | 6 +-
+ plugins/novatel/mm-plugin-novatel.c | 22 +-
+ plugins/novatel/mm-plugin-novatel.h | 6 +-
+ plugins/option/mm-plugin-hso.c | 24 +-
+ plugins/option/mm-plugin-hso.h | 6 +-
+ plugins/option/mm-plugin-option.c | 26 +-
+ plugins/option/mm-plugin-option.h | 6 +-
+ plugins/simtech/mm-plugin-simtech.c | 24 +-
+ plugins/simtech/mm-plugin-simtech.h | 6 +-
+ plugins/wavecom/mm-plugin-wavecom.c | 22 +-
+ plugins/wavecom/mm-plugin-wavecom.h | 6 +-
+ src/Makefile.am | 4 +-
+ src/mm-plugin-base.c | 1138
+ --------------------------
+ src/mm-plugin-base.h | 79 --
+ src/mm-plugin.c | 1116
+ +++++++++++++++++++++++--
+ src/mm-plugin.h | 137 ++--
+ 33 files changed, 1352 insertions(+), 1584 deletions(-)
+
+commit 7e9d3e4b685f0e92979af2f595be6cd336b5dbd6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 10:44:14 2012 +0200
+
+ plugin-base: method to get device IDs doesn't need to be public
+
+ Given the new pre-probing filters, the IDs are no longer retrieved
+ by the
+ plugins.
+
+ src/mm-plugin-base.c | 16 ++++++++--------
+ src/mm-plugin-base.h | 5 -----
+ 2 files changed, 8 insertions(+), 13 deletions(-)
+
+commit aaa487094e140583c4e652c8f59e38431d77b865
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 10:24:58 2012 +0200
+
+ plugin-manager: simplify device/port probing logic
+
+ The plugin manager no longer needs to take care of keeping track of
+ which probes
+ are being run and to which physical device they correspond, as the
+ upper layer's
+ `MMDevice' already does this. This simplifies the internal logic
+ quite a lot, as
+ we can now easily suggest plugins to the remaining port probes of
+ the same
+ device directly.
+
+ src/mm-plugin-manager.c | 742
+ ++++++++++++++++++------------------------------
+ 1 file changed, 271 insertions(+), 471 deletions(-)
+
+commit a1ffbdf1c8fef089e8c114649ed2161bab2aaaa6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 08:39:28 2012 +0200
+
+ plugin-manager: find port support is now only an internal operation
+
+ src/mm-plugin-manager.c | 41 +++++++++++++++++++++++------------------
+ src/mm-plugin-manager.h | 14 --------------
+ 2 files changed, 23 insertions(+), 32 deletions(-)
+
+commit c1c3702f5336b7e759afc7d8b51a7422b18098ed
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 08:35:47 2012 +0200
+
+ plugin-manager: remove unneeded methods
+
+ We no longer need to query the plugin manager whether we're checking
+ support for
+ a specific port, as the ports are now grabbed only once in the
+ MMDevice, and
+ therefore we ensure that supports check is launched only once in the
+ PluginManager for that specific port.
+
+ Also, we no longer need to query the plugin manager whether we're
+ checking
+ support for a given device, as the logic to check when all ports of
+ the device
+ are probed is now maintained internally.
+
+ src/mm-plugin-manager.c | 50
+ -------------------------------------------------
+ src/mm-plugin-manager.h | 13 -------------
+ 2 files changed, 63 deletions(-)
+
+commit b35d6a65faff87c6cb96bdda4fee5cc270be4f6f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 08:29:14 2012 +0200
+
+ plugin-manager: define a minimum probing time of 2s
+
+ Effectively, we're now letting the kernel up to 2s to show all the
+ ports of the
+ device, starting from the time where the first port is exposed.
+
+ src/mm-plugin-manager.c | 50
+ ++++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 41 insertions(+), 9 deletions(-)
+
+commit e8339385da87665befd36c7041b2ab334883130e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 08:15:29 2012 +0200
+
+ manager: use the new method to check support of a given full device
+
+ src/mm-manager.c | 202
+ +++++++++++++++++--------------------------------------
+ 1 file changed, 61 insertions(+), 141 deletions(-)
+
+commit 5b4abce64afc2987a12a80ba86277d4b5fb53cc4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 08:14:32 2012 +0200
+
+ plugin-manager: new method to check support for a given device and
+ all its ports
+
+ The new `mm_plugin_manager_find_device_support()' will be an async
+ method which
+ waits for ports to be added in the given `MMDevice'. As soon as all
+ added ports
+ are probed, the device support check is considered finished.
+
+ src/mm-plugin-manager.c | 185
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-plugin-manager.h | 21 ++++--
+ 2 files changed, 202 insertions(+), 4 deletions(-)
+
+commit 3daed5130fcbbf958c61274199001bd9aa307fbb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 08:12:40 2012 +0200
+
+ plugin-base: don't assume a plugin will give as supported all ports
+ of the device
+
+ E.g. the Generic plugin will give as unsupported 'net' ports found
+ in the
+ device, as it doesn't know how to use them.
+
+ src/mm-plugin-base.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit 66ec5cd724ca82d4b0ad538f0d196833e88624e5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 07:09:36 2012 +0200
+
+ device: signal grabbed/released ports
+
+ src/mm-device.c | 38 ++++++++++++++++++++++++++++++++------
+ src/mm-device.h | 9 +++++++++
+ 2 files changed, 41 insertions(+), 6 deletions(-)
+
+commit 72ffa7a1e5e5cb45efa165d44467a32cf60fc52f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 07:07:56 2012 +0200
+
+ device: load driver being used when first port grabbed
+
+ src/mm-device.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-device.h | 1 +
+ 2 files changed, 51 insertions(+)
+
+commit 7b7f5b9dcb0b3cde4adc8e615ee6ee3fb01b9a80
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 07:03:08 2012 +0200
+
+ device: keep sysfs path around for logging
+
+ src/mm-device.c | 19 +++++++++++++++++++
+ src/mm-device.h | 1 +
+ 2 files changed, 20 insertions(+)
+
+commit 0aff871b04b76ca45aa9afbf7f1c88cb65c0e80d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 10 07:00:46 2012 +0200
+
+ device: split `MMDevice' creation and plugin setting
+
+ We want to be able to create the MMDevice way before we have
+ decided which
+ plugin to use.
+
+ src/mm-device.c | 21 +++++++++++++++------
+ src/mm-device.h | 5 +++--
+ src/mm-manager.c | 4 ++--
+ 3 files changed, 20 insertions(+), 10 deletions(-)
+
+commit 815693661c7f6a4225d271d2cec67e59bad8e070
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 5 15:25:38 2012 +0200
+
+ core: compile all ports before creating the modem object
+
+ Before this, we only exported the modem to DBus when all ports
+ were organized,
+ in order to make sure that we select as primary port the one we
+ really want and
+ not the first AT port grabbed. Given that to get all the ports
+ organized we also
+ needed to wait to get all the ports grabbed, we can now also defer
+ the creation
+ of the modem object until all the ports get grabbed. This allows us
+ to create
+ different types of objects based on the ports available (e.g. we
+ can now create
+ QMI-supported modem objects if we see a QMI port around).
+
+ include/ModemManager-errors.h | 2 +
+ plugins/Makefile.am | 2 +-
+ plugins/anydata/mm-plugin-anydata.c | 60 ++--
+ plugins/cinterion/mm-plugin-cinterion.c | 61 ++--
+ plugins/generic/mm-plugin-generic.c | 80 ++----
+ plugins/gobi/mm-plugin-gobi.c | 63 ++---
+ plugins/iridium/mm-plugin-iridium.c | 65 ++---
+ plugins/linktop/mm-plugin-linktop.c | 64 ++---
+ plugins/motorola/mm-plugin-motorola.c | 63 ++---
+ plugins/nokia/mm-plugin-nokia.c | 73 ++---
+ plugins/novatel/mm-plugin-novatel.c | 58 ++--
+ plugins/option/mm-plugin-hso.c | 57 ++--
+ plugins/option/mm-plugin-option.c | 63 ++---
+ plugins/simtech/mm-plugin-simtech.c | 61 ++--
+ plugins/wavecom/mm-plugin-wavecom.c | 62 ++--
+ src/Makefile.am | 2 +
+ src/mm-device.c | 413 +++++++++++++++++++++++++++
+ src/mm-device.h | 74 +++++
+ src/mm-manager.c | 486
+ +++++++++++---------------------
+ src/mm-plugin-base.c | 98 +++++--
+ src/mm-plugin-base.h | 17 +-
+ src/mm-plugin.c | 15 +-
+ src/mm-plugin.h | 23 +-
+ 23 files changed, 1095 insertions(+), 867 deletions(-)
+
+commit 4add521a98e59c9fbaaf30d965771ca01f748242
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 2 10:40:33 2012 +0200
+
+ build: remove duplicate `--with-docs' switch
+
+ configure.ac | 8 --------
+ 1 file changed, 8 deletions(-)
+
+commit 0336b8f89d83998323643e5db8478590f310c256
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Aug 2 09:23:16 2012 +0200
+
+ iface-modem: don't process signal/act updates if interface is
+ shut down
+
+ When the interface is shut down the skeleton object no longer
+ exists. Given that
+ we're allowing this actions from outside the interface, we should
+ be safe and
+ don't assume that the caller knows exactly the state of the interface.
+
+ src/mm-iface-modem.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+commit b320f5c065e634a7fd2f98accafa164a1ccd8e1b
+Author: Ben Chan <benchan@chromium.org>
+Date: Wed Aug 1 11:53:06 2012 -0700
+
+ iface-modem: fix crashes due to removed context
+
+ src/mm-iface-modem.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit 0ff904b3c501969d953c05834d897211b92a1324
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 09:16:07 2012 +0200
+
+ bearer: set state as DISCONNECTING as soon as we cancel the connection
+ sequence
+
+ Just when we request to cancel the connection we need to set the
+ bearer as
+ being disconnected, so that we do not end up overwriting connection
+ cancellation
+ requests.
+
+ Reported by: Thieu Le <thieule@chromium.org>
+
+ src/mm-bearer.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 737b6c2fc5d576c744aa7e5bb70b171bf3271e6f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jul 31 09:02:58 2012 +0200
+
+ cli,libmm-glib: provide mm_manager_(peek|get)_proxy()
+
+ peek() doesn't increase the reference count of the proxy object,
+ while get()
+ does it.
+
+ cli/mmcli-manager.c | 4 ++--
+ libmm-glib/mm-manager.c | 18 ++++++++++++++++--
+ libmm-glib/mm-manager.h | 3 ++-
+ 3 files changed, 20 insertions(+), 5 deletions(-)
+
+commit 60405ce4ff5cc8ce7d8116b2387add00465dbd49
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 30 16:46:25 2012 -0700
+
+ cli,libmm-glib: set default timeout on manager DBus proxy
+
+ This patch fixes mmcli to set the default timeout on the manager proxy
+ interface (MmGdbusOrgFreedesktopModemManager1) instead of MMManager
+ itself. The later is not a GDBusProxy object.
+
+ cli/mmcli-manager.c | 4 ++--
+ libmm-glib/mm-manager.c | 14 ++++++++++++++
+ libmm-glib/mm-manager.h | 2 ++
+ 3 files changed, 18 insertions(+), 2 deletions(-)
+
+commit a448eabb3d8c238f1f734e233edd0ca9b49b2d60
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 09:31:30 2012 +0200
+
+ iface-modem: SIM-PIN2 lock takes us to disabled state, not locked
+
+ src/mm-iface-modem.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 8d31e79ac42a5a7df8fbef10cc5454f5a69515f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 26 09:28:06 2012 +0200
+
+ sim: getting SIM-PIN2 lock doesn't mean PIN sending failed
+
+ src/mm-sim.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 05289d094b8068dca147a5a43073f544578d49bb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 25 12:00:28 2012 +0200
+
+ iface-modem-3gpp: fix variant ref count
+
+ src/mm-iface-modem-3gpp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 75d84b7402e61f8d793f876775be9623f842d43a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 25 10:41:09 2012 +0200
+
+ cli: get AT command timeout directly from our default operation
+ timeout
+
+ We remove the `--command-timeout' option, as the AT command timeout
+ is now
+ directly computed from our default DBus timeout (modifiable with
+ `--timeout').
+
+ cli/mmcli-modem.c | 39 ++++++++++++++++++++++++++++++---------
+ 1 file changed, 30 insertions(+), 9 deletions(-)
+
+commit 8b863c5a4bd03a6b8ff668e25f750b51bc19ddbe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 25 10:15:38 2012 +0200
+
+ libmm-glib: don't change default DBus timeout when running
+ Modem.Command()
+
+ Just warn if the default DBus timeout is shorter than the one being
+ requested.
+
+ libmm-glib/mm-modem.c | 26 ++++++++++----------------
+ 1 file changed, 10 insertions(+), 16 deletions(-)
+
+commit 8f8bcd7724e8c75cf7e0460946c04624ce6ed46a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 25 10:04:20 2012 +0200
+
+ cli: allow modifying default DBus timeout with `--timeout'
+
+ By default 30s will be used for every operation.
+
+ cli/mmcli-manager.c | 6 ++++++
+ cli/mmcli-modem-3gpp.c | 12 ++++++++++++
+ cli/mmcli-modem-cdma.c | 8 ++++++++
+ cli/mmcli-modem-location.c | 8 ++++++++
+ cli/mmcli-modem-messaging.c | 8 ++++++++
+ cli/mmcli-modem-simple.c | 8 ++++++++
+ cli/mmcli-modem-time.c | 8 ++++++++
+ cli/mmcli-modem.c | 16 ++++++++++++++++
+ cli/mmcli-sim.c | 6 ++++++
+ cli/mmcli-sms.c | 5 +++++
+ cli/mmcli.c | 11 +++++++++++
+ cli/mmcli.h | 7 ++++---
+ 12 files changed, 100 insertions(+), 3 deletions(-)
+
+commit 8a34e417943df90f6b43a0de08550def557c7db7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 25 10:01:41 2012 +0200
+
+ cli: fix showing CDMA related info in sync mode
+
+ cli/mmcli-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 001f35234e16d7aeb2ed1282ba3b57aea73c5a9e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 25 09:25:18 2012 +0200
+
+ cli: ensure modem is enabled when performing actions
+
+ Don't rely on the lock status, as the modem may say it requires SIM
+ PIN 2, but
+ we're allowed to run most operations even with that unlock required.
+
+ cli/mmcli-modem-3gpp.c | 4 ++--
+ cli/mmcli-modem-cdma.c | 4 ++--
+ cli/mmcli-modem-location.c | 4 ++--
+ cli/mmcli-modem-messaging.c | 4 ++--
+ cli/mmcli-modem-time.c | 4 ++--
+ 5 files changed, 10 insertions(+), 10 deletions(-)
+
+commit c6c1e0fb50569b9eafd92ba170a8dba42c4948be
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 14:36:32 2012 +0200
+
+ broadband-modem: fallback to unencoded command in USSD if encoded
+ fails
+
+ src/mm-broadband-modem.c | 173
+ +++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 139 insertions(+), 34 deletions(-)
+
+commit 19e65253de194c8e6cdf1d1846729e2d778cf7ef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 11:52:45 2012 +0200
+
+ broadband-bearer: debug logs when disconnecting 3GPP bearer
+
+ src/mm-broadband-bearer.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit aa11a0bf7d334bf8fa766f4f74935ebb970bcaf0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 11:33:18 2012 +0200
+
+ broadband-modem: assume CS if 2G supported
+
+ src/mm-broadband-modem.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 79fbe274e92605f7d31de3e4588dd4848bc6e797
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 00:21:07 2012 +0200
+
+ iface-modem: new async method to be run just after the successful
+ SIM unlock
+
+ src/mm-iface-modem.c | 33 +++++++++++++++++++++++++++++++--
+ src/mm-iface-modem.h | 9 +++++++++
+ 2 files changed, 40 insertions(+), 2 deletions(-)
+
+commit 2aceb907f4b1bc892874627f94586deff6c6808e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 13:29:51 2012 +0200
+
+ mm-broadband-modem: fix result completion on hex encoding errors
+
+ src/mm-broadband-modem.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit 9670b362bf1a058a8ecea818530f29df166f1027
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 13:30:27 2012 +0200
+
+ mm-broadband-modem: fix USSD command sending, don't use cached
+ AT replies
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ea10c57056996dcc888444a5386d4cfe43b94950
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 13:17:05 2012 +0200
+
+ broadband-modem: cancel pending USSD request if USSD session cancelled
+
+ src/mm-broadband-modem.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit ce33bcfd7a2389a1d7255991afd0383eff763c53
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 13:08:56 2012 +0200
+
+ iface-modem-3gpp-ussd: set proper initial session state
+
+ src/mm-iface-modem-3gpp-ussd.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 89cdb8819a1427c371b6f307608bcac6c12b5a12
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 12:59:47 2012 +0200
+
+ iface-modem-3gpp-ussd: don't allow USSD actions if the modem is
+ not enabled
+
+ src/mm-iface-modem-3gpp-ussd.c | 61
+ +++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 58 insertions(+), 3 deletions(-)
+
+commit dd8dcbb899c27041f856ecdb633ed0aa0db6442b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jul 22 11:14:41 2012 +0200
+
+ messaging: don't treat as fatal error if we cannot read from a
+ given storage
+
+ src/mm-iface-modem-messaging.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 2146553c5971e55ae0544852b6be4389e7590334
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 17:12:45 2012 +0200
+
+ broadband-bearer: fix missing method
+
+ It was wrongly removed in commit
+ 2506e3093e9cc47bc03e34b0dd9c58c13469aec5.
+
+ src/mm-broadband-bearer.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 9f5dd85d968006c6bb4326fbcf3ca0ac82ffbebb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jul 21 16:20:31 2012 +0200
+
+ doc: include missing description of the new LTE bands
+
+ include/ModemManager-enums.h | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit 3653ec4b8e32bf856937ba49faaa982bdf774594
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 16:04:26 2012 +0200
+
+ broadband-modem: send always ATZ alone
+
+ ITU rec v.250 (6.1.1) says:
+ The DTE should not include additional commands on the same command
+ line after
+ the Z command because such commands may be ignored.
+
+ src/mm-broadband-modem.c | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit b30011005512eddccf8022ba60aa17312289acd3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 14:52:39 2012 +0200
+
+ hso: use common integer string parsers
+
+ plugins/option/mm-broadband-bearer-hso.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+commit 487cd29d8bdae22af6c2ee897615279e92f77eb7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 10:41:50 2012 +0200
+
+ hso: unsolicited %IPDPACT may come before the AT command reply
+
+ plugins/option/mm-broadband-bearer-hso.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit c63f42a20cc26fb89bfbe5d14e9b2b4437f41102
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 10:41:09 2012 +0200
+
+ hso: plug memleak when finishing dialling with error
+
+ plugins/option/mm-broadband-bearer-hso.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit b43ee56d067fae90809776b388a1fa335f508796
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jul 19 10:40:25 2012 +0200
+
+ hso: fix cid to report to
+
+ plugins/option/mm-broadband-modem-hso.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e7715af875eb26517ae63e6e1db784b903da702e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 17 15:49:05 2012 -0500
+
+ serial: fix AT port carriage return handling
+
+ Off-by-one, fix it.
+
+ src/mm-at-serial-port.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2506e3093e9cc47bc03e34b0dd9c58c13469aec5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 14:46:51 2012 +0200
+
+ api,header: add LTE specific bands in `MMModemBand'
+
+ include/ModemManager-enums.h | 38 +++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 37 insertions(+), 1 deletion(-)
+
+commit d25f767559a9e558546c991cee1cb5ecdf037aec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 18 14:46:24 2012 +0200
+
+ api,header: fix description of `MMModemBand'
+
+ It was a bitmask once...
+
+ include/ModemManager-enums.h | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit f08c76f00cc52e672af8515440067b223e045a0c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 17 11:58:35 2012 -0500
+
+ decode: handle another UsbSnoop URB function
+
+ decode/packet.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 717977d0b5202c1d0a8cf2a16ae0500cc049a821
+Author: Ben Chan <benchan@chromium.org>
+Date: Mon Jul 16 22:23:55 2012 -0700
+
+ iface-modem-messaging: check if supported storage is allocated
+ before use
+
+ load_supported_storages may fail, which results in unallocated storage
+ memory. This patch modifies load_initial_sms_parts_from_storages and
+ is_storage_supported to handle that gracefully.
+
+ src/mm-iface-modem-messaging.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+commit 431b6a0fc5da7e2c339f30b4993fa78bd83cbbe9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 16 08:34:01 2012 +0200
+
+ broadband-modem: remove `USE_WS46' property
+
+ 3GPP modems will all try to use AT+WS46=? by default to gather
+ supported modes.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 1 -
+ plugins/novatel/mm-broadband-modem-novatel.c | 1 -
+ src/mm-broadband-modem.c | 20
+ --------------------
+ src/mm-broadband-modem.h | 2 --
+ 4 files changed, 24 deletions(-)
+
+commit 7ce65fe85d7a66cce1c4a507afe9968d811304c5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jul 16 07:43:10 2012 +0200
+
+ broadband-modem: try to guess more specific 2G/3G/4G mode support
+
+ For 3GPP modems, we'll try with AT+WS46=?, which is the standard
+ command to
+ query supported networks. If it returns error, we'll fallback to
+ the defaults.
+
+ For CDMA modems, we'll try to gather CDMA1x and/or EV-DO support
+ directly from
+ the AT+GCAP response.
+
+ src/mm-broadband-modem.c | 332
+ ++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 214 insertions(+), 118 deletions(-)
+
+commit f4ad5c805e9368babc126b92be89df0de431e830
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 19:07:56 2012 +0200
+
+ iface-modem-cdma: new steps to setup/cleanup unsolicited messages
+
+ src/mm-iface-modem-cdma.c | 90
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-cdma.h | 16 +++++++++
+ 2 files changed, 106 insertions(+)
+
+commit 209f4d4420d531cf56fa7691977869bdd02a2d15
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jul 13 09:09:15 2012 +0200
+
+ iface-modem-[3gpp|cdma]: remove contexts with timeouts when shutting
+ down
+
+ Following the same logic as in commit 9ddcf92a, those contexts in
+ the interface
+ which contain the setup of a timeout are cleared before removing
+ the DBus
+ skeleton objects, so that we make sure they are not fired out once
+ these have
+ been disposed.
+
+ src/mm-iface-modem-3gpp.c | 8 ++++++++
+ src/mm-iface-modem-cdma.c | 8 ++++++++
+ 2 files changed, 16 insertions(+)
+
+commit 9ddcf92a18f94e4d4e38c2807311ad8518b5e9a7
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 12 14:12:52 2012 -0700
+
+ iface-modem: fix crashes due to removed skeleton
+
+ expire_signal_quality() / mm_iface_modem_update_access_technologies()
+ may be called after the DBus object skeleton is removed in
+ mm_iface_modem_shutdown() and before their associated timeout
+ source is
+ removed (in *_context_free) due to destruction of the modem object.
+
+ This patch fixes the issue by removing context objects before removing
+ the DBus skeleton in mm_iface_modem_shutdown().
+
+ src/mm-iface-modem.c | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+commit 0519af932e5306ecb6c7ae7c37bc11ab1ffbd73f
+Author: Ben Chan <benchan@chromium.org>
+Date: Thu Jul 12 08:28:16 2012 -0700
+
+ port-probe: fix crash in serial_probe_at_parse_response due to
+ NULL response
+
+ When the serial port is not open, internal_queue_command
+ (mm-serial-port.c) invokes serial_probe_at_parse_response
+ (mm-port-probe.c) with a NULL response. This patch modifies
+ serial_probe_at_parse_response to handle NULL response properly.
+
+ src/mm-port-probe.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 107c78306ef9ff32dc0b3434cb0aa064df8f2233
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 29 13:28:59 2012 +0200
+
+ cli: fix showing revision when not multiline
+
+ cli/mmcli-common.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 513abb2ccfe7215cf1195ec786f8d2e28533f7f2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 27 15:38:28 2012 +0200
+
+ polkit: fix authority object disposal
+
+ src/mm-auth-provider-polkit.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cb881a2653575671d77c3b6d32d435819bc49fde
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 26 12:15:40 2012 +0200
+
+ uml290: git-ignore generated program
+
+ .gitignore | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 061b4d202c74aaef25ac926cdb991c96a19e5d2d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 25 12:48:01 2012 -0500
+
+ decode: handle FUNCTION_CLASS_INTERFACE requests like CONTROL_TRANSFER
+
+ The Novatel USB551L uses these to send data to the device, but
+ the data
+ is QMUX.
+
+ decode/packet.py | 6 +++---
+ decode/qmux.py | 4 ++++
+ 2 files changed, 7 insertions(+), 3 deletions(-)
+
+commit d20f33b5c9bf0c187725d96e90acd673a120a409
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 22 13:56:02 2012 -0500
+
+ trivial: fix format string
+
+ uml290/uml290mode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 16d85f7b33b51beaf7c6155eb2d939c338b811f5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 22 12:06:08 2012 -0500
+
+ decode: update with latest QMI enums
+
+ Since QC stopped distributing the database files, we can't easily
+ decode the TLV names unless we start parsing the C headers.
+
+ decode/packet.py | 4 +-
+ decode/qmiprotgen.py | 108
+ ++++++++++++++++++++++++++++++++++++++++++++++++--
+ decode/qmiprotocol.py | 101
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ decode/qmux.py | 16 ++++++--
+ 4 files changed, 222 insertions(+), 7 deletions(-)
+
+commit ab5e9a49cffde9c640879e681f270cdfdacfbaca
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jun 6 11:40:47 2012 -0500
+
+ zte: try to handle Icera devices that use PPP
+
+ Not all devices present a network interface, and on these devices
+ we need to fall back to PPP using the standard setup commands. But
+ they appear to support the Icera custom commands for access technology
+ and such, so still use those.
+
+ Hopefully fixes ZTE MF665C.
+
+ plugins/mm-modem-zte.c | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+commit 4ac45ba0911a03ce83b748f977e6dabfb2e8907b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 4 13:52:09 2012 -0500
+
+ uml290: allow setting more global modes
+
+ uml290/uml290mode.c | 29 ++++++++++++++++++++++++-----
+ 1 file changed, 24 insertions(+), 5 deletions(-)
+
+commit 5337b2277ae38cb9becd21e2b1d9493c8644e939
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 4 13:51:13 2012 -0500
+
+ qcdm: fix 1x/HDR mode pref and add GSM/UMTS mode prefs
+
+ libqcdm/src/commands.h | 5 ++++-
+ libqcdm/src/nv-items.h | 5 ++++-
+ libqcdm/tests/test-qcdm-com.c | 9 +++++++++
+ 3 files changed, 17 insertions(+), 2 deletions(-)
+
+commit 99b877ee6834fd41f57a9fd768d03f7319822de1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 30 12:11:25 2012 -0500
+
+ test: ignore ESN errors in info.py
+
+ test/info.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit fcc4903a839a9b953ee2a9b2a2156c1ba50c4f1d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 30 11:52:36 2012 -0500
+
+ trivial: whitespace fixes
+
+ uml290/uml290mode.c | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+commit e7b1c48daf92ca85ce411b1f4efba52ae42b74a2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 30 11:47:10 2012 -0500
+
+ uml290: add mode switching tool
+
+ Switches UML290 mode between 4G/LTE, 3G/EVDO/1X, and auto.
+
+ Makefile.am | 2 +-
+ configure.ac | 1 +
+ uml290/Makefile.am | 10 ++
+ uml290/uml290mode.c | 435
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 447 insertions(+), 1 deletion(-)
+
+commit 96166e4b7599f80a76f1cc776fb79cc5fdf55d26
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 30 11:40:20 2012 -0500
+
+ wmc: namespace stuff properly
+
+ libwmc/src/utils.c | 8 ++++----
+ libwmc/src/utils.h | 8 ++++----
+ libwmc/tests/test-wmc-crc.c | 4 ++--
+ 3 files changed, 10 insertions(+), 10 deletions(-)
+
+commit 9fb8158279ce64bfbe626b7e36d08f77d2ce81c2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 30 11:39:23 2012 -0500
+
+ qcdm: namespace stuff properly
+
+ libqcdm/src/errors.h | 6 +++---
+ libqcdm/src/utils.c | 8 ++++----
+ libqcdm/src/utils.h | 8 ++++----
+ libqcdm/tests/test-qcdm-crc.c | 4 ++--
+ 4 files changed, 13 insertions(+), 13 deletions(-)
+
+commit e5f787d36486f20d728378ce0bd4e5027c7405b3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 29 13:49:26 2012 -0500
+
+ wmc: add command for setting global mode
+
+ libwmc/src/commands.c | 51
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ libwmc/src/commands.h | 6 ++++++
+ 2 files changed, 57 insertions(+)
+
+commit 6fa3f0b0d7cb415ea642feda1e33462af7a941b1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 24 09:59:00 2012 +0200
+
+ build: provide pkg-config files for ModemManager, libmm-common
+ and libmm-glib
+
+ .gitignore | 4 +++-
+ configure.ac | 3 +++
+ data/Makefile.am | 8 ++++++++
+ data/ModemManager.pc.in | 9 +++++++++
+ data/mm-common.pc.in | 11 +++++++++++
+ data/mm-glib.pc.in | 11 +++++++++++
+ 6 files changed, 45 insertions(+), 1 deletion(-)
+
+commit e582a22db7fdbbd187fd1631c1cab3712fe85763
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 24 09:57:04 2012 +0200
+
+ api: install common headers to ${prefix}/include/ModemManager
+
+ ...instead of ${prefix}/include/mm
+
+ include/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 6bf277e7948b01062459fd6b7ea2ba40b022e248
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 24 09:56:23 2012 +0200
+
+ libmm-glib: install missing headers
+
+ libmm-glib/Makefile.am | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 4ae13ef5d947bf7042f0d1028aade0a6172d651a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 24 09:56:15 2012 +0200
+
+ libmm-common: install missing header
+
+ libmm-common/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 6d888e2e90928fae126392211f3e004dfdf77486
+Author: Jiří Klimeš <jklimes@redhat.com>
+Date: Wed May 23 10:21:29 2012 +0200
+
+ dbus: remove 'max_replies_per_connection' limit from D-Bus
+ configuration
+
+ It is leftover from times when D-Bus default limit was 32. Now,
+ it is 8192, see
+ http://cgit.freedesktop.org/dbus/dbus/commit/?id=8d3d8ff55739eebd84d0d53a20a025329feafc3b
+
+ data/org.freedesktop.ModemManager1.conf.nopolkit | 2 --
+ data/org.freedesktop.ModemManager1.conf.polkit | 2 --
+ 2 files changed, 4 deletions(-)
+
+commit 9bee743a9d193373df82a93ef4fd159504d0763e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 16 12:13:48 2012 -0500
+
+ vl600: add some reverse engineering docs and an AT com utility
+
+ vl600/atcom.py | 147
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ vl600/vl600.txt | 38 +++++++++++++++
+ 2 files changed, 185 insertions(+)
+
+commit df1f21d17f6923145926fba5be38cff947254cae
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun May 6 18:53:03 2012 +0200
+
+ sms: fix setting multipart specific properties
+
+ Don't make them construct-only, so that we can set them whenever
+ needed.
+
+ src/mm-sms.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 8a47621a5c7dd909e117033ca21f5fb3fa7ece9e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun May 6 18:48:59 2012 +0200
+
+ sms,tests: new test to check for multipart support in SMS parts
+
+ src/tests/test-sms-part.c | 48
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+commit 97baa44b04ac90b25c792a6883fe6b7c49aa1f17
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun May 6 16:29:47 2012 +0200
+
+ novatel: report error if not properly disconnected
+
+ When we request to disconnect, and the disconnection status check
+ fails, return
+ a proper error.
+
+ plugins/novatel/mm-broadband-bearer-novatel.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit b2d376696c0e0d7eddf2cb67b0869cc6f20cf953
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun May 6 16:25:32 2012 +0200
+
+ novatel: minor coding style fixes
+
+ plugins/novatel/mm-broadband-bearer-novatel.c | 83
+ +++++++++++++++------------
+ 1 file changed, 46 insertions(+), 37 deletions(-)
+
+commit 6b9ee7c83352bb545eab3352b32843a76cde9176
+Author: Tore Anderson <tore@fud.no>
+Date: Fri Apr 13 23:29:17 2012 +0200
+
+ broadband-bearer: derive PDP type from the ip-type bearer property
+
+ This patch makes it possible to use MM to set up PDP contexts with
+ PDP types other than 'IP', which is particularly useful when trying
+ to use the 'IPV6' or 'IPV4V6' PDP types defined in recent 3GPP specs.
+
+ If ip-type isn't specified, 'IP' will be used by default, due to the
+ fact that modem support for the 'IPV4V6' type is still rather scarce.
+
+ The patch applies to Aleksander's 'bearer-properties' branch. It has
+ been tested using mmcli in this fashion:
+
+ mmcli -m 0 --simple-connect=apn=internet # default to 'IP'
+ mmcli -m 0 --simple-connect=apn=internet,ip-type=IP
+ mmcli -m 0 --simple-connect=apn=internet,ip-type=IPV6
+ mmcli -m 0 --simple-connect=apn=internet,ip-type=IPV4V6
+
+ libmm-common/mm-bearer-properties.c | 7 +++++++
+ src/mm-broadband-bearer.c | 14 +++++++-------
+ 2 files changed, 14 insertions(+), 7 deletions(-)
+
+commit caeeae27219a91384fa41ac5a1e0f21e1edbaa76
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 2 20:25:18 2012 +0200
+
+ bearer: simplify handling of the bearer configuration
+
+ The base MMBearer object will receive the MMBearerProperties
+ configuration,
+ which contains every generic and plugin-specific set up. Not every
+ configuration
+ parameter will be used by every implementation (e.g. not every
+ bearer needs
+ user/password).
+
+ The Bearer object will expose every configuration parameter received
+ in its
+ `Properties' property in the interface, even if it's not really used.
+
+ libmm-common/mm-bearer-properties.c | 16 ++
+ libmm-common/mm-bearer-properties.h | 3 +
+ plugins/iridium/mm-bearer-iridium.c | 18 +-
+ plugins/iridium/mm-bearer-iridium.h | 3 +-
+ plugins/iridium/mm-broadband-modem-iridium.c | 5 +-
+ plugins/novatel/mm-broadband-bearer-novatel.c | 155 ++------------
+ plugins/option/mm-broadband-bearer-hso.c | 148 +------------
+ plugins/option/mm-broadband-bearer-hso.h | 5 +-
+ src/mm-bearer-list.c | 2 +-
+ src/mm-bearer.c | 71 ++++---
+ src/mm-bearer.h | 20 +-
+ src/mm-broadband-bearer.c | 286
+ ++++----------------------
+ src/mm-broadband-bearer.h | 5 -
+ 13 files changed, 141 insertions(+), 596 deletions(-)
+
+commit 1984c155ad7dc488001a01d3c65fefc8002ac836
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 12 22:38:59 2012 +0200
+
+ wavecom: plugin fully ported
+
+ plugins/mm-modem-wavecom-gsm.c | 1174
+ ----------------------------------------
+ plugins/mm-modem-wavecom-gsm.h | 45 --
+ 2 files changed, 1219 deletions(-)
+
+commit 6c26e90610b1e657f1675d7c097dcb797735d56a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 12 22:35:58 2012 +0200
+
+ wavecom: implement custom band setting
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 212
+ +++++++++++++++++++++++++--
+ 1 file changed, 201 insertions(+), 11 deletions(-)
+
+commit 8b329c1012427f88ccedf61e4ed3d455db38baf4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 11 23:59:41 2012 +0200
+
+ wavecom: setup custom serial parser
+
+ AT+CPIN? replies come without trailing 'OK'; which we need to handle.
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 34
+ ++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit 43d7f4f17a77a19f3edbb32a7709aac609677cf1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 11 23:54:15 2012 +0200
+
+ wavecom: implement custom current bands loading
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 191
+ +++++++++++++++++++++++++++
+ 1 file changed, 191 insertions(+)
+
+commit 513f5d5f207ce29263f95ff2e6762ede03a587b7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 11 23:34:27 2012 +0200
+
+ wavecom: implement custom supported bands loading
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 61
+ ++++++++++++++++++++++++++++
+ 1 file changed, 61 insertions(+)
+
+commit aeb38e0f30af3ea70186e647e88e47410bc8e053
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 11 23:18:39 2012 +0200
+
+ wavecom: implement custom access technology loading
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 78
+ ++++++++++++++++++++++++++++
+ 1 file changed, 78 insertions(+)
+
+commit 3885bb365daa9bd377df34b74fbfeb04f44b87a8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 3 17:49:20 2012 +0200
+
+ wavecom: implement setting allowed/preferred modes
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 148
+ +++++++++++++++++++++++++++
+ 1 file changed, 148 insertions(+)
+
+commit 1447dfee3c6b62f0f3ac68d76637cc7deff04a1e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 3 16:50:39 2012 +0200
+
+ wavecom: implement loading of initial allowed/preferred modes
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 209
+ +++++++++++++++++++++++++++
+ 1 file changed, 209 insertions(+)
+
+commit 7bd2ba6973ef619d63ca89038ff7553d0ba11197
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 3 16:03:36 2012 +0200
+
+ wavecom: implement custom supported mode loading
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 100
+ +++++++++++++++++++++++++++
+ 1 file changed, 100 insertions(+)
+
+commit c3cc8f84104d14a1c5281312fb033644f4709329
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 3 15:39:02 2012 +0200
+
+ wavecom: implement custom power up sequence
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 95
+ ++++++++++++++++++++++++++++
+ 1 file changed, 95 insertions(+)
+
+commit 8ce1e26e1b37e2cf3bc652872a707b493ed657dc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 3 15:19:09 2012 +0200
+
+ wavecom: implement custom flow control handling
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 40
+ +++++++++++++++++++++++-----
+ 1 file changed, 33 insertions(+), 7 deletions(-)
+
+commit 65b92dfba5131579be663f6b00140342d5b450e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 3 15:15:13 2012 +0200
+
+ wavecom: implement custom power down sequence
+
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 41
+ +++++++++++++++++++++++++++-
+ 1 file changed, 40 insertions(+), 1 deletion(-)
+
+commit b7d423288a9fdf98bdc99426a7134e28aaf01471
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 3 12:42:07 2012 +0200
+
+ wavecom: start porting the Wavecom plugin
+
+ plugins/Makefile.am | 21 ++--
+ plugins/mm-plugin-wavecom.c | 168
+ ---------------------------
+ plugins/wavecom/mm-broadband-modem-wavecom.c | 60 ++++++++++
+ plugins/wavecom/mm-broadband-modem-wavecom.h | 50 ++++++++
+ plugins/wavecom/mm-plugin-wavecom.c | 120 +++++++++++++++++++
+ plugins/{ => wavecom}/mm-plugin-wavecom.h | 3 +-
+ 6 files changed, 243 insertions(+), 179 deletions(-)
+
+commit c7d39e2c2885fb69d354b47f921ef68e0c1c0615
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 12 22:35:08 2012 +0200
+
+ cinterion: simplify loop when loading 2G bands
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 90f4a034b203d08a3c1a04fcdb6bbbf16d982b7a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 4 17:38:36 2012 -0500
+
+ modem-helpers: recognize 3GPP2 access tech strings too
+
+ Various Gobi-based devices (USB551L, probably Gobis too) can report
+ EVDO and 1X as the current RAT from CNTI so parse that here too.
+
+ plugins/gobi/mm-broadband-modem-gobi.c | 2 +-
+ src/mm-modem-helpers.c | 11 ++++++++++-
+ src/mm-modem-helpers.h | 2 +-
+ 3 files changed, 12 insertions(+), 3 deletions(-)
+
+commit 1e024c711abf303aa2ff53676ad1bbd3dfceb982
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 4 17:19:20 2012 -0500
+
+ broadband-modem: add another Novatel +GCAP LTE response
+
+ This time from the 551L. I wonder when they'll make up their minds
+ about what to return.
+
+ src/mm-broadband-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1c1a6a16ec7c7eab81f4a9eb026982aa2d77e348
+Author: Nathan Williams <njw@chromium.org>
+Date: Fri Apr 6 13:12:15 2012 -0400
+
+ novatel: Poll for whether the connection still exists.
+
+ Novatel E362 firmware doesn't notify us by unsolicited message if the
+ connection goes away, so set up a polling loop to check.
+
+ While here, inline a method that's only used in one place so that the
+ containing function is single-exit and single-cleanup.
+
+ Change-Id: If72f7c6ef06de3fb22530d42f62a8dddc6fecfda
+
+ plugins/novatel/mm-broadband-bearer-novatel.c | 112
+ ++++++++++++++++++--------
+ 1 file changed, 79 insertions(+), 33 deletions(-)
+
+commit 83bc51edcbc814f687d3653c841a2ff0040d4f6e
+Author: Nathan Williams <njw@chromium.org>
+Date: Wed Mar 21 17:31:46 2012 -0400
+
+ novatel: Add support for connecting to specific APNs and specifying
+ username/password.
+
+ While here, pass through the other relevant bearer properties.
+
+ Change-Id: If925ac78d2edcc744e834e108029f5abdbb375a1
+
+ plugins/novatel/mm-broadband-bearer-novatel.c | 177
+ ++++++++++++++++++++++++--
+ plugins/novatel/mm-broadband-bearer-novatel.h | 4 +
+ 2 files changed, 171 insertions(+), 10 deletions(-)
+
+commit 00cb8a26a829bd26ea7f1d953ebdbe657e85f83c
+Author: Nathan Williams <njw@chromium.org>
+Date: Fri Mar 23 14:05:40 2012 -0400
+
+ Add a utility routine to do ITU V.250 quoting of strings for AT
+ commands.
+
+ BUG=chromium-os:27096,chromium-os:27063
+ TEST=None
+ Change-Id: Ic1d24a9e4b7421db7f8d16c52535bd6d2780423e
+
+ src/mm-at-serial-port.c | 26 ++++++++++++++++++++++++++
+ src/mm-at-serial-port.h | 6 ++++++
+ 2 files changed, 32 insertions(+)
+
+commit 67698b43c4c088fbd319de6f14914e958a0888d8
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu Mar 22 16:18:24 2012 -0400
+
+ novatel: Use the ALLOWED_SINGLE_AT property. Saves 5 seconds on
+ probing.
+
+ Change-Id: I0b0c2cb07781eb32ba6eb4294868ed123f57fd9f
+
+ plugins/novatel/mm-plugin-novatel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 81665fe379268e234847e54824bc8ca63e1e3277
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu Apr 26 15:14:56 2012 -0400
+
+ novatel: Remove band-setting implementation to improve connections
+
+ The $NWBAND command seems to disturb the internal state of the modem
+ such that it is unlikely to connect to the network, and produces
+ widely varying error codes. We don't actively use this functionality,
+ it's just that setting "use all bands" is part of the normal
+ ModemManager simple-connect sequence. Remove it so it doesn't get
+ triggered.
+
+ Change-Id: I9b5914291a88a59015fb51906af6fd1c78f3952b
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 66
+ +---------------------------
+ 1 file changed, 1 insertion(+), 65 deletions(-)
+
+commit baa64257265194c5fcf2c0e2f21e9072e089f4b0
+Author: Nathan Williams <njw@chromium.org>
+Date: Fri Mar 23 17:18:22 2012 -0400
+
+ novatel: Implement load_access_technologies.
+
+ Change-Id: Ib503d900850d3754d79525dbc9a40b7b9c221dd7
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 79
+ ++++++++++++++++++++++++++++
+ 1 file changed, 79 insertions(+)
+
+commit 0f324de94f7bebc566a3bc6ae8e31e9569a3dfdb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 24 13:34:16 2012 -0500
+
+ decode: recognize another UsbSnoop packet type
+
+ decode/packet.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit e8bc2f41e710ed9e3a2576538f5c9fe74b7ef6db
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Apr 14 16:03:08 2012 +0200
+
+ simtech: implement custom allowed/preferred mode setting
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 134
+ +++++++++++++++++++++++++++
+ 1 file changed, 134 insertions(+)
+
+commit b97890a0123253e87ecd14a3836582ed6f1a68ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 23:24:04 2012 +0200
+
+ simtech: plugin fully ported
+
+ plugins/mm-modem-simtech-gsm.c | 495
+ -----------------------------------------
+ plugins/mm-modem-simtech-gsm.h | 45 ----
+ 2 files changed, 540 deletions(-)
+
+commit 9e89e88ce938487d94e1054347f9f7dd6fc973f6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 21:26:36 2012 +0200
+
+ simtech: implement custom allowed/preferred mode loading
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 201
+ +++++++++++++++++++++++++++
+ 1 file changed, 201 insertions(+)
+
+commit c9214bd54ff3445be99c78d04102b92012b7b377
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 21:00:53 2012 +0200
+
+ simtech: implement custom access technology loading
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 93
+ ++++++++++++++++++++++++++++
+ 1 file changed, 93 insertions(+)
+
+commit 281cada39de64b23e94c9c017b31798e9d2f7578
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 20:38:12 2012 +0200
+
+ simtech: implement custom unsolicited events enabling/disabling
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 163
+ +++++++++++++++++++++++++++
+ 1 file changed, 163 insertions(+)
+
+commit 1cea1e5bbe46e4955f8920ed21049bd207082211
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 20:30:12 2012 +0200
+
+ simtech: implement custom unsolicited events setup/cleanup
+
+ plugins/simtech/mm-broadband-modem-simtech.c | 188
+ ++++++++++++++++++++++++++-
+ 1 file changed, 187 insertions(+), 1 deletion(-)
+
+commit 8cd4b29fde4577baa2ca0ec9bb81d2682d70aa03
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 20:09:23 2012 +0200
+
+ simtech: new `MMBroadbandModemSimtech' object
+
+ plugins/Makefile.am | 4 +-
+ plugins/simtech/mm-broadband-modem-simtech.c | 69
+ ++++++++++++++++++++++++++++
+ plugins/simtech/mm-broadband-modem-simtech.h | 49 ++++++++++++++++++++
+ plugins/simtech/mm-plugin-simtech.c | 12 ++---
+ 4 files changed, 127 insertions(+), 7 deletions(-)
+
+commit ba7761f6648fc015ec76074dfa832ba921070dfd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 20:04:08 2012 +0200
+
+ simtech: include udev rules
+
+ plugins/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 43be521ef6220c0587e6f76dbc3a1f368acb98de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 20:03:43 2012 +0200
+
+ build: split includes for plugin specific udev rules
+
+ Let each plugin block include its own udev rules, instead of having
+ them all
+ together at the end of the Makefile.
+
+ plugins/Makefile.am | 11 +++++------
+ plugins/{ => simtech}/77-mm-simtech-port-types.rules | 0
+ 2 files changed, 5 insertions(+), 6 deletions(-)
+
+commit 7183216d9de52686db6276a108478c5890e2b365
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Apr 13 19:59:39 2012 +0200
+
+ simtech: start porting the SimTech plugin
+
+ plugins/Makefile.am | 17 ++-
+ plugins/mm-plugin-simtech.c | 202
+ ------------------------------
+ plugins/simtech/mm-plugin-simtech.c | 139 ++++++++++++++++++++
+ plugins/{ => simtech}/mm-plugin-simtech.h | 3 +-
+ 4 files changed, 149 insertions(+), 212 deletions(-)
+
+commit 01a17f5c6c322f116e0a20647d3b9f2dc0276fef
+Author: Nathan Williams <njw@chromium.org>
+Date: Fri Apr 13 10:50:34 2012 -0400
+
+ helpers: adjust parsing of +CNUM response to permit spaces in the
+ alphanumeric descriptor.
+
+ This permits matching a response such as '"Line
+ 1","+19999999999",145',
+ which previously did not match.
+
+ Change-Id: I666af8774507c6c3b3e214b820449542065dd8b4
+
+ src/mm-modem-helpers.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit a07220650b7636fe1376d15580bab311710379ff
+Author: Nathan Williams <njw@chromium.org>
+Date: Fri Apr 13 11:19:45 2012 -0400
+
+ libmm-glib,modem: mm_modem_{get,dup}_own_numbers(): fix inverted
+ logic.
+
+ The string vector test was reversed, causing valid vectors not to be
+ returned, and commands like mmcli to not display own numbers from a
+ modem.
+
+ Change-Id: Ia889f49f18511a2dfcdbc71a80ee0239a6c912e0
+
+ libmm-glib/mm-modem.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit d379b9ea2a1c7ee559878609fd1c14bfc7ae7b83
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 10 23:24:19 2012 +0200
+
+ bearer: allow subclasses to report disconnection
+
+ The new `mm_bearer_report_disconnection()' allows subclasses to
+ notify about
+ being disconnected, so that every layer of inheritance can chain
+ its own code
+ to reset the connection status.
+
+ This commit partially disables the logic included in commit
+ 981222. Now
+ subclasses (actually, no one) are not allowed to g_object_set() the
+ MM_BEARER_STATUS property.
+
+ plugins/option/mm-broadband-bearer-hso.c | 4 +--
+ src/mm-bearer.c | 28 +++++++++++++++------
+ src/mm-bearer.h | 5 ++++
+ src/mm-broadband-bearer.c | 42
+ ++++++++++++++++++++++++--------
+ 4 files changed, 59 insertions(+), 20 deletions(-)
+
+commit dac1021e4c4c52989fa74247b17a610813281f81
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 10 17:45:06 2012 +0200
+
+ cinterion: no need for custom supported modes loading
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 134
+ +++--------------------
+ 1 file changed, 13 insertions(+), 121 deletions(-)
+
+commit 83afd3ddc9a81321233065d4ff17fa620faf8ca6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 10 17:25:34 2012 +0200
+
+ iface-modem: new helpers to query supported modes
+
+ src/mm-iface-modem.c | 65
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 9 ++++++++
+ 2 files changed, 74 insertions(+)
+
+commit e89a8a42a9c382f9471f14a5016afef8fb5eae36
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 10 17:20:50 2012 +0200
+
+ novatel: no need for custom supported modes loading
+
+ plugins/novatel/mm-broadband-modem-novatel.c | 96
+ +---------------------------
+ 1 file changed, 1 insertion(+), 95 deletions(-)
+
+commit bc0d9ddf5fc5168e3a192c6cadf86823c2cc7040
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 10 17:20:32 2012 +0200
+
+ broadband-modem: query supported networks to get a better supported
+ modes value
+
+ If we base our supported modes default guessing only on capabilities
+ listed by
+ AT+GCAP, we find that we don't know how to differenciate between 2G
+ and 3G 3GPP
+ modems. So, if supported, we will try to query the list of supported
+ networks
+ with AT+WS46=?, which explicitly tells us if the modem supports
+ GERAN and/or
+ UTRAN and/or E-UTRAN. Note that plugins need to request this new
+ behaviour by
+ setting the `MM_BROADBAND_MODEM_USE_WS46' property to TRUE when
+ creating the
+ modem object.
+
+ src/mm-broadband-modem.c | 147
+ ++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-broadband-modem.h | 2 +
+ 2 files changed, 142 insertions(+), 7 deletions(-)
+
+commit b49ddfe9300429cee5f5648582be01c541df2c82
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 10 17:17:42 2012 +0200
+
+ iface-modem: skip handling the CURRENT_CAPABILITIES property
+
+ It is an unnecessary complication, as long as we can keep the helpers
+ in the interface.
+
+ src/mm-broadband-modem.c | 21 ++------
+ src/mm-iface-modem.c | 121
+ +++++++++++++++++------------------------------
+ src/mm-iface-modem.h | 26 +++++-----
+ 3 files changed, 58 insertions(+), 110 deletions(-)
+
+commit 9812225d93da8a257ae85c9737afdd2b1d9cfda6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 10 10:46:10 2012 +0200
+
+ bearer: always reset interface state when going into disconnected
+ status
+
+ Custom bearer implementations in Plugins are allowed to g_object_set()
+ the
+ MM_BEARER_STATUS property to DISCONNECTED in order to notify that
+ the bearer got
+ disconnected. We need to always reset the interface state (remove
+ IP config, set
+ connected=FALSE,...) also in that case.
+
+ Also consolidated in some helper private functions the way the bearer
+ status is
+ updated.
+
+ src/mm-bearer.c | 120
+ +++++++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 76 insertions(+), 44 deletions(-)
+
+commit 8d4a549e613a76c9f6899ad890fd3410db4cb16f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 2 15:38:56 2012 +0200
+
+ TODO: GPS location implemented already
+
+ TODO | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+commit f183a5d73d11b9941affccecc1ae110ec36d5b7d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 31 14:56:54 2012 +0200
+
+ iridium: remove previous modem implementation
+
+ plugins/mm-modem-iridium-gsm.c | 517
+ -----------------------------------------
+ plugins/mm-modem-iridium-gsm.h | 45 ----
+ 2 files changed, 562 deletions(-)
+
+commit c2a096f9a13dd374ff80dff338c7e4059300c8c6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 31 14:54:27 2012 +0200
+
+ linktop: plugin fully ported
+
+ plugins/Makefile.am | 21 +--
+ plugins/linktop/mm-broadband-modem-linktop.c | 238
+ +++++++++++++++++++++++++++
+ plugins/linktop/mm-broadband-modem-linktop.h | 49 ++++++
+ plugins/linktop/mm-plugin-linktop.c | 122 ++++++++++++++
+ plugins/{ => linktop}/mm-plugin-linktop.h | 3 +-
+ plugins/mm-modem-linktop.c | 193 ----------------------
+ plugins/mm-modem-linktop.h | 45 -----
+ plugins/mm-plugin-linktop.c | 169 -------------------
+ 8 files changed, 422 insertions(+), 418 deletions(-)
+
+commit cfeebcd63a392eb27a44095efa83b3d487ee5f6d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 16:18:48 2012 +0200
+
+ manager: no need to remove modems in idle
+
+ There is no problem in getting the modem removed just after
+ finishing the
+ disabling sequence.
+
+ src/mm-manager.c | 24 +-----------------------
+ 1 file changed, 1 insertion(+), 23 deletions(-)
+
+commit 3094e3f26b3b369f4b29fe54a8c4692bb611014d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 16:11:55 2012 +0200
+
+ manager: try to get all modems disabled before while shutting down
+
+ src/mm-broadband-modem.c | 10 ++++------
+ src/mm-manager.c | 39 ++++++++++++++++++---------------------
+ 2 files changed, 22 insertions(+), 27 deletions(-)
+
+commit 8c84aea3f0ca03dee98efa854a2862c1c36b6c04
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 16:11:14 2012 +0200
+
+ base-modem: disconnect internal cancellable handler while disposing
+
+ src/mm-base-modem.c | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+commit b68461c417172c69bdad74b0e3526037ae5916d4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 16:09:27 2012 +0200
+
+ base-modem: plug small leaks
+
+ src/mm-base-modem.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit a416f6eaea7ef862eca72c6319c2e4eb52fbae90
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 13:53:24 2012 +0200
+
+ docs: document MM_PLUGIN_BASE_ALLOWED_SINGLE_AT
+
+ docs/reference/api/ModemManager-overview.xml | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+commit b03541b1fe92513afefcacbaeff38cca433a74e6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 13:30:48 2012 +0200
+
+ plugin-base: don't setup udev client notifications
+
+ src/mm-plugin-base.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 0372e73abd413c94791e9a7f8f88f3acaf533c06
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 13:12:22 2012 +0200
+
+ port-probe-cache: ensure we cleanup every possible leftover
+
+ src/mm-manager.c | 3 ++-
+ src/mm-port-probe-cache.c | 27 +++++++++++++++++----------
+ src/mm-port-probe-cache.h | 3 ++-
+ 3 files changed, 21 insertions(+), 12 deletions(-)
+
+commit 94d46a43877107f9b558946a2f5dff0d95f02ca5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 13:11:41 2012 +0200
+
+ plugin-base: plug memleak
+
+ src/mm-plugin-base.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 7518772d4bcb5f6a2c5d4fcf33346e1036625755
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 11:06:32 2012 +0200
+
+ core: fatal errors in iface initializations force the modem into a
+ FAILED state
+
+ Modems which end up being found unusable (e.g. no SIM, fatal SIM
+ error, no
+ capabilities) will be exposed in DBus, but just with the Modem
+ interface and
+ in a FAILED state which allows no actions.
+
+ include/ModemManager-enums.h | 2 +
+ .../org.freedesktop.ModemManager1.Modem.xml | 6 +-
+ src/mm-base-modem.c | 18 +-
+ src/mm-broadband-modem.c | 139 ++++++++----
+ src/mm-iface-modem-3gpp.c | 22 +-
+ src/mm-iface-modem-cdma.c | 20 +-
+ src/mm-iface-modem.c | 245
+ ++++++++-------------
+ 7 files changed, 223 insertions(+), 229 deletions(-)
+
+commit 3b366118b66bb27642a72adb49ceafaab5b6da5d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 10:25:33 2012 +0200
+
+ simple: need to wait to get fully initialized before trying to enable
+
+ src/mm-iface-modem-simple.c | 86
+ +++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 84 insertions(+), 2 deletions(-)
+
+commit 374c028b16e00881d7da1d19490ef9be434bbb3e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 30 08:20:38 2012 +0200
+
+ broadband: reload operator and registration info only when enabling
+ 3GPP location source
+
+ src/mm-broadband-modem.c | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit 0d8cf160e5083b9f1433534b218490b7a1b5ce55
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 29 17:20:37 2012 +0200
+
+ broadband: ensure 3GPP location info gets updated when enabling
+ the source
+
+ Whenever 3GPP location source gets enabled, we'll launch new
+ registration status
+ checks (to get updated LAC/CI) and new operator code/name checks
+ (to get updated
+ MCC/MNC).
+
+ Additional changes were needed in the HSO plugin, so that the
+ specific location
+ gathering enabling implemented by the HSO modem chains up parent's
+ one first.
+
+ plugins/option/mm-broadband-modem-hso.c | 121
+ ++++++++++++++++++++++----------
+ src/mm-broadband-modem.c | 42 +++++++++++
+ 2 files changed, 125 insertions(+), 38 deletions(-)
+
+commit 3cea187a9449c3aefe0a1a381a9477c6aff83745
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 29 17:17:52 2012 +0200
+
+ location: update the status before running enabling/disabling
+ sequences
+
+ This will allow implementations of location source enabling to
+ actually update
+ the location information during the enabling phase.
+
+ src/mm-iface-modem-location.c | 21 +++++++++++++--------
+ 1 file changed, 13 insertions(+), 8 deletions(-)
+
+commit 43bd3f95ae7c8130a61239e45430319ccde131c0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 29 17:16:38 2012 +0200
+
+ 3gpp: let operator name/code reloading be requested by implementations
+
+ src/mm-iface-modem-3gpp.c | 60
+ +++++++++++++++++++++++++++++++++--------------
+ src/mm-iface-modem-3gpp.h | 3 +++
+ 2 files changed, 45 insertions(+), 18 deletions(-)
+
+commit dc376bb725a970c654610a21ebe55c53870ae249
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 29 17:15:48 2012 +0200
+
+ 3gpp: errors when reloading operator name/code will reset the values
+ in the interface
+
+ src/mm-iface-modem-3gpp.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+commit bb2f9b672c397f53a74b9278152bd01feab1b27b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 29 16:10:07 2012 +0200
+
+ broadband-modem: remove unused variable
+
+ src/mm-broadband-modem.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit b80fdfdaa8017eeb155f72c99f47492eb87c2d6e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:22:39 2012 +0200
+
+ iface-modem-location: plug memleak and reference count mismatch
+
+ src/mm-iface-modem-location.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f1d4e0fb637bd9c3f5ad72c22cb5a716c3e669c8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:15:12 2012 +0200
+
+ mmcli: prefix all NMEA traces in order to get a pretty print
+
+ cli/mmcli-common.c | 38 ++++++++++++++++++++++++++++++++++++++
+ cli/mmcli-common.h | 3 +++
+ cli/mmcli-modem-location.c | 9 ++++++---
+ cli/mmcli-modem.c | 42
+ ++----------------------------------------
+ 4 files changed, 49 insertions(+), 43 deletions(-)
+
+commit 422ed7b63331d1cbf8f58dcc694404bbb8b4a335
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:11:53 2012 +0200
+
+ libmm-common,location-gps-nmea: ensure traces get separated with \r\n
+
+ libmm-common/mm-location-gps-nmea.c | 21 ++++++++++++++-------
+ 1 file changed, 14 insertions(+), 7 deletions(-)
+
+commit 4bc990ce7678117bf3ecba6646e0df06d03c0f2f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 14:05:38 2012 +0200
+
+ mmcli: new actions to request gps-specific or all available locations
+
+ cli/mmcli-modem-location.c | 187
+ ++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 149 insertions(+), 38 deletions(-)
+
+commit 3dd00345604d2c1f72cd2174b092997e9e969e93
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 14:02:16 2012 +0200
+
+ libmm-glib: provide extended getters for location information objects
+
+ The user can now query for all location information with
+ `mm_modem_location_get_full()', or just for specific location
+ sources with
+ `mm_modem_location_get_3gpp()', `mm_modem_location_get_gps_nmea()' or
+ `mm_modem_location_get_gps_raw()'.
+
+ libmm-glib/mm-modem-location.c | 166
+ +++++++++++++++++++++++++++++++++++------
+ libmm-glib/mm-modem-location.h | 40 ++++++++++
+ 2 files changed, 182 insertions(+), 24 deletions(-)
+
+commit 3f7a6fe31b3fbcec493ba6a1ab97e766ebec7edc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 14:00:47 2012 +0200
+
+ libmm-common,location-gps-raw: fix check looking for mandatory
+ parameters
+
+ libmm-common/mm-location-gps-raw.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 19d53751a2cca0ecd2d6b60813076db08fb4bd52
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 14:00:21 2012 +0200
+
+ libmm-common,location-gps-raw: don't build dictionary if mandatory
+ parameters missing
+
+ libmm-common/mm-location-gps-raw.c | 45
+ +++++++++++++++++++-------------------
+ 1 file changed, 23 insertions(+), 22 deletions(-)
+
+commit 9116a58eb6bcfa81a10a53f8863ef240e74c7e97
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 12:43:19 2012 +0200
+
+ mmcli: allow multiple location source enabling/disabling commands
+
+ For example, we do allow:
+ mmcli -m 0 --enable-location-gps-nmea --disable-location-gps-raw
+
+ All the options get merged into a single Setup() call in the Location
+ interface.
+
+ cli/mmcli-modem-location.c | 207
+ ++++++++++++++++-----------------------------
+ 1 file changed, 75 insertions(+), 132 deletions(-)
+
+commit ad8a40f8aa26d8a4b92b275f01dd015425f817d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 11:27:47 2012 +0200
+
+ api,dbus: update the fields retrievable in the raw GPS location source
+
+ Currently just provide the time of measurement, latitude, longitude
+ and
+ altitude.
+
+ .../org.freedesktop.ModemManager1.Modem.Location.xml | 17
+ ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+commit 2bf61649d81fc1f9821f467454fe29a5b1ced15c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 11:25:44 2012 +0200
+
+ libmm-common,tests: new unit tests for the numeric field parsers
+
+ libmm-common/tests/test-common-helpers.c | 146
+ +++++++++++++++++++++++++++++++
+ 1 file changed, 146 insertions(+)
+
+commit e00705c20349cf936d2a732942f0edd9103a4b51
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 11:25:22 2012 +0200
+
+ libmm-common,helpers: additional checks in the string to number
+ converters
+
+ We won't allow NULL, empty, or strings with non-digits.
+
+ libmm-common/mm-common-helpers.c | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+commit 71e108fd64174e76502408d59b124387616a5270
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 10:50:31 2012 +0200
+
+ hso: include support for the raw GPS location source
+
+ plugins/option/mm-broadband-modem-hso.c | 39
+ +++++++++++++++++++++++++++------
+ 1 file changed, 32 insertions(+), 7 deletions(-)
+
+commit 33e569bbabcf56c49d444043acdb247ac6244cef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 09:40:06 2012 +0200
+
+ iface-modem-location: handle the raw GPS location source
+
+ src/mm-iface-modem-location.c | 74
+ ++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 62 insertions(+), 12 deletions(-)
+
+commit 423c4a9d6712a5bc6e71bd77ddd6753b2f309570
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 09:27:04 2012 +0200
+
+ libmm-common: new helper `MMModemLocationGpsRaw' object
+
+ libmm-common/Makefile.am | 4 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-location-gps-raw.c | 334
+ +++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-location-gps-raw.h | 70 ++++++++
+ 4 files changed, 409 insertions(+)
+
+commit bf4208246609a6b2a71d9c51696fbb9283871d55
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 09:26:39 2012 +0200
+
+ libmm-common: new helpers to parse doubles from strings or match infos
+
+ libmm-common/mm-common-helpers.c | 32 ++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 5 +++++
+ 2 files changed, 37 insertions(+)
+
+commit ee8afd8034f47f2f17ae042a2efe16034556dcf4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 17:59:22 2012 +0200
+
+ libmm-common,location-gps-nmea: allow sequences of traces
+
+ Some traces, e.g. $GPGSV, are part of a sequence. For those traces,
+ we'll try
+ to always keep the whole sequence around, not just the last received
+ trace.
+
+ libmm-common/mm-location-gps-nmea.c | 46
+ +++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 614a5473164418e6392e80e7f3d14777e39a6d0e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 17:16:13 2012 +0200
+
+ hso: report received NMEA traces
+
+ plugins/option/mm-broadband-modem-hso.c | 25 +++++++++++++++++++++----
+ 1 file changed, 21 insertions(+), 4 deletions(-)
+
+commit 53b500c11dc648cff834be2885886f5e575046e4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 17:15:57 2012 +0200
+
+ iface-modem-location: handle the NMEA-based GPS location source
+
+ src/mm-iface-modem-location.c | 153
+ +++++++++++++++++++++++++++++++++++++-----
+ src/mm-iface-modem-location.h | 4 ++
+ 2 files changed, 140 insertions(+), 17 deletions(-)
+
+commit 0012b7118656afd127097d3cbfa27e9190cedd47
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 16:33:25 2012 +0200
+
+ libmm-common: new helper `MMModemLocationGpsNmea' object
+
+ libmm-common/Makefile.am | 4 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-location-gps-nmea.c | 189
+ ++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-location-gps-nmea.h | 61 ++++++++++++
+ 4 files changed, 255 insertions(+)
+
+commit 20721906913805a645ab2c66b5e6224b2bde6a88
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 12:24:58 2012 +0200
+
+ hso: open/close the raw GPS port when we enable/disable GPS gathering
+
+ plugins/option/mm-broadband-modem-hso.c | 51
+ +++++++++++++++++++++++++++++----
+ 1 file changed, 46 insertions(+), 5 deletions(-)
+
+commit 97f779df1e2d5dfd82aea1084edf018c5fe5c9e5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 12:24:29 2012 +0200
+
+ hso: ensure GPS is disabled when we initialize the modem
+
+ plugins/option/mm-broadband-modem-hso.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 1cfab89719c29b6019070fb40126bb8c95c5ee4a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 11:24:06 2012 +0200
+
+ base-modem: use new `MMGpsSerialPort' type for the raw GPS port
+
+ src/mm-base-modem.c | 15 +++++++--------
+ src/mm-base-modem.h | 5 +++--
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+commit a0b3663274f9e22a9a74267c0b1748613bc34999
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 11:21:06 2012 +0200
+
+ gps-serial-port: new type to handle read-only serial ports with
+ GPS traces
+
+ src/Makefile.am | 4 +-
+ src/mm-gps-serial-port.c | 218
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-gps-serial-port.h | 57 +++++++++++++
+ 3 files changed, 278 insertions(+), 1 deletion(-)
+
+commit 2bd321489dc2dd51ee0de7784be00e0f31a1f848
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 10:56:55 2012 +0200
+
+ mmcli: new `--location-enable-gps' and `--location-disable-gps'
+ actions
+
+ cli/mmcli-modem-location.c | 68
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 68 insertions(+)
+
+commit ab9363011ad2d6619d45e81ca9eb0b9a9ae9e013
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 10:56:23 2012 +0200
+
+ hso: enable/disable GPS location gathering
+
+ plugins/option/mm-broadband-modem-hso.c | 97
+ +++++++++++++++++++++++++++++++++
+ 1 file changed, 97 insertions(+)
+
+commit 335ba97f48f00b2bf8bf97f4aec87de25f77d8c6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 27 09:48:34 2012 +0200
+
+ hso: include custom location capabilities loading
+
+ Will check for GPS location sources.
+
+ plugins/option/mm-broadband-modem-hso.c | 90
+ ++++++++++++++++++++++++++++++++-
+ 1 file changed, 89 insertions(+), 1 deletion(-)
+
+commit 6d50e5195fe0e98dfd928e6f0dec3d28f78827e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 21:24:22 2012 +0200
+
+ serial-port: forced close only to be done once
+
+ src/mm-serial-port.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit a69b4d2451c11bf277d37c20e2e58b37c3986a80
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 20:29:14 2012 +0200
+
+ mmcli: new `--location-status' to show supported and enabled location
+ sources
+
+ cli/mmcli-modem-location.c | 45
+ ++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 44 insertions(+), 1 deletion(-)
+
+commit ceefa2c356ae270c7dda4b5e771d225502d4913d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 19:24:25 2012 +0200
+
+ location: rework to allow multiple location sources
+
+ Location sources can now be enabled or disabled by using the mask
+ of sources
+ given in Setup() (similar previous Enable()).
+
+ cli/mmcli-modem-location.c | 77 +--
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 25 +-
+ libmm-glib/mm-modem-location.c | 87 ++--
+ libmm-glib/mm-modem-location.h | 39 +-
+ src/mm-iface-modem-location.c | 515
+ +++++++++++++++------
+ src/mm-iface-modem-location.h | 2 +
+ 6 files changed, 478 insertions(+), 267 deletions(-)
+
+commit 090e3492095cf6d663bfb3f83b3ed0cb19121f1a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 16:37:22 2012 +0200
+
+ hso: grab GPS-specific ports
+
+ plugins/option/mm-plugin-hso.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit be633fd66bbbdf962a8883d445926b9d1ee3c9ff
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 16:37:03 2012 +0200
+
+ base-modem: handle GPS control and data ports
+
+ Plugin may specify GPS-specific port tyeps when requesting to grab
+ the port.
+ These could either be an AT-based GPS control port, or the raw GPS
+ serial port
+ which emits the NMEA traces.
+
+ src/mm-base-modem.c | 66
+ +++++++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-base-modem.h | 28 ++++++++++++-----------
+ src/mm-port.h | 3 ++-
+ 3 files changed, 79 insertions(+), 18 deletions(-)
+
+commit b19f97ae7dbbe38f1613c978a5760ac05e0bd72f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 16:28:28 2012 +0200
+
+ port: new `MM_PORT_TYPE_NET' for pure net devices
+
+ Net devices will be MMPorts of type MM_PORT_TYPE_NET.
+
+ src/mm-base-modem.c | 21 ++++++++++++++++-----
+ src/mm-port-probe.c | 2 +-
+ src/mm-port.h | 1 +
+ 3 files changed, 18 insertions(+), 6 deletions(-)
+
+commit 3b481cf17f7c28edd58da87f3f0a0373f7c03131
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 16:24:50 2012 +0200
+
+ base-modem: no need for `port_grabbed()'
+
+ Subclasses can configure additional stuff in the ports just after
+ all have been
+ organized, in the SETUP_PORTS initialization step in MMBroadbandModem.
+
+ src/mm-base-modem.c | 4 ----
+ src/mm-base-modem.h | 6 ------
+ 2 files changed, 10 deletions(-)
+
+commit 8dfbf195c1e7a8d25f1250e913be283ac3269bb2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 16:01:40 2012 +0200
+
+ port: skip LAST enums in glib-mkenums processing
+
+ src/mm-port.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 68421638f5c700cad8ae9fe105b94ea8e3733841
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 15:47:19 2012 +0200
+
+ at-serial-port: new flag to define the GPS control port
+
+ src/mm-at-serial-port.c | 7 +++++--
+ src/mm-at-serial-port.h | 10 ++++++----
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+commit 79c93f4333868fc7aedaf1bf1302c2a00fc67d1c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 15:46:25 2012 +0200
+
+ at-serial-port: define flags by shifting bits
+
+ Otherwise glib-mkenums doesn't take the enumeration as being flags.
+
+ src/mm-at-serial-port.h | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 62923f9086c80412f95a79c3a3148933837e74c9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:13:05 2012 +0200
+
+ serial-port: ensure we close the port when forcing to close it
+
+ src/mm-serial-port.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit b8157228eb0e7196e32d1f4b7c64afd028a5542e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:14:04 2012 +0200
+
+ broadband-modem: plug memleak when uppercasing storage names
+
+ src/mm-broadband-modem.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit 029cb2abe9ada012838e960c382d2fae232fbb5e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:13:38 2012 +0200
+
+ broadband-modem: plug memleak when building AT command
+
+ src/mm-broadband-modem.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f0b02ce321a247b81ad4f2ec3b97525739be6ec2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:14:42 2012 +0200
+
+ hso: plug small memleak when building devfile
+
+ Why do we need the devfile anyway?
+
+ plugins/option/mm-plugin-hso.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit b29eb54080aeefbab838b523890af0eee567d948
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:47:38 2012 +0200
+
+ sim: plug memleak
+
+ src/mm-sim.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 121c543711c44c536b82da3fd1079f779fe505d0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:12:52 2012 +0200
+
+ sim: fix completion of pin-puk check
+
+ src/mm-sim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 45e4f390eb7ab7394651bf7bddf865c74d677e84
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 28 15:12:26 2012 +0200
+
+ charsets: plug memleak
+
+ src/mm-charsets.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit e07786ebb1025d89eeb670be0ce518c6a8497cec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 15:23:28 2012 +0200
+
+ option: fix loading current allowed modes
+
+ The proper command to check the current allowed modes is `AT_OPSYS?'.
+
+ plugins/option/mm-broadband-modem-option.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2d02279ba7af4c4ee0ca4df588ba320817fe2919
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 15:20:55 2012 +0200
+
+ Revert "option: fix allowed modes response parsing"
+
+ This reverts commit 0bc824b452de45815a8b8675d2b041a5eb98cb4c.
+
+ The fix is NOT to change the expected result, but to change the
+ command itself.
+
+ plugins/option/mm-broadband-modem-option.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit f07d3748c6bad7fda9d485ffb0144f8c3380460e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 13:49:02 2012 +0200
+
+ broadband-modem: fix error reporting in the modem initialization
+ sequence
+
+ The initialization sequence doesn't expect any result, so
+ `mm_base_modem_at_sequence_finish()' will actually return NULL even
+ if there is
+ no error. Therefore, we base the success of the sequence on the
+ existence of a
+ GError in the return.
+
+ src/mm-broadband-modem.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 063c4f9bf8e59ba2ab2b5877446d685e816692f6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 13:46:30 2012 +0200
+
+ option: fix disabling sequence handling
+
+ This provides the proper fix for the disabling sequence, also
+ amending the
+ erroneous checks introduced in commit 5b10af0f.
+
+ plugins/option/mm-broadband-modem-option.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit b581d6765fb9afb72acc37cb765188d459ffeedd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 13:39:21 2012 +0200
+
+ hso: skip the 10s timeout in High-Speed Option devices
+
+ Will only be applied to non-HSO Option modems.
+
+ plugins/option/mm-broadband-modem-hso.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit e69d4974ef80dc6613e01d712f0087de35525ab4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 13:37:41 2012 +0200
+
+ broadband-modem: use current charset when parsing operator name
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 28f13c09ecf6433385d9b7a8cff5be825d74c9c8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 13:00:07 2012 +0200
+
+ mmcli: abort certain operations if modem is unlocked
+
+ Do not try to perform feature/capability specific actions if we're
+ still
+ unlocked, as the modem didn't yet export the feature/capability
+ specific
+ interface.
+
+ The only interfaces expected while modem is unlocked are the Modem
+ and Simple
+ interfaces, as well as the SIM interface in the SIM object, of course.
+
+ cli/mmcli-modem-3gpp.c | 28 ++++++++++++++++++++--------
+ cli/mmcli-modem-cdma.c | 14 ++++++++++----
+ cli/mmcli-modem-location.c | 14 ++++++++++----
+ cli/mmcli-modem-messaging.c | 14 ++++++++++----
+ cli/mmcli-modem-simple.c | 9 +++++----
+ cli/mmcli-modem-time.c | 14 ++++++++++----
+ 6 files changed, 65 insertions(+), 28 deletions(-)
+
+commit d10780dcf573749137710c376edf52086e2b4500
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 12:58:18 2012 +0200
+
+ mmcli: fix alignment of properties in IP config output
+
+ cli/mmcli-bearer.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit e387100eb51da541dff4b7323ebe2286dc193a12
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 12:57:44 2012 +0200
+
+ hso: update connection status only in the bearer matching the
+ specific CID
+
+ plugins/option/mm-broadband-modem-hso.c | 69
+ ++++++++++++++++++++-------------
+ 1 file changed, 41 insertions(+), 28 deletions(-)
+
+commit 770511f44937d9ca697ef014439380556f4dab90
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 12:57:00 2012 +0200
+
+ hso: fix segfault in bearer status update handling
+
+ plugins/option/mm-broadband-bearer-hso.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5191dd3d9e1c20cc27bdce9ff1502b15c1c7e042
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 12:56:18 2012 +0200
+
+ option: fix reading port-specific setup file
+
+ The `physdev' stored in the probe is the sysfs path of the parent
+ device, that
+ owning all ports. We need to build the setup file path using the
+ port's sysfs
+ path instead.
+
+ plugins/option/mm-plugin-hso.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 46fa15c6034ba4d1444a0b04a0f6e4c2f479eda0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 12:54:17 2012 +0200
+
+ broadband-modem: initialize the Simple interface even if unlocked
+
+ We should be able to unlock the modem during Simple Connect().
+
+ src/mm-broadband-modem.c | 32 ++++++++++++++++++++------------
+ 1 file changed, 20 insertions(+), 12 deletions(-)
+
+commit 467b8892ae4c5107247fb2dc030bbf2becb07cac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 12:09:33 2012 +0200
+
+ mmcli: ensure the modem exports the Simple interface before trying
+ to use it
+
+ cli/mmcli-modem-simple.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit fec294b2265ef897967d3b01685108c79c21f59e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 26 10:41:38 2012 +0200
+
+ plugin: bump major plugin version
+
+ The PluginBase object got modified during the new codebase
+ development, and
+ therefore we need to ensure that the current codebase doesn't try
+ to load old
+ plugins.
+
+ src/mm-plugin.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f6d8c52bc91743782497c56f3b25de4cabbcc643
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Mar 25 01:09:24 2012 +0100
+
+ iface-modem: do not try to set new allowed/preferred config if modem
+ already in there
+
+ src/mm-iface-modem.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit ae50d291cda0def4757a84bf808aa159aa5da184
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 24 20:29:26 2012 +0100
+
+ hso: probe for QCDM ports
+
+ plugins/option/mm-plugin-hso.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 6b678bd8cf15aecc6f596892cc18a170a7675409
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 24 19:50:10 2012 +0100
+
+ hso: fix bearer private data handling
+
+ plugins/option/mm-broadband-bearer-hso.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit bd90ee80943af30ac31ec24e0887c9f8bb84d170
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 24 19:15:50 2012 +0100
+
+ option: handle special 'auto' mode when setting allowed/preferred
+ modes
+
+ plugins/option/mm-broadband-modem-option.c | 14 +++++++++++---
+ 1 file changed, 11 insertions(+), 3 deletions(-)
+
+commit 43cdb25eb176a18d04de68d1104a630555d7e60d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 24 19:02:01 2012 +0100
+
+ option: handle response specifying automatic mode
+
+ Option modems may reply '_OPSYS: 5,2' to report automatic mode
+ being used.
+
+ plugins/option/mm-broadband-modem-option.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 41a592b5352281db24a030065778731dec87e53a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 24 18:58:55 2012 +0100
+
+ iface-modem: treat ANY in allowed modes as being equal to the list
+ of supported modes
+
+ src/mm-iface-modem.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit 19436a99068f758fe96dacd282be52082086616e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 24 18:20:50 2012 +0100
+
+ option: fix setting allowed modes
+
+ plugins/option/mm-broadband-modem-option.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 5b10af0ff3975fd855c5187ef34cb278031102d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 24 18:08:30 2012 +0100
+
+ option: no result expected in unsolicited enabling/disabling sequence
+
+ plugins/option/mm-broadband-modem-option.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 0bc824b452de45815a8b8675d2b041a5eb98cb4c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 24 11:48:34 2012 +0100
+
+ option: fix allowed modes response parsing
+
+ Expecting a `_OSSYS' reply, not `_OPSYS'.
+
+ plugins/option/mm-broadband-modem-option.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit d841916c4fef16dc58888c306a2930ffafe9162c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 23 16:52:39 2012 +0100
+
+ port-probe: don't probe product string if vendor string probing failed
+
+ src/mm-port-probe.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit e2730d6a0213afbb70bd77ddacf63aa89bc5bf97
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 23 16:51:23 2012 +0100
+
+ port-probe: probed vendor/product string will be NULL when error
+ probing
+
+ src/mm-port-probe.c | 24 ++++++++++++++++++------
+ 1 file changed, 18 insertions(+), 6 deletions(-)
+
+commit d41d62f57743580f306ac2703561d1f17b45145e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 23 10:15:39 2012 -0500
+
+ serial: fix crash when sending some commands to a closed port
+ (lp:963102)
+
+ If the command we're sending doesn't have a callback, don't try
+ to call NULL. Triggered if the port got closed (because the modem
+ crashed, or refcounting errors or whatever) with some code like this:
+
+ mm_at_serial_port_queue_command (MM_AT_SERIAL_PORT (port),
+ "+CREG=0", 3, NULL, NULL);
+
+ src/mm-serial-port.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit ac92ac74984a75ca4e125c0eabf8acba048a2b35
+Author: M. I. Spozta <mispozta@gmail.com>
+Date: Thu Mar 22 11:34:39 2012 -0500
+
+ wmc: increase estimate decapsulation buffer size
+
+ (dcbw)
+ Some packets are much larger and require a lot more escaping than
+ we thought so we need larger buffers here to be able to handle
+ all packets. In this case, SMS receipt.
+
+ libwmc/src/utils.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c5a6e1fcab44df046569ed77f6f67149b9d671d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Mar 18 17:27:37 2012 +0100
+
+ anydata: plugin fully ported
+
+ plugins/mm-modem-anydata-cdma.c | 388
+ ----------------------------------------
+ plugins/mm-modem-anydata-cdma.h | 47 -----
+ 2 files changed, 435 deletions(-)
+
+commit 58f21a6d94d31aeaf3bf3ce9760215f96ee8d9da
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Mar 18 17:26:23 2012 +0100
+
+ anydata: ignore several unsolicited messages
+
+ plugins/anydata/mm-broadband-modem-anydata.c | 64
+ ++++++++++++++++++++++++++++
+ 1 file changed, 64 insertions(+)
+
+commit ffee9141972e11ee4d2eab949685bacf9c398e84
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Mar 18 17:17:27 2012 +0100
+
+ anydata: implement modem reset
+
+ plugins/anydata/mm-broadband-modem-anydata.c | 34
+ ++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit 82d72744a25c6912cb6e6737b40b830f9652d06c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Mar 18 17:07:13 2012 +0100
+
+ anydata: get detailed CDMA1x/EVDO registration states
+
+ plugins/anydata/mm-broadband-modem-anydata.c | 217
+ +++++++++++++++++++++++++++
+ 1 file changed, 217 insertions(+)
+
+commit d58d3f52a29aaed06c805da70311a2b66d4eeaf9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 17 16:47:42 2012 +0100
+
+ anydata: don't get serving system with +CSS?
+
+ plugins/anydata/mm-broadband-modem-anydata.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit 75c38941a835f5de307108d5f2453ae11592e794
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 17 16:26:14 2012 +0100
+
+ anydata: start porting the AnyDATA plugin
+
+ plugins/Makefile.am | 23 ++--
+ plugins/anydata/mm-broadband-modem-anydata.c | 61 +++++++++
+ plugins/anydata/mm-broadband-modem-anydata.h | 49 +++++++
+ plugins/anydata/mm-plugin-anydata.c | 106 +++++++++++++++
+ plugins/{ => anydata}/mm-plugin-anydata.h | 4 +-
+ plugins/mm-plugin-anydata.c | 185
+ ---------------------------
+ 6 files changed, 231 insertions(+), 197 deletions(-)
+
+commit 46d16d5c995dc2e8f954dd1c27a6fd29e03cedef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Mar 17 17:46:06 2012 +0100
+
+ libmm-common: new common uint/int/str parsers
+
+ libmm-common/mm-common-helpers.c | 96 +++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 16 ++++-
+ plugins/generic/mm-plugin-generic.c | 1 -
+ src/mm-broadband-modem.c | 65 +++--------------
+ src/mm-modem-helpers.c | 135
+ ++++++++++++------------------------
+ src/mm-modem-helpers.h | 1 -
+ 6 files changed, 166 insertions(+), 148 deletions(-)
+
+commit 3046059affaee447923bb8b3e70d06ec02ac9d96
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 15:52:36 2012 +0100
+
+ iface-modem-3gpp: if already registered as requested, don't try to
+ register from scratch
+
+ src/mm-iface-modem-3gpp.c | 32 ++++++++++++++++++++++++++------
+ 1 file changed, 26 insertions(+), 6 deletions(-)
+
+commit 6bb90d92e47fb432b4916f0cb6521f541ffa0647
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 15:38:09 2012 +0100
+
+ iface-modem-simple: try to skip initial steps in the Simple Connect
+ sequence
+
+ src/mm-iface-modem-simple.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit 295272196dbdf256a7378066889fc89b855b1777
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 15:37:37 2012 +0100
+
+ iface-modem-simple: don't request to connect the bearer if already
+ connected
+
+ src/mm-iface-modem-simple.c | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+commit 29b955afa29396cb51636ba58193d6ba5d87436c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 15:37:12 2012 +0100
+
+ iface-modem: if we are already unlocked, don't try to check it again
+
+ We're assuming here we are never getting locked without us knowing it.
+
+ src/mm-iface-modem.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 1dbe4a12cf88bf4e5bd1dab4aab170040747362b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 15:21:56 2012 +0100
+
+ iface-modem-simple: don't call the enable() methods in the class
+ directly
+
+ Use the new `mm_base_modem_enable()' instead, which will pass down the
+ modem-wide cancellable to the enable() implementation.
+
+ src/mm-iface-modem-simple.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+commit 686cfbb2c003b7023394b5c9a1eaa85671210815
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 15:21:01 2012 +0100
+
+ iface-modem-simple: don't assume bearer is always set
+
+ src/mm-iface-modem-simple.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit f2fee29968f50ccd3b637d49df8c106360048f97
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 15:20:40 2012 +0100
+
+ broadband-bearer: pass down cancellable to the 3gpp dialing
+ implementation
+
+ src/mm-broadband-bearer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8f488d604970bca585ed6f0a2531bcaa766b38f1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 14:27:50 2012 +0100
+
+ hso,option: plugins fully ported
+
+ plugins/Makefile.am | 20 -
+ plugins/mm-modem-hso.c | 816
+ ----------------------------------------
+ plugins/mm-modem-hso.h | 51 ---
+ plugins/mm-modem-option-utils.c | 561 ---------------------------
+ plugins/mm-modem-option.c | 237 ------------
+ plugins/mm-modem-option.h | 45 ---
+ plugins/mm-plugin-hso.c | 206 ----------
+ plugins/mm-plugin-hso.h | 43 ---
+ plugins/mm-plugin-option.c | 184 ---------
+ 9 files changed, 2163 deletions(-)
+
+commit 3a7270930a5e52739834b59b5b6b1450088a4fac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 14:24:48 2012 +0100
+
+ hso: custom disconnection implementation
+
+ plugins/option/mm-broadband-bearer-hso.c | 86
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 86 insertions(+)
+
+commit 93b4256fb6710de6cb10d22301aa902ba2456deb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 14:18:41 2012 +0100
+
+ broadband-bearer: pass down CID to the 3GPP-specific disconnection
+ logic
+
+ plugins/novatel/mm-broadband-bearer-novatel.c | 1 +
+ src/mm-broadband-bearer.c | 21 ++++++++++-----------
+ src/mm-broadband-bearer.h | 1 +
+ 3 files changed, 12 insertions(+), 11 deletions(-)
+
+commit 51956459dcf57ac0109ca0b8cc25d6fd927c2395
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 14:00:56 2012 +0100
+
+ hso: custom IP config retrieval implementation
+
+ plugins/option/mm-broadband-bearer-hso.c | 188
+ +++++++++++++++++++++++++++++++
+ 1 file changed, 188 insertions(+)
+
+commit cd7d4c301928f25ece4dfba903fe2f6dedd14100
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 13:17:06 2012 +0100
+
+ broadband-bearer: let subclasses handle their own IP config retrieval
+ mechanism
+
+ Mainly given for bearers requiring static IP addresses in net ports.
+
+ src/mm-broadband-bearer.c | 148
+ ++++++++++++++++++++++++++++++++++++++--------
+ src/mm-broadband-bearer.h | 16 +++++
+ 2 files changed, 139 insertions(+), 25 deletions(-)
+
+commit 6900348b643a762ed26834af86410ede83f67da2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 13:15:54 2012 +0100
+
+ broadband-bearer: let subclasses know the CID being used
+
+ src/mm-broadband-bearer.c | 6 ++++++
+ src/mm-broadband-bearer.h | 2 ++
+ 2 files changed, 8 insertions(+)
+
+commit 327a69ed16f2a47e26cce704f025b864f03130a4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 13:15:01 2012 +0100
+
+ novatel: assume only IPv4 supported for now
+
+ plugins/novatel/mm-broadband-bearer-novatel.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 70c70a61abdfee3faf8491a54c2c19af160b5875
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 12:22:27 2012 +0100
+
+ hso: let modem report connection status to the bearer
+
+ Connection status notifications are unsolicited; the modem will
+ receive them
+ and it will forward them to the available bearer.
+
+ plugins/option/mm-broadband-modem-hso.c | 171
+ +++++++++++++++++++++++++++++++-
+ 1 file changed, 170 insertions(+), 1 deletion(-)
+
+commit 5a8a5d0f225b5266b116a8d0724bb67f6785f1c3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 12:21:21 2012 +0100
+
+ hso: always create a HSO-specific broadband bearer
+
+ plugins/option/mm-broadband-modem-hso.c | 67
+ ++++++++++++++++++++++++++++++++-
+ 1 file changed, 66 insertions(+), 1 deletion(-)
+
+commit 7de8b588b630e25d54cf4f6b0a7323fe4478f3dc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 10:09:57 2012 +0100
+
+ hso: setup connection sequence
+
+ plugins/option/mm-broadband-bearer-hso.c | 369
+ +++++++++++++++++++++++++++++++
+ plugins/option/mm-broadband-bearer-hso.h | 10 +
+ 2 files changed, 379 insertions(+)
+
+commit fe13d4cb66977e8641315683254e685b0b80584f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 16 10:09:25 2012 +0100
+
+ broadband-bearer: ensure a result is always set
+
+ Just a convenience, as it is anyway not used afterwards.
+
+ src/mm-broadband-bearer.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d374b995f92c03cda5d0a2e5684225feb061980a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 19:16:38 2012 +0100
+
+ hso: new `MMBroadbandBearerHso'
+
+ Includes handling of user and password.
+
+ plugins/Makefile.am | 2 +
+ plugins/option/mm-broadband-bearer-hso.c | 225
+ +++++++++++++++++++++++++++++++
+ plugins/option/mm-broadband-bearer-hso.h | 61 +++++++++
+ 3 files changed, 288 insertions(+)
+
+commit 473c5fee4d920d723366cef1f406279e48eaf3d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 18:17:01 2012 +0100
+
+ bearer: properties are exposed before exporting the bearer object
+
+ And we let subclasses to specify which of the input properties need
+ to be
+ exposed.
+
+ src/mm-bearer.c | 31 ++++++++++++++++---------------
+ src/mm-bearer.h | 4 ++++
+ src/mm-broadband-bearer.c | 34 ++++++++++++++++------------------
+ 3 files changed, 36 insertions(+), 33 deletions(-)
+
+commit 4f06aa5106be4688a751bf34601d1a03e3c49ce6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 16:56:45 2012 +0100
+
+ api,dbus: include `user' and `password' as properties given to
+ Simple Connect
+
+ introspection/org.freedesktop.ModemManager1.Modem.Simple.xml | 12
+ ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 52ac88824e17ae26379e263b5a8dbcbdca805325
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 16:45:47 2012 +0100
+
+ hso: setup ports
+
+ Only the primary port will get the OWANCALL unsolicited messages,
+ so we only
+ setup not to remove the echo in that specific port.
+
+ plugins/option/mm-broadband-modem-hso.c | 43
+ ++++++++++++++++++++++++++++++++-
+ 1 file changed, 42 insertions(+), 1 deletion(-)
+
+commit db052c2e5021066502ebfdd56c29e011abc2f55c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 13:54:49 2012 +0100
+
+ hso: started porting the High-Speed Option plugin
+
+ Just skeleton for now.
+
+ plugins/Makefile.am | 15 +++-
+ plugins/option/mm-broadband-modem-hso.c | 72 +++++++++++++++
+ plugins/option/mm-broadband-modem-hso.h | 51 +++++++++++
+ plugins/option/mm-plugin-hso.c | 150
+ ++++++++++++++++++++++++++++++++
+ plugins/option/mm-plugin-hso.h | 42 +++++++++
+ 5 files changed, 328 insertions(+), 2 deletions(-)
+
+commit 1b394ebfe7556fad973ee470b8565daeb2ecaca2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 13:29:36 2012 +0100
+
+ option: allow setting allowed/preferred modes
+
+ plugins/option/mm-broadband-modem-option.c | 90
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 90 insertions(+)
+
+commit 63926eac0278e806c81c476a8a19df365d1c8ba8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 13:18:47 2012 +0100
+
+ option: load initial allowed/preferred modes
+
+ plugins/option/mm-broadband-modem-option.c | 73
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 73 insertions(+)
+
+commit 7400b14ee61bf3de03aa6f477a6500f2bcb33c91
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 12:49:44 2012 +0100
+
+ mmcli: fix looking for unexisting SMS
+
+ We need to ensure we iterate over all modems available.
+
+ cli/mmcli-common.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 6dea9964bec11ac168835afc397d4bef061cc4c1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 12:49:06 2012 +0100
+
+ mmcli: fix looking for unexisting bearers
+
+ We need to ensure we iterate over all modems available.
+
+ cli/mmcli-common.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 979c52038176ded90809c77ee7e97e0ddb665ebb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 12:31:14 2012 +0100
+
+ cli: don't assume every modem exposes the Messaging interface
+
+ cli/mmcli-common.c | 22 ++++++++++++++--------
+ 1 file changed, 14 insertions(+), 8 deletions(-)
+
+commit 346de780bea9ac00d2d4b0f01566755649498002
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 11:37:54 2012 +0100
+
+ option: completely ignore +PACSP0 unsolicited messages
+
+ plugins/option/mm-broadband-modem-option.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit dda9e2a37fcc064341a23fb712010eb8a851e1e1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 11:23:13 2012 +0100
+
+ option: enable and disable unsolicited messages
+
+ plugins/option/mm-broadband-modem-option.c | 161
+ +++++++++++++++++++++++++++++
+ 1 file changed, 161 insertions(+)
+
+commit 00094fcad2bb603cb8786e7c2a7f60dab3cf044a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 15 11:03:30 2012 +0100
+
+ option: setup and cleanup unsolicited messages
+
+ plugins/option/mm-broadband-modem-option.c | 291
+ ++++++++++++++++++++++++++---
+ 1 file changed, 266 insertions(+), 25 deletions(-)
+
+commit 657f7280252907f066b0f896bd7599dc21ecdab1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 14 19:23:38 2012 +0100
+
+ option: reset expected unsolicited message handlers
+
+ plugins/option/mm-broadband-modem-option.c | 64
+ ++++++++++++++++++++++++++++++
+ 1 file changed, 64 insertions(+)
+
+commit 39e0f953b003fed958d61682a2168805ec63f9cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 14 17:37:50 2012 +0100
+
+ option: need to wait some seconds after power up
+
+ plugins/option/mm-broadband-modem-option.c | 64
+ +++++++++++++++++++++++++++++-
+ plugins/option/mm-broadband-modem-option.h | 2 +
+ 2 files changed, 65 insertions(+), 1 deletion(-)
+
+commit 15e99430363fcaf7d2a3be6afb7961d2e3f7e8b3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 18:20:01 2012 +0100
+
+ plugin-base: avoid launching AT probing on new ports if the modem
+ expects only one
+
+ If we got an existing modem showing a new port, and the plugin
+ handling that modem
+ said that only one AT port was expected, we shouldn't be AT-probing
+ it any more.
+
+ src/mm-plugin-base.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+commit 29f23f2a492d7743f19aa99c0f9dc1960160698c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 18:18:43 2012 +0100
+
+ base-modem: new method to check if the modem got any AT port
+
+ Required for the single-at logic in the plugins.
+
+ src/mm-base-modem.c | 17 +++++++++++++++++
+ src/mm-base-modem.h | 3 ++-
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+commit 3eb4220caa92ef5be21829b37778690802802ce9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 18:17:53 2012 +0100
+
+ port-probe: new probing result setters
+
+ We make them public, so that we can set results before actually
+ running the
+ probing.
+
+ src/mm-port-probe.c | 106
+ ++++++++++++++++++++++++++++++++++++----------------
+ src/mm-port-probe.h | 10 +++++
+ 2 files changed, 83 insertions(+), 33 deletions(-)
+
+commit d2559e2716c43f52701144ee25c14d87786b5a11
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 16:47:06 2012 +0100
+
+ plugin-base: only cancel AT probing in probes of the same device
+
+ src/mm-plugin-base.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit c52762ea6763b93772f13ad0fd2c89fb6d201018
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 16:42:49 2012 +0100
+
+ build: require gudev >= 147
+
+ Since udev 147 the gudev API is no longer marked as experimental,
+ and therefore
+ `G_UDEV_API_IS_SUBJECT_TO_CHANGE' is no longer needed.
+
+ configure.ac | 2 +-
+ src/mm-manager.c | 2 --
+ src/mm-plugin-base.c | 7 ++-----
+ src/mm-plugin-base.h | 2 --
+ src/mm-port-probe.h | 2 --
+ test/lsudev.c | 1 -
+ 6 files changed, 3 insertions(+), 13 deletions(-)
+
+commit 703ab2590b031b028199c872e2525936a9d7088f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 14:58:42 2012 +0100
+
+ port-probe: probing may just require vendor or product probing
+
+ If we already had probed, e.g. AT capabilities, and a next plugin
+ requires
+ Vendor AT probing, the task will only show that VENDOR_AT is
+ requested.
+
+ src/mm-port-probe.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 56e7b15f5c2bb8f88dc638766774db1f15a5b4d0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 13:49:25 2012 +0100
+
+ base-modem: ensure we cancel any ongoing operation when we're
+ disposing
+
+ src/mm-base-modem.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit 09026ed89a0a7d85112aec52ca1e3ae57e497f11
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 13:12:18 2012 +0100
+
+ iface-modem: treat serial errors also as fatal when checking unlock
+ status
+
+ src/mm-iface-modem.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+commit a20441f4c03bc57cb2dfabb00dd4f94848db2739
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 12:41:46 2012 +0100
+
+ nokia: don't even bother checking for messaging support
+
+ Nokia modems/handsets use their own protocol (phonet) for all
+ messaging related
+ operations, currently unsupported, so don't bother trying to check
+ messaging
+ support with the generic implementation.
+
+ plugins/nokia/mm-broadband-modem-nokia.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit e2a56ba490fdb49e81f693fad5e48ee319041727
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 12:35:15 2012 +0100
+
+ iface-modem-time: let initialization and enabling sequences get
+ cancelled
+
+ src/mm-broadband-modem.c | 2 ++
+ src/mm-iface-modem-time.c | 48
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-time.h | 2 ++
+ 3 files changed, 52 insertions(+)
+
+commit 9eebb75ca3a5cb84630ccb1df92de511bbd120ca
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 12:20:16 2012 +0100
+
+ iface-modem-messaging: let initialization and enabling sequences
+ get cancelled
+
+ src/mm-broadband-modem.c | 4 +++-
+ src/mm-iface-modem-messaging.c | 54
+ ++++++++++++++++++++++++++++++++++++++----
+ src/mm-iface-modem-messaging.h | 2 ++
+ 3 files changed, 55 insertions(+), 5 deletions(-)
+
+commit 2c4a69b190cd0963d650a048560a96c1e4cf0dc2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 12:15:00 2012 +0100
+
+ iface-modem-location: let initialization and enabling sequences
+ get cancelled
+
+ src/mm-broadband-modem.c | 2 ++
+ src/mm-iface-modem-location.c | 49
+ ++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-location.h | 2 ++
+ 3 files changed, 52 insertions(+), 1 deletion(-)
+
+commit fea2ef0e5cbf908a889a04c5c488aa76070aeaa5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 12:07:03 2012 +0100
+
+ iface-modem-cdma: let initialization and enabling sequences get
+ cancelled
+
+ src/mm-broadband-modem.c | 2 ++
+ src/mm-iface-modem-cdma.c | 48
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-cdma.h | 2 ++
+ 3 files changed, 52 insertions(+)
+
+commit 0d4b644572603114d9b6eda46778af6a8a5c021d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 11:58:32 2012 +0100
+
+ iface-modem-3gpp: let initialization and enabling sequences get
+ cancelled
+
+ src/mm-broadband-modem.c | 2 ++
+ src/mm-iface-modem-3gpp.c | 48
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 2 ++
+ 3 files changed, 52 insertions(+)
+
+commit e140ff3c5f1dda2e1310b79b81e73fada5b6d312
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 11:52:20 2012 +0100
+
+ iface-modem: let initialization and enabling sequences get cancelled
+
+ src/mm-broadband-modem.c | 2 ++
+ src/mm-iface-modem.c | 48
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 2 ++
+ 3 files changed, 52 insertions(+)
+
+commit d27e40ae9aea1166831920a92d4eba4f3f51605d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 9 19:48:43 2012 +0100
+
+ core: new `Initializing' state in the global modem state machine
+
+ We need to define a state to be used while the modem is being
+ initialized, so
+ that we forbid any operation on the modem on already exported
+ interfaces, while
+ there are interfaces pending to get exported.
+
+ This Initializing state will also cover the state between having
+ the SIM
+ unlocked (which launches re-initialization) and being completely
+ initialized.
+
+ include/ModemManager-enums.h | 22 ++++++++------
+ src/mm-broadband-modem.c | 72
+ ++++++++++++++++++++++++++++++++++++++------
+ src/mm-iface-modem-3gpp.c | 24 ++++++++++++---
+ src/mm-iface-modem-cdma.c | 22 +++++++++++---
+ src/mm-iface-modem.c | 34 ++++++++++++---------
+ src/mm-sim.c | 13 +++++---
+ 6 files changed, 140 insertions(+), 47 deletions(-)
+
+commit 6de2e3f72cb058ce31b93274ede144d95c5440bc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 9 19:47:04 2012 +0100
+
+ sim: don't require the Modem object in the context
+
+ It's already easily available in self->priv->modem;
+
+ src/mm-sim.c | 28 ++++------------------------
+ 1 file changed, 4 insertions(+), 24 deletions(-)
+
+commit 3a22128d9e87d2948e948b44f170cf4167dcc746
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 9 19:43:34 2012 +0100
+
+ iface-modem: don't leave locked state until re-initialization
+ is complete
+
+ src/mm-iface-modem.c | 27 +++++++++++++++++++++------
+ 1 file changed, 21 insertions(+), 6 deletions(-)
+
+commit 961290ddd7d6acd8d9da76e100b5c8063fa70cb5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 9 17:01:13 2012 +0100
+
+ build: autogenerate `mm-errors-quarks.c'
+
+ We define custom nicks for each error enum, matching the DBus error
+ entry that
+ we want to have with each of them.
+
+ .gitignore | 1 +
+ build-aux/header-generator.xsl | 3 +
+ build-aux/mm-errors-quarks-template.c | 42 +++++
+ docs/reference/api/ModemManager-sections.txt | 7 +
+ include/ModemManager-errors.h | 224
+ ++++++++++++++-------------
+ libmm-common/Makefile.am | 13 +-
+ libmm-common/mm-errors-quarks.c | 219
+ --------------------------
+ 7 files changed, 178 insertions(+), 331 deletions(-)
+
+commit be7f499aa6da3630e145c311c489fe478c339b78
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 9 15:49:41 2012 +0100
+
+ broadband-modem: set cancellations in the initialization, enabling
+ and disabling sequences
+
+ src/mm-broadband-modem.c | 63
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 63 insertions(+)
+
+commit 4b64d3dcf044937d92f4bc0c7af54da6ee92c34e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 9 00:13:53 2012 +0100
+
+ nokia: new `MMSimNokia'
+
+ Nokia phones don't support AT+CRSM.
+
+ plugins/Makefile.am | 2 +
+ plugins/nokia/mm-broadband-modem-nokia.c | 30 +++++++++++-
+ plugins/nokia/mm-sim-nokia.c | 84
+ ++++++++++++++++++++++++++++++++
+ plugins/nokia/mm-sim-nokia.h | 51 +++++++++++++++++++
+ 4 files changed, 166 insertions(+), 1 deletion(-)
+
+commit 25e8bfd2a31c87bc2a1a4f5d98ebb173303b348b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 8 23:37:10 2012 +0100
+
+ nokia: expect only one AT port
+
+ This speeds up probing, as we cancel other AT probings as soon as
+ we grab the
+ first AT port.
+
+ plugins/nokia/mm-plugin-nokia.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 181f9c85f037cc4d0a603dc314382b3ffaa961f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 8 23:32:30 2012 +0100
+
+ log: only include LOC and method name in debug logs if running
+ with --debug
+
+ If the modem is started with --log-level=DEBUG, they will not
+ be shown.
+
+ src/main.c | 1 +
+ src/mm-log.c | 7 +++++--
+ src/mm-log.h | 2 +-
+ 3 files changed, 7 insertions(+), 3 deletions(-)
+
+commit cdd339f8024af8088d94f0ffde78beef5a0c998d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 8 23:19:19 2012 +0100
+
+ base-modem: implement new modem-wide cancellable, and rework AT
+ commands
+
+ Instead of the `_in_port()' variants, we'll provide more generic
+ `_full()' methods. These should be used either if we want to send
+ commands
+ to a specific port, or if we want to use a specific user-provided
+ GCancellable.
+
+ In addition to this user-provided GCancellable, we keep the internal
+ modem-wide
+ one.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 36 ++---
+ plugins/gobi/mm-broadband-modem-gobi.c | 1 -
+ plugins/iridium/mm-bearer-iridium.c | 12 +-
+ plugins/iridium/mm-broadband-modem-iridium.c | 5 -
+ plugins/nokia/mm-broadband-modem-nokia.c | 1 -
+ plugins/novatel/mm-broadband-bearer-novatel.c | 4 -
+ plugins/novatel/mm-broadband-modem-novatel.c | 3 -
+ plugins/option/mm-broadband-modem-option.c | 3 -
+ src/mm-base-modem-at.c | 185
+ ++++++++++++----------
+ src/mm-base-modem-at.h | 91 +++++------
+ src/mm-base-modem.c | 16 ++
+ src/mm-base-modem.h | 3 +
+ src/mm-broadband-bearer.c | 191
+ +++++++++++------------
+ src/mm-broadband-modem.c | 162
+ ++++++++-----------
+ src/mm-sim.c | 7 -
+ src/mm-sms.c | 4 -
+ 16 files changed, 334 insertions(+), 390 deletions(-)
+
+commit 215c27808230352e3def81b45808ef29a9cd5b7a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 8 15:30:48 2012 +0100
+
+ base-modem: new modem-wide cancellable, passed to every state machine
+
+ src/mm-base-modem.c | 132
+ ++++++++++++++++++++++++++++++++++++++++++++-------
+ src/mm-base-modem.h | 39 +++++++++++----
+ src/mm-iface-modem.c | 37 +++++----------
+ 3 files changed, 155 insertions(+), 53 deletions(-)
+
+commit 7bfc56c2a8d1d5d9eb70cdfa803b840c176071b2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 8 15:30:14 2012 +0100
+
+ base-modem-at: set error if NULL port detected
+
+ Users of mm_base_modem_at_command_in_port() can now directly pass
+ the result
+ of mm_base_modem_peek_port_primary() or
+ mm_base_modem_peek_port_secondary(),
+ which may be NULL if no such port exists in the modem. So we'll
+ gracefully
+ detect the NULL port and complete the async operation with an error.
+
+ src/mm-base-modem-at.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit cc6d4a97fb0a11c799f1079c6db86b31db7eadf7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 8 12:47:45 2012 +0100
+
+ base-modem: new port getters and peekers
+
+ * mm_base_modem_peek_port_* () will return either a port object
+ (no new
+ reference), or NULL if none available.
+
+ You would usually peek() a port if you're going to use it just in
+ the current
+ method, as there is no way to that reference to get invalid (we're
+ single
+ threaded).
+
+ * mm_base_modem_get_port_* () will return either NEW references
+ to valid
+ port objects, or NULL if none available.
+
+ And, you would usually get() a port, whenever you want the port
+ object to be
+ valid even out of the current method, for example when keeping it
+ in the
+ context of an async operation.
+
+ Also, we need to consider that the primary AT port MAY BE NULL
+ when you
+ peek() or get() it. This is due to the fact that we may be releasing
+ ports
+ (due to device disconnection) in the middle of async operations.
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
+ plugins/iridium/mm-bearer-iridium.c | 121 +++++++++-------
+ plugins/iridium/mm-broadband-modem-iridium.c | 8 +-
+ src/mm-base-modem-at.c | 6 +-
+ src/mm-base-modem.c | 57 +++++++-
+ src/mm-base-modem.h | 20 ++-
+ src/mm-broadband-bearer.c | 73 ++++++++--
+ src/mm-broadband-modem.c | 177
+ +++++++++++++----------
+ src/mm-iface-modem-3gpp-ussd.c | 6 -
+ src/mm-iface-modem-3gpp.c | 6 -
+ src/mm-iface-modem-cdma.c | 6 -
+ src/mm-iface-modem-location.c | 6 -
+ src/mm-iface-modem-messaging.c | 6 -
+ src/mm-iface-modem-time.c | 6 -
+ src/mm-iface-modem.c | 29 ++--
+ src/mm-sim.c | 17 +--
+ 16 files changed, 323 insertions(+), 223 deletions(-)
+
+commit 48285dcfdf04becbe90922ac3f2dd942bc43de53
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 17:17:59 2012 +0100
+
+ serial-port: forcing to close a port is an internal operation
+
+ Ports being forced to get closed will only happen when we get a
+ HUP error
+ in the serial port (e.g. device got disconnected).
+
+ src/mm-serial-port.c | 6 +++---
+ src/mm-serial-port.h | 2 --
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+commit 4f59a696fc5a01551c9fc53ac5893d429613ff7e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 17:10:16 2012 +0100
+
+ serial-port: don't warn when trying to close a port which was forced
+ to be closed
+
+ src/mm-serial-port.c | 20 ++++++++++++++++++--
+ 1 file changed, 18 insertions(+), 2 deletions(-)
+
+commit 4bdfd25de18bc6abaae6197f5f4646586c0da511
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 17:07:36 2012 +0100
+
+ base-modem: when getting best AT port, assume we may have lost
+ specific ports
+
+ Don't assume that primary port is always set.
+
+ src/mm-base-modem.c | 31 +++++++++++++++----------------
+ 1 file changed, 15 insertions(+), 16 deletions(-)
+
+commit c24012ef1b6a4ba1368ca22f30b7db6c5ccec334
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 16:49:22 2012 +0100
+
+ plugin-base: handle the case of expecting a single AT port
+
+ If we only expect a single AT port, we'll cancel all remaining AT
+ port probings
+ in the other ports, as soon as we get the first one.
+
+ TODO | 4 ----
+ src/mm-plugin-base.c | 35 +++++++++++++++++++++++++++++------
+ 2 files changed, 29 insertions(+), 10 deletions(-)
+
+commit dc58cce7c45cc77b31923a2520a501ba5e3590da
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 16:48:18 2012 +0100
+
+ port-probe: allow cancelling all AT probing steps
+
+ src/mm-port-probe.c | 50
+ ++++++++++++++++++++++++++++++++++++++++----------
+ src/mm-port-probe.h | 4 +++-
+ 2 files changed, 43 insertions(+), 11 deletions(-)
+
+commit 9fbddcb8a94ae6755b6afccf9dcf070b4d9c45bd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 14:23:15 2012 +0100
+
+ plugin-base: new property to specify that only one single AT port
+ is expected
+
+ Will allow us to cancel other AT probings as soon as the first AT
+ port is
+ grabbed.
+
+ src/mm-plugin-base.c | 19 +++++++++++++++++++
+ src/mm-plugin-base.h | 2 +-
+ 2 files changed, 20 insertions(+), 1 deletion(-)
+
+commit 690777986b0efe6a38135ea8f42f392a6320cf77
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 14:21:11 2012 +0100
+
+ port-probe: refactor AT command handling
+
+ Make it use a GVariant in the response processor, as the AT command
+ handling in
+ the MMBaseModem.
+
+ TODO | 4 --
+ plugins/nokia/mm-plugin-nokia.c | 44 ++-----------
+ src/Makefile.am | 4 +-
+ src/mm-port-probe-at-command.c | 135
+ ----------------------------------------
+ src/mm-port-probe-at-command.h | 58 -----------------
+ src/mm-port-probe-at.c | 93 +++++++++++++++++++++++++++
+ src/mm-port-probe-at.h | 79 +++++++++++++++++++++++
+ src/mm-port-probe.c | 74 ++++++++++++++--------
+ src/mm-port-probe.h | 2 +-
+ 9 files changed, 226 insertions(+), 267 deletions(-)
+
+commit 70103fdef3556551cb282849fb8fb1dbcd102deb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 14:18:19 2012 +0100
+
+ TODO: new task to consolidate the serial parser as a GObject
+
+ TODO | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 1e1927334031f8eda5383962063c54ac06267bfe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 13:10:18 2012 +0100
+
+ serial-parsers: new method to check if a given error was set by
+ the parser
+
+ src/mm-serial-parsers.c | 9 +++++++++
+ src/mm-serial-parsers.h | 1 +
+ 2 files changed, 10 insertions(+)
+
+commit ef2b1cf030e257ff93ada4a5397425d192df1805
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 13:08:43 2012 +0100
+
+ at-serial-port: allow cancelling the response timeout
+
+ src/mm-at-serial-port.c | 6 ++++--
+ src/mm-at-serial-port.h | 2 ++
+ src/mm-base-modem-at.c | 5 +++++
+ src/mm-port-probe.c | 1 +
+ 4 files changed, 12 insertions(+), 2 deletions(-)
+
+commit 5a485d74a20a57498d06db09b621af93b433d7e2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 13:07:17 2012 +0100
+
+ qcdm-serial-port: allow cancelling the response timeout
+
+ src/mm-broadband-modem.c | 4 ++++
+ src/mm-port-probe.c | 2 ++
+ src/mm-qcdm-serial-port.c | 6 ++++--
+ src/mm-qcdm-serial-port.h | 2 ++
+ src/tests/test-qcdm-serial-port.c | 2 +-
+ 5 files changed, 13 insertions(+), 3 deletions(-)
+
+commit 9b38cd4f5ce68d816aaa5ffd5b90c1982199bcf2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 13:04:35 2012 +0100
+
+ serial-port: allow cancelling the response timeout
+
+ src/mm-at-serial-port.c | 2 ++
+ src/mm-qcdm-serial-port.c | 2 ++
+ src/mm-serial-port.c | 62
+ +++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-serial-port.h | 4 ++-
+ 4 files changed, 67 insertions(+), 3 deletions(-)
+
+commit 64d83737fe8fc2a4a16e61f817e5046f40cb843b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 12:37:42 2012 +0100
+
+ serial-parsers: remove v0 and v1_e1 parsers, which are unused
+
+ Given that we now perform our own built-in echo removal in the v1
+ parser, we no
+ longer need the v1_e1 parser.
+
+ The v0 parser was also unused from long ago.
+
+ src/mm-serial-parsers.c | 184
+ ------------------------------------------------
+ src/mm-serial-parsers.h | 14 ----
+ 2 files changed, 198 deletions(-)
+
+commit 05e2ce862dc5d834b274676bd1afa31fae62a740
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 10:38:33 2012 +0100
+
+ port-probe: log the list of probing tasks to be run
+
+ src/mm-port-probe.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 66984e77cdfd7e1292da31a03996696b3f5288d1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 7 10:37:49 2012 +0100
+
+ port-probe: convert port probe flags to a private enum
+
+ src/Makefile.am | 6 ++++--
+ src/mm-port-probe.h | 11 +++++++----
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+commit b07e13f49d5e343377d086c5a564ae5659b6a40a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 18:19:17 2012 +0100
+
+ TODO: time interface and own numbers now done
+
+ TODO | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+commit 1df1fe4f4aa271bb66616da789dda0b2bc7f653e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 17:45:41 2012 +0100
+
+ mmcli: new Time-specific actions
+
+ cli/Makefile.am | 1 +
+ cli/mmcli-modem-time.c | 262
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 +++
+ cli/mmcli.h | 8 ++
+ 4 files changed, 282 insertions(+)
+
+commit a3e6faeaca45ab7499ba3652597042e036c03a15
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 17:45:16 2012 +0100
+
+ libmm-glib: implement Time interface specific actions
+
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/mm-modem-time.c | 123
+ +++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-time.h | 54 ++++++++++++++++++++
+ libmm-glib/mm-object.c | 37 +++++++++++++-
+ libmm-glib/mm-object.h | 6 ++-
+ 5 files changed, 220 insertions(+), 2 deletions(-)
+
+commit b50c5d42e0966c0bab5d7e9984b8ff77ff4b0f02
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 14:56:44 2012 +0100
+
+ mmcli: print own numbers in modem info
+
+ cli/mmcli-modem.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 59d811076759255d4a55cb8157de43330b1aadcd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 14:32:16 2012 +0100
+
+ libmm-glib: add support to retrieve own numbers
+
+ libmm-glib/mm-modem.c | 26 ++++++++++++++++++++++++++
+ libmm-glib/mm-modem.h | 2 ++
+ 2 files changed, 28 insertions(+)
+
+commit 1f250585dd810e8b6db2514036a470ab955febf4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 14:15:43 2012 +0100
+
+ modem-helpers: refactor and reorganize sources
+
+ src/mm-broadband-bearer.c | 8 +-
+ src/mm-broadband-modem.c | 54 +-
+ src/mm-modem-helpers.c | 2506
+ ++++++++++++++++++++--------------------
+ src/mm-modem-helpers.h | 182 +--
+ src/tests/test-modem-helpers.c | 30 +-
+ 5 files changed, 1423 insertions(+), 1357 deletions(-)
+
+commit c824ee310603971ed4ccbfb9531b83dcfcc75bd6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 13:10:10 2012 +0100
+
+ broadband-modem: implement own numbers generic loading
+
+ src/mm-broadband-modem.c | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit 51c28d0f79cfebae60982b824abbfbdf2d730f68
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 13:09:34 2012 +0100
+
+ modem-helpers: new +CNUM response parser and tests
+
+ src/mm-modem-helpers.c | 37 +++++++++++++++
+ src/mm-modem-helpers.h | 3 ++
+ src/tests/test-modem-helpers.c | 105
+ +++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 145 insertions(+)
+
+commit 4a52a19c41c92aa8c9091b0ddcbfe6f18d3691ad
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 12:42:42 2012 +0100
+
+ tests,modem-helpers: cleanup tests
+
+ Properly order the tests in blocks, and ensure that the common
+ data for
+ registration tests is not passed to other non-registration related
+ tests.
+
+ src/tests/test-modem-helpers.c | 191
+ +++++++++++++++++++++++------------------
+ 1 file changed, 107 insertions(+), 84 deletions(-)
+
+commit 4c38ab4864463b8266f7202a702f4fd3b01af060
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 12:33:00 2012 +0100
+
+ test,modem-helpers: remove conditional compilation
+
+ We require already GLib 2.30
+
+ src/tests/test-modem-helpers.c | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+commit 2dcff5590e22d47de41b4bf1beb1d6666286bee7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 11:45:02 2012 +0100
+
+ iface-modem: setup loading of own numbers during the initialization
+ phase
+
+ src/mm-iface-modem.c | 42 ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 8 ++++++++
+ 2 files changed, 50 insertions(+)
+
+commit 238e2a5341f2825bedbdb2c0e70e3dcdeaae5f62
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 6 11:44:30 2012 +0100
+
+ api,dbus: new `OwnNumbers' property in the Modem interface
+
+ introspection/org.freedesktop.ModemManager1.Modem.xml | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 478b9c5f36c8e740ef5c49bf487a5fe106e9e62c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 20:09:03 2012 +0100
+
+ cinterion: no need to complete in idle in sleep_ready()
+
+ plugins/cinterion/mm-broadband-modem-cinterion.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 22113859c935c6f979f8d1cfe633a4aa3cb05e81
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 18:29:27 2012 +0100
+
+ messaging: part index may be repeated in different storages
+
+ src/mm-sms-list.c | 21 ++++++++++++++++-----
+ src/mm-sms.c | 11 +++++++++++
+ src/mm-sms.h | 7 ++++---
+ 3 files changed, 31 insertions(+), 8 deletions(-)
+
+commit 120e117c49d50d853e08a9291e31eb33fc73d5ac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 18:17:02 2012 +0100
+
+ time: removed old interface sources
+
+ src/mm-modem-time.c | 169
+ ----------------------------------------------------
+ src/mm-modem-time.h | 60 -------------------
+ 2 files changed, 229 deletions(-)
+
+commit a339546c4547e0950d8dc8aa1d22aafc8969fac9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 18:11:18 2012 +0100
+
+ iface-modem-time: setup generic unsolicited message handling
+
+ Modems may get notified via unsolicited messages (either AT or QMI
+ or some
+ other thing), that the network time was updated. This setup allows
+ subclasses
+ implementing the Time interface to setup/cleanup and enable/disable
+ the
+ unsolicited messages, as well as notify about the network time
+ updates.
+
+ src/mm-iface-modem-time.c | 149
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-time.h | 37 ++++++++++++
+ 2 files changed, 186 insertions(+)
+
+commit 5b01df5baa796d6a1ddec4e57c18a1c742f870f4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 16:30:39 2012 +0100
+
+ iface-modem-time: handle `GetNetworkTime'
+
+ src/mm-iface-modem-time.c | 88
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-time.h | 8 +++++
+ 2 files changed, 95 insertions(+), 1 deletion(-)
+
+commit 10669881a5520c253ab8ba6f05de4ff5afdc7a31
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 16:10:53 2012 +0100
+
+ iface-modem-time: only retry if MM_CORE_ERROR_RETRY was returned
+
+ We don't want to retry if the error is fatal in some other kind,
+ e.g. a reply
+ parsing error or something.
+
+ src/mm-iface-modem-time.c | 7 +++++--
+ src/mm-iface-modem-time.h | 4 +++-
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+commit 120ac6da39ef1d3abb57f77f1e77de10bf58f194
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 16:07:31 2012 +0100
+
+ api,errors: new `MM_CORE_ERROR_RETRY'
+
+ Lets operations specify that they cannot be run currently, but that
+ the caller
+ may retry later. Of course, it depends on the caller to really
+ honour the
+ retry-later suggestion.
+
+ include/ModemManager-errors.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 6e753996293bc0c397b896f7db5fad328237adc5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 15:20:21 2012 +0100
+
+ iface-modem-time: load network timezone information
+
+ Following the same logic as in the original implementation, we try
+ to load the
+ network timezone information only after being registered, and also
+ with up to N
+ retries. The async operation in charge of the loading can be cancelled
+ gracefully, i.e. if the interface is disabled before we get ever
+ registered.
+
+ src/mm-iface-modem-time.c | 315
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-time.h | 14 ++-
+ 2 files changed, 324 insertions(+), 5 deletions(-)
+
+commit df4e7131240c960d1c351d21e82aad0810188580
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 11:59:54 2012 +0100
+
+ broadband-modem: implement the Time interface
+
+ src/mm-broadband-modem.c | 68
+ +++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 67 insertions(+), 1 deletion(-)
+
+commit 16cf2a49f681c1b1e1a23b6a86aef470dc9f4d89
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 11:53:54 2012 +0100
+
+ iface-modem-time: new interface to handle the Time DBus interface
+
+ src/Makefile.am | 2 +
+ src/mm-iface-modem-time.c | 457
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-time.h | 76 ++++++++
+ 3 files changed, 535 insertions(+)
+
+commit 455fc68d8ab2a003d743163f538e8e3de9558ea3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 11:43:37 2012 +0100
+
+ libmm-common: new `MMNetworkTimezone' helper object
+
+ libmm-common/Makefile.am | 4 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-network-timezone.c | 216
+ +++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-network-timezone.h | 68 ++++++++++++
+ 4 files changed, 289 insertions(+)
+
+commit bd9d7011b9ecdd588b74f0948352a4822c8222da
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 10:50:01 2012 +0100
+
+ api,dbus: rewrote Time interface to be used with gdbus-codegen
+
+ docs/reference/api/Makefile.am | 1 +
+ docs/reference/api/ModemManager-dbus-reference.xml | 1 +
+ introspection/all.xml | 1 +
+ .../org.freedesktop.ModemManager.Modem.Time.xml | 56 ----------------
+ .../org.freedesktop.ModemManager1.Modem.Time.xml | 75
+ ++++++++++++++++++++++
+ libmm-common/Makefile.am | 2 +
+ 6 files changed, 80 insertions(+), 56 deletions(-)
+
+commit 480fe4b8087ea323f46e8abee6a71323746b6693
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Mar 2 13:06:42 2012 +0100
+
+ docs: new section about plugin-specific modems
+
+ docs/reference/api/Makefile.am | 6 +-
+ ...nterface-initialization-sequence-subclassed.dia | 1083
+ ++++++++++++++++++++
+ ...emManager-interface-initialization-sequence.dia | 999
+ ++++++++++++++++++
+ docs/reference/api/ModemManager-overview.xml | 51 +-
+ 4 files changed, 2136 insertions(+), 3 deletions(-)
+
+commit 52ff02323d07d4b27755f7ad49bef5ee53e27109
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 23:47:57 2012 +0100
+
+ plugin-manager: avoid race when port deferred until suggested and
+ suggestion already there
+
+ It may happen that we launch the supports task in the port AFTER
+ having received
+ the suggestion.
+
+ src/mm-plugin-manager.c | 24 ++++++++++++++++++------
+ 1 file changed, 18 insertions(+), 6 deletions(-)
+
+commit f8f09692894dc30e6bfd019554783b7a18de61a2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 23:46:37 2012 +0100
+
+ plugin-base: log also when starting to check support
+
+ So that we get logs when net ports are being checked for support,
+ which won't be
+ probed.
+
+ src/mm-plugin-base.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 9c5c072bab444a269dd4f6c8d847191eafe0c1b6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 21:41:12 2012 +0100
+
+ iface-modem: fix signal name
+
+ src/mm-iface-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c590cde7e594d5020c2bc400ce8397a666fed9d9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 17:36:09 2012 +0100
+
+ TODO: new possible probing improvement
+
+ TODO | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 47265a80acb81f48332fa175a084fa3e9922b206
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 17:35:53 2012 +0100
+
+ TODO: pin retry counts and enabled facility locks now ported from
+ master
+
+ TODO | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 41fe01b2179f080bf62d52acf2e6d1b8fa45ed90
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 17:17:30 2012 +0100
+
+ sim: update unlock retry counts after PIN change/enable operations
+
+ src/mm-sim.c | 57
+ ++++++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 46 insertions(+), 11 deletions(-)
+
+commit cd63df938f4fdf3fb656f715745608a9318d1c74
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 13:17:12 2012 +0100
+
+ libmm-common: `MMSimpleStatus' won't be considered internal any more
+
+ Renamed `MMCommonSimpleProperties' to `MMSimpleStatus', and removed
+ the
+ `MMSimpleStatusProperties' provided in libmm-glib. We'll just use
+ the original
+ one from libmm-common always.
+
+ cli/mmcli-modem-simple.c | 37 +++--
+ libmm-common/Makefile.am | 8 +-
+ libmm-common/libmm-common.h | 2 +-
+ libmm-common/mm-common-simple-properties.h | 86 ----------
+ ...mmon-simple-properties.c => mm-simple-status.c} | 179
+ +++++++++++++--------
+ libmm-common/mm-simple-status.h | 85 ++++++++++
+ libmm-glib/Makefile.am | 3 -
+ libmm-glib/mm-modem-simple-status-properties.c | 115 -------------
+ libmm-glib/mm-modem-simple-status-properties.h | 50 ------
+ libmm-glib/mm-modem-simple.c | 16 +-
+ libmm-glib/mm-modem-simple.h | 21 ++-
+ src/mm-broadband-modem.c | 4 +-
+ src/mm-iface-modem-3gpp-ussd.c | 2 +-
+ src/mm-iface-modem-3gpp-ussd.h | 2 +-
+ src/mm-iface-modem-3gpp.c | 8 +-
+ src/mm-iface-modem-3gpp.h | 2 +-
+ src/mm-iface-modem-cdma.c | 11 +-
+ src/mm-iface-modem-cdma.h | 2 +-
+ src/mm-iface-modem-location.c | 2 +-
+ src/mm-iface-modem-location.h | 2 +-
+ src/mm-iface-modem-messaging.c | 2 +-
+ src/mm-iface-modem-messaging.h | 2 +-
+ src/mm-iface-modem-simple.c | 10 +-
+ src/mm-iface-modem.c | 10 +-
+ src/mm-iface-modem.h | 2 +-
+ 25 files changed, 264 insertions(+), 399 deletions(-)
+
+commit bb352d5da30413e70a71d14acb952b7bedfe6f99
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 12:50:23 2012 +0100
+
+ libmm-common: `MMLocation3gpp' won't be considered internal any more
+
+ Renamed `MMCommonLocation3gpp' to `MMLocation3gpp', and removed the
+ `MMModemLocation3gpp' provided in libmm-glib. We'll just use the
+ original one
+ from libmm-common always.
+
+ cli/mmcli-modem-location.c | 14 ++--
+ libmm-common/Makefile.am | 8 +-
+ libmm-common/libmm-common.h | 2 +-
+ libmm-common/mm-common-location-3gpp.h | 68 ---------------
+ ...m-common-location-3gpp.c => mm-location-3gpp.c} | 96
+ +++++++++++++---------
+ libmm-common/mm-location-3gpp.h | 68 +++++++++++++++
+ libmm-glib/Makefile.am | 2 -
+ libmm-glib/mm-modem-location-3gpp.c | 48 -----------
+ libmm-glib/mm-modem-location-3gpp.h | 45 ----------
+ libmm-glib/mm-modem-location.c | 12 +--
+ libmm-glib/mm-modem-location.h | 24 +++---
+ src/mm-iface-modem-location.c | 46 +++++------
+ 12 files changed, 177 insertions(+), 256 deletions(-)
+
+commit 1385eb394f977ee3a7014bd0025fa65cd7e4a25a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 12:31:17 2012 +0100
+
+ libmm-common: `MMSimpleConnectProperties' won't be considered internal
+ any more
+
+ Renamed `MMCommonConnectProperties' to `MMSimpleConnectProperties',
+ and removed
+ the `MMModemSimpleConnectProperties' provided in libmm-glib. We'll
+ just use the
+ original one from libmm-common always.
+
+ cli/mmcli-modem-simple.c | 4 +-
+ libmm-common/Makefile.am | 8 +-
+ libmm-common/libmm-common.h | 2 +-
+ libmm-common/mm-common-connect-properties.h | 121 ---------------
+ ...properties.c => mm-simple-connect-properties.c} | 164
+ ++++++++++++++-------
+ libmm-common/mm-simple-connect-properties.h | 98 ++++++++++++
+ libmm-glib/Makefile.am | 3 -
+ libmm-glib/mm-modem-simple-connect-properties.c | 123 ----------------
+ libmm-glib/mm-modem-simple-connect-properties.h | 71 ---------
+ libmm-glib/mm-modem-simple.c | 10 +-
+ libmm-glib/mm-modem-simple.h | 5 +-
+ src/mm-iface-modem-simple.c | 17 +--
+ 12 files changed, 230 insertions(+), 396 deletions(-)
+
+commit d306bb082f1237f6437e05b7a166df91f46655fb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 12:14:44 2012 +0100
+
+ libmm-common: `MMBearerProperties' won't be considered internal
+ any more
+
+ Renamed `MMCommonBearerProperties' to `MMBearerProperties', and
+ removed the
+ `MMBearerProperties' provided in libmm-glib. We'll just use the
+ original one
+ from libmm-common always.
+
+ libmm-common/Makefile.am | 8 +-
+ libmm-common/libmm-common.h | 2 +-
+ ...-bearer-properties.c => mm-bearer-properties.c} | 200
+ +++++++++++++--------
+ libmm-common/mm-bearer-properties.h | 91 ++++++++++
+ libmm-common/mm-common-bearer-properties.h | 107 -----------
+ libmm-common/mm-common-connect-properties.c | 56 +++---
+ libmm-common/mm-common-connect-properties.h | 4 +-
+ libmm-glib/Makefile.am | 3 -
+ libmm-glib/mm-bearer-properties.c | 190
+ --------------------
+ libmm-glib/mm-bearer-properties.h | 85 ---------
+ libmm-glib/mm-bearer.c | 2 +-
+ libmm-glib/mm-bearer.h | 2 -
+ libmm-glib/mm-modem.c | 6 +-
+ libmm-glib/mm-modem.h | 1 -
+ plugins/iridium/mm-bearer-iridium.c | 12 +-
+ plugins/iridium/mm-broadband-modem-iridium.c | 2 +-
+ plugins/novatel/mm-broadband-bearer-novatel.c | 2 +-
+ plugins/novatel/mm-broadband-bearer-novatel.h | 10 +-
+ plugins/novatel/mm-broadband-modem-novatel.c | 2 +-
+ src/mm-bearer-list.c | 2 +-
+ src/mm-bearer-list.h | 2 +-
+ src/mm-bearer.c | 6 +-
+ src/mm-bearer.h | 6 +-
+ src/mm-broadband-bearer.c | 38 ++--
+ src/mm-broadband-bearer.h | 2 +-
+ src/mm-broadband-modem.c | 2 +-
+ src/mm-iface-modem-simple.c | 2 +-
+ src/mm-iface-modem.c | 6 +-
+ src/mm-iface-modem.h | 4 +-
+ 29 files changed, 301 insertions(+), 554 deletions(-)
+
+commit 323df60ed92d66e985a36a12fb334a0cca9bd1ea
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 11:27:46 2012 +0100
+
+ libmm-common: `MMBearerIpConfig' won't be considered internal any more
+
+ Renamed `MMCommonBearerIpConfig' to `MMBearerIpConfig', and removed
+ the
+ `MMBearerIpConfig' provided in libmm-glib. We'll just use the
+ original one
+ from libmm-common always.
+
+ libmm-common/Makefile.am | 8 +-
+ libmm-common/libmm-common.h | 2 +-
+ ...on-bearer-ip-config.c => mm-bearer-ip-config.c} | 126
+ +++++++++++++--------
+ libmm-common/mm-bearer-ip-config.h | 73 ++++++++++++
+ libmm-common/mm-common-bearer-ip-config.h | 73 ------------
+ libmm-glib/Makefile.am | 3 -
+ libmm-glib/mm-bearer-ip-config.c | 56 ---------
+ libmm-glib/mm-bearer-ip-config.h | 39 -------
+ libmm-glib/mm-bearer.c | 4 +-
+ libmm-glib/mm-bearer.h | 1 -
+ plugins/iridium/mm-bearer-iridium.c | 14 +--
+ plugins/novatel/mm-broadband-bearer-novatel.c | 14 +--
+ src/mm-bearer.c | 12 +-
+ src/mm-bearer.h | 4 +-
+ src/mm-broadband-bearer.c | 38 +++----
+ src/mm-broadband-bearer.h | 8 +-
+ 16 files changed, 205 insertions(+), 270 deletions(-)
+
+commit ef9fb0bfacac348c5bab35a3a99d52270e510d99
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 11:11:28 2012 +0100
+
+ libmm-common: `MMSmsProperties' won't be considered internal any more
+
+ Renamed `MMCommonSmsProperties' to `MMSmsProperties', and removed the
+ `MMSmsProperties' provided in libmm-glib. We'll just use the
+ original one
+ from libmm-common always.
+
+ libmm-common/Makefile.am | 8 +-
+ libmm-common/libmm-common.h | 2 +-
+ libmm-common/mm-common-sms-properties.h | 87 ------------
+ ...common-sms-properties.c => mm-sms-properties.c} | 149
+ +++++++++++++--------
+ libmm-common/mm-sms-properties.h | 75 +++++++++++
+ libmm-glib/Makefile.am | 3 -
+ libmm-glib/mm-modem-messaging.c | 6 +-
+ libmm-glib/mm-sms-properties.c | 76 -----------
+ libmm-glib/mm-sms-properties.h | 54 --------
+ libmm-glib/mm-sms.h | 2 -
+ src/mm-iface-modem-messaging.c | 4 +-
+ src/mm-sms.c | 18 +--
+ src/mm-sms.h | 2 +-
+ 13 files changed, 185 insertions(+), 301 deletions(-)
+
+commit 3ccc78e8588acec9632863d30e310cdc76ad8598
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 00:22:22 2012 +0100
+
+ api: `UnlockRetries' will reply a list of per-lock retry counts
+
+ Equivalent to `PinRetryCount' in the previous API. We don't have
+ an additional
+ property for the retry count of the current lock, as it really
+ is duplicating
+ information.
+
+ cli/mmcli-modem.c | 32 ++---
+ .../org.freedesktop.ModemManager1.Modem.xml | 11 +-
+ libmm-glib/mm-modem.c | 18 +--
+ libmm-glib/mm-modem.h | 2 +-
+ src/mm-iface-modem.c | 140
+ ++++++++++++++++++---
+ src/mm-iface-modem.h | 16 ++-
+ 6 files changed, 158 insertions(+), 61 deletions(-)
+
+commit 036711eb1cea191e7acc3c3858eebef850238fa6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 1 00:20:17 2012 +0100
+
+ libmm-common: new `MMUnlockRetries' helper object
+
+ libmm-common/Makefile.am | 4 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-unlock-retries.c | 218
+ +++++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-unlock-retries.h | 78 ++++++++++++++
+ 4 files changed, 301 insertions(+)
+
+commit 7ab252f079f6d115ed13325f7749edc99c5b5b57
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 20:21:12 2012 +0100
+
+ cli: print list of enabled facility locks
+
+ cli/mmcli-modem.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 2e1a322837016c826cf3c51f264d15c6b035aa57
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 20:18:48 2012 +0100
+
+ api,header: define facilities flags with bitwise operations instead
+ of hex values
+
+ So that glib-mkenums detects that we're talking about flags.
+
+ include/ModemManager-enums.h | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit 9a442b01bc6e53fbeb42ce4d74a83b9a1218f915
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 20:17:58 2012 +0100
+
+ api,header: minor alignment fix
+
+ include/ModemManager-enums.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit c66817622c8c0f7bd20cd423b8b813d3df671fa6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 20:12:18 2012 +0100
+
+ broadband-modem: implement default facility locks status loading
+
+ src/mm-broadband-modem.c | 151
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 151 insertions(+)
+
+commit 491d8e03f99baded9f59a97daddc06cd223ef4bd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 19:36:52 2012 +0100
+
+ iface-modem-3gpp: update facilities mask when SIM PIN lock enabling
+ status changes
+
+ src/mm-iface-modem-3gpp.c | 31 +++++++++++++++++++++++++++++++
+ 1 file changed, 31 insertions(+)
+
+commit a797d6d68382b546e8b6e22f4f533cc44a7ac7ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 19:36:00 2012 +0100
+
+ sim: signal when the pin lock enabling status changes
+
+ src/Makefile.am | 1 +
+ src/mm-marshal.list | 1 +
+ src/mm-sim.c | 24 +++++++++++++++++++++++-
+ src/mm-sim.h | 8 ++++++++
+ 4 files changed, 33 insertions(+), 1 deletion(-)
+
+commit eb87c2fe07e209d8226d3f3bcdbe1825fb7b6591
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 19:35:34 2012 +0100
+
+ iface-modem-3gpp: load initial set of enabled facility locks
+
+ src/mm-iface-modem-3gpp.c | 34 ++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 8 ++++++++
+ 2 files changed, 42 insertions(+)
+
+commit 75a2b407bdd976b862d5745705afc41b3c3fa7ac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 16:57:41 2012 +0100
+
+ modem-helpers: port facility lock related helpers to use
+ `MMModemFacility' enums
+
+ src/mm-modem-helpers.c | 138
+ ++++++++++++++++++++-----------------------------
+ src/mm-modem-helpers.h | 15 +++---
+ 2 files changed, 63 insertions(+), 90 deletions(-)
+
+commit 1628f495fe5f38c579f87920ef492a47ef73335e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 12:49:46 2012 +0100
+
+ libmm-common,tests: include tests when running make check/distcheck
+
+ libmm-common/tests/Makefile.am | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 8f200940ecebb566e7a978581a8fd566e41564e5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 12:49:20 2012 +0100
+
+ tests: fix automake rule dependencies
+
+ We need to ensure all test programs are built.
+
+ src/tests/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 10d9775c541bbcd4de54bfcd774fe7a23c23a620
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 11:40:39 2012 +0100
+
+ TODO: new file with a list of pending things and ideas
+
+ TODO | 134
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 134 insertions(+)
+
+commit 64f49c0c7261d7de2eae03477cd69cf540184041
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 23:24:53 2012 +0100
+
+ iface-modem: the Command() method is only allowed when running in
+ debug mode
+
+ introspection/org.freedesktop.ModemManager1.Modem.xml | 9 ++++++---
+ src/mm-iface-modem.c | 12 ++++++++++++
+ 2 files changed, 18 insertions(+), 3 deletions(-)
+
+commit 952b9164b9ae2af4d1fd18f77d4b97bfa4d78eab
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 23:09:10 2012 +0100
+
+ context: new source files to keep the daemon context
+
+ src/Makefile.am | 2 ++
+ src/main.c | 38 +++++------------------
+ src/mm-context.c | 91
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-context.h | 30 +++++++++++++++++++
+ 4 files changed, 131 insertions(+), 30 deletions(-)
+
+commit 1701230f5164087bd7c279c35c8797ae1e80f0d5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 22:48:00 2012 +0100
+
+ plugin-base: remove the SORT_LAST property
+
+ Plugins that need to get sorted last by the PluginManager can now
+ be determined
+ just by looking at the post probing filters.
+
+ plugins/cinterion/mm-plugin-cinterion.c | 1 -
+ plugins/iridium/mm-plugin-iridium.c | 1 -
+ src/mm-plugin-base.c | 23 ++++-------------------
+ 3 files changed, 4 insertions(+), 21 deletions(-)
+
+commit 03fbdece7178d3b65e4a8ed2825dc45b4c9527ff
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 22:46:22 2012 +0100
+
+ plugin: remove unnecessary callback type
+
+ src/mm-plugin.h | 11 -----------
+ 1 file changed, 11 deletions(-)
+
+commit b6203ab425651e78fdab0219b686c5e24a1bc661
+Author: Nathan Williams <njw@chromium.org>
+Date: Tue Feb 28 12:52:34 2012 -0500
+
+ libmm-glib: set the gdbus timeout to a value longer than that remote
+ operation timeout
+
+ Lets commands like "mmcli -m 0 --command-timeout=60
+ --command='+COPS=?'" work,
+ instead of tripping over the 25-second gdbus default timeout first.
+
+ Change-Id: I67034423ca5ab08a07ecf3c9e313082d4860ffb3
+
+ libmm-glib/mm-modem.c | 24 ++++++++++++++++++------
+ 1 file changed, 18 insertions(+), 6 deletions(-)
+
+commit 6f22eb6a635a9c2f132df1da3082949dc4ef826b
+Author: Nathan Williams <njw@chromium.org>
+Date: Tue Feb 28 10:13:10 2012 -0500
+
+ broadband-bearer: don't choke if an APN wasn't specified when parsing
+ PDP list
+
+ Change-Id: I1535fdae0659ae049b4a795d85017abe1fea6be8
+
+ src/mm-broadband-bearer.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 94a110960e2401294a86c96575ec2a2d4fd61ce4
+Author: Nathan Williams <njw@chromium.org>
+Date: Mon Feb 27 13:33:15 2012 -0500
+
+ broadband-bearer: split out "dial" as a separate phase of the 3gpp
+ connection
+
+ So that we can override it in modems that use a different sequence
+ to get a net
+ connection instead of a PPP connection.
+
+ Change-Id: I9c5635a7635b66eb7bca9ec9552d2d7794bc8827
+
+ src/mm-broadband-bearer.c | 207
+ +++++++++++++++++++++++++++++++++++++---------
+ src/mm-broadband-bearer.h | 12 +++
+ 2 files changed, 180 insertions(+), 39 deletions(-)
+
+commit 36fbfab3e6c62ae7e4c7270dc55bf2d61d49bd98
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 21:33:21 2012 +0100
+
+ docs: document Modem probing and global state machine
+
+ docs/reference/api/ModemManager-overview.xml | 575
+ ++++++++++++++++++++++++++-
+ 1 file changed, 562 insertions(+), 13 deletions(-)
+
+commit 5f85cfc352ddaf5ce583894c6209c422be3d890f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 10:48:17 2012 +0100
+
+ docs: fix path of images
+
+ PNGs are copied over to the HTML directory, so they will always be
+ available in
+ the same directory as the final HTML files.
+
+ docs/reference/api/ModemManager-overview.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c4581af5d910fd5d823f0c7c36fec4e0acd59388
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 10:47:38 2012 +0100
+
+ docs: set `ModemManager' as module name instead of `mm'
+
+ .gitignore |
+ 10 +++++-----
+ docs/reference/api/Makefile.am |
+ 10 +++++-----
+ .../{mm-dbus-reference.xml => ModemManager-dbus-reference.xml} | 0
+ docs/reference/api/{mm-docs.xml => ModemManager-docs.xml} |
+ 6 +++---
+ .../api/{mm-overview.xml => ModemManager-overview.xml} | 0
+ .../api/{mm-sections.txt => ModemManager-sections.txt} | 0
+ docs/reference/api/{mm.types => ModemManager.types} | 0
+ 7 files changed, 13 insertions(+), 13 deletions(-)
+
+commit 21c0731ad96d3e406f061075584e4f26db17607c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 01:25:30 2012 +0100
+
+ tests: fix CGDCONT reply test, NULL expected instead of empty string
+
+ src/tests/test-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7f0afa078b860c84ae3d178e8f90dbe94a43dab4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 01:01:51 2012 +0100
+
+ build: fix distcheck
+
+ Need to pass the full path of the input files to the glib-mkenums
+ call. This is
+ because we use an explicit list given in a $(VARIABLE) instead of
+ the built-in
+ automake variables (e.g. $<)
+
+ src/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 0c6dad40a0926795cf33da5a4f557302a50a8639
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 00:59:50 2012 +0100
+
+ build: get path of `glib-mkenums' from pkg-config
+
+ configure.ac | 3 +++
+ libmm-common/Makefile.am | 8 ++++----
+ src/Makefile.am | 8 ++++----
+ 3 files changed, 11 insertions(+), 8 deletions(-)
+
+commit 3e511f90c70f7eae68c3452998dbf28c8b1ec764
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 00:45:04 2012 +0100
+
+ build: don't distribute generated sources
+
+ libmm-common/Makefile.am | 6 ++++--
+ src/Makefile.am | 22 +++++++++++++++-------
+ 2 files changed, 19 insertions(+), 9 deletions(-)
+
+commit 1ad7bc885d69c291f643952c08a36fd97eb54c21
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 00:17:40 2012 +0100
+
+ build: ensure gtk-doc is enabled when doing dist
+
+ docs/Makefile.am | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit ca9104dcb4a9d84f6fb224510f17bb24e3d823a8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 00:17:16 2012 +0100
+
+ build: generate PNG files automatically from DIA files
+
+ .gitignore | 1 +
+ configure.ac | 8 ++++++++
+ docs/reference/api/Makefile.am | 22 ++++++++++++++++++++--
+ docs/reference/api/ModemManager-states.png | Bin 28305 -> 0 bytes
+ 4 files changed, 29 insertions(+), 2 deletions(-)
+
+commit e26f6ef1769349cdfa81b4265b35f514559ca16c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 28 00:03:10 2012 +0100
+
+ po: fix policy filename to translate
+
+ po/POTFILES.in | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 7d9d003324bb6a466104c7d935758ca29aeac9e5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 23:11:17 2012 +0100
+
+ build: rename the binary from `modem-manager' to `ModemManager'
+
+ .gitignore | 6 ++----
+ configure.ac | 2 +-
+ data/Makefile.am | 2 +-
+ data/{modem-manager.png => ModemManager.png} | Bin
+ data/org.freedesktop.ModemManager1.policy.in | 2 +-
+ data/org.freedesktop.ModemManager1.service.in | 2 +-
+ docs/man/Makefile.am | 4 ++--
+ docs/man/{modem-manager.8.in => ModemManager.8.in} | 21
+ ++++++++++-----------
+ src/Makefile.am | 14 +++++++-------
+ 9 files changed, 25 insertions(+), 28 deletions(-)
+
+commit 12786d21cf6573a9851882cb109d9490ea6904d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 23:00:11 2012 +0100
+
+ core: remove uses of `MMModemStateReason'
+
+ Use `MMModemStateChangeReason' instead.
+
+ src/mm-iface-modem-3gpp.c | 4 ++--
+ src/mm-iface-modem-cdma.c | 8 ++++----
+ src/mm-iface-modem.c | 4 ++--
+ src/mm-iface-modem.h | 4 ++--
+ 4 files changed, 10 insertions(+), 10 deletions(-)
+
+commit 8b78e037a2b1e81f27e75d3645fbadb34ee9abe1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 22:59:35 2012 +0100
+
+ modem-helpers: temporarily disable facility-related helpers
+
+ src/mm-modem-helpers.c | 5 +++++
+ src/mm-modem-helpers.h | 5 ++++-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+commit f1999ef4a3bb61b82956a93f2cc9c4ec72de47c5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 22:49:43 2012 +0100
+
+ api,header: cleanup public header file
+
+ include/Makefile.am | 1 -
+ include/ModemManager.h | 152
+ +++---------------------------------------------
+ include/ModemManager1.h | 32 ----------
+ 3 files changed, 9 insertions(+), 176 deletions(-)
+
+commit e68db23a97df9cf94ebcb0b63fc83b4cdb0d9b78
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 22:32:53 2012 +0100
+
+ introspection: setup all new files and remove old ones
+
+ data/Makefile.am | 7 -
+ include/Makefile.am | 6 +-
+ introspection/Makefile.am | 27 +-
+ introspection/all.xml | 53 +---
+ introspection/mm-mobile-error.xml | 318
+ -------------------
+ introspection/mm-modem-connect-error.xml | 30 --
+ introspection/mm-modem-error.xml | 36 ---
+ introspection/mm-serial-error.xml | 24 --
+ introspection/org.freedesktop.DBus.Properties.xml | 45 ---
+ .../org.freedesktop.ModemManager.Modem.Cdma.xml | 220 -------------
+ ...org.freedesktop.ModemManager.Modem.Firmware.xml | 114 -------
+ ...org.freedesktop.ModemManager.Modem.Gsm.Card.xml | 154 ----------
+ ...freedesktop.ModemManager.Modem.Gsm.Contacts.xml | 104 -------
+ .../org.freedesktop.ModemManager.Modem.Gsm.Hso.xml | 19 --
+ ....freedesktop.ModemManager.Modem.Gsm.Network.xml | 340
+ ---------------------
+ .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 158 ----------
+ ...org.freedesktop.ModemManager.Modem.Gsm.Ussd.xml | 84 -----
+ .../org.freedesktop.ModemManager.Modem.Gsm.xml | 208 -------------
+ ...org.freedesktop.ModemManager.Modem.Location.xml | 253 ---------------
+ .../org.freedesktop.ModemManager.Modem.Simple.xml | 59 ----
+ .../org.freedesktop.ModemManager.Modem.xml | 319
+ -------------------
+ introspection/org.freedesktop.ModemManager.xml | 61 ----
+ .../org.freedesktop.ModemManager1.Bearer.xml | 0
+ ...rg.freedesktop.ModemManager1.Modem.Contacts.xml | 0
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 0
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 0
+ ...g.freedesktop.ModemManager1.Modem.Messaging.xml | 0
+ ...edesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml | 0
+ ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 0
+ ...g.freedesktop.ModemManager1.Modem.ModemCdma.xml | 0
+ .../org.freedesktop.ModemManager1.Modem.Simple.xml | 0
+ .../org.freedesktop.ModemManager1.Modem.xml | 0
+ .../org.freedesktop.ModemManager1.Sim.xml | 0
+ .../org.freedesktop.ModemManager1.Sms.xml | 0
+ .../org.freedesktop.ModemManager1.xml | 0
+ libmm-common/Makefile.am | 26 +-
+ new/all.xml | 18 --
+ 37 files changed, 34 insertions(+), 2649 deletions(-)
+
+commit 6887a6850c5ed75baaae2aa1b40a707b89b7c2d9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 16:36:40 2012 +0100
+
+ marshallers: cleanup unneeded ones
+
+ src/mm-marshal.list | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+commit c55b5d097e8bfcfbcc956f45ac18e8c795100195
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 16:35:42 2012 +0100
+
+ marshallers: integrate them into the daemon compilation
+
+ .gitignore | 2 +-
+ Makefile.am | 2 +-
+ configure.ac | 1 -
+ marshallers/Makefile.am | 21 ---------------------
+ marshallers/mm-marshal-main.c | 2 --
+ src/Makefile.am | 28 +++++++++++++++++++++-------
+ {marshallers => src}/mm-marshal.list | 0
+ 7 files changed, 23 insertions(+), 33 deletions(-)
+
+commit f42eb8684bd1d3d46f93de24c5ac98f18880f7d4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 16:22:17 2012 +0100
+
+ build: look for src/main.c in autogen.sh
+
+ autogen.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 5c73e8d200a16a3f83be475705f61c6e11bec491
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 16:14:58 2012 +0100
+
+ build: remove obsolete files
+
+ This will very likely create lots of conflicts until the branch
+ gets merged
+ into master, but anyway...
+
+ .../NetworkManager-r4359-use-modem-manager.patch | 5691
+ ----------------
+ .../nm-applet-r1053-use-modem-manager.patch | 2253 -------
+ src/mm-callback-info.c | 276 -
+ src/mm-callback-info.h | 87 -
+ src/mm-generic-cdma.c | 2626 --------
+ src/mm-generic-cdma.h | 155 -
+ src/mm-generic-gsm.c | 7020
+ --------------------
+ src/mm-generic-gsm.h | 265 -
+ src/mm-modem-base.c | 1323 ----
+ src/mm-modem-base.h | 121 -
+ src/mm-modem-cdma.c | 433 --
+ src/mm-modem-cdma.h | 126 -
+ src/mm-modem-firmware.c | 316 -
+ src/mm-modem-firmware.h | 72 -
+ src/mm-modem-gsm-card.c | 702 --
+ src/mm-modem-gsm-card.h | 134 -
+ src/mm-modem-gsm-network.c | 647 --
+ src/mm-modem-gsm-network.h | 158 -
+ src/mm-modem-gsm-sms.c | 836 ---
+ src/mm-modem-gsm-sms.h | 114 -
+ src/mm-modem-gsm-ussd.c | 404 --
+ src/mm-modem-gsm-ussd.h | 95 -
+ src/mm-modem-location.c | 331 -
+ src/mm-modem-location.h | 69 -
+ src/mm-modem-simple.c | 156 -
+ src/mm-modem-simple.h | 59 -
+ src/mm-modem.c | 1008 ---
+ src/mm-modem.h | 300 -
+ src/mm-properties-changed-signal.c | 352 -
+ src/mm-properties-changed-signal.h | 40 -
+ src/mm-sms-utils.c | 795 ---
+ src/mm-sms-utils.h | 49 -
+ 32 files changed, 27013 deletions(-)
+
+commit 17ef0777976b3897972fcc14e5efc09d6bc60b55
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 16:02:05 2012 +0100
+
+ sms: include policy authorization checks
+
+ src/mm-sms.c | 179
+ +++++++++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 124 insertions(+), 55 deletions(-)
+
+commit d6edfbd9d585d55e43d9119711353093fda90de3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 16:01:52 2012 +0100
+
+ policy: implement Sms interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 333779bda9046a5c3055e9093eb3acd6ef7e6264
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 15:00:35 2012 +0100
+
+ iface-modem-messaging: include policy authorization checks
+
+ src/mm-iface-modem-messaging.c | 169
+ +++++++++++++++++++++++++++--------------
+ 1 file changed, 112 insertions(+), 57 deletions(-)
+
+commit 4bdeea41aefcc388ca3d8e5937033cd90a3b9c17
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 13:15:08 2012 +0100
+
+ policy: implement Messaging interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit e2a5ab250e8fdce0090bc517be1ede64fb467fe6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 13:04:12 2012 +0100
+
+ iface-modem-location: include policy authorization checks
+
+ src/mm-iface-modem-location.c | 253
+ ++++++++++++++++++++++++++----------------
+ 1 file changed, 156 insertions(+), 97 deletions(-)
+
+commit 8e1955cb88be5e5ad6f1088efa0ca0792117761d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 12:51:33 2012 +0100
+
+ policy: implement Location interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 1d1936e1ce1d7fc616b7bbe29fc1d73963eb6f4a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 12:47:56 2012 +0100
+
+ iface-modem-3gpp-ussd: include policy authorization checks
+
+ src/mm-iface-modem-3gpp-ussd.c | 251
+ ++++++++++++++++++++++++++++-------------
+ 1 file changed, 170 insertions(+), 81 deletions(-)
+
+commit eaa47892b582ebfc613822457ba201616f44706e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 12:47:28 2012 +0100
+
+ policy: implement USSD interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit b4bed06f985373acf6460aae61e3e0a167474e6e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 12:23:05 2012 +0100
+
+ bearer: include policy authorization checks
+
+ src/mm-bearer.c | 147
+ ++++++++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 117 insertions(+), 30 deletions(-)
+
+commit cf0a4ae0ceb6c3ba30e94beb607f1d7afc2d4301
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 12:22:54 2012 +0100
+
+ policy: implement Bearer interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 454e3ab3612dc518f38edf8a3c3fcf8058d94776
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 12:09:18 2012 +0100
+
+ sim: include policy authorization checks
+
+ src/mm-sim.c | 335
+ ++++++++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 276 insertions(+), 59 deletions(-)
+
+commit 986ab0cb233521f0d90577d2600cf0d24ddda8e1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 12:08:59 2012 +0100
+
+ policy: implement Sim interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+commit da0aa7af2a884ac484210d04bfaa04ab5786775f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 11:43:27 2012 +0100
+
+ iface-modem-cdma: include policy authorization checks
+
+ src/mm-iface-modem-cdma.c | 283
+ +++++++++++++++++++++-------------------------
+ src/mm-iface-modem-cdma.h | 18 ---
+ 2 files changed, 126 insertions(+), 175 deletions(-)
+
+commit 96fdb716e1d3f7da8ba208ad38b001b4de8000a0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 11:43:11 2012 +0100
+
+ policy: implement CDMA interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 71a3de448627e41bb342a37b1a8149e862d23ba1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 11:26:43 2012 +0100
+
+ iface-modem-3gpp: include policy authorization checks
+
+ src/mm-iface-modem-3gpp.c | 205
+ ++++++++++++++++++++++++++++------------------
+ 1 file changed, 126 insertions(+), 79 deletions(-)
+
+commit 83586c9a629cb959cf44aaa2fd03a293a24d5491
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 11:26:30 2012 +0100
+
+ policy: implement 3GPP interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 6a655f5daf63dd3f74b353a269e49d9496ad8cf2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 11:06:16 2012 +0100
+
+ iface-modem-simple: include policy authorization checks
+
+ src/mm-iface-modem-simple.c | 109
+ ++++++++++++++++++++++++++++++--------------
+ 1 file changed, 75 insertions(+), 34 deletions(-)
+
+commit f2440e9ab2b104d8a9eddbaa5a516461d9fcdf31
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 26 22:53:25 2012 +0100
+
+ policy: implement Simple interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 22407477158d6840040b246a260da475acdb54d6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 10:40:03 2012 +0100
+
+ iface-modem: include policy authorization checks
+
+ src/mm-iface-modem.c | 711
+ ++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 510 insertions(+), 201 deletions(-)
+
+commit e176d56b32193191ef937a82902a28dabcca834d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 26 22:49:48 2012 +0100
+
+ policy: implement Modem interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 41
+ ++++++++++++++++++++++++++
+ 1 file changed, 41 insertions(+)
+
+commit d5deb2bb1408732ceaee5467f7d5fafbfb5e53e5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 21 12:46:48 2012 +0100
+
+ manager: use new simplified authentication setup
+
+ src/mm-manager.c | 158
+ +++++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 108 insertions(+), 50 deletions(-)
+
+commit dad31604cb4237d94df0d85ecb61fe46aa42fa78
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 26 22:45:03 2012 +0100
+
+ policy: implement Manager interface rules
+
+ data/org.freedesktop.ModemManager1.conf.polkit | 24
+ +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+commit d06d76e3796b1fed7efe1990b27497e42f16d984
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 27 10:39:08 2012 +0100
+
+ policy: no need for a rule to manage readable info
+
+ data/org.freedesktop.ModemManager1.policy.in | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+commit 587bca48f07a70d9036e679de269bc0d9aeab4d6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 26 22:39:12 2012 +0100
+
+ policy: renamed `Sms' action to `Messaging'
+
+ data/org.freedesktop.ModemManager1.policy.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5ab3ec6bce3e756f481bdac11905ae1b383689e0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 21 12:48:23 2012 +0100
+
+ build: require polkit-gobject >= 0.97
+
+ It's new enough, and it lets us use polkit_authority_get_sync().
+
+ configure.ac | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+commit 3e5b42569b02814cf07e936a475e590f0878c1ba
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 21 12:46:36 2012 +0100
+
+ base-modem: use new simplified authentication setup
+
+ src/mm-base-modem.c | 88
+ ++++++++++++++++++++++++++++++++++-------------------
+ src/mm-base-modem.h | 21 ++++++-------
+ 2 files changed, 65 insertions(+), 44 deletions(-)
+
+commit 089a98385071527ca17925f8cd63f79cff02f8de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 21 12:45:50 2012 +0100
+
+ auth: refactor and simplify authentication related setup
+
+ We get rid of the MMAuthRequests; and we leave up to the caller and
+ user of the
+ MMAuthProvider the handling of request cancellations through the
+ provided
+ GCancellable.
+
+ Also made GIO-async-friendly methods.
+
+ src/Makefile.am | 26 +--
+ src/mm-auth-provider-polkit.c | 232 ++++++++++++---------
+ src/mm-auth-provider-polkit.h | 21 +-
+ src/mm-auth-provider.c | 283
+ ++++----------------------
+ src/mm-auth-provider.h | 92 ++++-----
+ src/mm-auth-request-polkit.c | 174 ----------------
+ src/mm-auth-request-polkit.h | 51 -----
+ src/mm-auth-request.c | 182 -----------------
+ src/mm-auth-request.h | 70 -------
+ src/{mm-auth-provider-factory.c => mm-auth.c} | 34 ++--
+ src/mm-auth.h | 27 +++
+ 11 files changed, 286 insertions(+), 906 deletions(-)
+
+commit 7316f4645bf82a8586507a4f7abf57bf9470d309
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 21 12:26:29 2012 +0100
+
+ iface-modem-3gpp-ussd: fix copyrights
+
+ src/mm-iface-modem-3gpp-ussd.c | 1 +
+ src/mm-iface-modem-3gpp-ussd.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+commit 8e640d3adcabac0373ec0ee916bf665d08cbe2f6
+Author: Nathan Williams <njw@google.com>
+Date: Wed Feb 22 08:41:18 2012 +0100
+
+ novatel: new plugin for the Novatel E362
+
+ plugins/Makefile.am | 13 +
+ plugins/novatel/mm-broadband-bearer-novatel.c | 422
+ ++++++++++++++++++++++++
+ plugins/novatel/mm-broadband-bearer-novatel.h | 60 ++++
+ plugins/novatel/mm-broadband-modem-novatel.c | 452
+ ++++++++++++++++++++++++++
+ plugins/novatel/mm-broadband-modem-novatel.h | 50 +++
+ plugins/novatel/mm-plugin-novatel.c | 111 +++++++
+ plugins/novatel/mm-plugin-novatel.h | 47 +++
+ 7 files changed, 1155 insertions(+)
+
+commit e992d5cbd1d6bf1d56df6451bd6fdb35d0253c7d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 22 08:26:21 2012 +0100
+
+ charsets: fix compilation with -Werror=maybe-uninitialized
+
+ src/mm-charsets.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 38b7e6e129126caf442738ceb4a4c80502e7bbc1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 20 16:37:15 2012 +0100
+
+ build: so long dbus-glib, and thanks for all the fish
+
+ configure.ac | 7 -------
+ 1 file changed, 7 deletions(-)
+
+commit 7a892b74cb5473b10b49aee6a9f9793b7c8e826d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 20 16:40:18 2012 +0100
+
+ build: don't build the MMCallbackInfo, we're now fully GIO-Async
+ instead
+
+ src/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 680e292914fd9be1ca155e874b8b41ee4a106709
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 20 16:36:09 2012 +0100
+
+ build: fix header dependencies
+
+ We shouldn't depend on any header file from the previous
+ implementation.
+
+ plugins/cinterion/mm-plugin-cinterion.c | 3 ++-
+ plugins/generic/mm-plugin-generic.c | 2 +-
+ plugins/gobi/mm-plugin-gobi.c | 2 +-
+ plugins/iridium/mm-plugin-iridium.c | 3 ++-
+ plugins/motorola/mm-plugin-motorola.c | 2 +-
+ plugins/nokia/mm-plugin-nokia.c | 2 +-
+ plugins/option/mm-plugin-option.c | 2 +-
+ plugins/option/mm-plugin-option.h | 1 -
+ src/mm-base-modem.h | 3 ++-
+ src/mm-modem-helpers.h | 1 -
+ src/tests/test-modem-helpers.c | 1 +
+ 11 files changed, 12 insertions(+), 10 deletions(-)
+
+commit 4de848de39111f8e836400ba207977ad5b4add5f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 20 16:27:37 2012 +0100
+
+ tests,sms: print traces if enabled during compilation
+
+ src/tests/test-sms-part.c | 32 +++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
+
+commit 2522acf8998cbf9d9166988d857fe27c61834271
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 20 16:15:13 2012 +0100
+
+ tests,sms: refactor SMS part related tests
+
+ Now using the MMSmsPart setup.
+
+ .gitignore | 2 +-
+ src/Makefile.am | 4 +-
+ src/tests/Makefile.am | 12 +-
+ src/tests/test-sms-part.c | 648
+ +++++++++++++++++++++++++++++++++++++++++++
+ src/tests/test-sms.c | 690
+ ----------------------------------------------
+ 5 files changed, 657 insertions(+), 699 deletions(-)
+
+commit 5bee67c032df8d9127c8c0aeb88cbd3c0c844b4b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 20 13:36:18 2012 +0100
+
+ core: use GDBusMethodInvocation in the auth API
+
+ src/mm-auth-provider-polkit.c | 3 +--
+ src/mm-auth-provider.c | 7 +++----
+ src/mm-auth-provider.h | 8 +++-----
+ src/mm-auth-request-polkit.c | 11 +++++------
+ src/mm-auth-request-polkit.h | 6 ++----
+ src/mm-auth-request.c | 6 +++---
+ src/mm-auth-request.h | 8 +++-----
+ 7 files changed, 20 insertions(+), 29 deletions(-)
+
+commit 5f167fd199ce7cc359aa1d884df9b332aa669a79
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 20 13:13:55 2012 +0100
+
+ Revert "core: avoid using DBusGMethodInvocation in auth API"
+
+ This reverts commit 013fd179f458d87bba9fd7657ffe1bd90169f231.
+
+ We will start using GDBus-only based code from now on.
+
+ src/mm-auth-provider-polkit.c | 29 ++++++++---------------------
+ src/mm-auth-provider.c | 4 ++--
+ src/mm-auth-provider.h | 4 ++--
+ src/mm-auth-request-polkit.c | 9 ++++++---
+ src/mm-auth-request-polkit.h | 3 +--
+ src/mm-auth-request.c | 4 ++--
+ src/mm-auth-request.h | 7 ++-----
+ src/mm-modem-cdma.c | 2 +-
+ src/mm-modem-firmware.c | 6 +++---
+ src/mm-modem-gsm-card.c | 16 ++++++++--------
+ src/mm-modem-gsm-network.c | 2 +-
+ src/mm-modem-gsm-sms.c | 16 ++++++++--------
+ src/mm-modem-gsm-ussd.c | 6 +++---
+ src/mm-modem-location.c | 4 ++--
+ src/mm-modem.c | 4 ++--
+ 15 files changed, 51 insertions(+), 65 deletions(-)
+
+commit 080d046e643a203b7f37c464e38108f6083943ed
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 20 12:57:08 2012 +0100
+
+ iface-modem: load allowed/preferred modes during modem enabling
+
+ src/mm-iface-modem.c | 59
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 10 +++++++++
+ 2 files changed, 69 insertions(+)
+
+commit 8396d8a82f05a548d5bc5c058713b413964d7c0a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 20 09:53:46 2012 +0100
+
+ option: implement default access technology loading
+
+ plugins/option/mm-broadband-modem-option.c | 339
+ ++++++++++++++++++++++++++++-
+ 1 file changed, 338 insertions(+), 1 deletion(-)
+
+commit 205313b783d63aa4a61520c351f5db74141b5d8e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 13:05:33 2012 +0100
+
+ option: start porting the Option plugin
+
+ plugins/Makefile.am | 23 ++---
+ plugins/option/mm-broadband-modem-option.c | 70 +++++++++++++++
+ plugins/option/mm-broadband-modem-option.h | 49 +++++++++++
+ plugins/option/mm-plugin-option.c | 133
+ +++++++++++++++++++++++++++++
+ plugins/{ => option}/mm-plugin-option.h | 3 +-
+ 5 files changed, 266 insertions(+), 12 deletions(-)
+
+commit 725745399ae5596e96176ea20e346a02e9a7852d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 11:45:53 2012 +0100
+
+ generic: new Generic-specific source directory
+
+ plugins/Makefile.am | 4 ++--
+ plugins/{ => generic}/mm-plugin-generic.c | 0
+ plugins/{ => generic}/mm-plugin-generic.h | 0
+ 3 files changed, 2 insertions(+), 2 deletions(-)
+
+commit ab3d53741665d2dff80ee27a1e958efb92ddde17
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 11:43:53 2012 +0100
+
+ motorola: fully ported the moto-c plugin
+
+ plugins/Makefile.am | 20 +--
+ plugins/mm-modem-moto-c-gsm.c | 133 -------------------
+ plugins/mm-modem-moto-c-gsm.h | 45 -------
+ plugins/mm-plugin-moto-c.c | 172
+ -------------------------
+ plugins/mm-plugin-moto-c.h | 43 -------
+ plugins/motorola/mm-broadband-modem-motorola.c | 87 +++++++++++++
+ plugins/motorola/mm-broadband-modem-motorola.h | 49 +++++++
+ plugins/motorola/mm-plugin-motorola.c | 119 +++++++++++++++++
+ plugins/motorola/mm-plugin-motorola.h | 42 ++++++
+ 9 files changed, 307 insertions(+), 403 deletions(-)
+
+commit d255902f9bab5d92b3fbb2e4382bcbb7ca4ed6ef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 10:53:16 2012 +0100
+
+ gobi: remove old sources, plugin fully ported
+
+ plugins/mm-modem-gobi-gsm.c | 175
+ --------------------------------------------
+ plugins/mm-modem-gobi-gsm.h | 45 ------------
+ 2 files changed, 220 deletions(-)
+
+commit ecc5b4f26005e618321d6ca5bb127a8fd0091cb5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 10:52:36 2012 +0100
+
+ gobi: new Gobi-specific source directory
+
+ plugins/Makefile.am | 8 ++++----
+ plugins/{ => gobi}/mm-broadband-modem-gobi.c | 0
+ plugins/{ => gobi}/mm-broadband-modem-gobi.h | 0
+ plugins/{ => gobi}/mm-plugin-gobi.c | 0
+ plugins/{ => gobi}/mm-plugin-gobi.h | 0
+ 5 files changed, 4 insertions(+), 4 deletions(-)
+
+commit d09dfbb7d1eed75c28576d0461a62cbec3b5127f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 10:50:11 2012 +0100
+
+ gobi: access technology loading implementation
+
+ plugins/mm-broadband-modem-gobi.c | 55
+ ++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 54 insertions(+), 1 deletion(-)
+
+commit 1359c0a9282d46f7cc84786bd2a5ac6033d371d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 10:49:36 2012 +0100
+
+ modem-helpers: updated the string to access technology converter
+
+ We can now return a mask of flags specifying more than one access
+ technology,
+ and therefore the order is not really important any more, unless
+ for special
+ cases like looking for substrings of valid expected strings (e.g
+ "HSPA" and
+ "HSPA+").
+
+ Also, add "LTE" in the list of expected strings.
+
+ src/mm-modem-helpers.c | 57
+ +++++++++++++++++++++++++++++---------------------
+ src/mm-modem-helpers.h | 2 +-
+ 2 files changed, 34 insertions(+), 25 deletions(-)
+
+commit 4315208cfa572d83f5c385f746de8bde46aa2f45
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 10:47:50 2012 +0100
+
+ iface-modem-cdma: include in the API the mask of all CDMA access
+ technologies
+
+ src/mm-iface-modem-cdma.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 049d4434f9e33e6075817852de1327e4a9f084c9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 10:46:01 2012 +0100
+
+ iface-modem-3gpp: include in the API the mask of all 3GPP access
+ technologies
+
+ src/mm-iface-modem-3gpp.c | 16 ++--------------
+ src/mm-iface-modem-3gpp.h | 12 ++++++++++++
+ 2 files changed, 14 insertions(+), 14 deletions(-)
+
+commit 39eaeb2c4e5c4311698860c2be203be40f91492b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 10:08:02 2012 +0100
+
+ nokia: new Nokia-specific source directory
+
+ plugins/Makefile.am | 23
+ +++++++++++++----------
+ plugins/{ => nokia}/77-mm-nokia-port-types.rules | 0
+ plugins/{ => nokia}/mm-broadband-modem-nokia.c | 0
+ plugins/{ => nokia}/mm-broadband-modem-nokia.h | 0
+ plugins/{ => nokia}/mm-plugin-nokia.c | 0
+ plugins/{ => nokia}/mm-plugin-nokia.h | 0
+ 6 files changed, 13 insertions(+), 10 deletions(-)
+
+commit 213706c503378460360f5aeb4f43bb7fa8296044
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 10:04:43 2012 +0100
+
+ cinterion: remove old sources, plugin fully ported
+
+ plugins/mm-modem-cinterion-gsm.c | 1121
+ --------------------------------------
+ plugins/mm-modem-cinterion-gsm.h | 45 --
+ 2 files changed, 1166 deletions(-)
+
+commit a9c406e3c0d0c9c21e43e978ec3d531f3fbec93c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 10:04:01 2012 +0100
+
+ cinterion: new Cinterion-specific source directory
+
+ .gitignore | 1 +
+ plugins/Makefile.am | 8 ++++----
+ plugins/{ => cinterion}/mm-broadband-modem-cinterion.c | 0
+ plugins/{ => cinterion}/mm-broadband-modem-cinterion.h | 0
+ plugins/{ => cinterion}/mm-plugin-cinterion.c | 0
+ plugins/{ => cinterion}/mm-plugin-cinterion.h | 0
+ 6 files changed, 5 insertions(+), 4 deletions(-)
+
+commit fdddafd1ca777f660d2671842164c6e26ff7b72f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 19 09:58:13 2012 +0100
+
+ iridium: new Iridium-specific source directory
+
+ plugins/Makefile.am | 16 ++++++++--------
+ plugins/{ => iridium}/mm-bearer-iridium.c | 0
+ plugins/{ => iridium}/mm-bearer-iridium.h | 0
+ plugins/{ => iridium}/mm-broadband-modem-iridium.c | 0
+ plugins/{ => iridium}/mm-broadband-modem-iridium.h | 0
+ plugins/{ => iridium}/mm-plugin-iridium.c | 0
+ plugins/{ => iridium}/mm-plugin-iridium.h | 0
+ plugins/{ => iridium}/mm-sim-iridium.c | 0
+ plugins/{ => iridium}/mm-sim-iridium.h | 0
+ 9 files changed, 8 insertions(+), 8 deletions(-)
+
+commit bf7d0c712f0696884a6140b8c00f8bc79158b7e1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 18 10:49:23 2012 +0100
+
+ cinterion: implement frequency band setting
+
+ plugins/mm-broadband-modem-cinterion.c | 245
+ +++++++++++++++++++++++++++++++--
+ 1 file changed, 236 insertions(+), 9 deletions(-)
+
+commit f6b6688cce3e8e373bded63755635e2e308deba6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 18 10:48:54 2012 +0100
+
+ broadband-modem: new method to convert from UTF-8 to the charset in
+ the modem
+
+ src/mm-broadband-modem.c | 11 +++++++++++
+ src/mm-broadband-modem.h | 6 ++++++
+ 2 files changed, 17 insertions(+)
+
+commit 3028126bd244506e709093636245aab2b835dce5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 18 10:48:18 2012 +0100
+
+ charsets: new UTF-8 to given charset converter
+
+ UCS-2 strings are always hex-converted.
+
+ src/mm-charsets.c | 86
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-charsets.h | 3 ++
+ 2 files changed, 89 insertions(+)
+
+commit 6f1a4514da5041ee57437e651e357bc3a3b86418
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 18 08:57:06 2012 +0100
+
+ libmm-common: new bands array comparator
+
+ libmm-common/mm-common-helpers.c | 38 +++++++++++
+ libmm-common/mm-common-helpers.h | 2 +
+ libmm-common/tests/test-common-helpers.c | 106
+ +++++++++++++++++++++++++++++++
+ 3 files changed, 146 insertions(+)
+
+commit 91416a3e3dc1f880a958726e4a8db737bf960a1e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 17 20:09:22 2012 +0100
+
+ cinterion: implement current band list loading
+
+ plugins/mm-broadband-modem-cinterion.c | 242
+ +++++++++++++++++++++++++++++++++
+ 1 file changed, 242 insertions(+)
+
+commit a0583a46873197e07573befeb1c6df041eb2cef8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 17 20:09:12 2012 +0100
+
+ broadband-modem: expose the current charset to UTF-8 converter
+
+ So that subclasses can also use it.
+
+ src/mm-broadband-modem.c | 23 +++++++++++++++++++----
+ src/mm-broadband-modem.h | 6 ++++++
+ 2 files changed, 25 insertions(+), 4 deletions(-)
+
+commit 3595b33648ce6aa78586c820c179c78b84687cf1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 17 19:16:47 2012 +0100
+
+ iface-modem: load current bands during modem enabling
+
+ src/mm-iface-modem.c | 51
+ +++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-iface-modem.h | 8 ++++++++
+ 2 files changed, 57 insertions(+), 2 deletions(-)
+
+commit 09d2f062c73a62bc32c21d2bcd9249c8a174fe82
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 17 16:57:12 2012 +0100
+
+ api,dbus: rename `AllowedBands' to just `Bands'
+
+ ModemManager will load:
+ 1) The list of supported bands. Note that this doesn't mean that
+ any possible
+ combination of bands is supported, as modems may support only
+ specific
+ combinations, but at least gives a rough idea of what the modem
+ is capable
+ of handling.
+
+ 2) The list of CURRENT bands. There is no such "Allowed" bands,
+ as we do with
+ modes, modems will have a specific set of bands being currently
+ used, which
+ will be reported in the `Bands' property.
+
+ If the modem allows modifying the list of bands to use, this can be
+ done with
+ the `SetBands()' method. If the modem doesn't support using a specific
+ combination of bands, this method will report an error.
+
+ cli/mmcli-modem.c | 104 ++++++++--------
+ libmm-common/mm-common-connect-properties.c | 56 ++++-----
+ libmm-common/mm-common-connect-properties.h | 4 +-
+ libmm-glib/mm-modem-simple-connect-properties.c | 8 +-
+ libmm-glib/mm-modem-simple-connect-properties.h | 2 +-
+ libmm-glib/mm-modem.c | 58 ++++-----
+ libmm-glib/mm-modem.h | 30 ++---
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 2 +-
+ new/org.freedesktop.ModemManager1.Modem.xml | 16 +--
+ src/mm-iface-modem-simple.c | 42 +++----
+ src/mm-iface-modem.c | 132
+ ++++++++++-----------
+ src/mm-iface-modem.h | 30 ++---
+ 12 files changed, 238 insertions(+), 246 deletions(-)
+
+commit 76e52236a44d87bc7aacb141b956146ab67d66eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 17 09:36:05 2012 +0100
+
+ iridium: create a MMBearerIridium
+
+ plugins/mm-broadband-modem-iridium.c | 45
+ +++++++++++++++++++++++++++++++++++-
+ 1 file changed, 44 insertions(+), 1 deletion(-)
+
+commit 6d8404a6ab9e4fb63654120ade3f076c6f43030f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 20:45:25 2012 +0100
+
+ iridium: implement custom SMS indication enabling
+
+ plugins/mm-broadband-modem-iridium.c | 43
+ +++++++++++++++++++++++++++++++++++-
+ 1 file changed, 42 insertions(+), 1 deletion(-)
+
+commit 4e55b16f9aa7cedb531d1b04b20df87b4f942031
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 20:07:04 2012 +0100
+
+ iridium: close and open the port during disconnection
+
+ The Iridium modem doesn't seem to like only the port flashing
+ during the
+ disconnection, so we fully close and open again the port.
+
+ plugins/mm-bearer-iridium.c | 46
+ ++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 41 insertions(+), 5 deletions(-)
+
+commit b14bf797f1a7bc5501757c5e01830615dbfbba83
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 19:54:48 2012 +0100
+
+ iridium: override generic initialization
+
+ We must send ATZ alone and once reply received, wait some time
+ before sending
+ the next initialization commands. Otherwise, the next commands
+ will receive
+ garbage as reply. The only way to handle this is to override the
+ whole generic
+ initialization phase.
+
+ plugins/mm-broadband-modem-iridium.c | 98
+ ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 98 insertions(+)
+
+commit 7e31470066e1b8e113e73a4732daf4692667d87e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 19:28:53 2012 +0100
+
+ iridium: set bearer service type to 9600bps V.110
+
+ plugins/mm-bearer-iridium.c | 49
+ +++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 43 insertions(+), 6 deletions(-)
+
+commit 4492adae2e3013ec534fcb5389f216166ececad9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 19:19:53 2012 +0100
+
+ iridium: allow up to 200s to get a proper IP connection
+
+ plugins/mm-bearer-iridium.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 447d8a230dd2f7594b0c35d0d48814fdaf7c74c4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 10:21:07 2012 +0100
+
+ iridium: new MMBearerIridium
+
+ plugins/Makefile.am | 2 +
+ plugins/mm-bearer-iridium.c | 350
+ ++++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-bearer-iridium.h | 53 +++++++
+ 3 files changed, 405 insertions(+)
+
+commit 022272f88c32e500780deb9400a526e5704144d6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 18:58:24 2012 +0100
+
+ iridium: allow only up to 3 consecutive timeouts
+
+ plugins/mm-broadband-modem-iridium.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 060ca3ff49438a924255946b6f7cee8cbeceeeea
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 16:22:14 2012 +0100
+
+ iridium: set baudrate to 9600 bps
+
+ This will be set after flashing the port during modem enabling.
+
+ plugins/mm-broadband-modem-iridium.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit 1357880686cfee5a8c5526785100fbf575963cbc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 15:40:41 2012 +0100
+
+ iridium: only CS mode supported by the Iridium modems
+
+ plugins/mm-broadband-modem-iridium.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit b57d32acbeb0de5b5befa3746e690f3450bd1203
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 17 13:08:33 2012 +0100
+
+ iridium: don't try to scan for networks
+
+ The Iridium network will be the only one reported in the scan results.
+
+ plugins/mm-broadband-modem-iridium.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 35f0b773ef4ba251cdba0b1a7e7245253ca44828
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 15:31:05 2012 +0100
+
+ iridium: implement specific operator name and code retrieval
+
+ plugins/mm-broadband-modem-iridium.c | 52
+ +++++++++++++++++++++++++++++++++++-
+ 1 file changed, 51 insertions(+), 1 deletion(-)
+
+commit 1bcecc9e1d9f990a881c339e34c0f06c39378c8a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 15:18:13 2012 +0100
+
+ iridium: use +CSQF to get signal quality
+
+ plugins/mm-broadband-modem-iridium.c | 55
+ ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
+
+commit 50c5d69be647e9db6aa0ae4546d2f74ab7f08701
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 15:16:55 2012 +0100
+
+ iridium: use SM storage for mem1, mem2 and mem3
+
+ plugins/mm-broadband-modem-iridium.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 2a351a69108584b06e3f99f0414a8b222c213bbf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 14:48:04 2012 +0100
+
+ iridium: don't try to load SIM identifier or operator info
+
+ plugins/Makefile.am | 4 +-
+ plugins/mm-broadband-modem-iridium.c | 28 ++++++++++++
+ plugins/mm-sim-iridium.c | 87
+ ++++++++++++++++++++++++++++++++++++
+ plugins/mm-sim-iridium.h | 52 +++++++++++++++++++++
+ 4 files changed, 170 insertions(+), 1 deletion(-)
+
+commit 789cf58acee0334990e18fb4793f3f872626e697
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 14:19:57 2012 +0100
+
+ iridium: setup RTS/CTS flow control
+
+ plugins/mm-broadband-modem-iridium.c | 61
+ ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 61 insertions(+)
+
+commit 8456dae53dabfed294f02926424892a2bd81168e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 14:17:24 2012 +0100
+
+ iridium: no need to power up/down the modem
+
+ plugins/mm-broadband-modem-iridium.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+commit 64542961a3efac67992fa4d07dbcdde7af0918f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 14:11:05 2012 +0100
+
+ iridium: start porting the Iridium plugin to the '06-api' codebase
+
+ plugins/Makefile.am | 17 +--
+ plugins/mm-broadband-modem-iridium.c | 59 +++++++++
+ plugins/mm-broadband-modem-iridium.h | 49 +++++++
+ plugins/mm-plugin-iridium.c | 243
+ ++++++++++-------------------------
+ plugins/mm-plugin-iridium.h | 3 +-
+ 5 files changed, 187 insertions(+), 184 deletions(-)
+
+commit c8f525ee47fcdf70283043141ea2d1ece31d247b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 10:58:53 2012 +0100
+
+ api,header: added new Iridium capability
+
+ include/ModemManager-enums.h | 2 ++
+ src/mm-broadband-modem.c | 1 +
+ 2 files changed, 3 insertions(+)
+
+commit f72f68b311b5c283494f0ba329c73d053b4a4280
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 14:23:18 2012 +0100
+
+ broadband-modem: allow no whitespaces before CPIN? reply value
+
+ src/mm-broadband-modem.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 2a12322a80d7c6a41c447c4c6bbfc5810b498b0c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 16:00:15 2012 +0100
+
+ modem-helpers: allow leading zeroes in CREG/CGREG responses
+
+ src/mm-modem-helpers.c | 2 +-
+ src/tests/test-modem-helpers.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 5589df8946793f14159bc1b341999fea1428e709
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 20:50:07 2012 +0100
+
+ cinterion: implement custom SMS indication enabling
+
+ plugins/mm-broadband-modem-cinterion.c | 40
+ +++++++++++++++++++++++++++++++++-
+ 1 file changed, 39 insertions(+), 1 deletion(-)
+
+commit f0d516e556d19376bd24cc446f05a6354c20b4e8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 20:40:51 2012 +0100
+
+ broadband-modem: implement default enabling of SMS indications
+
+ src/mm-broadband-modem.c | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+commit 3dd5ec64ccc845b6c3018fb3b221c29dc586384c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 20:35:56 2012 +0100
+
+ iface-modem-messaging: need to enable/disable SMS indications
+
+ src/mm-iface-modem-messaging.c | 96
+ +++++++++++++++++++++++++++++++++++-------
+ src/mm-iface-modem-messaging.h | 16 +++++++
+ 2 files changed, 97 insertions(+), 15 deletions(-)
+
+commit 5ee0f23efaff26b7db1e01b1dfdec22b05931a30
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 17:49:59 2012 +0100
+
+ cli: print the IP timeout value from the bearer
+
+ cli/mmcli-bearer.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit aa2ad5c31949e3bcb5a5ed7a8d66e5c6a69cda62
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 17:49:42 2012 +0100
+
+ libmm-glib: allow retrieving the IP timeout value from the bearer
+
+ libmm-glib/mm-bearer.c | 8 ++++++++
+ libmm-glib/mm-bearer.h | 13 +++++++------
+ 2 files changed, 15 insertions(+), 6 deletions(-)
+
+commit 7fdd08c02ea676df7407a1045b39fe23d80eabe1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 16:43:08 2012 +0100
+
+ api,dbus: new `IpTimeout' property in the Bearer interface
+
+ This IpTimeout property will be read by NetworkManager, and used as
+ the time to
+ wait for pppd to establish the IP configuration (20s by default).
+
+ new/org.freedesktop.ModemManager1.Bearer.xml | 7 +++++++
+ src/mm-bearer.c | 4 ++++
+ 2 files changed, 11 insertions(+)
+
+commit dc1df5bf2fb00b9eda0e98f59bb783c895fdeebf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 17 10:52:28 2012 +0100
+
+ iface-modem-simple: SIM-PIN2 locking does not prevent from connecting
+
+ src/mm-iface-modem-simple.c | 7 +++++--
+ src/mm-iface-modem.c | 4 +++-
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+commit c176117941257156b2da6e094239f5a9a07142fc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 17 10:10:15 2012 +0100
+
+ libmm-common: no need to check for end of string when looking
+ for spaces
+
+ libmm-common/mm-common-helpers.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 22342055700384118a6af62b7292a974f526613a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 17 10:07:39 2012 +0100
+
+ libmm-common: allow empty strings passed to the key value parser
+
+ libmm-common/mm-common-helpers.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit c89fd703bbff17fe9f703db444981f70c0b6aa4b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 17:18:20 2012 +0100
+
+ sim: allow subclasses to specify they can't load property values
+
+ src/mm-sim.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+commit 3c41ce5d8b238e6a3a2cf101885e3a2df8efae0e
+Author: Nathan Williams <njw@chromium.org>
+Date: Mon Jan 23 11:04:49 2012 -0500
+
+ api,dbus: new `Command' method in the API to send arbitrary AT
+ commands
+
+ BUG=chromium-os:25348
+ TEST="mmcli -m 0 --command='E0'"
+ Change-Id: I320587560fde5780f9d5a4998e32364d36a71ed7
+
+ cli/mmcli-modem.c | 67
+ +++++++++++++++++++++++++++++
+ libmm-glib/mm-modem.c | 59
+ +++++++++++++++++++++++++
+ libmm-glib/mm-modem.h | 15 +++++++
+ new/org.freedesktop.ModemManager1.Modem.xml | 14 ++++++
+ src/mm-broadband-modem.c | 31 +++++++++++++
+ src/mm-iface-modem.c | 56 ++++++++++++++++++++++++
+ src/mm-iface-modem.h | 10 +++++
+ 7 files changed, 252 insertions(+)
+
+commit 54c2daf937e3bc6062d5b867c1b0490381de711e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 14:10:19 2012 +0100
+
+ plugin-base: filters for product ID/string also require vendor
+ ID/string checks
+
+ src/mm-plugin-base.c | 177
+ +++++++++++++++++++++++++++------------------------
+ 1 file changed, 93 insertions(+), 84 deletions(-)
+
+commit 1f3e67775c608ce49c44cd4b67bcd7ba34840b76
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 14:04:46 2012 +0100
+
+ core: new private boxed types for string and uint16 pairs
+
+ src/mm-private-boxed-types.c | 84
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-private-boxed-types.h | 8 +++++
+ 2 files changed, 92 insertions(+)
+
+commit 85dc060c82b42c45441790201bba23cf9e9034cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 14:05:21 2012 +0100
+
+ manager: print modem debug info as soon as it gets exported
+
+ src/mm-manager.c | 52
+ ++++++++++++++++++++++------------------------------
+ 1 file changed, 22 insertions(+), 30 deletions(-)
+
+commit 26ac82f60760a366a77ad2eda3577bb05cd5a868
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 10:55:46 2012 +0100
+
+ broadband-modem: minor indentation fixes
+
+ src/mm-broadband-modem.c | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+commit 2000331f86c3a361206abde6b160dfe366a8704f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 09:57:59 2012 +0100
+
+ broadband-bearer: avoid double free
+
+ Don't free an error which is taken by the async result.
+
+ src/mm-broadband-bearer.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 21a722b6169d27ea960ad24ff432f174163ed53a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 23:13:39 2012 +0100
+
+ core: don't pass primary port to interface initializations
+
+ They will all get it themselves.
+
+ src/mm-base-modem.c | 2 --
+ src/mm-base-modem.h | 3 +--
+ src/mm-broadband-modem.c | 9 +--------
+ src/mm-broadband-modem.h | 1 -
+ src/mm-iface-modem-3gpp-ussd.c | 6 ------
+ src/mm-iface-modem-3gpp-ussd.h | 1 -
+ src/mm-iface-modem-3gpp.c | 6 ------
+ src/mm-iface-modem-3gpp.h | 1 -
+ src/mm-iface-modem-cdma.c | 6 ------
+ src/mm-iface-modem-cdma.h | 1 -
+ src/mm-iface-modem-location.c | 6 ------
+ src/mm-iface-modem-location.h | 1 -
+ src/mm-iface-modem-messaging.c | 14 ++++----------
+ src/mm-iface-modem-messaging.h | 1 -
+ src/mm-iface-modem.c | 11 -----------
+ src/mm-iface-modem.h | 1 -
+ 16 files changed, 6 insertions(+), 64 deletions(-)
+
+commit 3de4a2996340844b6808a4ca6e2d31b9b4b791f7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 23:00:34 2012 +0100
+
+ broadband-modem: run setup of all ports as first step in
+ initialization
+
+ This is run always once all ports grabbed and organized.
+
+ src/mm-broadband-modem.c | 100
+ +++++++++++++++++++++++++++++++----------------
+ src/mm-broadband-modem.h | 5 +++
+ 2 files changed, 71 insertions(+), 34 deletions(-)
+
+commit 8b7b614105c784b391f818a2eb6462accd844a4e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 22:19:28 2012 +0100
+
+ core: rework port grabbing and organization
+
+ Make port roles more flexible. We have modems that do PPP
+ on interfaces other than the primary interface, and that
+ wasn't possible with the old code. So clean up all that
+ logic and move the port organization code into the core
+ so we can reduce code in the plugins.
+
+ In the new world order, the plugins say whether the port
+ is a QCDM port, an AT port, or ignored. If it's an AT
+ port the plugins get to tag it as primary, secondary, or
+ PPP, or any combination of the 3. This allows for modems
+ where PPP should really be done on the secondary port
+ (Huawei E220, Sierra devices) so that the primary port
+ stays open for command and status.
+
+ After all ports are grabbed by the generic classes, they get
+ "organized", which assigns various ports to the roles of
+ PRIMARY, SECONDARY, DATA, and QCDM based on specific rules
+ and hints that the plugin provided (which are expressed as
+ MMAtPortFlags).
+
+ The plugin code is responsible for determining the port
+ hints (ie MMAtPortFlags) at probe time, instead of having
+ a combination of the plugin and the modem class do the
+ job. This simplifies things greatly for the plugins at
+ the expense of more complicated logic in the core.
+
+ This is the port of commit 96505d42ed62327101dcee7c2bf31177b0bb1c9f
+ to the 06-api branch.
+
+ plugins/mm-plugin-cinterion.c | 4 +-
+ plugins/mm-plugin-generic.c | 6 +-
+ plugins/mm-plugin-gobi.c | 6 +-
+ plugins/mm-plugin-nokia.c | 10 +-
+ src/mm-base-modem.c | 361
+ +++++++++++++++++++++++++-----------------
+ src/mm-base-modem.h | 13 +-
+ src/mm-broadband-modem.c | 54 +++++++
+ src/mm-manager.c | 19 ++-
+ src/mm-port-probe.c | 19 +++
+ src/mm-port-probe.h | 11 +-
+ src/mm-port.h | 1 -
+ 11 files changed, 336 insertions(+), 168 deletions(-)
+
+commit 0b39bf91ecde4d19d231e495bc9573a67869c3f2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 12:43:57 2012 +0100
+
+ at-serial-port: new AT port specific flags
+
+ src/Makefile.am | 6 ++++--
+ src/mm-at-serial-port.c | 8 +++++---
+ src/mm-at-serial-port.h | 16 ++++++++--------
+ 3 files changed, 17 insertions(+), 13 deletions(-)
+
+commit 11962711e4404f0e70973e196b7d473e29f23d73
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 12:32:07 2012 +0100
+
+ at-serial-port: no need to pass port type when creating the object
+
+ We'll just specify the port is AT, not primary or secondary
+
+ src/mm-base-modem.c | 2 +-
+ src/mm-port-probe.c | 3 +--
+ src/mm-port.h | 1 +
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit f8cc4114adab326b19efcbf3a10f0755cb172eca
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 12:27:45 2012 +0100
+
+ qcdm-serial-port: no need to pass port type when creating the object
+
+ src/mm-base-modem.c | 2 +-
+ src/mm-port-probe.c | 3 +--
+ src/mm-qcdm-serial-port.h | 1 -
+ src/tests/test-qcdm-serial-port.c | 1 -
+ 4 files changed, 2 insertions(+), 5 deletions(-)
+
+commit 44e5ebfec3e4a0d469afb30db8bb84dfa0ad8bfd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 14 16:51:25 2012 +0100
+
+ bearer-list: avoid redefinition of MMBearerLisForeachFunc
+
+ src/mm-bearer-list.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 66b2b7fb23e30c63eb7e852e4cc42c94e5f2bd41
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 22:16:59 2012 +0100
+
+ base-modem: also signal validity when reporting invalid
+
+ Otherwise the manager won't catch invalid modems failing at
+ initialization.
+
+ src/mm-base-modem.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 20d8fd92bf76cd98eb0a3ab21827284a7d7ab635
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 12:13:55 2012 +0100
+
+ port: no need for custom enum to string converters
+
+ src/mm-port.c | 32 --------------------------------
+ src/mm-port.h | 4 ----
+ 2 files changed, 36 deletions(-)
+
+commit 46a665630de33fede12cb53d255ee727a24bb521
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 12:13:32 2012 +0100
+
+ base-modem: use new autogenerated port-enum-string getters
+
+ src/mm-base-modem.c | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+commit 06260cdced10404b7b9fef5035c5388e5b47111f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 12:42:45 2012 +0100
+
+ build: private enums don't depend on the public ones
+
+ src/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ec9895536227ccc318e86cb0988de51877c55a66
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 12:07:04 2012 +0100
+
+ build: ignore built files
+
+ .gitignore | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit 4d3a61d58b3534a1abe1fe2b290832e237068728
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 11:59:51 2012 +0100
+
+ build: generate libserial-specific enum types
+
+ src/Makefile.am | 20 +++++++++++++++++++-
+ src/mm-port.h | 5 ++---
+ 2 files changed, 21 insertions(+), 4 deletions(-)
+
+commit ffdb034413d281361803ebb52fcbb4f569e1b9f2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 13 11:58:06 2012 +0100
+
+ build: renamed files holding daemon-specific enum types
+
+ src/Makefile.am | 20 ++++++++++----------
+ src/mm-bearer.c | 2 +-
+ 2 files changed, 11 insertions(+), 11 deletions(-)
+
+commit 71c3c8d8e55af4b78ad99285f32ee28b6fe87aa0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 11 20:25:06 2012 +0100
+
+ libmm-common: use the new key/value parser in the common bearer
+ properties builder
+
+ libmm-common/mm-common-bearer-properties.c | 71
+ ++++++++++++------------------
+ 1 file changed, 28 insertions(+), 43 deletions(-)
+
+commit 591e6413698897fecbb6b96e98004462f6e0e88a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 11 20:09:45 2012 +0100
+
+ libmm-common: use the new key/value parser in the common connect
+ properties builder
+
+ libmm-common/mm-common-connect-properties.c | 155
+ ++++++++++++++--------------
+ 1 file changed, 75 insertions(+), 80 deletions(-)
+
+commit f0b9f3954c886f4f73b1c2a39628d5d124195546
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 11 19:09:01 2012 +0100
+
+ libmm-common: use the new key/value parser in the common SMS
+ properties builder
+
+ libmm-common/mm-common-sms-properties.c | 70
+ +++++++++++++--------------------
+ 1 file changed, 28 insertions(+), 42 deletions(-)
+
+commit b7938448ea125827a7e54f11d6b548d26653cc37
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 11 19:08:39 2012 +0100
+
+ libmm-common,tests: new tests for the key/value parser
+
+ .gitignore | 1 +
+ configure.ac | 1 +
+ libmm-common/Makefile.am | 1 +
+ libmm-common/tests/Makefile.am | 20 +++
+ libmm-common/tests/test-common-helpers.c | 277
+ +++++++++++++++++++++++++++++++
+ 5 files changed, 300 insertions(+)
+
+commit 7df5874a88c6fc09ad62f655f4da9c0626c224eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 11 19:08:12 2012 +0100
+
+ libmm-common: new helper key/value parser
+
+ libmm-common/mm-common-helpers.c | 145
+ ++++++++++++++++++++++++++++++++++++++-
+ libmm-common/mm-common-helpers.h | 9 +++
+ 2 files changed, 153 insertions(+), 1 deletion(-)
+
+commit 46cbee191c9350d246379d2ec211c3ef9f4836a9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 17:59:35 2012 +0100
+
+ broadband-modem: always PDU mode preferred
+
+ src/mm-broadband-modem.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit 7f8ca20096af4b19b06223a6a0e664f0386f337e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 17:39:11 2012 +0100
+
+ cli: include storage when printing SMS info
+
+ cli/mmcli-sms.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit a35472b0a1d3cb96491f97b439cb72b3032804cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 17:38:55 2012 +0100
+
+ libmm-glib: allow getting SMS storage
+
+ libmm-glib/mm-sms.c | 16 ++++++++++++++++
+ libmm-glib/mm-sms.h | 1 +
+ 2 files changed, 17 insertions(+)
+
+commit 978801ee7b740abe46d7117346d4696f0ec369f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 17:38:39 2012 +0100
+
+ sms: specify storage where the SMS is kept
+
+ src/mm-broadband-modem.c | 83
+ +++++++++++++++++++++++++-----------------
+ src/mm-iface-modem-messaging.c | 5 ++-
+ src/mm-iface-modem-messaging.h | 3 +-
+ src/mm-sms-list.c | 9 ++++-
+ src/mm-sms-list.h | 1 +
+ src/mm-sms.c | 18 ++++++++-
+ src/mm-sms.h | 2 +
+ 7 files changed, 81 insertions(+), 40 deletions(-)
+
+commit 86dd0816b597d48cddaa0613a2cd1a3dfe9542ff
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 17:14:36 2012 +0100
+
+ api,dbus: new `Storage' property in the SMS interface
+
+ new/org.freedesktop.ModemManager1.Sms.xml | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 50d474056dcc9836f4fbd43d3370d0097bacd378
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 17:06:23 2012 +0100
+
+ iface-modem-messaging: once all messages initially loaded, set
+ default storages
+
+ src/mm-iface-modem-messaging.c | 31 ++++++++++++++++++++++++++++++-
+ 1 file changed, 30 insertions(+), 1 deletion(-)
+
+commit 8c8e5efa14b9eaee8e24cd8122ec885f0cf1eabd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 16:35:20 2012 +0100
+
+ cinterion: SMS storage mem3 doesn't support 'ME'
+
+ plugins/mm-broadband-modem-cinterion.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit cce2869f1b4d14dce8af6ca1fa471199048c529d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 16:34:56 2012 +0100
+
+ broadband-modem: implement default storage settings
+
+ src/mm-broadband-modem.c | 61
+ +++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 60 insertions(+), 1 deletion(-)
+
+commit f7c41b8e4843e488214b2aa7009f3334d62cd873
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 16:34:40 2012 +0100
+
+ iface-modem-messaging: use defaults when no specific storage specified
+
+ src/mm-iface-modem-messaging.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 9e3f66393fc03b7d285c4326f23c7962c833dae5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 15:43:34 2012 +0100
+
+ iface-modem-messaging: load initial parts from all available storages
+
+ src/mm-broadband-modem.c | 50 +++++++++++++++++++++++------
+ src/mm-iface-modem-messaging.c | 71
+ +++++++++++++++++++++++++++++++++++++++---
+ src/mm-iface-modem-messaging.h | 1 +
+ 3 files changed, 108 insertions(+), 14 deletions(-)
+
+commit cd184f33f9f78692dbf9135818e69c98cdf1fcb8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 15:39:22 2012 +0100
+
+ test: new tester for CPMS=? results
+
+ src/tests/test-modem-helpers.c | 40
+ ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+commit 69ecae2dc46f6cd6292f11e3c397234c0cb375e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 10 14:37:59 2012 +0100
+
+ iface-modem-messaging: new method to set preferred SMS storages
+
+ src/mm-iface-modem-messaging.c | 73
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-messaging.h | 22 +++++++++++++
+ 2 files changed, 95 insertions(+)
+
+commit e6e7aa1846ec0591f1566a2d111d5775f31f2b74
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 23:48:07 2012 +0100
+
+ broadband-modem: override default preferred mem1/mem2/mem3 storages
+
+ src/mm-broadband-modem.c | 39 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit f6ef117d32b690b8fe75b45d278f439a3d1c8b3b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 23:47:36 2012 +0100
+
+ iface-modem-messaging: new properties to define preferred
+ mem1/mem2/mem3 storages
+
+ src/mm-iface-modem-messaging.c | 28 +++++++++++++++++++++++++++-
+ src/mm-iface-modem-messaging.h | 9 ++++++---
+ 2 files changed, 33 insertions(+), 4 deletions(-)
+
+commit 55ba297fb8418cde124a5cdc3c1a8837b9e1fd5e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 23:47:10 2012 +0100
+
+ broadband-modem: implement default SMS storage loading
+
+ src/mm-broadband-modem.c | 108
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 108 insertions(+)
+
+commit 7fb1234015f68d3139400b9ec184e6dae1fe0f78
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 23:46:37 2012 +0100
+
+ iface-modem-messaging: load supported SMS storages during
+ initialization
+
+ src/mm-iface-modem-messaging.c | 103
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-messaging.h | 15 ++++++
+ 2 files changed, 118 insertions(+)
+
+commit 09adad847e9982c72e99da9ffb4b7b67d387e12e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 23:45:35 2012 +0100
+
+ modem-helpers: new CPMS format result parser
+
+ src/mm-modem-helpers.c | 92
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 5 +++
+ 2 files changed, 97 insertions(+)
+
+commit 23508ddd7f208c4dcc88ce38a20c0ec4fc49582f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 23:45:15 2012 +0100
+
+ libmm-common: new helpers to work with SMS storage strings
+
+ libmm-common/mm-common-helpers.c | 24 ++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 3 +++
+ 2 files changed, 27 insertions(+)
+
+commit 1e5756c33b3059e661d47f7ae110a5fe75dc5231
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 22:01:38 2012 +0100
+
+ api,header: new `MMSmsStorage' enumeration
+
+ docs/reference/api/mm-sections.txt | 1 +
+ include/ModemManager-enums.h | 22 ++++++++++++++++++++++
+ 2 files changed, 23 insertions(+)
+
+commit 4b6792dd62ce37fc1a0559355cf106589445412d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 18:37:36 2012 +0100
+
+ sms: implement default sending, either from storage or through the
+ generic cmd
+
+ src/mm-sms.c | 152
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 152 insertions(+)
+
+commit ea8b4c80b7adcde5d9beb02f90c09efc3d1992ac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 18:16:57 2012 +0100
+
+ sms: don't allow sending received messages
+
+ src/mm-sms.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+commit 4e4078ef2eab0750baa38c2b23f3987fc70dfd2e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 18:09:33 2012 +0100
+
+ sms: implement default storing
+
+ src/mm-sms.c | 175
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 175 insertions(+)
+
+commit 183e7c32051339255fc6f6e3069baf8815b1bbe0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 14:55:39 2012 +0100
+
+ sms-part: include the submit-pdu building code
+
+ It currently doesn't do multi-part. When do support that, we may
+ end up needing
+ to move all this code to mm-sms.c
+
+ src/mm-sms-part.c | 303
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-part.h | 11 ++
+ 2 files changed, 314 insertions(+)
+
+commit bf5276d4c709adb2bb2d49609e7fc91812ae88d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 14:39:51 2012 +0100
+
+ broadband-modem: implement the use-pdu-mode flag property
+
+ src/mm-broadband-modem.c | 25 ++++++++++++++++++-------
+ 1 file changed, 18 insertions(+), 7 deletions(-)
+
+commit 6bb4f9cb5774d02e60af5dd243bd0a6ef3334a26
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 14:38:57 2012 +0100
+
+ iface-modem-messaging: handle the flag to use PDU mode as a property
+
+ src/mm-iface-modem-messaging.c | 8 ++++++++
+ src/mm-iface-modem-messaging.h | 1 +
+ 2 files changed, 9 insertions(+)
+
+commit 2622705744eb27f834abc72fdd8518289d486fda
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 14:23:18 2012 +0100
+
+ cli: new `--store' action to store SMS messages
+
+ cli/mmcli-sms.c | 55
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 54 insertions(+), 1 deletion(-)
+
+commit cee94ef536fa759b5fbd6fcbd20860ba1a32f3ce
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 14:23:03 2012 +0100
+
+ libmm-glib: new method to store SMS messages
+
+ libmm-glib/mm-sms.c | 73
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-sms.h | 11 ++++++++
+ 2 files changed, 84 insertions(+)
+
+commit 556efdd37874f726b7ad6b6a3cf32fffad7972d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 14:05:48 2012 +0100
+
+ sms-list: refactor SMS removal
+
+ If any of the parts couldn't be removed, an error is reported and
+ the SMS is
+ left in the list.
+
+ src/mm-sms-list.c | 104
+ +++++++++++++++++++++++++++++++++---------------------
+ 1 file changed, 64 insertions(+), 40 deletions(-)
+
+commit 572565c1e0d9c9b1c136aafcb9a6038d1e31b7fc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 14:05:06 2012 +0100
+
+ sms: delete() just removes the parts from the storage
+
+ It's left to the delete() caller to unexport the SMS object from
+ DBus and such.
+
+ src/mm-sms.c | 51 ++++++++++++++++++++++++++++++++-------------------
+ src/mm-sms.h | 1 +
+ 2 files changed, 33 insertions(+), 19 deletions(-)
+
+commit 40a39e4d47f051bda579104958024128812b567c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 14:04:33 2012 +0100
+
+ sms-part: allow reseting part index
+
+ so that we can for example, tell the index is INVALID
+
+ src/mm-sms-part.c | 1 +
+ src/mm-sms-part.h | 2 ++
+ 2 files changed, 3 insertions(+)
+
+commit a8b3b50f456d90e8ea746ec9657ffeec1a0f06bf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 13:28:13 2012 +0100
+
+ sms: 'number' and 'text' are mandatory when creating from properties
+
+ src/mm-sms.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit b61c94016afe8a598f3b7f576430f790c6898a4f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 13:07:29 2012 +0100
+
+ api,dbus: remove the option to send the SMS in the Create() call
+
+ An SMS must be first created with the Messaging interface, and then
+ sent using the
+ Send() method from the SMS-specific interface.
+
+ cli/mmcli-modem-messaging.c | 2 --
+ libmm-glib/mm-modem-messaging.c | 6 ------
+ libmm-glib/mm-modem-messaging.h | 2 --
+ new/org.freedesktop.ModemManager1.Modem.Messaging.xml | 6 ++----
+ src/mm-iface-modem-messaging.c | 1 -
+ 5 files changed, 2 insertions(+), 15 deletions(-)
+
+commit 8a4a7ca4dcd7d92d964733c5c30865354a7a6f82
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 12:50:45 2012 +0100
+
+ broadband-modem: get and use SMS part state when parsing CMGL reply
+
+ src/mm-broadband-modem.c | 51
+ +++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 46 insertions(+), 5 deletions(-)
+
+commit 714e4ca44b2dc4d877e28d01e9f402fa0d9066a7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 9 12:48:00 2012 +0100
+
+ sms: export uncomplete multipart messages as well
+
+ Uncompleted multipart SMS will be exported to DBus, where only the
+ "state"
+ property is valid, so that we allow completely removing those
+ uncompleted
+ multipart SMS which will never get completed due to one reason
+ or another.
+
+ src/mm-broadband-modem.c | 6 +--
+ src/mm-iface-modem-messaging.c | 4 +-
+ src/mm-iface-modem-messaging.h | 2 +-
+ src/mm-sms-list.c | 87
+ ++++++++++++++++++++----------------------
+ src/mm-sms-list.h | 2 +-
+ src/mm-sms.c | 22 +++++++++--
+ 6 files changed, 67 insertions(+), 56 deletions(-)
+
+commit 186584f26f1aa6699ddc970fa6b85f60a27d1820
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 16:31:59 2012 +0100
+
+ broadband-modem: ensure text mode SMS list doesn't pick up too
+ much text
+
+ This is the port of commit 2104cd725a5f3f9aeacf4dfc4faa70dba293789d
+ to the
+ 06-api branch.
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3c886d257986022c9d539e740e6beadb4139ed88
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 16:29:59 2012 +0100
+
+ broadband-modem: fix text SMS list regex
+
+ This is a port of commit c7f54a635a84d5861b1d5f819c25de97b8c0ac32
+ to the
+ 06-api branch.
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ad3b3d0ba772c5d4603abcf2cfe6f5a4842fd92c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 16:08:53 2012 +0100
+
+ iface-modem-messaging: don't allow method calls if not enabled
+
+ src/mm-iface-modem-messaging.c | 43
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
+
+commit a1dc38360c57388058d955319cf32afc76e2ab4f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 16:08:29 2012 +0100
+
+ iface-modem: don't force port closing here, it breaks the open/close
+ count
+
+ src/mm-iface-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 214a146a2856200f438977822f71b8a20d7095c1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 16:08:04 2012 +0100
+
+ iface-modem: simplify disabling sequence
+
+ Avoid the _ready() function generator macro, not really needed here.
+
+ src/mm-iface-modem.c | 39 +++++++++++++++++++--------------------
+ 1 file changed, 19 insertions(+), 20 deletions(-)
+
+commit a826e7c8ae11cd6a469bcb726fb0daf8f32cb5bf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 16:07:02 2012 +0100
+
+ cinterion: fix power down sequence
+
+ Need to complete the operation result at some point!
+
+ plugins/mm-broadband-modem-cinterion.c | 40
+ +++++++++++++++++++++++++++++-----
+ 1 file changed, 35 insertions(+), 5 deletions(-)
+
+commit 7bc586258d9d63c05b7e103e79a11a31d70e0a57
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 15:30:03 2012 +0100
+
+ sim: leave up to 10s for CRSM queries
+
+ src/mm-sim.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit d528a2211b58820d23528e1afd187652151f4853
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 15:18:21 2012 +0100
+
+ cli: ensure EOL is added at every error message
+
+ cli/mmcli-modem-3gpp.c | 4 ++--
+ cli/mmcli-modem-cdma.c | 2 +-
+ cli/mmcli-modem-location.c | 2 +-
+ cli/mmcli-modem-messaging.c | 6 +++---
+ cli/mmcli-modem-simple.c | 2 +-
+ cli/mmcli-modem.c | 4 ++--
+ cli/mmcli.c | 4 ++--
+ 7 files changed, 12 insertions(+), 12 deletions(-)
+
+commit 470d9b933ef3a324195b1cd15edd10aba57c564d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 14:26:13 2012 +0100
+
+ sms: handle message storing and sending actions from DBus
+
+ src/mm-sms.c | 127
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-sms.h | 17 +++++++-
+ 2 files changed, 142 insertions(+), 2 deletions(-)
+
+commit fb02fbf7a0f303ea685fe1db1af9810a4234ff84
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 14:25:44 2012 +0100
+
+ sms-part: new symbol to define invalid indexes
+
+ SMS parts with invalid indexes are NOT stored yet in the device
+
+ src/mm-sms-part.h | 1 +
+ src/mm-sms.c | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit e07e26c6e188f94c91a621ee7cbdd1f16d8237d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 14:09:19 2012 +0100
+
+ api,dbus: new method to request storing a SMS messages
+
+ new/org.freedesktop.ModemManager1.Sms.xml | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit e257c4ac499d0e9e12d27d74de435e4a0fc8d98e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 13:57:00 2012 +0100
+
+ cli: avoid unneeded refs when synchronously looking for bearer/sms/sim
+
+ cli/mmcli-common.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 0833934f11e96916e2ffe188cc6808350b70a95d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 13:51:50 2012 +0100
+
+ cli: added Messaging-specific actions
+
+ cli/Makefile.am | 1 +
+ cli/mmcli-modem-messaging.c | 375
+ ++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 ++
+ cli/mmcli.h | 8 +
+ 4 files changed, 395 insertions(+)
+
+commit 6ff1543c3250be3c55a1f3689cc1692153093221
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 13:30:06 2012 +0100
+
+ cli: added SMS-specific actions
+
+ cli/Makefile.am | 3 +-
+ cli/mmcli-sms.c | 252
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 +++
+ cli/mmcli.h | 8 ++
+ 4 files changed, 273 insertions(+), 1 deletion(-)
+
+commit 2021ba80fd1dba6edc47a958aeb9c12e5bdbb141
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 13:24:40 2012 +0100
+
+ cli: setup to work with SMS objects
+
+ cli/mmcli-common.c | 275
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ cli/mmcli-common.h | 14 +++
+ 2 files changed, 287 insertions(+), 2 deletions(-)
+
+commit d80d06cd6e2b8a441dac610ba396fe0b05c8b63e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 12:57:19 2012 +0100
+
+ cli: fix help, bearers and SIMs can be specified also by index
+
+ cli/mmcli-common.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit e82db676466319ce03998b678c3c89d1385187ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 12:54:09 2012 +0100
+
+ libmm-glib: implement support for the Messaging interface
+
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/mm-modem-messaging.c | 552
+ ++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-messaging.h | 83 ++++++
+ libmm-glib/mm-object.c | 34 +++
+ libmm-glib/mm-object.h | 29 ++-
+ 5 files changed, 687 insertions(+), 13 deletions(-)
+
+commit 26075236f6348a942890cdc699e971c6f0cb3620
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 12:53:45 2012 +0100
+
+ libmm-glib: (trivial) fix some return types
+
+ libmm-glib/mm-modem.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9de213fcc16175635abc03d7c4d2f5b1aea83789
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 00:52:44 2012 +0100
+
+ libmm-glib: methods to create MMSms objects
+
+ We need them, as received messages are signaled just with their path,
+ so the
+ program listening to those signals will need to create the proxy
+ objects itself.
+
+ libmm-glib/mm-sms.c | 37 +++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-sms.h | 13 +++++++++++++
+ 2 files changed, 50 insertions(+)
+
+commit bfbcf3cfafdf3a026f9bfbd73ee348c810e7f7df
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 00:38:03 2012 +0100
+
+ libmm-glib: new object to handle SMS objects
+
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/mm-sms.c | 329
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-sms.h | 66 ++++++++++
+ 3 files changed, 398 insertions(+)
+
+commit 14baeff88d8eba049ecf306d29ed803ed3c04743
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 00:28:02 2012 +0100
+
+ api,dbus: renamed `To' to `Number' in the SMS interface
+
+ new/org.freedesktop.ModemManager1.Sms.xml | 4 ++--
+ src/mm-sms.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit d30c101e53d974abdb1e9242b301104d0ffd9167
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 00:14:58 2012 +0100
+
+ libmm-glib: new common object to handle SMS properties
+
+ To be used when requesting to create new SMS.
+
+ libmm-glib/Makefile.am | 3 ++
+ libmm-glib/mm-sms-properties.c | 76
+ ++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-sms-properties.h | 54 ++++++++++++++++++++++++++++++
+ 3 files changed, 133 insertions(+)
+
+commit 76aaac23ec3ad86a02fe283179dc5bd022f17b78
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 00:07:57 2012 +0100
+
+ iface-modem-messaging: allow creating new SMS objects
+
+ src/mm-iface-modem-messaging.c | 53
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 53 insertions(+)
+
+commit f414350b24459a6420e7e1f91a76a1ad34cbc1df
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 00:07:12 2012 +0100
+
+ sms: allow creating SMS objects from the common properties
+
+ src/mm-sms.c | 20 ++++++++------------
+ src/mm-sms.h | 10 +++-------
+ 2 files changed, 11 insertions(+), 19 deletions(-)
+
+commit f9a7533ac41fd3fe176d2b3e85ccc9c4748c4d42
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 00:06:47 2012 +0100
+
+ sms-list: allow adding full SMS objects to the list
+
+ src/mm-sms-list.c | 9 +++++++++
+ src/mm-sms-list.h | 3 +++
+ 2 files changed, 12 insertions(+)
+
+commit 9fd2c3a1dcb03d85137357925fe56ffa7fbc9f84
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 00:06:20 2012 +0100
+
+ sms-list: handle NULL paths in SMS objects
+
+ They will have NULL paths when they are not exported yet
+
+ src/mm-sms-list.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+commit 672e9d09e366d02bffd5fcf1bca9e40c53a55416
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 23:43:24 2012 +0100
+
+ libmm-common: new helper object to handle common SMS properties
+
+ libmm-common/Makefile.am | 4 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-common-sms-properties.c | 413
+ ++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-sms-properties.h | 87 +++++++
+ 4 files changed, 505 insertions(+)
+
+commit 69b8742ca354a396f7df4e72c8ce26b9eb3dcbea
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 23:16:08 2012 +0100
+
+ api,header: renamed `MMModemSmsState' to `MMSmsState'
+
+ docs/reference/api/mm-sections.txt | 2 +-
+ include/ModemManager-enums.h | 30
+ +++++++++++++++---------------
+ new/org.freedesktop.ModemManager1.Sms.xml | 2 +-
+ src/mm-sms-list.c | 8 ++++----
+ src/mm-sms.c | 6 +++---
+ src/mm-sms.h | 4 ++--
+ 6 files changed, 26 insertions(+), 26 deletions(-)
+
+commit c15fbedc03569723b26b39706d93bace50e1ada0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 23:11:06 2012 +0100
+
+ sms: pass known state when creating the MMSms object
+
+ src/mm-sms-list.c | 8 ++++++--
+ src/mm-sms.c | 14 +++++---------
+ src/mm-sms.h | 4 ++--
+ 3 files changed, 13 insertions(+), 13 deletions(-)
+
+commit c17d6c09a4595663e87ad80202bd6add75254fb4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 22:57:06 2012 +0100
+
+ sms-part: include validity
+
+ src/mm-sms-part.c | 3 +++
+ src/mm-sms-part.h | 4 ++++
+ src/mm-sms.c | 1 +
+ 3 files changed, 8 insertions(+)
+
+commit 0841f123158b747de5a2ea7744644b049de1307d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 22:24:04 2012 +0100
+
+ iface-modem-messaging: allow subclassing SMS object creation methods
+
+ src/mm-broadband-modem.c | 1 +
+ src/mm-iface-modem-messaging.h | 4 +++
+ src/mm-sms-list.c | 2 ++
+ src/mm-sms.c | 62
+ ++++++++++++++++++++++++++++++++----------
+ src/mm-sms.h | 11 ++++++++
+ 5 files changed, 65 insertions(+), 15 deletions(-)
+
+commit 61a84528932fcbae61f3fb2275d89595634de0dd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 20:54:47 2012 +0100
+
+ sms: allow sublassing the part deletion procedure
+
+ src/mm-sms-list.c | 14 +++++++-------
+ src/mm-sms.c | 53
+ ++++++++++++++++++++++++++++++++++++++++++++---------
+ src/mm-sms.h | 21 +++++++++++++++------
+ 3 files changed, 66 insertions(+), 22 deletions(-)
+
+commit 9ca03ba9f2cffea4470162ef310ea1bc0830e553
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 20:03:20 2012 +0100
+
+ sms: rename method which creates MMSms from single part
+
+ src/mm-sms-list.c | 8 ++++----
+ src/mm-sms.c | 8 ++++----
+ src/mm-sms.h | 8 ++++----
+ 3 files changed, 12 insertions(+), 12 deletions(-)
+
+commit 61697b0054a1f34be9626ac17dfbff5aa840dd47
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 19:37:38 2012 +0100
+
+ modem-helpers: use new common charset converter when parsing operator
+ name/code
+
+ This is the port of commit 4af8483ae4e32ca3d815f14aaf5f012b0ed98eed
+ into the
+ 06-api branch.
+
+ src/mm-modem-helpers.c | 31 +------------------------------
+ 1 file changed, 1 insertion(+), 30 deletions(-)
+
+commit 9c5e8d697c966902cd8ac4afd208ba476ce94f53
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 17:51:15 2012 +0100
+
+ broadband-modem: try to get SMS text and number in the current charset
+
+ src/mm-broadband-modem.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit a8ca3df9be2a44465380fe68c5ea276cc51a3927
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 17:05:26 2012 +0100
+
+ plugins: always set a proper error domain in GErrors
+
+ plugins/mm-plugin-cinterion.c | 6 +++++-
+ plugins/mm-plugin-generic.c | 12 ++++++++++--
+ plugins/mm-plugin-gobi.c | 11 ++++++++---
+ plugins/mm-plugin-nokia.c | 10 ++++++++--
+ 4 files changed, 31 insertions(+), 8 deletions(-)
+
+commit 23a615605996415cfdbc8d80831959e5f2679278
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 16:03:20 2012 +0100
+
+ broadband-modem: allow listing SMS parts in Text mode
+
+ src/mm-broadband-modem.c | 170
+ ++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 159 insertions(+), 11 deletions(-)
+
+commit ffedaf2ec3ca45d348abf9faf0ef353f81fac782
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 16:02:35 2012 +0100
+
+ sms-part: allow creating MMSmsParts not only from parsing a PDU
+
+ src/mm-sms-part.c | 134
+ +++++++++++++++++++++++++++++++++++++++++++-----------
+ src/mm-sms-part.h | 48 +++++++++++++++++--
+ 2 files changed, 152 insertions(+), 30 deletions(-)
+
+commit dc5ff06b4f8c730d8f378ef8d2d5cf985a51e5c5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Feb 6 18:12:15 2012 +0100
+
+ broadband-modem: implement generic unsolicited SMS events handling
+
+ src/mm-broadband-modem.c | 183
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 183 insertions(+)
+
+commit d9f5779bbbbcf0559a5dd0a3a897b5d4241ad186
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 3 13:34:03 2012 +0100
+
+ iface-modem-messaging: allow setting up unsolicited events
+
+ src/mm-iface-modem-messaging.c | 110
+ ++++++++++++++++++++++++++---------------
+ src/mm-iface-modem-messaging.h | 16 ++++++
+ 2 files changed, 85 insertions(+), 41 deletions(-)
+
+commit ee13bbe4a3c1e2a95b203787af9d5cbd3a09a567
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 3 13:27:02 2012 +0100
+
+ base-modem: ignore every unsolicited CMTI until we set up messaging
+
+ src/mm-base-modem.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit 3912bf062e47db7ab96f178ffb833841223885a3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Feb 3 13:26:22 2012 +0100
+
+ modem-helpers: new common CMTI regex getter
+
+ src/mm-modem-helpers.c | 11 +++++++++++
+ src/mm-modem-helpers.h | 2 ++
+ 2 files changed, 13 insertions(+)
+
+commit 1eb7f60e4cee9295980d14de7d586a0bca24e869
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 22:30:20 2012 +0100
+
+ sms: assemble and export the SMS when its completed
+
+ src/mm-sms-list.c | 35 ++++++++++++-----
+ src/mm-sms.c | 114
+ +++++++++++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-sms.h | 9 ++++-
+ 3 files changed, 138 insertions(+), 20 deletions(-)
+
+commit 6f103c136660eee618d6b38c69d3ba91e3b41921
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 22:29:39 2012 +0100
+
+ sms-list: don't signal completed messages
+
+ We will instead not export an SMS until completed and assembled
+
+ src/mm-iface-modem-messaging.c | 13 -------------
+ src/mm-sms-list.c | 15 ---------------
+ src/mm-sms-list.h | 3 ---
+ 3 files changed, 31 deletions(-)
+
+commit a91948879c546686797a5ace317a617273d9fc08
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 21:21:48 2012 +0100
+
+ sms: set modem object, so that the SMS are exported in DBus
+
+ src/mm-sms-list.c | 5 +++--
+ src/mm-sms.c | 11 ++++++++---
+ src/mm-sms.h | 6 ++++--
+ 3 files changed, 15 insertions(+), 7 deletions(-)
+
+commit 0cdc8e8dd7efeee36dc18abd6b9456447e613283
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 21:12:01 2012 +0100
+
+ broadband-modem: don't assume CIEV/CIND signal quality is in the
+ [0,5] range
+
+ When running AT+CIND=? we get the real range for the signal quality
+ indications,
+ like: "signal",(1-7).
+
+ The max value doesn't need to be 5; so if we do get min and max,
+ we will
+ normalize the returned quality using the proper range and scale it
+ to the
+ [0,100] range.
+
+ src/mm-broadband-modem.c | 106
+ ++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 73 insertions(+), 33 deletions(-)
+
+commit aee2b32a3551786415041098978640a00df54397
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 21:09:21 2012 +0100
+
+ modem-helpers: allow strings instead of indexes in CIEV unsolicited
+ events
+
+ Some modems will report strings instead of indicator indexes, like:
+ +CIEV: roam,1
+
+ So allow non-integer indicators.
+
+ src/mm-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit eb37fc158921d2283787d7089c7a6f318ac6c6d6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 19:04:13 2012 +0100
+
+ broadband-modem: log the indexes expected in CIEV unsolicited messages
+
+ src/mm-broadband-modem.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 18ca53b6676ed9eb2cc064d6d8f9acfb48614535
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 19:03:57 2012 +0100
+
+ modem-helpers: update the regex for the AT+CIND=? response
+
+ Cinterion modems seem to include
+ "signal",(0-7,99)
+
+ We just get rid of the ',99' part.
+
+ src/mm-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 664f407b99c7b2ec51dc9607bb01123e67145fe4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 18:44:32 2012 +0100
+
+ broadband-modem: by default use PDU mode for SMS operations
+
+ Currently the support for text mode lacks a lot of functionality.
+
+ src/mm-broadband-modem.c | 12 +++++-------
+ 1 file changed, 5 insertions(+), 7 deletions(-)
+
+commit 0f94abd3ae4c74719c9b2214be84aaa62f8b4be0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 18:31:58 2012 +0100
+
+ iface-modem-3gpp: avoid segfault with empty MCCMNC
+
+ src/mm-iface-modem-3gpp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cd5e9c27a37ae2994dfab344ff83912c66cc4c12
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 18:12:44 2012 +0100
+
+ broadband-modem: if locked, don't try to initialize remaining
+ interfaces
+
+ Whenever we get unlocked, the modem initialization sequence will be
+ run again.
+
+ src/mm-base-modem.c | 14 ++++++++++++--
+ src/mm-broadband-modem.c | 17 +++++++++++++++++
+ src/mm-iface-modem.c | 10 ++++++----
+ 3 files changed, 35 insertions(+), 6 deletions(-)
+
+commit 47a990390175747b2d213681eda4f41a6edb7a7b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 17:06:19 2012 +0100
+
+ iface-modem-messaging: handle SMS listing
+
+ src/mm-iface-modem-messaging.c | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+commit 6432c54d7024a36c53bc316b8c697fdd5fca8d68
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 17:06:06 2012 +0100
+
+ api,dbus: return just the list of SMS object paths, not a dictionary
+
+ new/org.freedesktop.ModemManager1.Modem.Messaging.xml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 19ce344df8986b88190f538e7c8a5c8bbd43ac05
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 17:01:22 2012 +0100
+
+ iface-modem-messaging: handle SMS deletion requests
+
+ src/mm-iface-modem-messaging.c | 79
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 79 insertions(+)
+
+commit 7956fc4e17dbc53c602c0723739c6390c4a05541
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 16:54:25 2012 +0100
+
+ sms-list: allow deleting an SMS object and its parts
+
+ src/mm-sms-list.c | 83
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-list.h | 8 ++++++
+ 2 files changed, 91 insertions(+)
+
+commit 9dee04a9717c846ae9de004cf3cacccd811845ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 16:54:08 2012 +0100
+
+ sms: allow deleting all parts of an SMS
+
+ src/mm-sms.c | 112
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms.h | 7 ++++
+ 2 files changed, 119 insertions(+)
+
+commit 2ede62e45e655eadbcd098dc1e4e746470a79ea6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 16:03:57 2012 +0100
+
+ iface-modem-messaging: emit SMS added/completed/deleted signals
+
+ src/mm-iface-modem-messaging.c | 47
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 47 insertions(+)
+
+commit 75b722541735fa37b32d443de5df978980a205eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 12:51:15 2012 +0100
+
+ sms-list: signal messages added/completed/deleted
+
+ marshallers/mm-marshal.list | 2 +
+ src/mm-sms-list.c | 128
+ +++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-sms-list.h | 13 +++++
+ 3 files changed, 141 insertions(+), 2 deletions(-)
+
+commit ba0a622616070961c0d8792b741cdd066a3bb966
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 12:47:37 2012 +0100
+
+ sms: new method to check if the SMS has a given part
+
+ src/mm-sms.c | 18 ++++++++++++++++++
+ src/mm-sms.h | 4 ++++
+ 2 files changed, 22 insertions(+)
+
+commit c938a25ca77b5c10dba8fce982cbac79ef2c003f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 11:18:20 2012 +0100
+
+ sms: new methods to handle multipart messages
+
+ src/mm-sms.c | 18 ++++++++++++++----
+ src/mm-sms.h | 4 +++-
+ 2 files changed, 17 insertions(+), 5 deletions(-)
+
+commit 8c5dd282f51a790302e1ac713f63613a95346675
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 11:17:50 2012 +0100
+
+ sms-part: new method to check if the part is from a multipart message
+
+ src/mm-sms-part.c | 16 +++++++++++++---
+ src/mm-sms-part.h | 8 +++++---
+ 2 files changed, 18 insertions(+), 6 deletions(-)
+
+commit c29f06f1e5b0e9d7e6857da142bdc1a184f74ffa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 11:02:22 2012 +0100
+
+ api,dbus: just notify SMS object paths, not their properties
+
+ When notifying added or completed SMS objects, don't return their
+ properties as
+ they can be retrieved by looking at the specific objects in DBus.
+
+ new/org.freedesktop.ModemManager1.Modem.Messaging.xml | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+commit 157dd69646df6e7750fd91b2120ebc1af385e689
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 10:01:21 2012 +0100
+
+ broadband-modem: default implementation of SMS part list loading
+
+ src/mm-broadband-modem.c | 97
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 97 insertions(+)
+
+commit d996ef84f4b31b376ef71dff28181bd859c9b8d7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 10:00:43 2012 +0100
+
+ iface-modem-messaging: load initial list of SMS parts
+
+ src/mm-iface-modem-messaging.c | 64
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-messaging.h | 15 ++++++++++
+ 2 files changed, 79 insertions(+)
+
+commit 9079d660a52744f1d53a2d50d96d057775a4f86c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:59:53 2012 +0100
+
+ broadband-modem: default implementation of SMS format setting
+
+ src/mm-broadband-modem.c | 117
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 117 insertions(+)
+
+commit 21b1de678d3c457716fd4caffe1b179cb3212a2f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:58:32 2012 +0100
+
+ iface-modem-messaging: allow configuring preferred SMS format
+
+ src/mm-iface-modem-messaging.c | 34 ++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-messaging.h | 8 ++++++++
+ 2 files changed, 42 insertions(+)
+
+commit 14fa4aae1d8c5e07c2eb0e6546e036e868de6b9b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:55:43 2012 +0100
+
+ broadband-modem: override the SMS list property
+
+ src/mm-broadband-modem.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+commit 03ee0b44f68fe081e85240f3c9e3a3ed83e5698b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:54:28 2012 +0100
+
+ iface-modem-messaging: new property to handle the list of SMS objects
+
+ src/mm-iface-modem-messaging.c | 27 ++++++++++++++++++++++++++-
+ src/mm-iface-modem-messaging.h | 1 +
+ 2 files changed, 27 insertions(+), 1 deletion(-)
+
+commit fba16a2a2c1bccf8bef6181b09fda07752f8f7a2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:51:57 2012 +0100
+
+ sms-list: new object to handle SMS objects and SMS parts
+
+ src/Makefile.am | 2 +
+ src/mm-sms-list.c | 170
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-list.h | 59 +++++++++++++++++++
+ 3 files changed, 231 insertions(+)
+
+commit ad8fbcd1a6b37aabc18b14864eecc17f48a1b927
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:49:47 2012 +0100
+
+ sms: new object to handle single-part and multi-part messages
+
+ src/Makefile.am | 2 +
+ src/mm-sms.c | 415
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms.h | 71 ++++++++++
+ 3 files changed, 488 insertions(+)
+
+commit d41f4226f43fa12a54794497fb54dcbaa72a69ef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:49:15 2012 +0100
+
+ sms-part: new struct to handle parsed SMS parts
+
+ src/Makefile.am | 2 +
+ src/mm-sms-part.c | 444
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-part.h | 43 ++++++
+ 3 files changed, 489 insertions(+)
+
+commit b34d14ba5b090df33fba46bf0cc3100299026bc9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:43:35 2012 +0100
+
+ api,header: include default DBus path prefix for SMS objects
+
+ build-aux/header-generator.xsl | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit bc375ec7c5611be3a9839f0e93ead3fb2024c632
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:42:48 2012 +0100
+
+ libmm-common: include gdbus-codegen generated SMS-related sources
+
+ libmm-common/libmm-common.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 2bb43e00207f101673cc178d41c667c17ee6ea2f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 1 09:42:29 2012 +0100
+
+ modem-helpers: new CMGF format query result parser
+
+ src/mm-modem-helpers.c | 57
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 5 +++++
+ 2 files changed, 62 insertions(+)
+
+commit 4c6765857b53a204afd70fc247a2f1bc817d82b3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 25 15:57:06 2012 +0100
+
+ broadband-modem: implement default messaging support check
+
+ We'll just:
+ * Report unsupported on CDMA-only modems.
+ * Check if AT+CNMI=? replies correctly, and if so, assume SMS-based
+ messaging
+ is supported.
+
+ src/mm-broadband-modem.c | 68
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 68 insertions(+)
+
+commit c9c46b6f51fe756a3260018671627d9d2f98554e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 25 15:55:54 2012 +0100
+
+ iface-modem-messaging: check if modem has messaging capabilities
+
+ The interface won't be exported if the given check fails.
+
+ src/mm-iface-modem-messaging.c | 82
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-messaging.h | 8 +++++
+ 2 files changed, 90 insertions(+)
+
+commit 52f1c87b06339250cd9cbfb267105cdb264ae73c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 25 13:04:30 2012 +0100
+
+ broadband-modem: implement the Messaging interface
+
+ src/mm-broadband-modem.c | 58
+ +++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 55 insertions(+), 3 deletions(-)
+
+commit bc0454badf7df37f67af2e327da6ea54b5f558e6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 25 12:51:08 2012 +0100
+
+ iface-modem-messaging: new interface to handle the Messaging DBus
+ interface
+
+ src/Makefile.am | 2 +
+ src/mm-iface-modem-messaging.c | 379
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-messaging.h | 71 ++++++++
+ 3 files changed, 452 insertions(+)
+
+commit 37bc2103c956b5f99997a8d25267b7353410b1ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 26 20:57:35 2012 +0100
+
+ broadband-bearer: fix default implementations of connect_3gpp()
+ and connect_cdma()
+
+ These implementations must not update neither port nor
+ connection_type, as
+ these items are specific of the MMBroadbandBearer object, and
+ hence not
+ available by subclasses.
+
+ src/mm-broadband-bearer.c | 27 ++++++++++++++++++---------
+ 1 file changed, 18 insertions(+), 9 deletions(-)
+
+commit c9e7e80c3b912b15c8c4f9bdedf627603ff23876
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 26 17:32:59 2012 +0100
+
+ iface-modem-3gpp: update access tech and location even if registration
+ didn't change
+
+ src/mm-iface-modem-3gpp.c | 56
+ +++++++++++++++++++++++------------------------
+ 1 file changed, 28 insertions(+), 28 deletions(-)
+
+commit ad37101c0db0cda89b422c4d9d60cb7b61cb3512
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 25 12:50:07 2012 +0100
+
+ api,dbus: don't allow for an SMS object to delete itself
+
+ Managing existence of the SMS objects better done only via the
+ Messaging
+ interface.
+
+ new/org.freedesktop.ModemManager1.Modem.Messaging.xml | 4 +---
+ new/org.freedesktop.ModemManager1.Sms.xml | 7 -------
+ 2 files changed, 1 insertion(+), 10 deletions(-)
+
+commit c2e750d5bfa328fe0ba8c3dc1e1d8c818ad74849
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 25 11:45:14 2012 +0100
+
+ sim: avoid passing source of the async object in finish
+
+ src/mm-broadband-modem.c | 4 ++--
+ src/mm-sim.c | 9 ++++++---
+ src/mm-sim.h | 3 +--
+ 3 files changed, 9 insertions(+), 7 deletions(-)
+
+commit 64de09f052af5f5ecb0bc295bdcdccff803657ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 25 17:22:20 2012 +0100
+
+ broadband-modem: if failed to initialize an optional interface,
+ shut it down
+
+ src/mm-broadband-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit ffa374c793ac360262e414cab16c40edd1859543
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 24 17:12:46 2012 +0100
+
+ cli: fail if requesting location actions and modem doesn't handle
+ locations
+
+ cli/mmcli-modem-location.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit c075363c2c3563d548f12598a30d1a255e8285cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 24 17:11:18 2012 +0100
+
+ cli: fail if requesting CDMA actions and modem is not CDMA
+
+ cli/mmcli-modem-cdma.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 0527667500463cf858612b6e88b7d2f3e8e58d2e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 24 17:05:45 2012 +0100
+
+ cli: include 3GPP-USSD specific actions
+
+ cli/mmcli-modem-3gpp.c | 226
+ ++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 224 insertions(+), 2 deletions(-)
+
+commit 31ce3e5ae140ffd5a96f8b010d4a281dafb0d17e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 24 16:19:05 2012 +0100
+
+ cli: fail if requesting 3GPP actions and modem is not 3GPP
+
+ cli/mmcli-modem-3gpp.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit a1b199d90338c2756673ff1b3c46cacbb2a6e20c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 24 15:35:42 2012 +0100
+
+ libmm-glib: handle the 3GPP/USSD interface
+
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/mm-modem-3gpp-ussd.c | 291
+ ++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-3gpp-ussd.h | 85 ++++++++++++
+ libmm-glib/mm-object.c | 34 +++++
+ libmm-glib/mm-object.h | 3 +
+ 5 files changed, 415 insertions(+)
+
+commit e808e04910fbe30b2af5e81e329b7ff27a8bc95b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 24 14:53:26 2012 +0100
+
+ broadband-modem: implement USSD cancellation
+
+ src/mm-broadband-modem.c | 53
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 53 insertions(+)
+
+commit 8acf9e4fbc9532dcd896517acdc9aa4ca273cc86
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 24 14:47:30 2012 +0100
+
+ broadband-modem: implement USSD command sending
+
+ src/mm-broadband-modem.c | 106
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 104 insertions(+), 2 deletions(-)
+
+commit 2bf40184e058fed71fe4d5815964a433271895ca
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 24 13:10:37 2012 +0100
+
+ iface-modem-3gpp-ussd: allow error reporting in encode/decode
+
+ src/mm-broadband-modem.c | 186
+ +++++++++++++++++++++++++----------------
+ src/mm-iface-modem-3gpp-ussd.c | 10 ++-
+ src/mm-iface-modem-3gpp-ussd.h | 12 ++-
+ 3 files changed, 128 insertions(+), 80 deletions(-)
+
+commit 7210e6caf1cc54b43aff9b7d4e62489ab8188799
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 17:59:17 2012 +0100
+
+ iface-modem-3gpp-ussd: handle USSD session initiate/respond/cancel
+
+ src/mm-iface-modem-3gpp-ussd.c | 205
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp-ussd.h | 17 ++++
+ 2 files changed, 222 insertions(+)
+
+commit f3ee74c1e871f23564d7e6c5198ed26a8dd35833
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:23:47 2012 +0100
+
+ broadband-modem: implement default handling of USSD URCs
+
+ src/mm-broadband-modem.c | 133
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 132 insertions(+), 1 deletion(-)
+
+commit e975543316f6bf95a21b2db37ec48dd43ef0cec0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 17:55:56 2012 +0100
+
+ broadband-modem: implement default USSD encode/decode
+
+ src/mm-broadband-modem.c | 43
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp-ussd.h | 4 ++++
+ 2 files changed, 47 insertions(+)
+
+commit 3ea437d522879e4dd6ddcf632512f587f2adb227
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 17:54:46 2012 +0100
+
+ iface-modem-3gpp-ussd: allow subclassing encode/decode
+
+ src/mm-iface-modem-3gpp-ussd.c | 17 +++++++++++++++++
+ src/mm-iface-modem-3gpp-ussd.h | 14 ++++++++++++++
+ 2 files changed, 31 insertions(+)
+
+commit 5d330154a5b00a69feb64dc601e60094678f7c0d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 17:53:57 2012 +0100
+
+ iface-modem-3gpp-ussd: allow setting properties from implementations
+
+ src/mm-iface-modem-3gpp-ussd.c | 51
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp-ussd.h | 8 +++++++
+ 2 files changed, 59 insertions(+)
+
+commit f0bbe7aa114db3d2a3044e6e1ec4ac9d63a6509c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 17:48:51 2012 +0100
+
+ api,dbus: USSD session state is given as a
+ `MMModem3gppUssdSessionState'
+
+ new/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4718ba00557295b1955e13ab138b5a784c840dfc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:23:27 2012 +0100
+
+ broadband-modem: implement generic URC setup/cleanup
+
+ src/mm-broadband-modem.c | 79
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 79 insertions(+)
+
+commit fdbb07ca427a8dbc9885fa2166a16d27b5d85e59
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:22:14 2012 +0100
+
+ iface-modem-3gpp-ussd: implement logic to setup/cleanup URC message
+ handlers
+
+ src/mm-iface-modem-3gpp-ussd.c | 88
+ ++++++++++++++++++++++++++++++++----------
+ src/mm-iface-modem-3gpp-ussd.h | 16 ++++++++
+ 2 files changed, 84 insertions(+), 20 deletions(-)
+
+commit 259ce3439bbc52dbb2e3e219bbe9accc844fa634
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:21:20 2012 +0100
+
+ iface-modem-3gpp-ussd: set initial property defaults
+
+ src/mm-iface-modem-3gpp-ussd.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 3e866b2330b224be47e7d19b2e4dbac483fdb946
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:20:39 2012 +0100
+
+ api,header: new `MM_MODEM_3GPP_USSD_SESSION_STATE_UNKNOWN'
+
+ To be set when USSD is not enabled.
+
+ include/ModemManager-enums.h | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 81d130b2bb92eeb7736b04e325fe739cea87c6f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:19:28 2012 +0100
+
+ base-modem: initially set the unsolicited CUSD handler with NULL
+ callback
+
+ src/mm-base-modem.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit f37a1a2b62ab40e907364f000372eb8a7daa9d95
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:19:00 2012 +0100
+
+ modem-helpers: new method to get common CUSD regex
+
+ src/mm-modem-helpers.c | 11 +++++++++++
+ src/mm-modem-helpers.h | 2 ++
+ 2 files changed, 13 insertions(+)
+
+commit c9c2a9aa4d0641056a8d36afb60b92c4f93748d9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 12:05:59 2012 +0100
+
+ broadband-modem: default URC enabling/disabling implementation
+
+ src/mm-broadband-modem.c | 77
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 77 insertions(+)
+
+commit b28af06d1cf09ec513c3564e4f7ead4f7f2721bf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 12:01:33 2012 +0100
+
+ iface-modem-3gpp-ussd: implement logic to enable/disable URCs
+
+ src/mm-iface-modem-3gpp-ussd.c | 68
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp-ussd.h | 16 ++++++++++
+ 2 files changed, 84 insertions(+)
+
+commit 1f01274a5fe9478d9cfbbe15d2971cbe033ce84b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 11:44:24 2012 +0100
+
+ broadband-modem: implement generic USSD support check
+
+ src/mm-broadband-modem.c | 55
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
+
+commit e491dc2b9c18f48261b42bbe6cc01eb1ae309e60
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 11:44:06 2012 +0100
+
+ iface-modem-3gpp-ussd: check if USSD supported
+
+ src/mm-iface-modem-3gpp-ussd.c | 85
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp-ussd.h | 8 ++++
+ 2 files changed, 93 insertions(+)
+
+commit a54226a0dda5666b9df5324fbfbc5208795308d8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 10:49:50 2012 +0100
+
+ broadband-modem: implement the 3GPP/USSD interface
+
+ src/mm-broadband-modem.c | 79
+ ++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 67 insertions(+), 12 deletions(-)
+
+commit b65f96aec73e0b4cba3e9e1fa76438b7e68f300a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 10:49:24 2012 +0100
+
+ iface-modem-3gpp-ussd: new interface for USSD related actions
+
+ src/Makefile.am | 2 +
+ src/mm-iface-modem-3gpp-ussd.c | 387
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp-ussd.h | 73 ++++++++
+ 3 files changed, 462 insertions(+)
+
+commit 18531e5a2d4ee4a96bc789adcd94bf0209fffd81
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 22 18:39:14 2012 +0100
+
+ cinterion: implement supported bands loading logic
+
+ plugins/mm-broadband-modem-cinterion.c | 54
+ ++++++++++++++++++++++++++++++++++
+ 1 file changed, 54 insertions(+)
+
+commit 45ca92ee2e6cc4537e1d8be4594cff652d35958b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 22 18:00:36 2012 +0100
+
+ cinterion: implement allowed modes setting logic
+
+ plugins/mm-broadband-modem-cinterion.c | 121
+ +++++++++++++++++++++++++++++++++
+ 1 file changed, 121 insertions(+)
+
+commit a6301ee0c461f5f9af800877d56fb3af6fc15d7b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 22 15:54:05 2012 +0100
+
+ cinterion: implement access technology loading logic
+
+ plugins/mm-broadband-modem-cinterion.c | 250
+ +++++++++++++++++++++++++++++++++
+ 1 file changed, 250 insertions(+)
+
+commit 8321bd5875a5aedb845d8b196ae6db75c3f769d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 22 12:55:23 2012 +0100
+
+ iface-modem: periodically request to update current access
+ technologies
+
+ src/mm-iface-modem.c | 136
+ ++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-iface-modem.h | 10 ++++
+ 2 files changed, 140 insertions(+), 6 deletions(-)
+
+commit 59e903820d21dc041443ebb05348ee305d269429
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 22 12:55:00 2012 +0100
+
+ api,header: new MM_ACCESS_TECHNOLOGY_ANY
+
+ Helps as a mask covering all the available access technologies.
+
+ include/ModemManager-enums.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 65455558bef9dd885805f650a2afea149aedf546
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 22 10:44:34 2012 +0100
+
+ iface-modem: s/access_tech/access_technologies
+
+ src/mm-iface-modem-3gpp.c | 12 ++++++------
+ src/mm-iface-modem-cdma.c | 24 ++++++++++++------------
+ src/mm-iface-modem.c | 6 +++---
+ src/mm-iface-modem.h | 6 +++---
+ 4 files changed, 24 insertions(+), 24 deletions(-)
+
+commit 6d5c98b30c6cc19ae7bac33171e33244358fd746
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 22 00:14:39 2012 +0100
+
+ cinterion: implement custom unsolicited events enabling command
+
+ plugins/mm-broadband-modem-cinterion.c | 46
+ ++++++++++++++++++++++++++++++++--
+ 1 file changed, 44 insertions(+), 2 deletions(-)
+
+commit 5667339ead6df6d4877e7c15233227da1e090a32
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 22 00:14:09 2012 +0100
+
+ broadband-modem: implement the default setup/enable unsolicited
+ events logic
+
+ src/mm-broadband-modem.c | 106
+ +++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 76 insertions(+), 30 deletions(-)
+
+commit 3acdf7b9b8fe499750a3791c282cf00b5899c6d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 22 00:13:43 2012 +0100
+
+ iface-modem-3gpp: split unsolicited events setup and enabling
+
+ Configuring unsolicited events involves:
+
+ * Setup unsolicited events. This handles the setup of the unsolicited
+ message
+ handlers in the AT ports, including the setup of the callback to
+ get called
+ when the unsolicited messages are received.
+
+ * Enable unsolicited events. This tells the modem to actually
+ send the
+ unsolicited messages.
+
+ * Disable unsolicited events. This tells the modem to stop sending
+ unsolicited
+ messages.
+
+ * Cleanup unsolicited events. This removes the unsolicited message
+ handlers
+ in the AT ports.
+
+ src/mm-iface-modem-3gpp.c | 94
+ +++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-iface-modem-3gpp.h | 16 ++++++++
+ 2 files changed, 107 insertions(+), 3 deletions(-)
+
+commit 050c30db1c5ac9ed5003b73fd4cbf0fe56f3008f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 18:24:26 2012 +0100
+
+ iface-modem-simple: don't create a bearer if we can reuse an
+ existing one
+
+ src/mm-iface-modem-simple.c | 38 ++++++++++++++++++++++++--------------
+ 1 file changed, 24 insertions(+), 14 deletions(-)
+
+commit 77999f3bcec7753bdcc5a51da4c271c78157f051
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 18:24:06 2012 +0100
+
+ bearer-list: new method to look for a bearer using its properties
+
+ src/mm-bearer-list.c | 14 ++++++++++++++
+ src/mm-bearer-list.h | 3 +++
+ 2 files changed, 17 insertions(+)
+
+commit 718093dc59f2cce7556d28efa4a26866b39e4c2e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 18:08:41 2012 +0100
+
+ broadband-bearer: implement comparison with bearer properties
+
+ src/mm-broadband-bearer.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit 1603fd1109d6056320472e072c5ec3698a95c81c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 18:08:03 2012 +0100
+
+ bearer: allow comparing current bearer with a set of properties
+
+ src/mm-bearer.c | 9 +++++++++
+ src/mm-bearer.h | 7 +++++++
+ 2 files changed, 16 insertions(+)
+
+commit cf4633649443e8292529f34f055562dbf7df089e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 16:34:20 2012 +0100
+
+ cli: allow specifying bearers and SIMs by index
+
+ So, these two are equivalent:
+ $> mmcli -b 0
+ $> mmcli -b /org/freedesktop/ModemManager1/Bearer/0
+
+ and also this two:
+ $> mmcli -s 0
+ $> mmcli -s /org/freedesktop/ModemManager1/SIM/0
+
+ cli/mmcli-common.c | 138
+ ++++++++++++++++++++++++++++++++++++++---------------
+ cli/mmcli-common.h | 12 ++---
+ 2 files changed, 106 insertions(+), 44 deletions(-)
+
+commit 885042e3651a8a3ead8928c233522bd41297bd63
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 16:11:16 2012 +0100
+
+ api,header: define common object prefixes in the daemon header
+
+ build-aux/header-generator.xsl | 9 +++++++--
+ src/mm-bearer.h | 3 ---
+ src/mm-manager.c | 2 +-
+ src/mm-sim.h | 3 ---
+ 4 files changed, 8 insertions(+), 9 deletions(-)
+
+commit 93a776b17c3265c952fd071bbd8bbd2c70d83e73
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 15:58:51 2012 +0100
+
+ sim: allow subclassing pin change/enabling
+
+ src/mm-sim.c | 188
+ ++++++++++++++++++++++++++++++++++++++++++++++-------------
+ src/mm-sim.h | 20 +++++++
+ 2 files changed, 168 insertions(+), 40 deletions(-)
+
+commit c65c5aedc334d5eaa0a186c183f79b2c5645379f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 15:43:31 2012 +0100
+
+ sim: allow subclassing pin/puk sending operations
+
+ src/mm-iface-modem-simple.c | 1 -
+ src/mm-sim.c | 164
+ +++++++++++++++++++++++++++++++++++++-------
+ src/mm-sim.h | 29 +++++++-
+ 3 files changed, 166 insertions(+), 28 deletions(-)
+
+commit 72afc058bffff9753cd1cc612b01adaf4143ed5b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 12:41:15 2012 +0100
+
+ sim: allow subclassing the SIM object
+
+ Plugins can subclass the MMSim object and provide custom
+ implementations of the
+ actions performed by the object.
+
+ src/mm-sim.c | 23 +++++++++++++++++------
+ src/mm-sim.h | 32 ++++++++++++++++++++++++++++++++
+ 2 files changed, 49 insertions(+), 6 deletions(-)
+
+commit 24c28c2692c776ded60c54766a8bdbf3c298bde1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 21 12:25:36 2012 +0100
+
+ sim: export only valid objects
+
+ src/mm-sim.c | 48 ++++++++++++++++++++++++++++++++----------------
+ src/mm-sim.h | 5 +++++
+ 2 files changed, 37 insertions(+), 16 deletions(-)
+
+commit 418e0ac5596bc305c3806f4f85a0d94a2077de74
+Author: Nathan Williams <njw@google.com>
+Date: Sat Jan 21 11:16:22 2012 +0100
+
+ libmm-common: CDMA sid/nid are uint, not enum
+
+ libmm-common/mm-common-simple-properties.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 4aeadbb7765e3b55c0bcfbeb13f5fd3b3e721e40
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 20 12:30:12 2012 +0100
+
+ iface-modem: proper fallback state when bearer connection fails
+
+ src/mm-iface-modem.c | 60
+ ++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 40 insertions(+), 20 deletions(-)
+
+commit a2203d7d14379a47ff96afc9a7820ee11cc542fd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 20 11:51:26 2012 +0100
+
+ broadband-bearer: expose properties used by the bearer implementation
+
+ src/mm-broadband-bearer.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit 9feb177e212f07351b7d485da375dc736f3d9bd6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 20 11:51:02 2012 +0100
+
+ bearer: expose IP config dictionaries with unknown method
+
+ src/mm-bearer.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 507b48dcd99e70b08a0cc80eb196942ab57ad957
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 20 11:47:20 2012 +0100
+
+ cli: IP config getters return newly created objects
+
+ cli/mmcli-bearer.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 2a5e9b46b6b27b8c0a7b26f0087f97259cbab71f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 20 11:46:52 2012 +0100
+
+ libmm-glib: use the common IP config object from libmm-common
+
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/mm-bearer-ip-config.c | 56 ++++++++++
+ libmm-glib/mm-bearer-ip-config.h | 39 +++++++
+ libmm-glib/mm-bearer.c | 222
+ +++------------------------------------
+ libmm-glib/mm-bearer.h | 28 +----
+ 5 files changed, 115 insertions(+), 233 deletions(-)
+
+commit f797beefacc321b680b4813b7efc734d099b5f33
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 20 11:46:28 2012 +0100
+
+ libmm-common: build dictionary even if IP config object not given
+
+ libmm-common/mm-common-bearer-ip-config.c | 20 +++++++++++---------
+ 1 file changed, 11 insertions(+), 9 deletions(-)
+
+commit af1f8ed6b35de3ac08263e8ee1de8783f54ffa20
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 20 10:54:45 2012 +0100
+
+ broadband-modem: disconnect all bearers when disabling
+
+ src/mm-broadband-modem.c | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+commit a33b05cc10e3317b2fddea709da4938c239c506e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:40:14 2012 +0100
+
+ broadband-bearer: reimplement CDMA and 3GPP disconnection logic
+
+ src/mm-broadband-bearer.c | 384
+ +++++++++++++++++++++++++++++++++++-----------
+ src/mm-broadband-bearer.h | 24 +++
+ 2 files changed, 320 insertions(+), 88 deletions(-)
+
+commit 9ab4ad28ff8bdd62ba16012fc0af4f950720da02
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 20 10:53:44 2012 +0100
+
+ bearer-list: new async method to disconnect all bearers
+
+ src/mm-bearer-list.c | 87
+ +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-bearer-list.h | 7 +++++
+ 2 files changed, 93 insertions(+), 1 deletion(-)
+
+commit 43ac87170cffe9da225dc3a0e6dd2c0e6a487ca3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 17:51:08 2012 +0100
+
+ bearer: don't handle reasons to forbid connection in the generic
+ Bearer object
+
+ src/mm-bearer.c | 67
+ ++++++++-------------------------------------------------
+ src/mm-bearer.h | 21 ++++++------------
+ 2 files changed, 15 insertions(+), 73 deletions(-)
+
+commit 6ae1785b644d26ec8e1344e6f55e13f9b8522961
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:41:19 2012 +0100
+
+ broadband-bearer: don't connect if roaming forbidden or unregistered
+
+ src/mm-broadband-bearer.c | 236
+ +++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 214 insertions(+), 22 deletions(-)
+
+commit 015756e57299b9fbd1fe62f48962951ede5fb517
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:39:40 2012 +0100
+
+ broadband-bearer: reimplement CDMA and 3GPP connection logic
+
+ src/mm-broadband-bearer.c | 666
+ ++++++++++++++++++++++++++--------------------
+ src/mm-broadband-bearer.h | 32 +++
+ 2 files changed, 413 insertions(+), 285 deletions(-)
+
+commit 1d450d7c4eba60d5d85c3feba0a3f9abcd527696
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:36:34 2012 +0100
+
+ broadband-modem: by default, just create a single broadband bearer
+
+ src/mm-broadband-modem.c | 86
+ +++++++-----------------------------------------
+ 1 file changed, 12 insertions(+), 74 deletions(-)
+
+commit c6b9aead8140a20aa89ffca9b4fc585c533b8b39
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:34:51 2012 +0100
+
+ bearer: subclasses need to report IPv4/v6 config when connection ready
+
+ src/mm-bearer.c | 45 ++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-bearer.h | 3 +++
+ 2 files changed, 47 insertions(+), 1 deletion(-)
+
+commit aa36af424dfb0962605c209529c0bc217e04b83f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:34:11 2012 +0100
+
+ bearer: number in Connect() no longer needed
+
+ src/mm-bearer.c | 6 +-----
+ src/mm-bearer.h | 2 --
+ 2 files changed, 1 insertion(+), 7 deletions(-)
+
+commit a400db4b5c79052a46fe07474b56fda58488c21e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:32:55 2012 +0100
+
+ bearer: remove allow-roaming, only meaningful in the broadband bearer
+
+ src/mm-bearer.c | 24 ------------------------
+ src/mm-bearer.h | 3 ---
+ 2 files changed, 27 deletions(-)
+
+commit 22846fc46f17a29638e086600f00b96f15701ba5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:30:45 2012 +0100
+
+ cli: remove `--connect-with-number' option, no longer needed
+
+ cli/mmcli-bearer.c | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+commit 98d7edadb5b50663c4c26285e58459476896ad98
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:30:28 2012 +0100
+
+ libmm-glib: number no longer needed in Connect()
+
+ libmm-glib/mm-bearer.c | 10 ----------
+ libmm-glib/mm-bearer.h | 2 --
+ 2 files changed, 12 deletions(-)
+
+commit 009582b6fd763b1516077b4db882152b061263b4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:30:07 2012 +0100
+
+ api,dbus: remove optional 'number' in bearer Connect() call
+
+ We can already give the number as a parameter in the dictionary
+ when creating
+ the Bearer object.
+
+ new/org.freedesktop.ModemManager1.Bearer.xml | 15 +++------------
+ 1 file changed, 3 insertions(+), 12 deletions(-)
+
+commit ff7406005d0ea802fc1ffe3f352ce1108a716b97
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:29:06 2012 +0100
+
+ libmm-common: new helper object to handle Bearer IP config
+
+ libmm-common/Makefile.am | 4 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-common-bearer-ip-config.c | 296
+ ++++++++++++++++++++++++++++++
+ libmm-common/mm-common-bearer-ip-config.h | 73 ++++++++
+ 4 files changed, 374 insertions(+)
+
+commit fa17f900825b44a56ebc1f34b6e07b5162fd1066
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:27:40 2012 +0100
+
+ bearer-3gpp, bearer-cdma: removed, they were mixed in broadband-bearer
+
+ src/Makefile.am | 4 -
+ src/mm-bearer-3gpp.c | 946
+ ---------------------------------------------------
+ src/mm-bearer-3gpp.h | 71 ----
+ src/mm-bearer-cdma.c | 833 ---------------------------------------------
+ src/mm-bearer-cdma.h | 69 ----
+ 5 files changed, 1923 deletions(-)
+
+commit 2b1aabe4fd8c177b87522af9b2139f13ec1c2672
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:26:37 2012 +0100
+
+ iface-modem-3gpp: 3GPP bearer creation removed
+
+ src/mm-iface-modem-3gpp.c | 258
+ ----------------------------------------------
+ src/mm-iface-modem-3gpp.h | 18 ----
+ 2 files changed, 276 deletions(-)
+
+commit 63f209d6da0cc2349c6911876a11814e98e3acd2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:26:24 2012 +0100
+
+ iface-modem-cdma: CDMA bearer creation removed
+
+ src/mm-iface-modem-cdma.c | 59
+ -----------------------------------------------
+ src/mm-iface-modem-cdma.h | 18 ---------------
+ 2 files changed, 77 deletions(-)
+
+commit 24dd208b59310deb6fce4b35495c6dc854c74920
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 15:25:58 2012 +0100
+
+ iface-modem-simple: remove dual 3GPP/CDMA bearers logic
+
+ Just rely on a single Bearer object created.
+
+ src/mm-iface-modem-simple.c | 400
+ +++++---------------------------------------
+ 1 file changed, 41 insertions(+), 359 deletions(-)
+
+commit a3b5c9faef4ef27cc0f7e67d0c639bf929b884b2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 23:39:42 2012 +0100
+
+ broadband-bearer: new generic 3GPP+CDMA bearer
+
+ src/Makefile.am | 2 +
+ src/mm-broadband-bearer.c | 1480
+ +++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-broadband-bearer.h | 69 +++
+ 3 files changed, 1551 insertions(+)
+
+commit 6c2dc9eef18952f9c612d8307865e00db9c4a36a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 23:39:19 2012 +0100
+
+ bearer: set unique path when the bearer gets exported
+
+ src/mm-bearer.c | 27 +++++++++++++++++++++------
+ src/mm-bearer.h | 1 +
+ 2 files changed, 22 insertions(+), 6 deletions(-)
+
+commit 2ca4d36e5e47bf47e076c8a3cd55ebe12950c31a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 01:16:15 2012 +0100
+
+ libmm-common: 3gpp location doesn't use any of our enum/flags
+
+ libmm-common/mm-common-location-3gpp.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit d5b74be89924d7562b198d5f2fec23520048eae6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 00:59:41 2012 +0100
+
+ build: fix errors template
+
+ Equivalent to the fix in d15b1f201 applied to the enums template.
+
+ Spotted by Nathan Williams.
+
+ build-aux/mm-errors-template.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 332d1a089113ddf89ec3a0fbb556d54ac23cd7c8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 19 00:58:30 2012 +0100
+
+ build: add missing build dependency in libmm-common
+
+ Spotted by Nathan Williams.
+
+ libmm-common/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8d25f46292c5155f498feff7ee78ccbec0d6ec9f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 18:01:44 2012 +0100
+
+ build: we no longer need to have the DBus.Properties introspection XML
+
+ Not needed in gdbus-based code.
+
+ new/org.freedesktop.DBus.Properties.xml | 45
+ ---------------------------------
+ 1 file changed, 45 deletions(-)
+
+commit c753649361d0339f8b491aca2ef53cdc11727075
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 13:45:40 2012 +0100
+
+ cli: use new enums/flags string getters/builders
+
+ cli/mmcli-bearer.c | 6 ++--
+ cli/mmcli-common.c | 91
+ ------------------------------------------------
+ cli/mmcli-common.h | 10 +-----
+ cli/mmcli-modem-3gpp.c | 4 +--
+ cli/mmcli-modem-simple.c | 12 +++----
+ cli/mmcli-modem.c | 30 ++++++++--------
+ 6 files changed, 27 insertions(+), 126 deletions(-)
+
+commit a3532e7730b9f776c5590f2680f444306e411bdd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 13:45:32 2012 +0100
+
+ libmm-common: flags string builders are now all autogenerated
+
+ libmm-common/mm-common-helpers.c | 141
+ ++-------------------------------------
+ libmm-common/mm-common-helpers.h | 7 +-
+ 2 files changed, 8 insertions(+), 140 deletions(-)
+
+commit 69e860329b92796fc9d7e648f67ae09a77d41840
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 13:44:51 2012 +0100
+
+ libmm-glib: no need to expose custom flags string builders
+
+ libmm-glib/mm-modem.c | 58
+ ---------------------------------------------------
+ libmm-glib/mm-modem.h | 6 ------
+ 2 files changed, 64 deletions(-)
+
+commit 7e36f04b37c14a518370dd5be2e99b7c629b5214
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 13:43:49 2012 +0100
+
+ core: use new enums/flags string getters/builders
+
+ src/mm-bearer-cdma.c | 9 ++------
+ src/mm-bearer.c | 20 ++++-------------
+ src/mm-broadband-modem.c | 2 +-
+ src/mm-iface-modem-3gpp.c | 16 +++-----------
+ src/mm-iface-modem-simple.c | 8 +------
+ src/mm-iface-modem.c | 54
+ +++++++++++++--------------------------------
+ src/mm-modem-helpers.c | 30 +++++--------------------
+ src/mm-sim.c | 18 ++++-----------
+ 8 files changed, 36 insertions(+), 121 deletions(-)
+
+commit 04fc34fab89483e9cfdaf7b273a867b72e622fbc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 13:43:23 2012 +0100
+
+ build: autogenerate enum/flags string getter/builders
+
+ Each enum will have its own #_get_string (),
+ and each flags will have its own #_build_string_from_mask ().
+
+ build-aux/mm-enums-template.c | 96
+ ++++++++++++++++++++++++++++++++++++-------
+ build-aux/mm-enums-template.h | 14 +++++++
+ libmm-common/Makefile.am | 4 +-
+ src/Makefile.am | 4 +-
+ 4 files changed, 99 insertions(+), 19 deletions(-)
+
+commit f8cb1269e31526813450cae4fd7382842fee242d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 11:22:27 2012 +0100
+
+ cli: include Location-related actions
+
+ cli/Makefile.am | 1 +
+ cli/mmcli-modem-location.c | 327
+ +++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 ++
+ cli/mmcli.h | 8 ++
+ 4 files changed, 347 insertions(+)
+
+commit b05430cb289e058ec118be13e4b0a813c46b1fb2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 10:41:26 2012 +0100
+
+ libmm-glib: include support for the Location interface
+
+ We hide the location signaling; not sure if we should even support it.
+
+ libmm-glib/Makefile.am | 4 +
+ libmm-glib/mm-modem-location-3gpp.c | 48 ++++++++
+ libmm-glib/mm-modem-location-3gpp.h | 45 +++++++
+ libmm-glib/mm-modem-location.c | 238
+ ++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-location.h | 78 ++++++++++++
+ libmm-glib/mm-object.c | 34 ++++++
+ libmm-glib/mm-object.h | 3 +
+ 7 files changed, 450 insertions(+)
+
+commit 3b443b6954046cb7cc1c7576a3720af0b987d573
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 18 09:44:43 2012 +0100
+
+ libmm-common: fix usage of main library header
+
+ libmm-common/libmm-common.h | 1 +
+ src/mm-iface-modem-location.c | 1 -
+ src/mm-iface-modem-simple.c | 1 -
+ 3 files changed, 1 insertion(+), 2 deletions(-)
+
+commit bcdd376b6bd9443e2a7001230a8189bb243d658a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 17 23:43:55 2012 +0100
+
+ iface-modem-3gpp, broadband-modem: update LAC/CI 3gpp-based location
+
+ src/mm-broadband-modem.c | 51 +++++++++------
+ src/mm-iface-modem-3gpp.c | 161
+ ++++++++++++++++++++++++++++++++++++----------
+ src/mm-iface-modem-3gpp.h | 8 ++-
+ 3 files changed, 164 insertions(+), 56 deletions(-)
+
+commit 71125777d38126f41c18a2b04a0dbfdb6b2628d6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 17 23:43:20 2012 +0100
+
+ iface-modem-location: handle 3GPP location
+
+ src/mm-iface-modem-location.c | 208
+ ++++++++++++++++++++++++++++++++++++------
+ src/mm-iface-modem-location.h | 9 ++
+ 2 files changed, 190 insertions(+), 27 deletions(-)
+
+commit 5fa8918847fffa7f373c2f863ed765091db659d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 17 23:42:50 2012 +0100
+
+ libmm-common: new helper object to handle 3GPP location
+
+ libmm-common/Makefile.am | 3 +
+ libmm-common/mm-common-location-3gpp.c | 263
+ +++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-location-3gpp.h | 68 +++++++++
+ 3 files changed, 334 insertions(+)
+
+commit f94d8ce30a49af868d7b58b9dd3ba7d71d8bb73c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 17 23:42:30 2012 +0100
+
+ api: include '3gpp' prefix for LAC/CI location, instead of 'gsm'
+
+ include/ModemManager-enums.h | 4 ++--
+ new/org.freedesktop.ModemManager1.Modem.Location.xml | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 182a9542055bbc4b560672e70d7383bffb395378
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 20:04:27 2012 +0100
+
+ broadband-modem: enable/disable the Location interface
+
+ src/mm-broadband-modem.c | 57
+ +++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 44 insertions(+), 13 deletions(-)
+
+commit 74f29981c8db7f27b061d9740b1472efcec952d5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 20:02:47 2012 +0100
+
+ broadband-modem: load default location reporting capabilities
+
+ Currently, only LAC/CI if the modem has 3GPP capabilities.
+
+ src/mm-broadband-modem.c | 45
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+commit 03c5f4e6fbb5d5f2750f23deb5832b5eaa5c5197
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 19:39:00 2012 +0100
+
+ iface-modem-location: handle enabling/disabling location gathering
+
+ src/mm-iface-modem-location.c | 429
+ +++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-location.h | 32 ++++
+ 2 files changed, 458 insertions(+), 3 deletions(-)
+
+commit d7f98cf27781babb5fb9b051c1b3be228232177e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 17:13:24 2012 +0100
+
+ broadband-modem: implement the Location interface
+
+ src/mm-broadband-modem.c | 69
+ ++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 55 insertions(+), 14 deletions(-)
+
+commit 1b45b6a015b7d1270959cc4dabbf01159fd5e2f4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 17:13:13 2012 +0100
+
+ api,dbus: we won't enable the modem if we're enabling location
+
+ new/org.freedesktop.ModemManager1.Modem.Location.xml | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+commit d0a845c81933493281043cfe94c622791638b825
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 17:11:44 2012 +0100
+
+ iface-modem-location: new interface for Location-related stuff
+
+ src/Makefile.am | 2 +
+ src/mm-iface-modem-location.c | 295
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-location.h | 63 +++++++++
+ 3 files changed, 360 insertions(+)
+
+commit 38578f13b5b07f9a57b9407a2e2b8b34a8671f8e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 15:58:16 2012 +0100
+
+ docs: include initial state machine documentation
+
+ docs/reference/api/Makefile.am | 3 +
+ docs/reference/api/ModemManager-states.dia | 1210
+ ++++++++++++++++++++++++++++
+ docs/reference/api/ModemManager-states.png | Bin 0 -> 28305 bytes
+ docs/reference/api/mm-overview.xml | 79 +-
+ 4 files changed, 1272 insertions(+), 20 deletions(-)
+
+commit b52e223f3026a60223a819899776f9b77c26380a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 15:25:20 2012 +0100
+
+ docs: improved DBus interface documentation
+
+ docs/reference/api/Makefile.am | 2 +
+ docs/reference/api/mm-dbus-reference.xml | 179
+ +++++++++++++++++++++++++++++++
+ docs/reference/api/mm-docs.xml | 124 ++++++---------------
+ 3 files changed, 213 insertions(+), 92 deletions(-)
+
+commit bb88a63a72af3dd5b87a381a363aff4cc782eca1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 10:03:33 2012 +0100
+
+ cli: add CDMA-related option group, and enable activation request
+
+ cli/Makefile.am | 1 +
+ cli/mmcli-modem-cdma.c | 207
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 +++
+ cli/mmcli.h | 8 ++
+ 4 files changed, 227 insertions(+)
+
+commit 231e54f037964bb08686e006c32eecbbe70c878e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 10:03:03 2012 +0100
+
+ libmm-glib: implement CDMA activation request
+
+ libmm-glib/mm-modem-cdma.c | 42
+ ++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-cdma.h | 13 +++++++++++++
+ 2 files changed, 55 insertions(+)
+
+commit 4bf03a24a1400204bcbdbf3dccb0d07fea8673eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 09:52:34 2012 +0100
+
+ api,header: treat CDMA activation errors as any other error
+
+ docs/reference/api/mm-sections.txt | 2 +-
+ include/ModemManager-enums.h | 28
+ ----------------------
+ include/ModemManager-errors.h | 28
+ ++++++++++++++++++++++
+ ...g.freedesktop.ModemManager1.Modem.ModemCdma.xml | 2 +-
+ 4 files changed, 30 insertions(+), 30 deletions(-)
+
+commit 6238ba8568323db3c7a52f19f691cf6105b9c585
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 16 09:51:57 2012 +0100
+
+ api,dbus: don't return immediate CDMA activation errors
+
+ Seems like an unnecessary complication, as the client anyway needs
+ to handle
+ asynchronously reported errors.
+
+ new/org.freedesktop.ModemManager1.Modem.ModemCdma.xml | 7 +------
+ src/mm-iface-modem-cdma.c | 4 +---
+ 2 files changed, 2 insertions(+), 9 deletions(-)
+
+commit 15f2c56f8978dafcc0db7744f1a95fae52e8c91e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 14 22:53:11 2012 +0100
+
+ cinterion: avoid after-power-up step
+
+ Split the after power up step into:
+ * querying supported functionality status during the first power-down
+ request.
+ * querying supported networks during supported modes loading.
+
+ plugins/mm-broadband-modem-cinterion.c | 209
+ ++++++++++++++++++++-------------
+ 1 file changed, 125 insertions(+), 84 deletions(-)
+
+commit d76f545322dea8c8391a3940e623e0771014f8d4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 17:32:33 2012 +0100
+
+ plugin-base: use MM_TYPE_POINTER_ARRAY for custom init callbacks
+
+ src/mm-plugin-base.c | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit 0358c787c0dcc49e0350389a4480cb35a4adbfe0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 17:32:11 2012 +0100
+
+ core: new boxed type for NULL-terminated array of gpointers
+
+ src/mm-private-boxed-types.c | 36 ++++++++++++++++++++++++++++++++++++
+ src/mm-private-boxed-types.h | 3 +++
+ 2 files changed, 39 insertions(+)
+
+commit af41076e7dbc05f2b92e567cb583e0bc7de4c987
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 17:18:40 2012 +0100
+
+ plugin-base: use MM_TYPE_UINT16_ARRAY for vendor/product ID properties
+
+ src/mm-plugin-base.c | 35 +++++++++++++++++++----------------
+ 1 file changed, 19 insertions(+), 16 deletions(-)
+
+commit 2052b8184f0581e562d7caccc319e78bb6d27b65
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 17:17:53 2012 +0100
+
+ core: new boxed type for 0-terminated array of guint16 values
+
+ src/Makefile.am | 2 ++
+ src/mm-private-boxed-types.c | 52
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-private-boxed-types.h | 28 ++++++++++++++++++++++++
+ 3 files changed, 82 insertions(+)
+
+commit 536865040e79076a5dbbbceb23501b4f15df249e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 17:01:24 2012 +0100
+
+ plugin-base: use GStrv boxed types for string array properties
+
+ src/mm-plugin-base.c | 85
+ +++++++++++++++++++++++++++-------------------------
+ 1 file changed, 45 insertions(+), 40 deletions(-)
+
+commit 771e3c4ff70717b51158d64c011505e32c92ac14
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 16:01:48 2012 +0100
+
+ nokia: plugin fully ported to the new codebase
+
+ plugins/mm-modem-nokia.c | 131
+ -----------------------------------------------
+ plugins/mm-modem-nokia.h | 45 ----------------
+ 2 files changed, 176 deletions(-)
+
+commit 983f081f309d28b391422aa53bb36da8b1b61fc0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 15:59:39 2012 +0100
+
+ nokia: include port type hints
+
+ Ported commit 44194ac to the new codebase.
+
+ plugins/mm-plugin-nokia.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit 0d5c23742891aa6f9ae715875882ce16d42bcb41
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 12:39:37 2012 +0100
+
+ bearer-cdma: use #777 as default number to dial when none given
+ explicitly
+
+ src/mm-bearer-cdma.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+commit e5c5411d0514f121e9c98c2b49b6d9a11a60cc1a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 11:41:47 2012 +0100
+
+ broadband-modem: redefine generic supported mode loading
+ implementation
+
+ * assume CDMA1x is 2G
+ * consider CS/PS/CDMA1x/EVDO network support flags specified by
+ the plugins
+
+ src/mm-broadband-modem.c | 23 +++++++++++++++++------
+ 1 file changed, 17 insertions(+), 6 deletions(-)
+
+commit 8adc9cd699503885d9878403834d2a7f674cc661
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jan 13 11:26:28 2012 +0100
+
+ broadband-modem: we can expect non-LTE 3GPP+CDMA modems
+
+ src/mm-broadband-modem.c | 19 +++++--------------
+ src/mm-iface-modem-simple.c | 4 ++--
+ 2 files changed, 7 insertions(+), 16 deletions(-)
+
+commit c0e0649a821d7370087931af9546c506248f4530
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 17:52:44 2012 +0100
+
+ core,plugins: handle missing `last_command' flags
+
+ These didn't get compilation errors when
+ `MMBaseModemAtResponseProcessor'
+ was changed, as we're doing an explicit casting.
+
+ plugins/mm-broadband-modem-cinterion.c | 2 ++
+ src/mm-bearer-3gpp.c | 2 ++
+ src/mm-broadband-modem.c | 1 +
+ 3 files changed, 5 insertions(+)
+
+commit 31131a1f669a9eadded03b739ec499fba4097a2f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 17:41:15 2012 +0100
+
+ cli: print properties only if registered in the specific network(s)
+
+ If registered in the 3GPP network, print 3GPP-specific properties;
+ and if
+ registered in a CDMA network, print CDMA-specific properties.
+
+ cli/mmcli-modem-simple.c | 92
+ ++++++++++++++++++++++++++++--------------------
+ 1 file changed, 53 insertions(+), 39 deletions(-)
+
+commit 5f5ad3843122f74dfd6609d84eab9621d2228446
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 17:22:35 2012 +0100
+
+ cli: include CDMA-specific properties in the simple status report
+
+ cli/mmcli-modem-simple.c | 38 +++++++++++++++++++++++++++++++++-----
+ 1 file changed, 33 insertions(+), 5 deletions(-)
+
+commit 801a129fe96dcda13dfc0f786e4505f1871f99ae
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 17:16:15 2012 +0100
+
+ iface-modem-cdma: bind CDMA-specific properties for the simple status
+
+ src/mm-iface-modem-cdma.c | 18 ++++++++++++++++--
+ 1 file changed, 16 insertions(+), 2 deletions(-)
+
+commit 6c36ae9101489f8b43b78a6616c808956c3acc69
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 17:15:57 2012 +0100
+
+ libmm-glib: include CDMA-specific items in the simple status
+ properties
+
+ libmm-glib/mm-modem-simple-status-properties.c | 37
+ ++++++++++++++++++++++++++
+ libmm-glib/mm-modem-simple-status-properties.h | 5 ++++
+ 2 files changed, 42 insertions(+)
+
+commit 263f106b33825700c7cf1ee1ff4994e9b016e68f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 17:10:18 2012 +0100
+
+ libmm-common: include CDMA-specific items in the simple properties
+
+ libmm-common/mm-common-simple-properties.c | 137
+ ++++++++++++++++++++++++++++-
+ libmm-common/mm-common-simple-properties.h | 11 +++
+ 2 files changed, 147 insertions(+), 1 deletion(-)
+
+commit 9324c9cbb7e6d1a8a3087e1f32a39f80a9cd0ddb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 17:09:47 2012 +0100
+
+ api,dbus: include CDMA-specific properties in the simple status query
+
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 28
+ ++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+commit 71fbd2248c20d583300259648703df2f81139dac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 16:42:29 2012 +0100
+
+ api,dbus: prefix with 'm3gpp' the 3GPP-specific entries returned in
+ the simple status
+
+ Note that we cannot have properties starting with a digit :-/
+
+ libmm-common/mm-common-simple-properties.h | 7 +++--
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 36
+ +++++++++++-----------
+ 2 files changed, 22 insertions(+), 21 deletions(-)
+
+commit 8c704ea7a25c2efc1927d63b42853a4d13b55965
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 16:34:04 2012 +0100
+
+ libmm-glib: prefix with '3gpp' the 3GPP-specific simple status
+ properties
+
+ cli/mmcli-modem-simple.c | 6 +++---
+ libmm-glib/mm-modem-simple-status-properties.c | 6 +++---
+ libmm-glib/mm-modem-simple-status-properties.h | 7 ++++---
+ 3 files changed, 10 insertions(+), 9 deletions(-)
+
+commit d2af326e1a4a6223930ae6af8c336c478a0437f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 16:33:34 2012 +0100
+
+ libmm-common: prefix with '3gpp' the 3GPP-specific simple properties
+
+ libmm-common/mm-common-simple-properties.c | 50
+ +++++++++++++-------------
+ libmm-common/mm-common-simple-properties.h | 6 ++--
+ libmm-glib/mm-modem-simple-status-properties.c | 6 ++--
+ 3 files changed, 31 insertions(+), 31 deletions(-)
+
+commit f07101943cdd3d74fe3f2600953d6085bc670e24
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 14:07:58 2012 +0100
+
+ iface-modem-simple: new connection logic when more than one bearer
+ around
+
+ For mixed 3GPP+CDMA modems, we first try to connect the 3GPP bearers,
+ and then
+ the CDMA ones.
+
+ src/mm-iface-modem-simple.c | 400
+ ++++++++++++++++++++++++++++++++++++++++----
+ src/mm-iface-modem.c | 47 ++----
+ src/mm-iface-modem.h | 1 -
+ 3 files changed, 385 insertions(+), 63 deletions(-)
+
+commit d19cf55f8f35bd82408ecfce012cdebe0ed2183f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 14:06:07 2012 +0100
+
+ libmm-common: allow duplicating the bearer properties object
+
+ libmm-common/mm-common-bearer-properties.c | 17 +++++++++++++++++
+ libmm-common/mm-common-bearer-properties.h | 2 ++
+ 2 files changed, 19 insertions(+)
+
+commit 8782df1b152b0ade1970282fb799ac6608fa3483
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 12 10:57:05 2012 +0100
+
+ broadband-modem: on mixed CDMA+LTE modems, guess which kind of bearer
+ to create
+
+ src/mm-broadband-modem.c | 21 +++++++++++++++------
+ 1 file changed, 15 insertions(+), 6 deletions(-)
+
+commit 744fe5712df5de050f2942c1cb692a53d2eead70
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 16:25:51 2012 +0100
+
+ iface-modem-simple: build 3GPP+CDMA registration check logic
+
+ For mixed 3GPP+CDMA modems, we check registrations in both 3GPP
+ and CDMA
+ networks, and we stop checks when we find ourselves registered in
+ either one
+ or the other.
+
+ src/mm-iface-modem-simple.c | 165
+ +++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 155 insertions(+), 10 deletions(-)
+
+commit a0255273f0195c234062f326dfdc46c45d3116eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 16:24:29 2012 +0100
+
+ iface-modem-cdma: let caller decide the maximum registration timeout
+
+ src/mm-broadband-modem.c | 9 ++++-----
+ src/mm-iface-modem-cdma.c | 2 ++
+ src/mm-iface-modem-cdma.h | 2 ++
+ 3 files changed, 8 insertions(+), 5 deletions(-)
+
+commit cc4e469b1a91a5c1f247706acddebd406db46702
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 16:24:02 2012 +0100
+
+ iface-modem-3gpp: let caller decide the maximum registration timeout
+
+ src/mm-broadband-modem.c | 15 +++++++--------
+ src/mm-iface-modem-3gpp.c | 7 +++++--
+ src/mm-iface-modem-3gpp.h | 4 +++-
+ 3 files changed, 15 insertions(+), 11 deletions(-)
+
+commit 787a651f198c1c85635e1f8598d4ffb9752d1dd4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 13:44:02 2012 +0100
+
+ broadband-modem: implement CDMA registration method
+
+ Will wait up to 60s to be registered in the CDMA network.
+
+ src/mm-broadband-modem.c | 167
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 167 insertions(+)
+
+commit 0b8ad7025013d88a38c63a1adf5ca13aa0abb226
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 13:43:12 2012 +0100
+
+ iface-modem-cdma: provide a method to register in the CDMA network
+
+ This will really not be like the 3GPP method. In 3GPP we can request
+ to do
+ auto-registration, or request to lock to a specific Operator. Once
+ that done,
+ we wait for unsolicited registration messages and also perform peridic
+ registration checks.
+
+ In the case of the CDMA network, the registration seems to be always
+ automatic.
+ Therefore, this method to register in the CDMA network will just
+ make sure that
+ we got registered, by waiting up to N seconds while doing periodic
+ registration
+ checks.
+
+ src/mm-iface-modem-cdma.c | 57
+ ++++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-iface-modem-cdma.h | 16 +++++++++++++
+ 2 files changed, 68 insertions(+), 5 deletions(-)
+
+commit 165a4dcb943d2d81fc3ec371d19695afb4e3508a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 13:35:46 2012 +0100
+
+ cli: split the command to register in a 3GPP network
+
+ We provide `--3gpp-register-home' to request automatic
+ registration. This will
+ try to register in the home network if available; and if not
+ available, in any
+ other network being allowed.
+
+ We also provide `--3gpp-register-in-operator' to try to lock the
+ registration
+ in the network of a given specific operator, specified by MCCMNC.
+
+ cli/mmcli-modem-3gpp.c | 31 +++++++++++++++++++------------
+ 1 file changed, 19 insertions(+), 12 deletions(-)
+
+commit e7e1a4d15687394d5e4edace29ac2da76d088fe2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 13:33:44 2012 +0100
+
+ api,dbus: MCCMNC identifies the operator (country+network), not just
+ the network
+
+ MCCMNC = MCC (Mobile Country Code) + MNC (Mobile Network Code)
+
+ new/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 205dc51cb55fdaa1f12c48e8d92257153dfb68f1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 12:20:24 2012 +0100
+
+ broadband-modem: refactor the code a bit
+
+ * Include interface-specific prefixes in methods implemented (e.g.
+ 'modem_3gpp_' for all 3GPP interface method implementations.
+
+ * Pack together in the private struct variables required in the
+ implementation
+ of a given interface.
+
+ src/mm-broadband-modem.c | 1094
+ +++++++++++++++++++++++-----------------------
+ 1 file changed, 554 insertions(+), 540 deletions(-)
+
+commit b74c01478ed4bbb79e0174eea436208638e3b257
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 01:31:21 2012 +0100
+
+ broadband-modem: set auto registration with AT+COPS=0
+
+ This is, remove the use of "AT+COPS=0,,". The extra commas break
+ its use in a
+ Nokia C7, and the proper/clean way to do it anyway is to avoid using
+ the commas.
+
+ src/mm-broadband-modem.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit d3c25e54c432445fb22a64fd99a7624a28b7b1d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 9 21:07:50 2012 +0100
+
+ cli: print CDMA-related info from the modem
+
+ cli/mmcli-modem.c | 40 ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+commit c5fdd839056d13b13e017fe1fb2d76d6c8424db2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 9 21:07:35 2012 +0100
+
+ cli: new helper to get the CDMA registration state string
+
+ cli/mmcli-common.c | 13 +++++++++++++
+ cli/mmcli-common.h | 1 +
+ 2 files changed, 14 insertions(+)
+
+commit a71393f227da1d4aa2ca1b237ec9c5061c25434f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 9 21:07:10 2012 +0100
+
+ libmm-glib: handle the CDMA interface
+
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/mm-modem-cdma.c | 212
+ +++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-cdma.h | 53 ++++++++++++
+ libmm-glib/mm-object.c | 16 ++++
+ libmm-glib/mm-object.h | 3 +
+ 5 files changed, 286 insertions(+)
+
+commit 713937f1f0b317ca3d911274a3600baa64835979
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 9 14:03:30 2012 -0600
+
+ manager: make sure modems get exported when all their ports are
+ finished
+
+ My LG Rumor2 phone (ttyACM0 - AT, ttyUSB0 - QCDM) was never getting
+ exported after the QCDM port finished probing. Not entirely sure
+ why, but we should check whether we need to export a modem or not
+ any time a port gets grabbed.
+
+ src/mm-manager.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit ded020efeb25b88b0c80319e5279936ec03c0b63
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 9 13:18:21 2012 -0600
+
+ gobi: ensure QCDM ports are correctly grabbed
+
+ Need to suggest that it's QCDM since the MMPortProbe stuff
+ doesn't get passed through to mm_base_modem_grab_port() so
+ we can't detect QCDM ports automatically there.
+
+ plugins/mm-plugin-gobi.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit c697027cee5dbfb9f90a5c3c6be85da71a4bcf5d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 9 13:15:06 2012 -0600
+
+ broadband-modem: fix check for QCDM capability
+
+ has_qcdm_port was never set to TRUE anywhere...
+
+ src/mm-broadband-modem.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 0ccfcbd986ed28fa71d555dc3e6dec2270d36e16
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 9 12:58:50 2012 -0600
+
+ gobi: port to 06-api
+
+ plugins/Makefile.am | 22 ++---
+ plugins/mm-broadband-modem-gobi.c | 72 ++++++++++++++++
+ plugins/mm-broadband-modem-gobi.h | 49 +++++++++++
+ plugins/mm-plugin-gobi.c | 170
+ +++++++++++---------------------------
+ plugins/mm-plugin-gobi.h | 2 -
+ 5 files changed, 182 insertions(+), 133 deletions(-)
+
+commit 98755bd508fd7476ebfc6700b283bda8648b4ea5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 9 12:42:51 2012 -0600
+
+ broadband-modem: ignore early AT error responses for modem info
+
+ Where we have multiple commands that are all supposed to return
+ the same thing (ie, GMM/CGMM, CSQ/CSQ?) but some modems
+ support one and not the other, don't exit the sequence early if
+ the modem doesn't support one of them.
+
+ Gobi modems with CDMA firmware don't support the Cxxx variants
+ so the returned ERROR (CME error 100) made the generic parser
+ break out of the AT sequence without trying the additional
+ commands that are supported.
+
+ src/mm-broadband-modem.c | 44
+ ++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 34 insertions(+), 10 deletions(-)
+
+commit cb2d6d610524f32fd95633e4a491ba88f983e956
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 9 12:40:30 2012 -0600
+
+ base-modem-at: indicate sequence status to response parsers
+
+ Let parsers know if this command is the last in a sequence since
+ they may want to handle errors differently if that's the case.
+
+ src/mm-base-modem-at.c | 6 ++++++
+ src/mm-base-modem-at.h | 5 ++++-
+ src/mm-broadband-modem.c | 5 +++++
+ 3 files changed, 15 insertions(+), 1 deletion(-)
+
+commit 4e06e0e67d1f4180e0ea2c86aae3f63701c176d7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 9 15:08:36 2012 +0100
+
+ bearer-cdma: implement bearer connection and disconnection
+
+ src/mm-bearer-cdma.c | 414
+ ++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-helpers.c | 23 +++
+ src/mm-modem-helpers.h | 2 +
+ 3 files changed, 436 insertions(+), 3 deletions(-)
+
+commit 9641c6375988e5dcd2602bf54c707336acd01ab8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 9 15:08:06 2012 +0100
+
+ bearer-cdma: new property for the number to dial
+
+ src/mm-bearer-cdma.c | 19 +++++++++++++++++++
+ src/mm-bearer-cdma.h | 1 +
+ 2 files changed, 20 insertions(+)
+
+commit d1cfdd974cefb6ec87d6bc2889320ac8373dd4be
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 9 13:30:00 2012 +0100
+
+ bearer-cdma: when specific RM protocol given to be used, ensure it
+ is supported
+
+ If the requested RM protocol is not supported, the CDMA Bearer
+ creation will
+ fail.
+
+ src/mm-bearer-cdma.c | 69 ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.c | 81
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 8 +++++
+ 3 files changed, 158 insertions(+)
+
+commit 070c27701305dfa5c549f072d09785a12d6f03f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 9 12:09:48 2012 +0100
+
+ bearer-cdma: make it async-initable
+
+ We'll run some checks before having the object fully created.
+
+ src/mm-bearer-cdma.c | 167
+ +++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 135 insertions(+), 32 deletions(-)
+
+commit 2a0deb47f4e170b6cf7b20e72355dab86e0518b9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 9 12:07:51 2012 +0100
+
+ bearer-cdma: avoid the need of the modem object during new_finish()
+
+ src/mm-bearer-cdma.c | 4 ++--
+ src/mm-bearer-cdma.h | 4 ++--
+ src/mm-broadband-modem.c | 4 ++--
+ src/mm-iface-modem-cdma.c | 20 ++++++++++----------
+ src/mm-iface-modem-cdma.h | 16 ++++++++--------
+ 5 files changed, 24 insertions(+), 24 deletions(-)
+
+commit 56956a36adcb11e7c789f8ef6518a2afae990f84
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 9 12:05:17 2012 +0100
+
+ bearer-cdma: allow subclasses to use the same unique path generator
+
+ src/mm-bearer-cdma.c | 13 +++++++++++--
+ src/mm-bearer-cdma.h | 3 +++
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+commit 91eb041a635c3dfd4703c0f77110349d4a58199a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 23:54:24 2012 +0100
+
+ bearer-3gpp: avoid the need of the modem object during new_finish()
+
+ src/mm-bearer-3gpp.c | 4 ++--
+ src/mm-bearer-3gpp.h | 4 ++--
+ src/mm-broadband-modem.c | 4 ++--
+ src/mm-iface-modem-3gpp.c | 19 ++++++++++---------
+ src/mm-iface-modem-3gpp.h | 16 ++++++++--------
+ 5 files changed, 24 insertions(+), 23 deletions(-)
+
+commit ba9bdb37a9c7d026b764c27e59ef0d33bcb9c501
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 23:49:53 2012 +0100
+
+ bearer-3gpp: allow subclasses to use the same unique path generator
+
+ src/mm-bearer-3gpp.c | 11 +++++++++--
+ src/mm-bearer-3gpp.h | 3 +++
+ 2 files changed, 12 insertions(+), 2 deletions(-)
+
+commit 3d6df6a1f4c17d903b69efee6e23d7be1bd3d920
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 23:46:48 2012 +0100
+
+ bearer: export the object whenever both path and connection are set
+
+ src/mm-bearer.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit 816a1318cb75460d1a61e8483d3671a133ac90b1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 23:46:05 2012 +0100
+
+ sim: minor code simplification
+
+ src/mm-sim.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+commit a534afa84d1affcc10b6fc7b414d8f9df8307dd3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 23:45:51 2012 +0100
+
+ sim: handle initialization failures properly
+
+ We should't use MM_SIM() on possibly NULL values.
+
+ src/mm-sim.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+commit 7db16d2279891d1014999bd3eaa8a9e6c6496e88
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 22:14:35 2012 +0100
+
+ bearer: make bearer creation an asynchronous operation
+
+ We may want to do some checks while creating a new bearer.
+
+ src/mm-bearer-3gpp.c | 41 ++++++++++++----
+ src/mm-bearer-3gpp.h | 12 +++--
+ src/mm-bearer-cdma.c | 28 +++++++++--
+ src/mm-bearer-cdma.h | 12 +++--
+ src/mm-broadband-modem.c | 119
+ +++++++++++++++++++++++++++++-----------------
+ src/mm-iface-modem-3gpp.c | 33 ++++++++-----
+ src/mm-iface-modem-3gpp.h | 20 +++++---
+ src/mm-iface-modem-cdma.c | 34 ++++++++-----
+ src/mm-iface-modem-cdma.h | 20 +++++---
+ 9 files changed, 221 insertions(+), 98 deletions(-)
+
+commit 6a38bcf1a12acd9d2230873d18d13853eb40e76d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 19:20:56 2012 +0100
+
+ broadband-modem: setup 3GPP and CDMA bearer creation logic
+
+ On mixed CDMA+LTE modems, just default to create a 3GPP bearer.
+
+ src/mm-broadband-modem.c | 39 +++++++++++++++++++++++++++++++--------
+ 1 file changed, 31 insertions(+), 8 deletions(-)
+
+commit cc4f662239acee20d69356a3f47b004d5e275138
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 19:20:36 2012 +0100
+
+ iface-modem-cdma: setup creation of CDMA bearers
+
+ src/mm-iface-modem-cdma.c | 49
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-cdma.h | 10 ++++++++++
+ 2 files changed, 59 insertions(+)
+
+commit 06ea25c0d480303e56c7f1b8b7bcd12b8e9b05c2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 19:16:50 2012 +0100
+
+ bearer-cdma: new bearer to handle connections in CDMA networks
+
+ src/Makefile.am | 2 +
+ src/mm-bearer-cdma.c | 194
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-bearer-cdma.h | 61 ++++++++++++++++
+ 3 files changed, 257 insertions(+)
+
+commit 531c1fa6602ec8d6af8808fc37aa290369a973ec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 19:06:43 2012 +0100
+
+ bearer: set allow-roaming as property at generic bearer object level
+
+ src/mm-bearer-3gpp.c | 26 +-------------------------
+ src/mm-bearer-3gpp.h | 2 --
+ src/mm-bearer.c | 24 ++++++++++++++++++++++++
+ src/mm-bearer.h | 3 +++
+ src/mm-iface-modem-3gpp.c | 4 ++--
+ 5 files changed, 30 insertions(+), 29 deletions(-)
+
+commit 7f975a30b32375ed7bbfadc71e17c2dfa4937c30
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 19:05:19 2012 +0100
+
+ build: remove glib-mkenums generated files during make clean
+
+ src/Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit ad95567e88eadf452c7e48a1d97bac4b741c206b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 16:15:39 2012 +0100
+
+ cli: print Rm protocol in bearer info
+
+ cli/mmcli-bearer.c | 7 +++++--
+ cli/mmcli-common.c | 13 +++++++++++++
+ cli/mmcli-common.h | 4 +++-
+ 3 files changed, 21 insertions(+), 3 deletions(-)
+
+commit 014a9eddab6c1787470caad58c0626a551fdc842
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 16:08:21 2012 +0100
+
+ libmm-glib: allow passing Rm protocol to bearer properties
+
+ libmm-glib/mm-bearer-properties.c | 17 +++++++++++++++++
+ libmm-glib/mm-bearer-properties.h | 5 +++++
+ 2 files changed, 22 insertions(+)
+
+commit 1c447ba85b4ec22a42e1c9f5d3e0bb7ae2c11bdc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 16:04:58 2012 +0100
+
+ libmm-common: expect 'rm-protocol' in the common bearer properties
+
+ libmm-common/mm-common-bearer-properties.c | 35
+ +++++++++++++++++++++++++++++-
+ libmm-common/mm-common-bearer-properties.h | 5 +++++
+ libmm-common/mm-common-helpers.c | 23 ++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 18 ++++++++-------
+ 4 files changed, 72 insertions(+), 9 deletions(-)
+
+commit fa0dba6a6e797d532a7f130f5b1f9a2561e72989
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 16:03:49 2012 +0100
+
+ api,dbus: expect 'rm-protocol' in Simple Connect() and CreateBearer()
+
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 7 +++++++
+ new/org.freedesktop.ModemManager1.Modem.xml | 2 ++
+ 2 files changed, 9 insertions(+)
+
+commit aaf92347477fbb1bd39bd3ff778794ece96db696
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Jan 8 16:03:12 2012 +0100
+
+ api,header: new enum to specify Rm protocol
+
+ docs/reference/api/mm-sections.txt | 1 +
+ include/ModemManager-enums.h | 20 ++++++++++++++++++++
+ 2 files changed, 21 insertions(+)
+
+commit d178fb1f09f3b28f664942424684f156b931269c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 7 22:53:20 2012 +0100
+
+ plugin-manager: fix loop of deferred tasks when no best plugin found
+
+ If deferring tasks until result suggested, and we never got a
+ suggestion, the
+ tasks may have been left deferred in loop forever. We now remove
+ the defer
+ timeout in the case of waiting for suggestion, and ensure that we
+ cancel tasks
+ if the last valid probing ended without best plugin found.
+
+ src/mm-plugin-manager.c | 113
+ ++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 81 insertions(+), 32 deletions(-)
+
+commit 4d19a66722e85e2e776092161b7d7515d295cafe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 7 17:26:43 2012 +0100
+
+ cli: fix invalid write when completing async operation
+
+ Don't use the same context to pass the results to finalize().
+
+ cli/mmcli-common.c | 47 ++++++++++++++++++++++++++++-------------------
+ 1 file changed, 28 insertions(+), 19 deletions(-)
+
+commit 2c0c66846271c41d1573d9260bd76ef2009c9f5a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 7 16:31:13 2012 +0100
+
+ iface-modem-cdma: load NID if available in the CDMA status QCDM
+ response
+
+ src/mm-broadband-modem.c | 14 ++++++++++++--
+ src/mm-iface-modem-cdma.c | 16 +++++++++++++---
+ src/mm-iface-modem-cdma.h | 4 +++-
+ 3 files changed, 28 insertions(+), 6 deletions(-)
+
+commit 4016a1ec200ca01ac6a39ea791f8d6ee91591a19
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 20:26:48 2012 +0100
+
+ build: require glib 2.30.2
+
+ So that we get the following fix in glib-mkenums:
+ https://bugzilla.gnome.org/show_bug.cgi?id=661797
+
+ build-aux/mm-enums-template.h | 2 +-
+ configure.ac | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit e8aeb59293063cb4cfedddcaf27da665f9d968e0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 20:01:30 2012 +0100
+
+ cli: use g_list_free_full() when possible
+
+ cli/mmcli-common.c | 21 +++++++--------------
+ cli/mmcli-manager.c | 3 +--
+ cli/mmcli-modem-3gpp.c | 3 +--
+ 3 files changed, 9 insertions(+), 18 deletions(-)
+
+commit 20acb274dcd1924d64b56021fd0c3125c95d9fee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 20:01:16 2012 +0100
+
+ libmm-glib: use g_list_free_full() when possible
+
+ libmm-glib/mm-modem.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 48d5ac66824848ee31fcbaeb9600d5e276b3ab70
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 20:01:05 2012 +0100
+
+ core: use g_list_free_full() when possible
+
+ src/mm-bearer-list.c | 5 +----
+ src/mm-iface-modem-3gpp.c | 3 +--
+ src/mm-iface-modem-simple.c | 5 +----
+ src/mm-modem-helpers.c | 6 ++----
+ 4 files changed, 5 insertions(+), 14 deletions(-)
+
+commit a0f7db513f712316636ddfb31a6fcec569c9f54b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 19:07:43 2012 +0100
+
+ iface-modem-cdma: setup periodic registration checks
+
+ src/mm-iface-modem-cdma.c | 110
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 110 insertions(+)
+
+commit abf0d1afc139738075ab8c5e5769a7b42aeac181
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 19:06:52 2012 +0100
+
+ iface-modem-cdma: report state changes with subsystem ID
+
+ Different subsystem IDs used for CDMA1x and EVDO
+
+ src/mm-iface-modem-cdma.c | 31 +++++++++++++++++++------------
+ 1 file changed, 19 insertions(+), 12 deletions(-)
+
+commit 8b78c394142c74101e0a4f4e02794422898044cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 19:05:43 2012 +0100
+
+ iface-modem-3gpp: report state changes with subsystem ID
+
+ src/mm-iface-modem-3gpp.c | 32 ++++++++++++++++++--------------
+ 1 file changed, 18 insertions(+), 14 deletions(-)
+
+commit 0b8d0c697d68efd9cf2828508c06cb03cd4b1145
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 19:05:15 2012 +0100
+
+ iface-modem: get consolidated state from all subsystems
+
+ We don't want, e.g., REGISTERED->ENABLED transitions when 3GPP gets
+ unregistered but we're still registered in CDMA.
+
+ src/mm-iface-modem.c | 110
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 4 ++
+ 2 files changed, 114 insertions(+)
+
+commit 6d76f1755f480fa9c3a4858e250d8b85d423d1b5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 16:32:55 2012 +0100
+
+ broadband-modem: implement default detailed CDMA registration getter
+
+ Fully based on Sprint commands
+
+ src/mm-broadband-modem.c | 201
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 201 insertions(+)
+
+commit a767c2c523eafec72462da66b62a552e72f4d78f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 16:32:14 2012 +0100
+
+ broadband-modem: skip CDMA registration check steps on default
+ implementation
+
+ If we know that there is no QCDM port, skip QCDM-based checks.
+ If we know there are Sprint commands, skip CDMA1x Serving System
+ check.
+ If we know there are no Sprint commands, skip detailed registration
+ getter.
+
+ src/mm-broadband-modem.c | 178
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 177 insertions(+), 1 deletion(-)
+
+commit 9b860021a0fa9a0f3a9a513ced53b4d34f853b31
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 16:29:31 2012 +0100
+
+ broadband-modem: set NO_NETWORK error if we couldn't get SID from
+ CDMA1x SS checks
+
+ src/mm-broadband-modem.c | 23 +++++++++++++++++++----
+ 1 file changed, 19 insertions(+), 4 deletions(-)
+
+commit 9f8e81277fc5441f0c49f92c13ef4e2c59ec05d0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 16:26:29 2012 +0100
+
+ iface-modem-cdma: allow to configure which registration steps to run
+
+ Implementations of the CDMA interface are allowed to specify which
+ steps in the
+ registration checks can be skipped. For example, if no QCDM ports
+ are available,
+ there won't be any need to try QCDM-based checks; or if Sprint
+ commands are
+ available, there won't be any need to run CDMA1x Serving System
+ checks.
+
+ src/mm-iface-modem-cdma.c | 130
+ +++++++++++++++++++++++++++++++++++-----------
+ src/mm-iface-modem-cdma.h | 13 +++++
+ 2 files changed, 114 insertions(+), 29 deletions(-)
+
+commit ad05cd2916563d218cf48a1c9327c3a689896796
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 11:41:56 2012 +0100
+
+ iface-modem-cdma: last step to get detailed registration state
+
+ src/mm-iface-modem-cdma.c | 106
+ ++++++++++++++++++++++++++++++++++++++--------
+ src/mm-iface-modem-cdma.h | 15 ++++++-
+ 2 files changed, 102 insertions(+), 19 deletions(-)
+
+commit d0d3d1f54555bd12ce726aa42524c776a82a174d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 02:17:09 2012 +0100
+
+ plugin-base: keep track of the probe for the net port, even if it
+ wasn't run
+
+ src/mm-plugin-base.c | 30 +++++++++++++++++-------------
+ 1 file changed, 17 insertions(+), 13 deletions(-)
+
+commit 16ed08cc851df2ce9501210feba55c0d86887032
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 02:15:07 2012 +0100
+
+ port-probe: avoid warnings when probe was for a net device
+
+ net devices aren't really probed
+
+ src/mm-port-probe.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 32a0c8fbb7d5fa76e963aec2e288a0e2dcc214a4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 01:30:08 2012 +0100
+
+ plugin-manager: new defer-until-suggested support check result
+ handling
+
+ 'net' ports will be supported as soon as there is another port
+ reporting
+ successful support.
+
+ src/mm-plugin-base.c | 15 +++++++++------
+ src/mm-plugin-manager.c | 25 ++++++++++++++++++++++++-
+ src/mm-plugin.h | 2 +-
+ 3 files changed, 34 insertions(+), 8 deletions(-)
+
+commit 65c14607cd8233217116e19e7c30067257a6f03c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jan 5 01:14:11 2012 +0100
+
+ broadband-modem: add LTE capability checks
+
+ src/mm-broadband-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit e28183274f6b10af42f2ec9e6e77f1a9cb01ee03
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 4 22:47:36 2012 +0100
+
+ broadband-modem: implement default serving system and service status
+ retrieval
+
+ src/mm-broadband-modem.c | 330
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-cdma.c | 12 +-
+ 2 files changed, 340 insertions(+), 2 deletions(-)
+
+commit 9efabb8fcb9aa0c8e7d8afb3e313082fc9773e64
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 4 22:42:47 2012 +0100
+
+ modem-helpers: new CDMA helper parsers
+
+ src/mm-iface-modem-cdma.c | 4 +--
+ src/mm-iface-modem-cdma.h | 3 ---
+ src/mm-modem-helpers.c | 68
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 8 ++++++
+ 4 files changed, 78 insertions(+), 5 deletions(-)
+
+commit 44289da5316d8a90d6016d181d828d754a4e2096
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 4 18:36:55 2012 +0100
+
+ iface-modem-cdma: run all registration checks during CDMA interface
+ enable
+
+ src/mm-iface-modem-cdma.c | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+commit 11038be07f9ccc00f8413c85c6ab912467a680f7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 4 12:12:06 2012 +0100
+
+ broadband-modem: implement CDMA registration state and network
+ supported properties
+
+ src/mm-broadband-modem.c | 313
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 312 insertions(+), 1 deletion(-)
+
+commit 91e146e1feb69bb0e85be46f8377908425366fbe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 4 12:04:48 2012 +0100
+
+ iface-modem-cdma: start implementing CDMA registration state logic
+
+ QCDM-based Call Manager and HDR state for now.
+
+ src/mm-iface-modem-cdma.c | 486
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-cdma.h | 64 +++++-
+ 2 files changed, 543 insertions(+), 7 deletions(-)
+
+commit 14269e11386f41e89b821e40907ba6f4af81f72f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 4 10:49:07 2012 +0100
+
+ broadband-modem: implement ESN retrieval
+
+ src/mm-broadband-modem.c | 36 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+commit 0c6b505a6bd485d9bf65c105ed6bd7b35c930040
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 4 10:45:33 2012 +0100
+
+ iface-modem-cdma: load ESN during initialization
+
+ src/mm-iface-modem-cdma.c | 60
+ ++++++++++++++++++++++++++++++++---------------
+ src/mm-iface-modem-cdma.h | 8 +++++++
+ 2 files changed, 49 insertions(+), 19 deletions(-)
+
+commit 08a950ffb644574d4bf2a8b214728cdeab0a1a27
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 22:00:09 2012 +0100
+
+ iface-modem-simple: plug memleak
+
+ src/mm-iface-modem-simple.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 45adc5054edeb4aed9de48e2f354f05e85e8d49f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 21:43:37 2012 +0100
+
+ iface-modem-3gpp: fix registration state context creation
+
+ src/mm-iface-modem-3gpp.c | 14 ++++++++------
+ 1 file changed, 8 insertions(+), 6 deletions(-)
+
+commit cb2612d0cee5d676564a14749a28021cf412354d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 21:43:20 2012 +0100
+
+ iface-modem: fix signal quality context creation
+
+ src/mm-iface-modem.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 5edb863eded7bef4e3a83b2900b3b3fdc262319f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 20:27:18 2012 +0100
+
+ iface-modem: make old compilers happy
+
+ src/mm-iface-modem.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 3789c10819ddd1263bdd4e2066a6d79845177e31
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 20:19:30 2012 +0100
+
+ api,header: add explanation for the MMModemCdmaActivationErrors
+
+ include/ModemManager-enums.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit ee07cc51ea52731180628219627ace508de7701a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 20:18:24 2012 +0100
+
+ iface-modem: fix checks for single technology capabilities
+
+ src/mm-iface-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 7b884c46351bde98a371007b37e2ae13c8284ca6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 19:59:10 2012 +0100
+
+ base-modem-at: always unref the modem object in AT command/sequence
+ contexts
+
+ src/mm-base-modem-at.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit 1304b659569db42c6b69b8a1f20041a6cb6a4012
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 19:58:36 2012 +0100
+
+ base-modem: log when fully disposing the object
+
+ src/mm-base-modem.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 8af488b4524300ac900df0d19e5ce47e09962e7c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 19:58:23 2012 +0100
+
+ base-modem: use g_clear_object() before setting new objects
+
+ src/mm-base-modem.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit c3f1a7ec98277fd68db12c61c30e6c5753a63fcd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 19:57:43 2012 +0100
+
+ bearer: use g_clear_object() before setting new objects
+
+ src/mm-bearer.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit 1097993212176e69079ad23ed32e0691f7e29df1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 19:57:14 2012 +0100
+
+ broadband-modem: use g_clear_object() before setting new objects
+
+ src/mm-broadband-modem.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit 8610fd47b366cf7be49ed0ad89576fd3d84e57a2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 19:56:16 2012 +0100
+
+ iface-modem: plug small leak
+
+ src/mm-iface-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 8c0d67a81a4658102be6338b6dd5bc8338cf7f8c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 19:55:57 2012 +0100
+
+ sim: use g_clear_object() before setting new objects
+
+ src/mm-sim.c | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+commit f3bc54eb40ce17a81b71de550dff78d795a09241
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 19:54:58 2012 +0100
+
+ libmm-common: plug small leak in the common simple properties
+
+ libmm-common/mm-common-simple-properties.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a68847a091074364f57be671fb405dd340cfa9d9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 17:07:08 2012 +0100
+
+ iface-modem-3gpp: if modem is LTE-only, assume no CS network is
+ expected
+
+ src/mm-iface-modem-3gpp.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit ffae95a46b66190484f414d40e50434aa278d34d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 17:06:45 2012 +0100
+
+ iface-modem: new helpers to check if modem has LTE capabilities
+
+ src/mm-iface-modem.c | 32 ++++++++++++++++++++++++++++----
+ src/mm-iface-modem.h | 2 ++
+ src/mm-modem-helpers.h | 8 +++++---
+ 3 files changed, 35 insertions(+), 7 deletions(-)
+
+commit 3c703dd5a33714852fe0dc32879d6ea8aec7c849
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 16:53:59 2012 +0100
+
+ iface-modem-3gpp: new properties to tell whether PS/CS networks
+ are supported
+
+ E.g, Iridium modems won't support PS networks, and LTE-only modems
+ won't support
+ CS networks.
+
+ src/mm-broadband-modem.c | 26 ++++++++++++
+ src/mm-iface-modem-3gpp.c | 101
+ ++++++++++++++++++++++++++++++++++++++++------
+ src/mm-iface-modem-3gpp.h | 2 +
+ 3 files changed, 117 insertions(+), 12 deletions(-)
+
+commit 517d47b69984d8c9f7703945d78a0344984c0223
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 16:15:21 2012 +0100
+
+ iface-modem-3gpp: update PS/CS registration states separately
+
+ But provide a consolidate state in the interface.
+
+ src/mm-broadband-modem.c | 108
+ ++++++++++++++++++----------------------------
+ src/mm-iface-modem-3gpp.c | 88 +++++++++++++++++++++++++++++++++++--
+ src/mm-iface-modem-3gpp.h | 12 +++---
+ 3 files changed, 133 insertions(+), 75 deletions(-)
+
+commit 6abcfd54a6c3b45b38c0bc4a999b39f0c683de35
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 13:23:36 2012 +0100
+
+ iface-modem-cdma: load MEID during initialization
+
+ src/mm-iface-modem-cdma.c | 39 +++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-cdma.h | 8 ++++++++
+ 2 files changed, 47 insertions(+)
+
+commit 863bfe9ecd4a5a9e8fba087ee05de04523f8b9d0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 13:08:28 2012 +0100
+
+ broadband-modem: implement the CDMA interface
+
+ src/mm-broadband-modem.c | 56
+ +++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 51 insertions(+), 5 deletions(-)
+
+commit f5d894f5a2620565140fcfb92ff9790e509c2436
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jan 3 13:02:11 2012 +0100
+
+ iface-modem-cdma: new interface to handle CDMA specific actions
+
+ src/Makefile.am | 2 +
+ src/mm-iface-modem-cdma.c | 728
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-cdma.h | 109 +++++++
+ 3 files changed, 839 insertions(+)
+
+commit ad9df4a5d1b848641903f283095f4117a62aa662
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 17:04:54 2011 +0100
+
+ broadband-modem: implement QCDM-based signal quality retrieval
+
+ Will work for CDMA modems with QCDM ports.
+
+ src/mm-broadband-modem.c | 226
+ +++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 170 insertions(+), 56 deletions(-)
+
+commit 94846a2f51bf3ca40ec945de690e74dbb5f0ce97
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 17:04:16 2011 +0100
+
+ base-modem: make public the method to get best AT port
+
+ Sometimes, we want to check whether a given port is available to
+ send commands,
+ and fallback to some other method if so (e.g. using a QCDM port).
+
+ src/mm-base-modem-at.c | 32 +++-----------------------------
+ src/mm-base-modem.c | 26 ++++++++++++++++++++++++++
+ src/mm-base-modem.h | 2 ++
+ 3 files changed, 31 insertions(+), 29 deletions(-)
+
+commit edc117406888f489d4ebd29b6d08ea67d60bb99c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 15:41:19 2011 +0100
+
+ broadband-modem: try +CSQ? if +CSQ fails
+
+ As done in the generic CDMA implementation
+
+ src/mm-broadband-modem.c | 43 ++++++++++++++++++++++++++++---------------
+ 1 file changed, 28 insertions(+), 15 deletions(-)
+
+commit d5af2286e2ecd18e653ea63c601d7528af56a45c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 15:28:57 2011 +0100
+
+ iface-modem-3gpp: indicators and unsolicited events are 3GPP-specific
+
+ Moved code from the Modem interface, as this is really 3GPP-specific
+
+ src/mm-broadband-modem.c | 28 +++++-----
+ src/mm-iface-modem-3gpp.c | 130
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 24 +++++++++
+ src/mm-iface-modem.c | 127
+ --------------------------------------------
+ src/mm-iface-modem.h | 24 ---------
+ 5 files changed, 167 insertions(+), 166 deletions(-)
+
+commit 5c3154bbba15fd5ec450850ff0d9f5fe12b62c98
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 15:23:53 2011 +0100
+
+ Revert "broadband-modem: skip indicators and unsolicited events
+ setup in CDMA-only modems"
+
+ This reverts commit b16f9bbba6aeb8b54a81192dca76d57ac0e88aae.
+
+ src/mm-broadband-modem.c | 49
+ ++++++++----------------------------------------
+ 1 file changed, 8 insertions(+), 41 deletions(-)
+
+commit 611970a4242ae87132f226079d34b05f18c73e5a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 15:00:09 2011 +0100
+
+ broadband-modem: remove obsolete commented code
+
+ src/mm-broadband-modem.c | 14 --------------
+ 1 file changed, 14 deletions(-)
+
+commit 41bf8413342eeb6aab270495e3bfb4842faba0a2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 14:59:36 2011 +0100
+
+ generic: allow QCDM ports
+
+ plugins/mm-plugin-generic.c | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+commit def30139d7feb32fdc8a6c5e18a7f95d1d4417dc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 13:31:33 2011 +0100
+
+ cli: report as 'none' when no SIM path is given
+
+ Instead of giving '/'
+
+ cli/mmcli-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 7043b2ef6ef0da5c4253a95e215f6ad86de7b320
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 13:18:48 2011 +0100
+
+ broadband-modem: skip indicators and unsolicited events setup in
+ CDMA-only modems
+
+ src/mm-broadband-modem.c | 49
+ ++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 41 insertions(+), 8 deletions(-)
+
+commit ae5da014032ff195661856214144774662c3caf9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 13:13:56 2011 +0100
+
+ broadband-modem: skip supported charsets check in CDMA-only modems
+
+ src/mm-broadband-modem.c | 82
+ +++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 60 insertions(+), 22 deletions(-)
+
+commit f4acff17daf158071e9a0e965e80131dfc91b2c5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 12:57:10 2011 +0100
+
+ broadband-modem: skip SIM creation in CDMA-only modems
+
+ src/mm-broadband-modem.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+commit bda0d0c1d4e5bf06cd1296c140e4f03ecba6836c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 12:56:55 2011 +0100
+
+ iface-modem: allow implementations to return no SIM and no error
+
+ That would mean that the implementation doesn't want to handle a
+ SIM object
+ around, maybe because it doesn't support it properly, or because
+ there is
+ no SIM at all (e.g. CDMA-only modems).
+
+ src/mm-iface-modem.c | 24 +++++++++++++-----------
+ 1 file changed, 13 insertions(+), 11 deletions(-)
+
+commit 34bf2e6dd1405cd15ff727c0401482a14cd1bdbd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 12:46:55 2011 +0100
+
+ broadband-modem: helper comments when setting interface implementation
+
+ src/mm-broadband-modem.c | 44
+ ++++++++++++++++++++++++++++----------------
+ 1 file changed, 28 insertions(+), 16 deletions(-)
+
+commit 89646f2b6480facd5a028b72de181640acb6f153
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 12:46:10 2011 +0100
+
+ broadband-modem: check for 3GPP using capabilities, not availability
+ of the interface
+
+ src/mm-broadband-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e107528f8798e78c91a65752333c72559ad81168
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 12:45:03 2011 +0100
+
+ broadband-modem: skip unlock check in CDMA-only modems
+
+ src/mm-broadband-modem.c | 52
+ +++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 45 insertions(+), 7 deletions(-)
+
+commit 021ff8a35bf7833d6c34459f400ea2e80857fa21
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 11:36:48 2011 +0100
+
+ iface-modem: open/close secondary AT/QCDM ports during enable/disable
+
+ src/mm-iface-modem.c | 67
+ +++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 61 insertions(+), 6 deletions(-)
+
+commit be7cee24f3fd8c21245dd6c5c8c53bf95a8a1d2f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 11:34:58 2011 +0100
+
+ iface-modem: place all tags/quarks handled together
+
+ src/mm-iface-modem.c | 73
+ +++++++++++++++++++++++++++-------------------------
+ 1 file changed, 38 insertions(+), 35 deletions(-)
+
+commit d28171b1db0ac5b5186ab4c1b38a0b19a8662a3f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 11:13:34 2011 +0100
+
+ broadband-modem: don't try +CGSN in CDMA-only modems
+
+ src/mm-broadband-modem.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit 0f7716887c0839515a55863397423df24fa7c2bd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 31 11:12:19 2011 +0100
+
+ iface-modem: new methods to check for specific capabilities being
+ supported
+
+ src/mm-iface-modem.c | 36 ++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 5 +++++
+ 2 files changed, 41 insertions(+)
+
+commit dd3d1c0337e54366d8da3558f05f5f4f0a572017
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 23:48:11 2011 +0100
+
+ broadband-modem: provide default implementation of MMSim creation
+
+ src/mm-broadband-modem.c | 61
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 61 insertions(+)
+
+commit ba5321adf153bed36a3328b6178e3746c17140ce
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 23:47:39 2011 +0100
+
+ iface-modem: let different SIM object creation implementations
+
+ We let objects implementing the Modem interface to provide their
+ own SIM
+ creation method. This allows plugins to subclass MMSim themselves.
+
+ src/mm-iface-modem.c | 69
+ +++++++++++++++++++++++++++++-----------------------
+ src/mm-iface-modem.h | 9 +++++++
+ 2 files changed, 47 insertions(+), 31 deletions(-)
+
+commit 7d2626ea4495ffaac5a180ae167fe264b355c990
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 23:46:28 2011 +0100
+
+ sim: new SIM path getter
+
+ src/mm-sim.c | 8 ++++++++
+ src/mm-sim.h | 2 ++
+ 2 files changed, 10 insertions(+)
+
+commit e4486fd5f0aacb0c80ee49e89f4cd188a849291d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 19:27:24 2011 +0100
+
+ base-modem: store the AT sequence context GDestroyNotify callback
+
+ src/mm-base-modem-at.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b18a801df3b0467f0c3c02eb055a7e19f8a879d5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 19:16:04 2011 +0100
+
+ libmm-common: fix build dependencies
+
+ Added proper rules in the Makefile so that those files which need the
+ glib-mkenums generated files are built always once the prerequisites
+ are all
+ ready.
+
+ Also, avoid including libmm-common.h from within source files of
+ the library.
+
+ libmm-common/Makefile.am | 7 +++++++
+ libmm-common/mm-common-bearer-properties.c | 4 ++--
+ libmm-common/mm-common-connect-properties.c | 4 ++--
+ libmm-common/mm-common-simple-properties.c | 5 +++--
+ 4 files changed, 14 insertions(+), 6 deletions(-)
+
+commit 5c1d18d15675d43d9b3bb42adf6911e03823ad88
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 18:33:21 2011 +0100
+
+ port-probe: store the task always before completing it
+
+ If we already got all needed probing results, we complete the
+ task without
+ launching any new probing, but still, we need to store it internally
+ so
+ that it's properly disposed.
+
+ src/mm-port-probe.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit 51dc93e3d50129a25985e84a4c8953392a975af6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 18:32:08 2011 +0100
+
+ manager: plug small leak
+
+ src/mm-manager.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit bf69930edee26994bce706b394718921bdb9ea56
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 17:24:14 2011 +0100
+
+ iface-modem: ensure initial allowed modes is a subset of supported
+ modes
+
+ Also make loading supported modes a mandatory method that must be
+ provided by
+ objects implementing the Modem interface.
+
+ src/mm-iface-modem.c | 35 ++++++++++++++++++++++++++++++-----
+ 1 file changed, 30 insertions(+), 5 deletions(-)
+
+commit f0c5e5145ed8fa9eaab78e794f820d5eb98ed523
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 17:09:01 2011 +0100
+
+ iface-modem-simple: include setting bands during simple Connect()
+
+ src/mm-iface-modem-simple.c | 53
+ +++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 51 insertions(+), 2 deletions(-)
+
+commit a34f51b0a5e694514a6d32dac60809303ecf9969
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 16:53:19 2011 +0100
+
+ cli: new `--set-allowed-bands'
+
+ cli/mmcli-modem.c | 85
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 84 insertions(+), 1 deletion(-)
+
+commit 6002ad1b70722c1960d9ae923150aca6c4041d2c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 16:52:58 2011 +0100
+
+ iface-modem: run checks when trying to set allowed bands
+
+ Allowed bands must be a subset of the supported bands.
+
+ src/mm-iface-modem.c | 125
+ ++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 98 insertions(+), 27 deletions(-)
+
+commit aae179463b6dab0a8e7cc25af94f67ac65b9628f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 15:39:59 2011 +0100
+
+ broadband-modem: implement default supported mode loading
+
+ Try to guess the supported modes, based on the current capabilities.
+
+ src/mm-broadband-modem.c | 55
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 55 insertions(+)
+
+commit 148025c3818b4f4f64361314056470e49a9ff2f6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 15:39:19 2011 +0100
+
+ cli: new `--set-allowed-modes' and `--set-preferred-modes' actions
+
+ cli/mmcli-modem.c | 128
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 126 insertions(+), 2 deletions(-)
+
+commit 1be7c274535a17ca05b8eeb7c1b0cc58029dc5dd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 15:38:55 2011 +0100
+
+ iface-modem: run checks when trying to set allowed modes
+
+ Allowed modes being set must be a subset of Supported modes.
+ Preferred mode being set must be a subset of Allowed modes.
+
+ src/mm-iface-modem.c | 105
+ ++++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 92 insertions(+), 13 deletions(-)
+
+commit 9a4940c4b20d6729cfeff52dd6ca0af3bfae7ba8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 15:37:37 2011 +0100
+
+ libmm-common: handle strings coming in capitals when building bands
+ or modes
+
+ libmm-common/mm-common-helpers.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ebbfe9cb61e95964df2b0ae52147ac30a0db86cc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 15:36:51 2011 +0100
+
+ libmm-common: print modes string with capitals for the acronyms
+
+ libmm-common/mm-common-helpers.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 15079bcb2d0b916c2077c18527b82170ce54b52b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 15:35:32 2011 +0100
+
+ api,header: fix flags to ensure they all start with 1
+
+ include/ModemManager-enums.h | 42
+ +++++++++++++++++++++---------------------
+ 1 file changed, 21 insertions(+), 21 deletions(-)
+
+commit cc55734a01566e73f214526f124b87baa548e19d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 15:35:01 2011 +0100
+
+ api,header: don't use '1G' for modem modes, use 'CS' instead.
+
+ 1G is not the proper way to define GSM, which is already 2G. Use
+ CS instead,
+ which will include all circuit-switched broadband modem technologies.
+
+ include/ModemManager-enums.h | 2 +-
+ libmm-common/mm-common-helpers.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit a71e27af961b356ad2a80ebbce2c3036767eadfa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 12:29:38 2011 +0100
+
+ iface-modem-3gpp: setup context struct for periodic registration
+ checks
+
+ src/mm-iface-modem-3gpp.c | 81
+ +++++++++++++++++++++++++++++++----------------
+ 1 file changed, 53 insertions(+), 28 deletions(-)
+
+commit da9d070e8b738519b4828bed5a70d8d27f90acab
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 29 23:16:49 2011 +0100
+
+ iface-modem: don't run signal quality check if last update was less
+ than 15s ago
+
+ src/mm-iface-modem.c | 19 ++++++++++++++++++-
+ 1 file changed, 18 insertions(+), 1 deletion(-)
+
+commit 73eeffbd5e388034011e162dd29906e42a0b85a7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 29 23:16:14 2011 +0100
+
+ iface-modem: handle struct signal quality check/update contexts as
+ object data
+
+ src/mm-iface-modem.c | 169
+ +++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 103 insertions(+), 66 deletions(-)
+
+commit d05a7a0a3edc99b4deef527aa91a5a814c1bf409
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 29 22:24:55 2011 +0100
+
+ broadband-modem: handle signal quality changes reported by unsolicited
+ CIEV
+
+ src/mm-broadband-modem.c | 131
+ ++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 89 insertions(+), 42 deletions(-)
+
+commit b0d3f5939751ad09a51c3dcd6c9bb6446d743ff1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 29 22:24:31 2011 +0100
+
+ base-modem: fully ignore CIEV messages on startup
+
+ src/mm-base-modem.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit d5e6776a525940bb7be72c9710aee049d242faab
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 29 22:24:03 2011 +0100
+
+ modem-helpers: new common regex for CIEV unsolicited messages
+
+ src/mm-modem-helpers.c | 11 +++++++++++
+ src/mm-modem-helpers.h | 2 ++
+ 2 files changed, 13 insertions(+)
+
+commit d9338049c6213ef165d7d2dc8a73c7fcb3c82921
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 29 21:46:25 2011 +0100
+
+ broadband-modem: implement indicators setup and unsolicited event
+ handling
+
+ src/mm-broadband-modem.c | 264
+ ++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 206 insertions(+), 58 deletions(-)
+
+commit 953be3e81da7e0b6f9b64b19516b83098efda949
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 29 11:31:27 2011 +0100
+
+ iface-modem: new methods to setup/cleanup unsolicited result codes
+
+ src/mm-iface-modem.c | 128
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 24 ++++++++++
+ 2 files changed, 152 insertions(+)
+
+commit b29acbb239c3a08f3c27601109d5354bb1b35530
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 29 11:46:40 2011 +0100
+
+ iface-modem: renamed `modem_charset' to `setup_charset'
+
+ And changed broadband modem accordingly.
+
+ src/mm-broadband-modem.c | 30 +++++++++++++++---------------
+ src/mm-iface-modem.c | 16 ++++++++--------
+ src/mm-iface-modem.h | 4 ++--
+ 3 files changed, 25 insertions(+), 25 deletions(-)
+
+commit 7b506bc8a6931568edc97b444e64e620b13c671b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 29 11:37:52 2011 +0100
+
+ iface-modem: renamed `modem_flow_control' to `setup_flow_control'
+
+ Changed broadband modem and Cinterion plugin accordingly.
+
+ plugins/mm-broadband-modem-cinterion.c | 14 +++++++-------
+ src/mm-broadband-modem.c | 12 ++++++------
+ src/mm-iface-modem.c | 10 +++++-----
+ src/mm-iface-modem.h | 4 ++--
+ 4 files changed, 20 insertions(+), 20 deletions(-)
+
+commit 08b7620b7ab690c2b8f63247452b18adce7ae704
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 20:59:01 2011 +0100
+
+ broadband-modem: implement on demand signal quality checks with
+ AT+CIND?
+
+ src/mm-broadband-modem.c | 128
+ ++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 120 insertions(+), 8 deletions(-)
+
+commit e06d42c868745af69f63b8f9ca418b07b70602de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 20:33:08 2011 +0100
+
+ broadband-modem: implement on demand signal quality checks with AT+CSQ
+
+ Still need to implement CIND-based signal quality checks.
+
+ src/mm-broadband-modem.c | 119
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 119 insertions(+)
+
+commit f0433a4dda362a5d8658c154abf356f1fc5f5c82
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 20:31:48 2011 +0100
+
+ iface-modem: setup periodic signal quality checks
+
+ src/mm-iface-modem.c | 370
+ ++++++++++++++++++++++++++++++---------------------
+ src/mm-iface-modem.h | 5 +-
+ 2 files changed, 221 insertions(+), 154 deletions(-)
+
+commit eb1c7afc8cd86f3c55b850bf2c4a0d16d5db15fb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 15:08:39 2011 +0100
+
+ cli: implement `--simple-status'
+
+ cli/mmcli-modem-simple.c | 114
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 112 insertions(+), 2 deletions(-)
+
+commit fa5064ece35a1af500d03b1709f793b8432f6f4b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 14:43:32 2011 +0100
+
+ libmm-glib: implement handling of GetStatus() calls in the Simple
+ interface
+
+ libmm-glib/mm-modem-simple.c | 50
+ ++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-simple.h | 11 ++++++++++
+ 2 files changed, 61 insertions(+)
+
+commit f58a23c9c20c1a4a4a1987e8e0d9b3d988eaee59
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 14:30:49 2011 +0100
+
+ libmm-glib: new interface to handle simple status properties
+
+ libmm-glib/Makefile.am | 3 +
+ libmm-glib/mm-modem-simple-status-properties.c | 78
+ ++++++++++++++++++++++++++
+ libmm-glib/mm-modem-simple-status-properties.h | 44 +++++++++++++++
+ 3 files changed, 125 insertions(+)
+
+commit 1745d8c9ebf00dc06ff4f2172d754b54c2ec9fbc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 14:30:20 2011 +0100
+
+ libmm-common: let the simple properties object be built from a
+ dictionary
+
+ libmm-common/mm-common-simple-properties.c | 64
+ ++++++++++++++++++++++++++++++
+ libmm-common/mm-common-simple-properties.h | 3 ++
+ 2 files changed, 67 insertions(+)
+
+commit 0edf4037349ab087925de1e47faf609c78f225e8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 14:29:34 2011 +0100
+
+ build: fix libmm-glib library headers
+
+ Remove headers from libmm-common, and include all public headers.
+
+ libmm-glib/Makefile.am | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 045d0c2df8492c23782a6944740f80690aec6786
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 14:02:00 2011 +0100
+
+ broadband-modem: run property bindings for simple status on each
+ interface
+
+ Once an interface gets initialized, we run the property binding
+ method in the
+ interface in order to get the simple properties bound.
+
+ src/mm-broadband-modem.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+commit 2eb3dbb010c743f196c0e5e1a7127b333a0627d0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 14:00:30 2011 +0100
+
+ iface-modem-3gpp: implement property binding for the simple status
+
+ src/mm-iface-modem-3gpp.c | 29 +++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 4 ++++
+ 2 files changed, 33 insertions(+)
+
+commit 0c009a2c4aad1ccbc6a74044750a4ea5d49c4061
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 14:00:15 2011 +0100
+
+ iface-modem: implement property binding for the simple status
+
+ src/mm-iface-modem.c | 110
+ +++++++++++++++++++++++++++++++--------------------
+ src/mm-iface-modem.h | 3 ++
+ 2 files changed, 71 insertions(+), 42 deletions(-)
+
+commit 93880155f0e38b54a0886c7cebb05075293c86f4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 13:59:48 2011 +0100
+
+ iface-modem-simple: implement GetStatus()
+
+ src/mm-iface-modem-simple.c | 28 +++++++++++++++++++++++++---
+ src/mm-iface-modem-simple.h | 3 ++-
+ 2 files changed, 27 insertions(+), 4 deletions(-)
+
+commit ba1a448717d29885492ac1e9644df19324e7bfd0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 13:58:16 2011 +0100
+
+ api,dbus: improve GetStatus() documentation in the Simple interface
+
+ * We will also return 'registration-state' in 3GPP networks
+ * Specified that 'operator-code' and 'operator-name' are only set if
+ registered in a 3GPP network.
+
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 22
+ ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+commit 111cd56a2bf25a76e5634807f393e8a9f5b04bbc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 13:49:32 2011 +0100
+
+ libmm-common: new helper object to handle simple properties from
+ all interfaces
+
+ libmm-common/Makefile.am | 3 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-common-simple-properties.c | 361
+ +++++++++++++++++++++++++++++
+ libmm-common/mm-common-simple-properties.h | 71 ++++++
+ 4 files changed, 436 insertions(+)
+
+commit b0272444cbafe3c845790e8c3a73be4c13b5862e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 13:48:27 2011 +0100
+
+ libmm-common: new helpers to work with bands arrays
+
+ libmm-common/mm-common-helpers.c | 92
+ +++++++++++++++++++++++++++++++---------
+ libmm-common/mm-common-helpers.h | 13 ++++--
+ 2 files changed, 82 insertions(+), 23 deletions(-)
+
+commit 0cdb293452cb62830326e465e521830914b705bf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 16:35:49 2011 +0100
+
+ cli: new `simple-disconnect' command
+
+ This command doesn't expect any argument, it will disconnect all
+ available
+ bearers. You can disconnect specific bearers using `--bearer' and
+ `--disconnect'.
+
+ cli/mmcli-modem-simple.c | 63
+ ++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 61 insertions(+), 2 deletions(-)
+
+commit dd4b073e089c833609aea5b0da0bc65b41f5a91b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 16:34:09 2011 +0100
+
+ libmm-glib: handle simple Disconnect()
+
+ libmm-glib/mm-modem-simple.c | 42
+ +++++++++++++++++++++++++++++++++++++++++-
+ libmm-glib/mm-modem-simple.h | 22 ++++++++++++----------
+ 2 files changed, 53 insertions(+), 11 deletions(-)
+
+commit adcc33d0eace99c4f0990cb69d714a31dc2603eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 16:05:35 2011 +0100
+
+ iface-modem-simple: implement Disconnect()
+
+ src/mm-iface-modem-simple.c | 117
+ ++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 114 insertions(+), 3 deletions(-)
+
+commit e435deb2ba6ca3309a2aaeee59bd358a2b594b4e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 15:34:00 2011 +0100
+
+ iface-modem-simple: implement bearer creation and connection during
+ Connect()
+
+ src/mm-iface-modem-simple.c | 68
+ ++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 61 insertions(+), 7 deletions(-)
+
+commit 4ccc00fc6d333e16683f50941ed708acee56d36f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 15:33:33 2011 +0100
+
+ iface-modem: return a MMBearer reference when creating a new bearer
+
+ Not just the bearer path.
+
+ src/mm-iface-modem.c | 67
+ +++++++++++++++++++++++++++++-----------------------
+ src/mm-iface-modem.h | 15 ++++++------
+ 2 files changed, 45 insertions(+), 37 deletions(-)
+
+commit b232cc4f111ac449aca33c41d47789344cd5dcbd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 15:32:44 2011 +0100
+
+ bearer: allow launching connection not only via DBus
+
+ src/mm-bearer.c | 109
+ +++++++++++++++++++++++++++++++++++++++++---------------
+ src/mm-bearer.h | 8 +++++
+ 2 files changed, 88 insertions(+), 29 deletions(-)
+
+commit b37c951cb1a447d0c6b8f8988da98fac8b9de223
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 15:32:14 2011 +0100
+
+ bearer-list: new method to remove all existing bearers
+
+ src/mm-bearer-list.c | 19 ++++++++++++++-----
+ src/mm-bearer-list.h | 1 +
+ 2 files changed, 15 insertions(+), 5 deletions(-)
+
+commit 93732cf0757b7320f371ce0ac9681b95b5b98e73
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 14:36:54 2011 +0100
+
+ bearers: base bearer creation in the new bearer properties object
+
+ src/mm-bearer-3gpp.c | 27 ++++++------
+ src/mm-bearer-3gpp.h | 5 +--
+ src/mm-bearer.c | 34 +++------------
+ src/mm-bearer.h | 6 +--
+ src/mm-broadband-modem.c | 11 +++--
+ src/mm-iface-modem-3gpp.c | 70 ++++---------------------------
+ src/mm-iface-modem-3gpp.h | 15 +++----
+ src/mm-iface-modem.c | 105
+ +++++++++++++++++++++++++++++++++++++---------
+ src/mm-iface-modem.h | 11 ++++-
+ 9 files changed, 141 insertions(+), 143 deletions(-)
+
+commit e08ce775c554ab2d4cba445cac93980273f2182a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 13:56:47 2011 +0100
+
+ libmm-common: let the connection properties use bearer properties
+ internally
+
+ Removes lots of duplicated code.
+
+ libmm-common/mm-common-bearer-properties.c | 143 +++++++++------
+ libmm-common/mm-common-bearer-properties.h | 10 ++
+ libmm-common/mm-common-connect-properties.c | 267
+ +++++++++++-----------------
+ libmm-common/mm-common-connect-properties.h | 5 +
+ 4 files changed, 206 insertions(+), 219 deletions(-)
+
+commit 10a4360d83488c29abaf525ed22da20b937c9a78
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 12:11:09 2011 +0100
+
+ bearer: provide reason of why connection is forbidden
+
+ src/mm-bearer.c | 67
+ ++++++++++++++++++++++++++++++-----------------
+ src/mm-bearer.h | 19 +++++++++-----
+ src/mm-iface-modem-3gpp.c | 48 +++++++++++++++++++++------------
+ 3 files changed, 87 insertions(+), 47 deletions(-)
+
+commit 6cdc6a4f731b0b9afe959bc10bc7386ff6735607
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 11:23:41 2011 +0100
+
+ cli: use the new properties handler object in bearer
+
+ cli/mmcli-bearer.c | 31 ++++++-----
+ cli/mmcli-modem.c | 150
+ ++++++++---------------------------------------------
+ 2 files changed, 39 insertions(+), 142 deletions(-)
+
+commit fe7f71b67753a471b8119ccc5cad28d6ec8bf1f0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 10:51:23 2011 +0100
+
+ libmm-common,libmm-glib: new object to handle bearer creation
+ properties
+
+ libmm-common/Makefile.am | 3 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-common-bearer-properties.c | 368
+ +++++++++++++++++++++++++++++
+ libmm-common/mm-common-bearer-properties.h | 90 +++++++
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/mm-bearer-properties.c | 173 ++++++++++++++
+ libmm-glib/mm-bearer-properties.h | 80 +++++++
+ libmm-glib/mm-bearer.c | 169 +------------
+ libmm-glib/mm-bearer.h | 28 +--
+ libmm-glib/mm-modem.c | 71 ++----
+ libmm-glib/mm-modem.h | 20 +-
+ 11 files changed, 750 insertions(+), 255 deletions(-)
+
+commit 8ff310be28450c780e63d12aef0289da601d0fa6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 27 10:17:34 2011 +0100
+
+ iface-modem-simple: use the new connect properties object
+
+ src/mm-iface-modem-simple.c | 98
+ ++++++++++++---------------------------------
+ 1 file changed, 26 insertions(+), 72 deletions(-)
+
+commit 3c90793f225c697b4fef7da23fcac9bd47a34be2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 21:31:27 2011 +0100
+
+ cli: use the new properties handler object in simple Connect()
+
+ cli/mmcli-modem-simple.c | 130
+ ++++-------------------------------------------
+ 1 file changed, 11 insertions(+), 119 deletions(-)
+
+commit dcecb94631935584919c2cce6a814b78772ac0aa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 21:31:07 2011 +0100
+
+ libmm-common,libmm-glib: new object to handle properties in simple
+ Connect()
+
+ Instead of using type unsafe properties passed to the connect()
+ call, we build
+ a new object which does the handling of the properties to be passed.
+
+ .gitignore | 4 +-
+ libmm-common/Makefile.am | 3 +
+ libmm-common/libmm-common.h | 1 +
+ libmm-common/mm-common-connect-properties.c | 580
+ ++++++++++++++++++++++++
+ libmm-common/mm-common-connect-properties.h | 116 +++++
+ libmm-common/mm-common-helpers.c | 74 ++-
+ libmm-common/mm-common-helpers.h | 8 +-
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/mm-modem-simple-connect-properties.c | 123 +++++
+ libmm-glib/mm-modem-simple-connect-properties.h | 71 +++
+ libmm-glib/mm-modem-simple.c | 86 +---
+ libmm-glib/mm-modem-simple.h | 21 +-
+ 12 files changed, 983 insertions(+), 106 deletions(-)
+
+commit 034381250277751741f134123fc61c0c5405adea
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 21:29:18 2011 +0100
+
+ libmm-common: new modes string parser
+
+ libmm-common/mm-common-helpers.c | 38
+ ++++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 1 +
+ 2 files changed, 39 insertions(+)
+
+commit 6cfccb14526a6b0fa27f680cb76d7bef165cd169
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 21:29:01 2011 +0100
+
+ libmm-common,libmm-glib: new modes string builder
+
+ libmm-common/mm-common-helpers.c | 40
+ ++++++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 1 +
+ libmm-glib/mm-modem.c | 14 ++++++++++++++
+ libmm-glib/mm-modem.h | 1 +
+ 4 files changed, 56 insertions(+)
+
+commit aa3d98d0ff6ff75cdeb8106b7d9e1108eef4994e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 21:27:57 2011 +0100
+
+ libmm-common: new bands string parser
+
+ libmm-common/mm-common-helpers.c | 49
+ ++++++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 4 ++++
+ 2 files changed, 53 insertions(+)
+
+commit d81d1d9d6a05e8c0024e887158c585c0c1540633
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 21:26:23 2011 +0100
+
+ libmm-common: handle exact mask matches when building capabilities
+ string
+
+ libmm-common/mm-common-helpers.c | 34 +++++++++++++++++++++-------------
+ 1 file changed, 21 insertions(+), 13 deletions(-)
+
+commit 9868d757c75f8d06ca435ae99bc8caa8f36a00ac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 19:25:56 2011 +0100
+
+ cli: print supported/allowed bands in modem info
+
+ cli/mmcli-modem.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+commit 5e0df902721c251d6876e5ff3e509284a92676e6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 19:25:34 2011 +0100
+
+ libmm-common, libmm-glib: new bands string builder
+
+ libmm-common/mm-common-helpers.c | 32 ++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 2 ++
+ libmm-glib/mm-modem.c | 16 ++++++++++++++++
+ libmm-glib/mm-modem.h | 2 ++
+ 4 files changed, 52 insertions(+)
+
+commit b224f1889428780dc0656ed9fc60750c144a138e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 19:06:59 2011 +0100
+
+ cli: modem options check always last, even when shutting down
+
+ cli/mmcli.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9d7e3de4cd7d607dc797b8b6adf93eb75a018b6e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 18:50:16 2011 +0100
+
+ api: MMModemBand is now an enum, not flags
+
+ We don't want to handle bands as flags, in order to avoid the need
+ of 64-bits
+ for the enum. This change implies that setting allowed bands will
+ be done by
+ giving an array of uint32 values, signature "au".
+
+ cli/mmcli-modem-simple.c | 6 +-
+ include/ModemManager-enums.h | 70 ++++++-------
+ libmm-common/mm-common-helpers.c | 41 ++++++++
+ libmm-common/mm-common-helpers.h | 5 +
+ libmm-glib/mm-modem-simple.h | 2 +-
+ libmm-glib/mm-modem.c | 59 +++++++----
+ libmm-glib/mm-modem.h | 14 ++-
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 12 +--
+ new/org.freedesktop.ModemManager1.Modem.xml | 12 +--
+ src/mm-iface-modem.c | 114
+ +++++++++++++++++++--
+ src/mm-iface-modem.h | 10 +-
+ 11 files changed, 258 insertions(+), 87 deletions(-)
+
+commit a142a209eca617cd3cf4edc6436408e1e9c9f878
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Dec 24 19:53:31 2011 +0100
+
+ broadband-modem: update registration state when disabling
+
+ src/mm-broadband-modem.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 5c74c53354000968e55097a42631a202b935318b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 23 13:45:59 2011 +0100
+
+ iface-modem: don't update access tech if it didn't change
+
+ src/mm-iface-modem.c | 51
+ +++++++++++++++++++++++++++++----------------------
+ 1 file changed, 29 insertions(+), 22 deletions(-)
+
+commit 54d718efe51d4e19a6cda3c9f4bac92a4ed1496e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 23 13:13:57 2011 +0100
+
+ broadband-modem: try to simplify 3GPP network registration
+
+ When requesting to register in the network manually, we will poll
+ every once
+ in a while to check whether we got registered or not. We remove
+ the registration
+ timeout and we handle the case where it never gets registered by
+ allowing a
+ maximum number of registration checks in our request.
+
+ src/mm-broadband-modem.c | 269
+ ++++++++++++++++++++++-------------------------
+ 1 file changed, 128 insertions(+), 141 deletions(-)
+
+commit 21d3aed12536509ca3694374a2dc5abad619e577
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 22 20:44:18 2011 +0100
+
+ cli: implement actions from the Simple interface
+
+ cli/Makefile.am | 1 +
+ cli/mmcli-modem-simple.c | 319
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 ++
+ cli/mmcli.h | 8 ++
+ 4 files changed, 339 insertions(+)
+
+commit 90b4323b8a5499ac6f18e99477778f9e9c4e20ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 22 20:44:02 2011 +0100
+
+ libmm-glib: handle the Simple interface
+
+ libmm-glib/Makefile.am | 2 +
+ libmm-glib/mm-modem-simple.c | 265
+ +++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-simple.h | 79 +++++++++++++
+ libmm-glib/mm-object.c | 34 ++++++
+ libmm-glib/mm-object.h | 3 +
+ 5 files changed, 383 insertions(+)
+
+commit ab9c7d90132ea685313eaba548f897832807614e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 22 20:43:19 2011 +0100
+
+ iface-modem-simple: implement Connect()
+
+ src/mm-iface-modem-simple.c | 401
+ ++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 373 insertions(+), 28 deletions(-)
+
+commit 4387fa183cc96c7d853bddbd339fe4fecab4cb8d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 22 20:42:50 2011 +0100
+
+ broadband-modem: use new common method to check if modem is 3GPP
+
+ src/mm-broadband-modem.c | 7 +------
+ src/mm-modem-helpers.h | 6 ++++++
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+commit 473ca46ad9fda23a8c3bd9a8124e337091aeaf39
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 22 20:41:39 2011 +0100
+
+ iface-modem-3gpp: allow requesting to register internally, not just
+ via DBus
+
+ src/mm-iface-modem-3gpp.c | 59
+ +++++++++++++++++++++++++++++++++++++++--------
+ src/mm-iface-modem-3gpp.h | 9 ++++++++
+ 2 files changed, 59 insertions(+), 9 deletions(-)
+
+commit c9c94211025dd65bfec43d43019ee9366d0ec721
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 22 20:41:11 2011 +0100
+
+ iface-modem: allow setting allowed modes and bands internally,
+ not just via DBus
+
+ src/mm-iface-modem.c | 200
+ +++++++++++++++++++++++++++++++++++++--------------
+ src/mm-iface-modem.h | 22 ++++++
+ 2 files changed, 170 insertions(+), 52 deletions(-)
+
+commit 937baa1a0a39aa21008224cd9c9f67b8b7f21653
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 22 20:39:57 2011 +0100
+
+ sim: allow sending PIN code internally, not just via DBus
+
+ src/mm-sim.c | 159
+ ++++++++++++++++++++++++++++++++++++++++++-----------------
+ src/mm-sim.h | 10 +++-
+ 2 files changed, 122 insertions(+), 47 deletions(-)
+
+commit 0cb3be0618d30a1fb8c8bfd9cb47139221eb6522
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 22 20:39:27 2011 +0100
+
+ api,dbus: let Connect() return just the bearer path
+
+ Also renamed some of the properties that can be passed, trying to
+ consolidate a
+ common set of names.
+
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+commit 8a636f6b16641ca90a5b87be412713cce15af45f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 21:55:44 2011 +0100
+
+ broadband-modem: handle state checks during Enable() and Disable()
+
+ Before it was done in the interface; but we should really be doing
+ it in the
+ implementation; so that mm_base_modem_enable()/disable() also has
+ the state
+ checks.
+
+ src/mm-broadband-modem.c | 126
+ +++++++++++++++++++++++++++++++++++++++-------
+ src/mm-iface-modem.c | 127
+ ++++++-----------------------------------------
+ 2 files changed, 122 insertions(+), 131 deletions(-)
+
+commit 9a80f5816568b52ee8e159e4b5775a02b3d095cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 19:57:57 2011 +0100
+
+ broadband-modem: implement the Simple interface
+
+ src/mm-broadband-modem.c | 28 +++++++++++++++++++++++++++-
+ 1 file changed, 27 insertions(+), 1 deletion(-)
+
+commit 7ea8bf59fb1ed202320aa525c83d56e290d494fe
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 19:57:47 2011 +0100
+
+ iface-modem-simple: new interface to handle the Simple interface
+
+ src/Makefile.am | 2 +
+ src/mm-iface-modem-simple.c | 136
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-simple.h | 43 ++++++++++++++
+ 3 files changed, 181 insertions(+)
+
+commit ea934148304388f02435253f371c1af201f9116d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 19:52:03 2011 +0100
+
+ broadband-modem: shutdown 3GPP interface when disposing
+
+ src/mm-broadband-modem.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 88e8c4835b50c8967e3caa120b7cbc898a7875b7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 17:34:43 2011 +0100
+
+ cli: implement SIM related actions
+
+ cli/Makefile.am | 3 +-
+ cli/mmcli-common.c | 247 +++++++++++++++++++++++++---
+ cli/mmcli-common.h | 14 ++
+ cli/mmcli-modem.c | 62 +++----
+ cli/mmcli-sim.c | 475
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 13 +-
+ cli/mmcli.h | 8 +
+ 7 files changed, 762 insertions(+), 60 deletions(-)
+
+commit 241c29491873d527ac44272cbf4214e955ec5be6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 15:27:10 2011 +0100
+
+ cli: include 3GPP related stuff when printing modem info
+
+ cli/mmcli-common.c | 13 +++++++++++++
+ cli/mmcli-common.h | 1 +
+ cli/mmcli-modem.c | 19 +++++++++++++++++++
+ 3 files changed, 33 insertions(+)
+
+commit 6583bd61e13e842ab6b016cb0947432f1e3aea26
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 15:16:07 2011 +0100
+
+ cli: implement 3GPP related actions
+
+ cli/Makefile.am | 1 +
+ cli/mmcli-common.c | 13 +++
+ cli/mmcli-common.h | 9 +-
+ cli/mmcli-modem-3gpp.c | 298
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 ++
+ cli/mmcli.h | 8 ++
+ 6 files changed, 336 insertions(+), 4 deletions(-)
+
+commit 73ca5dcb24c131d3e3a99a89dcd6f1329c9d90f4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 15:15:28 2011 +0100
+
+ cli: don't recheck group options if already done
+
+ cli/mmcli-bearer.c | 7 ++++++-
+ cli/mmcli-manager.c | 7 ++++++-
+ cli/mmcli-modem.c | 7 ++++++-
+ 3 files changed, 18 insertions(+), 3 deletions(-)
+
+commit 8fc2050e768157076dfa5445d52541904602e832
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 15:14:40 2011 +0100
+
+ libmm-glib: provide a list of opaque structs with network info in
+ scan reply
+
+ libmm-glib/mm-modem-3gpp.c | 138
+ +++++++++++++++++++++++++++++++++++++++++----
+ libmm-glib/mm-modem-3gpp.h | 31 ++++++----
+ 2 files changed, 145 insertions(+), 24 deletions(-)
+
+commit 6cce67a45103052b2adba360ba5d438923fa907c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 15:14:10 2011 +0100
+
+ modem-helpers: MMModemAccessTechnology is flags, not enum
+
+ src/mm-modem-helpers.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 16f2b7bdb8ffdb84e7bd142bde91c7670c63a3e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 13:05:25 2011 +0100
+
+ cli: specify common options in a new group
+
+ Actions on modems from specific interfaces, like 3GPP, will also
+ need the modem
+ to be specified.
+
+ The new 'Common' option group will handle all options to specify
+ objects.
+
+ cli/mmcli-bearer.c | 11 +++--------
+ cli/mmcli-common.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli-common.h | 4 ++++
+ cli/mmcli-modem.c | 13 +++++--------
+ cli/mmcli.c | 3 +++
+ 5 files changed, 59 insertions(+), 16 deletions(-)
+
+commit 265a516f42a0ff8d2b421aa199e54d779f0c153f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 12:27:14 2011 +0100
+
+ cli: add debug logs when parsing properties to create a bearer
+
+ cli/mmcli-modem.c | 26 ++++++++++++++++----------
+ 1 file changed, 16 insertions(+), 10 deletions(-)
+
+commit 9f960e986571ed4b17bc0fd3aa81bc2e82ecf5f2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 11:19:00 2011 +0100
+
+ cli: print properties used when bearer was created
+
+ cli/mmcli-bearer.c | 36 +++++++++++++++++++++++++++---------
+ 1 file changed, 27 insertions(+), 9 deletions(-)
+
+commit 215b9c1a31e182cd34c792995e08b1ea56de5507
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 11:18:46 2011 +0100
+
+ libmm-glib: allow getting properties used when the bearer was created
+
+ libmm-glib/mm-bearer.c | 175
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-bearer.h | 24 +++++++
+ 2 files changed, 199 insertions(+)
+
+commit a422f5619fbcc99dd1e14905ecad52583b168847
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 11:13:45 2011 +0100
+
+ libmm-glib: generic warning if IP config dictionary has unexpected
+ contents
+
+ libmm-glib/mm-bearer.c | 44 +++++++++++++++-----------------------------
+ libmm-glib/mm-bearer.h | 8 ++------
+ 2 files changed, 17 insertions(+), 35 deletions(-)
+
+commit dcfe2e53901a2417c822a9d3558ede5174e2e4bc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 10:30:27 2011 +0100
+
+ 3gpp: control 3GPP bearer creation in the 3GPP modem interface
+
+ And implement bearer connection allowance based on roaming status.
+
+ src/mm-bearer-3gpp.c | 57 --------------------
+ src/mm-bearer-3gpp.h | 4 +-
+ src/mm-broadband-modem.c | 40 +++++++-------
+ src/mm-iface-modem-3gpp.c | 132
+ ++++++++++++++++++++++++++++++++++++++--------
+ src/mm-iface-modem-3gpp.h | 15 ++++++
+ 5 files changed, 144 insertions(+), 104 deletions(-)
+
+commit 4c5244193278cbf3c0cd844152f6648c5cf598e0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 21 10:29:40 2011 +0100
+
+ bearer-3gpp: provide getters for the properties
+
+ src/mm-bearer-3gpp.c | 20 ++++++++++++++++++++
+ src/mm-bearer-3gpp.h | 4 ++++
+ 2 files changed, 24 insertions(+)
+
+commit 405f7c8660218d363bef10b7ae36b9374cd05b32
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 21:44:03 2011 +0100
+
+ cli: allow passing the new 'allow-roaming' in the bearer creation
+ string
+
+ cli/mmcli-modem.c | 51
+ ++++++++++++++++++++++++++++++++++++---------------
+ 1 file changed, 36 insertions(+), 15 deletions(-)
+
+commit 6f98da93100d3635b173edb1802678be03775c9e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 21:43:22 2011 +0100
+
+ libmm-glib: handle new 'allow-roaming' property when creating bearers
+
+ libmm-glib/mm-modem.c | 21 ++++++++++++++-------
+ libmm-glib/mm-modem.h | 11 ++++++-----
+ 2 files changed, 20 insertions(+), 12 deletions(-)
+
+commit e385b5b07972129488ad049224af807610cf3be7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 21:42:39 2011 +0100
+
+ api,core: new 'allow-roaming' property to be set when creating
+ a bearer
+
+ This new boolean property, applicable to 3GPP bearers, will specify
+ whether 3GPP
+ bearers are allowed to get connected when registered in a roaming
+ network.
+
+ new/org.freedesktop.ModemManager1.Bearer.xml | 2 +-
+ new/org.freedesktop.ModemManager1.Modem.xml | 14 ++++---
+ src/mm-bearer-3gpp.c | 59
+ ++++++++++++++++++++++------
+ src/mm-bearer-3gpp.h | 10 +++--
+ src/mm-bearer.c | 19 ++++++---
+ 5 files changed, 74 insertions(+), 30 deletions(-)
+
+commit fdd05ee977479206774627a38e57a002146787c6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 19:14:46 2011 +0100
+
+ cli: on modem actions creating/listing bearers, just print bearer path
+
+ cli/mmcli-modem.c | 78
+ +++----------------------------------------------------
+ 1 file changed, 4 insertions(+), 74 deletions(-)
+
+commit a7b414e8a9976c3030f8c0bf61be316c6230103c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 18:49:48 2011 +0100
+
+ cli: report access technologies in use by the modem
+
+ cli/mmcli-modem.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+commit 52c5f6051bb12800194023afdb2a01109c035a8e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 18:49:23 2011 +0100
+
+ libmm-glib: new helper method to build a string with access
+ technologies
+
+ libmm-glib/mm-modem.c | 14 ++++++++++++++
+ libmm-glib/mm-modem.h | 1 +
+ 2 files changed, 15 insertions(+)
+
+commit 4495ba180e9d39ff8ae113387cc69eb3004b5612
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 18:48:54 2011 +0100
+
+ core: implement Access Technology reporting
+
+ For 3GPP modems only for now..
+
+ libmm-common/mm-common-helpers.c | 39
+ +++++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 1 +
+ src/mm-broadband-modem.c | 11 +++++++----
+ src/mm-iface-modem-3gpp.c | 26 ++++++++++++++++++++++++--
+ src/mm-iface-modem-3gpp.h | 3 ++-
+ src/mm-iface-modem.c | 37
+ +++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 5 +++++
+ 7 files changed, 115 insertions(+), 7 deletions(-)
+
+commit 516b0973318fa9cc4e928e1d47f5a40105d382b6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 18:43:43 2011 +0100
+
+ api,enums: renamed `MMModemAccessTech' to `MMModemAccessTechnology'
+
+ This one was the last enum without full name.
+
+ docs/reference/api/mm-sections.txt | 2 +-
+ include/ModemManager-enums.h | 70 ++++----
+ libmm-glib/mm-modem.c | 8 +-
+ libmm-glib/mm-modem.h | 2 +-
+ ...g.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 4 +-
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 2 +-
+ new/org.freedesktop.ModemManager1.Modem.xml | 4 +-
+ src/mm-broadband-modem.c | 4 +-
+ src/mm-iface-modem-3gpp.c | 2 +-
+ src/mm-iface-modem.c | 2 +-
+ src/mm-modem-helpers.c | 30 ++--
+ src/mm-modem-helpers.h | 4 +-
+ src/tests/test-modem-helpers.c | 198
+ ++++++++++-----------
+ 13 files changed, 166 insertions(+), 166 deletions(-)
+
+commit b6a3ccd5781da0d2d2dbfa404a3c643ae9e8bf13
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 18:34:06 2011 +0100
+
+ modem-helpers: renamed 3GPP registration related helpers with
+ `mm_3gpp' prefix
+
+ src/mm-base-modem.c | 4 ++--
+ src/mm-broadband-modem.c | 40
+ ++++++++++++++++++++--------------------
+ src/mm-modem-helpers.c | 18 +++++++++---------
+ src/mm-modem-helpers.h | 20 +++++++++-----------
+ src/tests/test-modem-helpers.c | 10 +++++-----
+ 5 files changed, 45 insertions(+), 47 deletions(-)
+
+commit e2e0812272828a1f374233522972f19ca247a2e2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 18:32:02 2011 +0100
+
+ api,dbus: renamed `AccessTechnology' to `AccessTechnologies'
+
+ We are reporting a bitmask of flags, not just one value.
+
+ libmm-glib/mm-modem.c | 4 ++--
+ libmm-glib/mm-modem.h | 2 +-
+ new/org.freedesktop.ModemManager1.Modem.xml | 10 +++++-----
+ src/mm-iface-modem.c | 2 +-
+ 4 files changed, 9 insertions(+), 9 deletions(-)
+
+commit ff60251733c9fb5001071c9834839c44a48ef066
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 18:29:42 2011 +0100
+
+ api,enums: let MMModemAccessTech be flags instead of enum
+
+ We should be able to report more than one access technology used at
+ a given
+ time.
+
+ include/ModemManager-enums.h | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+commit e86c8554cc60f8349cd121a3b5b46b0b800a8f04
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 16:05:40 2011 +0100
+
+ broadband-modem: bearer connection allowance handled in ifaces
+
+ src/mm-broadband-modem.c | 14 --------------
+ src/mm-iface-modem-3gpp.c | 1 +
+ 2 files changed, 1 insertion(+), 14 deletions(-)
+
+commit ddac446e86319156eb520da159d2a661047afd4e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 16:04:24 2011 +0100
+
+ iface-modem-3gpp: disable periodic registration checks
+
+ src/mm-iface-modem-3gpp.c | 30 ++++++++++++++++++------------
+ 1 file changed, 18 insertions(+), 12 deletions(-)
+
+commit 4b27149cf4170d92a5ae91d3f36107270695828c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 15:02:33 2011 +0100
+
+ iface-modem-3gpp: when disabling, disconnect all 3GPP bearers
+
+ src/mm-iface-modem-3gpp.c | 134
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 134 insertions(+)
+
+commit 855824d7da3604e53723e6df428dc55f4f686564
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 15:02:16 2011 +0100
+
+ bearer: allow disconnection also with internal requests
+
+ src/mm-bearer.c | 87
+ ++++++++++++++++++++++++++++++++++++++++++++-------------
+ src/mm-bearer.h | 7 +++++
+ 2 files changed, 75 insertions(+), 19 deletions(-)
+
+commit ee9cbbfcfb5b77d84f0c096317dc268226149a42
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 13:57:11 2011 +0100
+
+ bearer,bearer-3gpp: implement connection request cancellation
+
+ We allow connection requests to get cancelled, either via DBus calls
+ or any
+ other method.
+
+ src/mm-bearer-3gpp.c | 54 ++++++++++++
+ src/mm-bearer.c | 228
+ +++++++++++++++++++++++++++++++++++++++++++++------
+ src/mm-bearer.h | 1 +
+ 3 files changed, 256 insertions(+), 27 deletions(-)
+
+commit 96defb4cd2ca24e8b76e63c1f74d14b3abcd6d3a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 13:55:54 2011 +0100
+
+ iface-modem-3gpp: if we get unregistered ensure we have disconnected
+ 3GPP bearers
+
+ It is actually very likely that we get automatically the bearer
+ disconnected when
+ we get unregistered in the network, but anyway.
+
+ src/mm-iface-modem-3gpp.c | 57
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 57 insertions(+)
+
+commit e71a9ef971119e342afffaa9867f6011f9e9ce5a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 10:45:54 2011 +0100
+
+ iface-modem: handle connection related states
+
+ Moved from broadband-modem. All this logic is really common not
+ specific to the
+ generic implementation.
+
+ src/mm-broadband-modem.c | 61 ----------------------------------------
+ src/mm-iface-modem.c | 72
+ ++++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 70 insertions(+), 63 deletions(-)
+
+commit dd2006797565dce831d5e9fd891ac1bd75fa0a75
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Dec 20 10:34:36 2011 +0100
+
+ iface-modem: while connected, ignore registration state changes
+
+ src/mm-iface-modem-3gpp.c | 4 ----
+ src/mm-iface-modem.c | 33 ++++++++++++++++++++++++++++++++-
+ 2 files changed, 32 insertions(+), 5 deletions(-)
+
+commit 534aeb0c8ac83126048353b8f30128cd6f1cd92a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 20:40:54 2011 +0100
+
+ cli: always keep a MMManager around
+
+ In order to receive signals in the GDBusObjects retrieved from the
+ GDBusObjectManagerClient, we need to keep a reference of the client
+ around.
+
+ cli/mmcli-bearer.c | 15 +++++-
+ cli/mmcli-common.c | 146
+ ++++++++++++++++++++++++++++++++++++++---------------
+ cli/mmcli-common.h | 14 +++--
+ cli/mmcli-modem.c | 11 ++--
+ 4 files changed, 134 insertions(+), 52 deletions(-)
+
+commit cd6caf61061e18736ecf0ddd4834c1ad1fbcb7c2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 19:05:18 2011 +0100
+
+ broadband-modem: handle connection related states in the modem
+
+ As a modem can have more than one bearer, the mapping between the
+ bearer state
+ and the modem state is not direct.
+
+ src/mm-broadband-modem.c | 61
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 61 insertions(+)
+
+commit 9962f5cbde7e16a93897846a209d990b362b6942
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 18:42:49 2011 +0100
+
+ bearer: new `bearer-state' property
+
+ .gitignore | 2 ++
+ src/Makefile.am | 18 ++++++++++++++++++
+ src/mm-bearer.c | 56
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-bearer.h | 10 ++++++++++
+ 4 files changed, 82 insertions(+), 4 deletions(-)
+
+commit cadc27ca0ee20fd312a73751a298c4227e753036
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 18:20:12 2011 +0100
+
+ core,libmm-glib: include ony `libmm-common.h'
+
+ Don't include one by one all the headers from libmm-common, just
+ include the
+ global `libmm-common.h' which includes all the others.
+
+ libmm-glib/libmm-glib.h | 7 +++++--
+ src/mm-bearer-3gpp.c | 4 +---
+ src/mm-bearer-list.c | 4 +---
+ src/mm-bearer.c | 5 +----
+ src/mm-broadband-modem.c | 4 +---
+ src/mm-iface-modem-3gpp.c | 5 +----
+ src/mm-iface-modem.c | 6 +-----
+ src/mm-modem-helpers.c | 3 +--
+ src/mm-sim.c | 6 +-----
+ 9 files changed, 13 insertions(+), 31 deletions(-)
+
+commit 60819197441e191c662f93da2691c4cb1a13385e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 18:08:24 2011 +0100
+
+ libmm-common: make it installable
+
+ We'll install libmm-common and its headers, which will be used
+ by libmm-glib
+ and the ModemManager daemon.
+
+ cli/Makefile.am | 1 +
+ configure.ac | 6 +++++-
+ libmm-common/Makefile.am | 21 ++++++++++++++++++---
+ libmm-common/libmm-common.h | 34 ++++++++++++++++++++++++++++++++++
+ 4 files changed, 58 insertions(+), 4 deletions(-)
+
+commit d22def9309d4051ebd82b76f6704f65ad39d98b5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 17:24:33 2011 +0100
+
+ build: let enum and error templates be completely generic
+
+ Don't include anything in the templates specific to the file to be
+ built, like
+ #ifdef guards in headers or #include in sources.
+
+ build-aux/Makefile.am | 8 ++++----
+ ...-enums-types.c.template => mm-enums-template.c} | 2 --
+ ...-enums-types.h.template => mm-enums-template.h} | 3 ---
+ ...rrors-types.c.template => mm-errors-template.c} | 3 ---
+ ...rrors-types.h.template => mm-errors-template.h} | 6 +-----
+ libmm-common/Makefile.am | 22
+ ++++++++++++++--------
+ 6 files changed, 19 insertions(+), 25 deletions(-)
+
+commit 4b8b99ee96f16e3f2d623cb896a4d1bf7f12820f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 16:25:31 2011 +0100
+
+ bearer-3gpp: set ip method when connecting the bearer
+
+ Currently, assume PPP when we have an AT data port, and DHCP
+ otherwise.
+
+ src/mm-bearer-3gpp.c | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit 85b14b0008f217c3124e381c998fcf7ead6d999b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 14:57:44 2011 +0100
+
+ cli: new Bearer related options
+
+ cli/Makefile.am | 6 +-
+ cli/mmcli-bearer.c | 353
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 11 ++
+ cli/mmcli.h | 8 ++
+ 4 files changed, 374 insertions(+), 4 deletions(-)
+
+commit 9e1b2105fb9b7454774a0414fa3f5958d79e8211
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 14:05:59 2011 +0100
+
+ cli: default to showing modem info if no action specified
+
+ cli/mmcli-modem.c | 17 +++++++++--------
+ cli/mmcli.c | 5 ++++-
+ 2 files changed, 13 insertions(+), 9 deletions(-)
+
+commit c2e4d9cea709d8175e475359a2a611d3b3dcf0e4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 13:03:48 2011 +0100
+
+ cli: new helper to look for specific MMBearer objects
+
+ cli/mmcli-common.c | 196
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli-common.h | 9 +++
+ 2 files changed, 205 insertions(+)
+
+commit 803bc339cf5698040c5db76886398febc6e624e7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 12:29:40 2011 +0100
+
+ cli: implement bearer creating and listing based on the new MMBearer
+
+ cli/mmcli-modem.c | 126
+ +++++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 102 insertions(+), 24 deletions(-)
+
+commit 0dec4b447e40031b415151c7fe41a6b5e2e0099c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 12:29:12 2011 +0100
+
+ cli: don't unref cancellable if already done
+
+ cli/mmcli.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 55654d5b462f59ec5d6d77de759a1b7012f3d5c6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 12:28:49 2011 +0100
+
+ cli: new helper to get name of MMBearerIpMethod
+
+ cli/mmcli-common.c | 13 +++++++++++++
+ cli/mmcli-common.h | 7 ++++---
+ 2 files changed, 17 insertions(+), 3 deletions(-)
+
+commit dae3f9570422fd14f630fa1c060bc26e0f27481c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 11:59:16 2011 +0100
+
+ libmm-glib: get a list of MMBearer objects when listing bearers in
+ the MMModem
+
+ libmm-glib/mm-modem.c | 222
+ ++++++++++++++++++++++++++++++++++++++++----------
+ libmm-glib/mm-modem.h | 4 +-
+ 2 files changed, 181 insertions(+), 45 deletions(-)
+
+commit c6d7fb893afa1ff10cc732105618070ad38bb488
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 10:06:27 2011 +0100
+
+ libmm-glib: get the MMBearer object when creating it in the MMModem
+
+ libmm-glib/mm-modem.c | 166
+ +++++++++++++++++++++++++++++++++++++-------------
+ libmm-glib/mm-modem.h | 29 ++++-----
+ 2 files changed, 139 insertions(+), 56 deletions(-)
+
+commit dad4bb3493d0eca6bc629a350d772bdbb4ef0837
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 19 10:05:32 2011 +0100
+
+ libmm-glib: new MMBearer object
+
+ libmm-glib/Makefile.am | 4 +-
+ libmm-glib/mm-bearer.c | 545
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-bearer.h | 96 +++++++++
+ 3 files changed, 644 insertions(+), 1 deletion(-)
+
+commit b7960f82acce3093d47f1330a00405be9c25443b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 22:10:21 2011 +0100
+
+ manager: don't try to export already exported modems
+
+ src/mm-manager.c | 42 ++++++++++++++++++++++++++----------------
+ 1 file changed, 26 insertions(+), 16 deletions(-)
+
+commit 7e99d9415bafa0cfba8f9260354c9b3b5ae31b14
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 21:28:33 2011 +0100
+
+ broadband-modem: allow 3GPP bearer connection if registered in
+ 3GPP network
+
+ src/mm-broadband-modem.c | 53
+ ++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 42 insertions(+), 11 deletions(-)
+
+commit 770ea5310987f89154b7cf14eed900bcecd0ca28
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 21:28:09 2011 +0100
+
+ bearer: fail connecting try if not allowed to connect
+
+ src/mm-bearer.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit 3d1d4c42e5a2774251a88f8a01bfe5a964f0824f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 21:27:36 2011 +0100
+
+ bearer-list: allow iterating over the bearers in the list
+
+ src/mm-bearer-list.c | 10 ++++++++++
+ src/mm-bearer-list.h | 6 ++++++
+ 2 files changed, 16 insertions(+)
+
+commit 00b2e2d2dd72e920fae5b1d6f12a4158a775d604
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 20:41:49 2011 +0100
+
+ bearer: new property to define whether the bearer is allowed to
+ connect
+
+ Modems will allow bearers to get connected once they are registered
+ in the
+ network.
+
+ src/mm-bearer.c | 32 +++++++++++++++++++++++++++++++-
+ src/mm-bearer.h | 10 +++++++---
+ 2 files changed, 38 insertions(+), 4 deletions(-)
+
+commit 48f0061355780dfb6ebc61c0df94abd338872846
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 20:25:48 2011 +0100
+
+ bearer-3gpp: implement 3GPP-specific bearer
+
+ Implement basic functionality of a 3GPP based bearer, including
+ connnection and
+ disconnection.
+
+ src/Makefile.am | 2 +
+ src/mm-bearer-3gpp.c | 869
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-bearer-3gpp.h | 63 ++++
+ src/mm-bearer.c | 305 +++++------------
+ src/mm-bearer.h | 35 +-
+ src/mm-broadband-modem.c | 12 +-
+ 6 files changed, 1041 insertions(+), 245 deletions(-)
+
+commit c855e5be2da80bdb3b6226073d8782a7154945fa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 20:24:19 2011 +0100
+
+ iface-modem: minor fix, remove unneeded variables in the
+ initialization context
+
+ src/mm-iface-modem.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit c133c3284d03afb537c6467fc322d8174eb91fb4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 20:23:35 2011 +0100
+
+ base-modem: allow retrieving non-connected data ports
+
+ Bearers will ask for data ports that can be used for
+ connections. Right now,
+ only one data port is expected to be handled, but we don't impose any
+ restriction in the API.
+
+ src/mm-base-modem.c | 16 +++++++++++++---
+ src/mm-base-modem.h | 1 +
+ 2 files changed, 14 insertions(+), 3 deletions(-)
+
+commit 88077cbbe83a8d6beaed92a3277cab3ba0e429d3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 20:21:57 2011 +0100
+
+ iface-modem: treat several SIM related errors as fatal
+
+ If the SIM is not inserted or the modem reports SIM failures, just
+ abort the
+ initialization process. We don't want to export modems which cannot
+ be used.
+
+ I know at least of one modem (wavecom) which supports SIM insertion
+ while
+ connected, but being such a corner case, probably not worth
+ supporting it.
+
+ src/mm-iface-modem.c | 22 +++++++++++++++++++++-
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+
+commit 5f4655c57415e5fe28581fbe6e29f334d1517c17
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 15 19:57:18 2011 +0100
+
+ helpers: implement CGDCONT reply parsing
+
+ New method to parse the PDP query reply, and build a list of structs
+ with the
+ found info.
+
+ src/mm-modem-helpers.c | 77
+ ++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 12 ++++++-
+ src/tests/test-modem-helpers.c | 53 +++++++++++++++++++++++++++++
+ 3 files changed, 141 insertions(+), 1 deletion(-)
+
+commit d7f4a5e134d5bb2e02d29e1b9cfbed1bf9261d39
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 12 20:38:17 2011 +0100
+
+ bearer: populate Properties used when creating the Bearer
+
+ src/mm-bearer.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 473f45cc99c0475c13de095dec1ca282ced02a11
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 12 20:37:40 2011 +0100
+
+ api: expose in the Bearer the dict of properties used when creating it
+
+ new/org.freedesktop.ModemManager1.Bearer.xml | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 776cc66e2c8cd366a9179d66cd193a1ea09a76ea
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 12 20:22:51 2011 +0100
+
+ iface-modem: implement all bearer list operations in the interface
+
+ Bearer list operations, except for Bearer creation, are so generic
+ that the
+ interface itself can implement it for every object implementing
+ the interface.
+ This implementation is based on a new MMBearerList object.
+
+ src/Makefile.am | 2 +
+ src/mm-bearer-list.c | 264
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-bearer-list.h | 68 ++++++++++++
+ src/mm-broadband-modem.c | 148 ++++----------------------
+ src/mm-iface-modem.c | 218 +++++++++++++++++++-------------------
+ src/mm-iface-modem.h | 42 +-------
+ 6 files changed, 468 insertions(+), 274 deletions(-)
+
+commit 0793522d287ffd8d37886d927645743d0fec77a0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 12 20:18:05 2011 +0100
+
+ errors: new TOO_MANY and NOT_FOUND core errors
+
+ include/ModemManager-errors.h | 4 ++++
+ libmm-common/mm-errors-quarks.c | 2 ++
+ 2 files changed, 6 insertions(+)
+
+commit 667e3edfbd62d4b2f9ceb90eaaf38571441eaf36
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 12 17:54:14 2011 +0100
+
+ bearer: ensure only valid bearers are exported
+
+ We setup bearer export in DBus only if the input properties are
+ the expected
+ ones.
+
+ src/mm-bearer.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit e00d3127d5589dd1ae72e87f4330ce7502ea0921
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Dec 11 19:48:29 2011 +0100
+
+ cli: implement bearer creation, deletion and listing
+
+ cli/mmcli-modem.c | 281
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 281 insertions(+)
+
+commit 6a07753ba0647336503b129980054597db5958f2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Dec 11 19:48:08 2011 +0100
+
+ libmm-glib: handle bearer creation, deletion and listing
+
+ libmm-glib/mm-modem.c | 235
+ ++++++++++++++++++++++++++++++++++++++++++++------
+ libmm-glib/mm-modem.h | 33 +++++--
+ 2 files changed, 235 insertions(+), 33 deletions(-)
+
+commit 82693cf523456058f03a06d6e9e449e1df7caac2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 19:10:08 2011 +0100
+
+ cli: enable printing modem info
+
+ cli/mmcli-common.c | 13 +++
+ cli/mmcli-common.h | 1 +
+ cli/mmcli-modem.c | 329
+ +++++++++++++++++++++++------------------------------
+ 3 files changed, 156 insertions(+), 187 deletions(-)
+
+commit 46248460156fd8d558372df3c1a06f9d06aad15e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 18:54:13 2011 +0100
+
+ libmm-glib: return NULL instead of empty strings
+
+ libmm-glib/Makefile.am | 1 +
+ libmm-glib/mm-helpers.h | 45 +++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem-3gpp.c | 25 +++++++++++++-------
+ libmm-glib/mm-modem.c | 59
+ ++++++++++++++++++++++++++++++----------------
+ libmm-glib/mm-sim.c | 25 +++++++++++++-------
+ 5 files changed, 118 insertions(+), 37 deletions(-)
+
+commit 62469445101babdff53d238e602d7e988dbaa0cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 17:58:20 2011 +0100
+
+ cli: allow option groups to force async/sync operations
+
+ Some operations are clearly asynchronous (e.g. monitoring modem
+ state), while
+ others are clearly synchronous (e.g. printing modem info). So just
+ allow option
+ groups to force the operation to be async or sync based on the
+ detected action.
+
+ cli/mmcli-manager.c | 3 +++
+ cli/mmcli-modem.c | 24 ++++++++++--------------
+ cli/mmcli.c | 35 ++++++++++++++++++++++++-----------
+ cli/mmcli.h | 4 +++-
+ 4 files changed, 40 insertions(+), 26 deletions(-)
+
+commit ec8da67921c648dbe2e3b82c2392f7196229c914
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 17:27:56 2011 +0100
+
+ libmm-glib: new API method to build a string of capabilities from
+ a bitmask
+
+ libmm-glib/mm-modem.c | 16 ++++++++++++++++
+ libmm-glib/mm-modem.h | 4 +++-
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+commit 4d594c50e8d9e286300e048b700c86b9a49c590b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 17:27:21 2011 +0100
+
+ libmm-common: capabilities string builder moved from core
+
+ Keep in libmm-common the capabilities string builder.
+
+ libmm-common/Makefile.am | 4 +++-
+ libmm-common/mm-common-helpers.c | 50
+ ++++++++++++++++++++++++++++++++++++++++
+ libmm-common/mm-common-helpers.h | 24 +++++++++++++++++++
+ src/mm-broadband-modem.c | 34 ++-------------------------
+ 4 files changed, 79 insertions(+), 33 deletions(-)
+
+commit 038448312169d72a9e72b266998f52314d291694
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 16:45:34 2011 +0100
+
+ nokia: start porting the Nokia plugin to the new codebase
+
+ plugins/Makefile.am | 23 ++--
+ plugins/mm-broadband-modem-nokia.c | 135 +++++++++++++++++++++
+ plugins/mm-broadband-modem-nokia.h | 49 ++++++++
+ plugins/mm-plugin-nokia.c | 237
+ ++++++++++++++-----------------------
+ 4 files changed, 288 insertions(+), 156 deletions(-)
+
+commit 88cc35b850de43ce5068495324f163e7326f642a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 16:44:58 2011 +0100
+
+ cinterion: ignore non-AT ports
+
+ plugins/mm-plugin-cinterion.c | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+commit 68b0ac6e197649900e05ee53467699de12ba4809
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 16:44:19 2011 +0100
+
+ broadband-modem: by default only send init command once
+
+ Will handle sending it twice only for Nokia phones.
+
+ src/mm-broadband-modem.c | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+commit c15181ae37a7ef9a4ae6e95c3bc3372b1a9d740b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 16:43:42 2011 +0100
+
+ port-probe: always complete probing task in idle
+
+ src/mm-port-probe.c | 26 ++++++--------------------
+ 1 file changed, 6 insertions(+), 20 deletions(-)
+
+commit ed83d540873a8818fe4b28a859740eb1665e40cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 16:43:25 2011 +0100
+
+ port-probe: plug small leak when reporting error in AT command
+ response
+
+ src/mm-port-probe.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 6a3e91ee836cb5145485468e0f0f281a08742c84
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 15:45:26 2011 +0100
+
+ cli: use the new libmm-glib API fixes
+
+ cli/mmcli-common.c | 48 +++++++++++++++++-----
+ cli/mmcli-common.h | 19 +++++----
+ cli/mmcli-manager.c | 14 +++----
+ cli/mmcli-modem.c | 114
+ +++++++++++++++-------------------------------------
+ 4 files changed, 90 insertions(+), 105 deletions(-)
+
+commit 7acacbbfd76bb59f0e0b370b66cb283ddeb5bbd4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 15:44:56 2011 +0100
+
+ libmm-glib: simplify handling of interfaces
+
+ Avoid trying to merge all interfaces into the same set of APIs,
+ and keep having
+ a specific object (proxy) for each interface handled by the
+ GDBusObjects
+ reported listed by the GDBusObjectManager.
+
+ libmm-glib/Makefile.am | 4 +
+ libmm-glib/libmm-glib.h | 6 +-
+ libmm-glib/mm-modem-3gpp.c | 302 ++++++++++++++++++
+ libmm-glib/mm-modem-3gpp.h | 77 +++++
+ libmm-glib/mm-modem.c | 768
+ ++++++++++++++++++++-------------------------
+ libmm-glib/mm-modem.h | 12 +-
+ libmm-glib/mm-object.c | 129 ++++++++
+ libmm-glib/mm-object.h | 50 +++
+ 8 files changed, 916 insertions(+), 432 deletions(-)
+
+commit 838f38ec8c9561dcb5305617d665bc11258af953
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 9 15:42:57 2011 +0100
+
+ api: minor fixes in `OperatorCode' and `OperatorName' documentation
+
+ new/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit 92cb17be4d05e85dc375801a578fa517c0b00b61
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 20:44:57 2011 +0100
+
+ cli: fix sync operations, initialize context
+
+ cli/mmcli-modem.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 77ff2758b3c377f326e49f92abf959a5be33a55d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 20:44:36 2011 +0100
+
+ cli: logging improvements
+
+ cli/mmcli-common.c | 4 ++--
+ cli/mmcli-manager.c | 29 +++++++++++++++++++----------
+ cli/mmcli-modem.c | 8 ++++++++
+ 3 files changed, 29 insertions(+), 12 deletions(-)
+
+commit 95675e3e54ffcd06d5c6b0c7cf5ca7b9b5cc9fc0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 20:41:39 2011 +0100
+
+ libmm-glib: fix macro implementing async ready callbacks
+
+ libmm-glib/mm-modem.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 85a542b5c86ea06b01c629995f23dd1e32f2a0e0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 20:11:04 2011 +0100
+
+ cli: new `--verbose' to dump debug logging
+
+ cli/mmcli.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 46 insertions(+), 1 deletion(-)
+
+commit e1cba4a53365753aa1ecadd06b369b2a43765037
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 12:25:53 2011 +0100
+
+ broadband-modem: implement bearer creation, deletion and listing
+
+ Currently do not limit the number of bearers that can be created.
+
+ src/mm-broadband-modem.c | 183
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 183 insertions(+)
+
+commit 4f4bb6b54bfd8c0f1f1bed60127fe5d4d5c9af69
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 12:25:11 2011 +0100
+
+ bearer: fix object export/unexport
+
+ src/mm-bearer.c | 28 ++++++++++++++++++++++------
+ src/mm-bearer.h | 6 +++++-
+ 2 files changed, 27 insertions(+), 7 deletions(-)
+
+commit a7acdcd071df69cbeecb9afa122c6b1b3aa1ae9f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 12:09:33 2011 +0100
+
+ sim: only unexport object if currently exported
+
+ Avoid trying to unexport the object if it was never exported before.
+
+ src/mm-sim.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 7030bbc5866fc800c6a99ff921c42f81c805f759
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 12:01:08 2011 +0100
+
+ iface-modem-3gpp: bind connection property right away
+
+ src/mm-iface-modem-3gpp.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 8725fe5346b062f85ad97dd1af617641dab0b656
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 12:00:57 2011 +0100
+
+ iface-modem: bind connection property right away
+
+ src/mm-iface-modem.c | 18 +++---------------
+ 1 file changed, 3 insertions(+), 15 deletions(-)
+
+commit ad1c7d8dec96e7a666db22e93abd1dff052111a3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 12:00:41 2011 +0100
+
+ sim: bind connection property right away
+
+ src/mm-sim.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b435012eb123273814e0aa61851844e749eb7a12
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 11:47:24 2011 +0100
+
+ sim: make sure we unexport the SIM object when destroying it
+
+ Usually, if not always, the connection stored in the SIM object
+ never exists
+ when disposing it, as we clear the connection property in the
+ Modem object
+ before destroying it, and both properties are bound. But just in case,
+ in order
+ to avoid ending up with a zombie object in DBus, we make sure we
+ unexport it.
+
+ src/mm-sim.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit a2f0814fc54d1e71351463754b9125fcc30b9bdb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 09:56:55 2011 +0100
+
+ bearer: keep properties given as input, and avoid async creation
+
+ No need to create this object asynchronously.
+
+ src/mm-bearer.c | 272
+ +++++++++++++++++++++++++++++++++++++++++++-------------
+ src/mm-bearer.h | 19 ++--
+ 2 files changed, 224 insertions(+), 67 deletions(-)
+
+commit 3dcdc3c9207f5c08fd1d2265de023d3ec0c55cf9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 09:55:39 2011 +0100
+
+ modem-helpers: new helper to count number of bits set in a bitmask
+
+ src/mm-modem-helpers.c | 10 ++++++++++
+ src/mm-modem-helpers.h | 2 ++
+ 2 files changed, 12 insertions(+)
+
+commit a181b152a1f50ea8f6ab6a85b6edc1c3ab4c3292
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 09:55:04 2011 +0100
+
+ api: when creating new bearer, use dict of strings
+
+ Changed the signature of the 'properties' input argument in the
+ CreateBearer()
+ DBus call from a{sv} to a{ss}. We'll only expect string values.
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 36fae5564b68e06368ece484911da0b85632e327
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 08:21:42 2011 +0100
+
+ bearer: new object to handle bearers, implements the Bearer DBus
+ interface
+
+ src/Makefile.am | 2 +
+ src/mm-bearer.c | 327
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-bearer.h | 61 +++++++++++
+ 3 files changed, 390 insertions(+)
+
+commit 3164f5512d1af3c04465b5f2159728a64544f6d6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 2 08:05:03 2011 +0100
+
+ sim: plug memleak, free path on finalize()
+
+ src/mm-sim.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 71bf6b0048538912fd88d2b19b05cc09f70a23b2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 1 21:23:45 2011 +0100
+
+ cinterion: start porting features from the old implementation
+
+ Currently ported:
+ * Power Down
+ * Flow control
+ * After power up setup:
+ ** Available functionality status
+ ** Supported networks
+
+ plugins/mm-broadband-modem-cinterion.c | 230
+ ++++++++++++++++++++++++++++++++-
+ 1 file changed, 226 insertions(+), 4 deletions(-)
+
+commit c345f5fe6361f7659c93c31502fbcbced32c99a9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 1 20:20:26 2011 +0100
+
+ cinterion: re-enabled Cinterion plugin
+
+ Just dummy plugin for now.
+
+ plugins/Makefile.am | 36 +++---
+ plugins/mm-broadband-modem-cinterion.c | 83 +++++++++++++
+ plugins/mm-broadband-modem-cinterion.h | 51 ++++++++
+ plugins/mm-plugin-cinterion.c | 218
+ ++++++++-------------------------
+ plugins/mm-plugin-cinterion.h | 1 -
+ 5 files changed, 206 insertions(+), 183 deletions(-)
+
+commit 0c64e08f853ad01cd4e459c4f57e9d8469b20286
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 1 19:41:18 2011 +0100
+
+ error-helpers: small refactor
+
+ src/mm-error-helpers.c | 20 ++++++++------------
+ 1 file changed, 8 insertions(+), 12 deletions(-)
+
+commit fb90f205d1345a9dd3f9a3007a534f043a32952d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 1 19:40:07 2011 +0100
+
+ core: port to use the new AT command/sequences in the MMBaseModem API
+
+ src/Makefile.am | 2 -
+ src/mm-at.c | 258 ----------
+ src/mm-at.h | 90 ----
+ src/mm-broadband-modem.c | 1273
+ +++++++++++++++++++---------------------------
+ src/mm-iface-modem.c | 2 +-
+ src/mm-sim.c | 537 +++++++++----------
+ 6 files changed, 762 insertions(+), 1400 deletions(-)
+
+commit 52db9b9035f1a39b3d38a6df8c5aea996b653c42
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 1 13:11:56 2011 +0100
+
+ base-modem-at: refactor AT sequence/command handling
+
+ Make a tight connection between the action of sending AT commands,
+ either single
+ or in a sequence, with the MMBaseModem object owning the port. This
+ direct
+ relation allows sending commands without specifying which port to use,
+ so that
+ the modem object can get the best port at each time, and handling
+ all that in a
+ single common place.
+
+ The original mm-at API has also been modified so that when a single
+ command is
+ sent, a constant string is returned. We are allowed to return
+ constant strings
+ in mm_base_modem_at_command_finish() because the string itself is
+ owned by the
+ GSimpleAsyncResult, and hence, alive enough time. The
+ GSimpleAsyncResult is
+ completely disposed only after the async call is fully completed.
+
+ Same reasoning behind the GVariant returned in the AT sequences;
+ it should not
+ be owned by the caller, it's a transfer-none in introspection terms.
+
+ src/Makefile.am | 2 +
+ src/mm-base-modem-at.c | 561
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-base-modem-at.h | 152 ++++++++++++++
+ 3 files changed, 715 insertions(+)
+
+commit 7b12da9169cca545af1d8295859160551ad13d7f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Dec 1 13:13:19 2011 +0100
+
+ errors: new MM_CORE_ERROR_CONNECTED error
+
+ To be returned when we try to send an AT command to a modem, but
+ there is no
+ usable AT port available, as the primary port is connected (hence
+ the name)
+ and there is no secondary port.
+
+ include/ModemManager-errors.h | 2 ++
+ libmm-common/mm-errors-quarks.c | 1 +
+ 2 files changed, 3 insertions(+)
+
+commit 2be2288754e3852f4b437d7aa6f43c43d6464c74
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 18:22:22 2011 +0100
+
+ iface-modem: handle CreateBearer(), DeleteBearer() and ListBearers()
+
+ Just pass the task to the specific underlying implementation.
+
+ src/mm-iface-modem.c | 98
+ ++++++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-iface-modem.h | 27 +++++++++++++++
+ 2 files changed, 119 insertions(+), 6 deletions(-)
+
+commit 6549c23db885f3b3003955f604734af34e2cc87b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 16:44:14 2011 +0100
+
+ broadband-modem: implement cleaning up CS and PS registrations
+
+ src/mm-broadband-modem.c | 122
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 122 insertions(+)
+
+commit 1e026fe98619749112958d5ac5b7b243ef6aee7a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 16:28:44 2011 +0100
+
+ iface-modem-3gpp: cleanup CS and PS registrations during disable
+
+ src/mm-iface-modem-3gpp.c | 30 ++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 16 ++++++++++++++++
+ 2 files changed, 46 insertions(+)
+
+commit e3117333d91bcaa213308de8b655b4980cfaa362
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 16:07:36 2011 +0100
+
+ broadband-modem: implement cleaning up unsolicited registration
+ message handlers
+
+ src/mm-broadband-modem.c | 59
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 59 insertions(+)
+
+commit 029902312da0e0593111f71093fe63bf084c1a02
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 16:02:25 2011 +0100
+
+ iface-modem-3gpp: cleanup unsolicited registration messages during
+ disable
+
+ src/mm-iface-modem-3gpp.c | 36 ++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 8 ++++++++
+ 2 files changed, 44 insertions(+)
+
+commit 289057bf92406d40342574eb5a88f2af9796d1aa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 15:57:22 2011 +0100
+
+ iface-modem: don't flash port during disable
+
+ At least just for now. Flashing should be done as part of the
+ disconnection.
+
+ src/mm-iface-modem.c | 56
+ ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 28 insertions(+), 28 deletions(-)
+
+commit a170c0841d260c368a13f20f2e6c82a5adbdeaff
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 15:39:12 2011 +0100
+
+ broadband-modem: setup steps when disabling the modem
+
+ Include disabling the Modem and 3GPP interfaces for now.
+
+ src/mm-broadband-modem.c | 151
+ +++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 127 insertions(+), 24 deletions(-)
+
+commit c867da54b1312b59318d510ee9c9d2d61b5af23a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 15:10:53 2011 +0100
+
+ iface-modem-3gpp: interface can be disabled
+
+ src/mm-iface-modem-3gpp.c | 88
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 8 +++++
+ 2 files changed, 96 insertions(+)
+
+commit 8459eba214f83efa6dc795b748fe5fa1a9e93c66
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 14:29:16 2011 +0100
+
+ iface-modem-3gpp: enable periodic registration checks if no
+ unsolicited
+
+ If we get errors when configuring the unsolicited registration
+ messages, setup a
+ timeout to be run every 30s which will check our registration status.
+
+ src/mm-iface-modem-3gpp.c | 114
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 112 insertions(+), 2 deletions(-)
+
+commit 3c3a2b811a3be982ec0f9893d7edc5cb31e70454
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 13:29:58 2011 +0100
+
+ broadband-modem: implement network scan
+
+ src/mm-broadband-modem.c | 45
+ ++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 44 insertions(+), 1 deletion(-)
+
+commit 8ecb80b553d8b60ceeaa78af92a7163e9db8f10a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 13:29:32 2011 +0100
+
+ iface-modem-3gpp: handle network scan requests
+
+ src/mm-iface-modem-3gpp.c | 124
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-3gpp.h | 8 +++
+ 2 files changed, 131 insertions(+), 1 deletion(-)
+
+commit a92e9c59c1c2a4b2078e02d631b04eced68320be
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 13:29:00 2011 +0100
+
+ modem-helpers: provide list of scanned networks in a list of structs
+
+ We provide the result of the +COPS=? parsing in a GList of
+ MM3gppNetworkInfo
+ structures. We avoid the previous hash table, or using a dictionary,
+ as a
+ list of structs with a predefined set of elements, which should be
+ easier for
+ plugins wanting to make their own version
+
+ src/mm-modem-helpers.c | 175 ++++++++++++-------
+ src/mm-modem-helpers.h | 22 ++-
+ src/tests/test-modem-helpers.c | 376
+ +++++++++++++++++++----------------------
+ 3 files changed, 307 insertions(+), 266 deletions(-)
+
+commit a265798e0d4cf016417c85b7b8cfd288a493148f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 13:21:13 2011 +0100
+
+ api: rename key in dictionary returned by Scan()
+
+ We'll keep on using 'code' to refer to the Operator MCC/MNC.
+
+ new/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0c7281b2d91a042a810bce4596ce5b061b643926
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 09:16:25 2011 +0100
+
+ broadband-modem: implement Operator Code and Name loading
+
+ src/mm-broadband-modem.c | 105
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-helpers.c | 75 +++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 3 ++
+ 3 files changed, 182 insertions(+), 1 deletion(-)
+
+commit ad0a18d10755a53a45245845e0c7b230b10aeab1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 08:51:27 2011 +0100
+
+ iface-modem-3gpp: when going into REGISTERED, load Operator Name
+ and Code
+
+ src/mm-iface-modem-3gpp.c | 51
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 16 +++++++++++++++
+ 2 files changed, 67 insertions(+)
+
+commit 3b2b0645bec963b2955c578eccfbc38bbd34672b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 30 08:24:13 2011 +0100
+
+ iface-modem-3gpp: report registration state change in the log
+
+ src/mm-iface-modem-3gpp.c | 78
+ ++++++++++++++++++++++++++++-------------------
+ 1 file changed, 47 insertions(+), 31 deletions(-)
+
+commit 12ea55286d53a9349491e483573bb2c123a4293d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 20:46:39 2011 +0100
+
+ broadband-modem: implement registration to 3GPP network
+
+ src/mm-broadband-modem.c | 265
+ +++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 257 insertions(+), 8 deletions(-)
+
+commit 7ea0c4905df0c5b8108bd51d37a11af83c27c563
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 20:45:44 2011 +0100
+
+ iface-modem-3gpp: always run CS and PS registration checks together
+
+ And report a single error, only if all available registration
+ checks failed.
+
+ src/mm-iface-modem-3gpp.c | 159
+ ++++++++++++++++++++++++++++++++++++++--------
+ src/mm-iface-modem-3gpp.h | 8 +++
+ 2 files changed, 140 insertions(+), 27 deletions(-)
+
+commit fd51bd349a3b92cf92bfc38edc1ece7152178fa8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 17:06:10 2011 +0100
+
+ iface-modem-3gpp: handle network registration requests
+
+ src/mm-iface-modem-3gpp.c | 112
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-3gpp.h | 9 ++++
+ 2 files changed, 120 insertions(+), 1 deletion(-)
+
+commit 0076106c9048ed73f260297c5aea54deae2f1f10
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 17:02:05 2011 +0100
+
+ iface-modem: don't report LOCKED state if SIM PIN2/PUK2
+
+ If unlock required reports needing SIM PIN2 or PUK2, don't report
+ LOCKED state,
+ as the device is fully operational without it.
+
+ src/mm-iface-modem.c | 30 +++++++++++-------------------
+ 1 file changed, 11 insertions(+), 19 deletions(-)
+
+commit 670e2dcdc9bcb79147606e029f99969b930ad6fd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 15:43:26 2011 +0100
+
+ iface-modem: launch reinitialization only when going from LOCKED
+ to DISABLED
+
+ src/mm-iface-modem.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 48a9da117b50f8586b3838f69d27012c69c59939
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 14:23:20 2011 +0100
+
+ broadband-modem: implement CS/PS registration checks
+
+ Running a CS/PS registration check may not return any direct result
+ (this is, no
+ MMModem3gppRegistrationStatus returned), as usually replies to
+ +CREG? and
+ +CGREG? are parsed as unsolicited messages.
+
+ src/mm-broadband-modem.c | 225
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 222 insertions(+), 3 deletions(-)
+
+commit b3389ff2d437e7ebba541af53b32ef4f779872ac
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 14:21:15 2011 +0100
+
+ test-modem-helpers: fix C(G)REG parsing tests
+
+ src/tests/test-modem-helpers.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 5805a931e65759b86338b8fa315a3d10f8b732d4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 14:19:35 2011 +0100
+
+ modem-helpers: use MMModemAccessTech when parsing C(G)REG responses
+
+ src/mm-modem-helpers.c | 31 +++++++++++++++++++--
+ src/mm-modem-helpers.h | 2 +-
+ src/tests/test-modem-helpers.c | 62
+ +++++++++++++++++++++---------------------
+ 3 files changed, 61 insertions(+), 34 deletions(-)
+
+commit 9c60fe6e16255539ac0406a61272cc3fb4b91ea4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 12:20:33 2011 +0100
+
+ iface-modem-3gpp: load registration states during enable
+
+ src/mm-iface-modem-3gpp.c | 28 ++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 20 ++++++++++++++++++++
+ 2 files changed, 48 insertions(+)
+
+commit b64658164026413fe3b2451e77c3220f0d016457
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 12:10:29 2011 +0100
+
+ broadband-modem: implement unsolicited registration message setup
+
+ We setup custom handlers for unsolicited registration state
+ messages. Plugins
+ are allowed to setup their own handlers.
+
+ src/mm-broadband-modem.c | 101
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 101 insertions(+)
+
+commit 9b796e0d86e33847225450139e30fe4a59ce4a4a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 12:08:44 2011 +0100
+
+ iface-modem-3gpp: allow changing the RegistrationState from outside
+ the interface
+
+ The 3GPP registration state will always be set from outside the
+ 3GPP interface,
+ for example when parsing unsolicited registration messages, on
+ when the
+ interface requests manual checking of registration state.
+
+ We'll also update the State property in the Modem interface when we
+ switch to a
+ connected state, so we also set the Modem interface as a prerrequisite
+ of the
+ 3GPP interface.
+
+ src/mm-iface-modem-3gpp.c | 48
+ ++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem-3gpp.h | 7 +++++++
+ 2 files changed, 54 insertions(+), 1 deletion(-)
+
+commit b31ad376704d007a69b9b6ba85e3fb01a510731c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 12:05:44 2011 +0100
+
+ iface-modem: allow changing the State from outside the interface
+
+ Some states need to be set from outside the scope of the Modem
+ interface, like
+ Registration-related ones (REGISTERED, SEARCHING, ...) or
+ Connection-related
+ ones (CONNECTED, ...).
+
+ src/mm-iface-modem.c | 61
+ ++++++++++++++++++++++++++--------------------------
+ src/mm-iface-modem.h | 5 +++++
+ 2 files changed, 36 insertions(+), 30 deletions(-)
+
+commit ddbfad8ca49500740989e9b2d10d319410017569
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 12:02:42 2011 +0100
+
+ broadband-modem: override the RegistrationState property
+
+ src/mm-broadband-modem.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 430878c452177a9dbb129025f413ae43c9226b3b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 11:02:11 2011 +0100
+
+ modem-helpers: use MMModem3gppRegistrationState when parsing C(G)REG
+ responses
+
+ src/mm-modem-helpers.c | 12 +++++++++---
+ src/mm-modem-helpers.h | 3 +--
+ 2 files changed, 10 insertions(+), 5 deletions(-)
+
+commit c636cdb27ffd23378c793bb3b4f2ce889d2a0da3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 10:41:15 2011 +0100
+
+ base-modem: setup NULL callbacks in unsolicited CREG message handlers
+
+ When the port is grabbed, we setup NULL callbacks for all unsolicited
+ registration message handlers. If we do enable 3GPP registrations
+ afterwards, we'll set proper callbacks.
+
+ src/mm-base-modem.c | 27 +++++++++++++++------------
+ 1 file changed, 15 insertions(+), 12 deletions(-)
+
+commit d1072bda54344ed16a1dfbad27b6583dd73c25cc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 10:38:48 2011 +0100
+
+ iface-modem: new RegistrationState property, bound to the one in DBus
+
+ src/mm-iface-modem-3gpp.c | 16 +++++++++++++++-
+ src/mm-iface-modem-3gpp.h | 1 +
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+
+commit 68044fb01e6e7e84c4c3a53944e007167c89ab54
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 10:04:07 2011 +0100
+
+ iface-modem-3gpp: setup unsolicited registration messages handling
+ during enable
+
+ src/mm-iface-modem-3gpp.c | 14 ++++++++++++++
+ src/mm-iface-modem-3gpp.h | 8 ++++++++
+ 2 files changed, 22 insertions(+)
+
+commit 2f5e8c46a34bd88eba47b0488dcc5d3d0fe242e4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 29 09:21:57 2011 +0100
+
+ at-serial-port: allow overwriting unsolicited message handlers
+
+ Existing unsolicited message handlers can be overwritten at any time
+ now. This
+ allows initializing the port with all possible message handlers
+ configured with
+ a NULL callback, and then setup the proper handlers when we go on
+ enabling the
+ different interfaces.
+
+ src/mm-at-serial-port.c | 30 +++++++++++++++++++++++++-----
+ 1 file changed, 25 insertions(+), 5 deletions(-)
+
+commit 20f53ec15b5f9b7b3251259bedceccfb1ae5114e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 19:38:11 2011 +0100
+
+ broadband-modem: implement CS/PS registration notifications setup
+
+ src/mm-broadband-modem.c | 140
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 140 insertions(+)
+
+commit 8f6018d9c60e318d6593c576e1ba804730785604
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 18:47:32 2011 +0100
+
+ iface-modem-3gpp: setup CS and PS registrations during enable
+
+ src/mm-iface-modem-3gpp.c | 50
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 16 +++++++++++++++
+ 2 files changed, 66 insertions(+)
+
+commit 04f10820f38a57d8f3e13ced25274c2fbdee518d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 18:18:17 2011 +0100
+
+ broadband-modem: setup enabling steps
+
+ When the modem is enabled, we'll go one by one enabling all our
+ interfaces.
+
+ src/mm-broadband-modem.c | 149
+ ++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 128 insertions(+), 21 deletions(-)
+
+commit 73db436f71558c700254731f254d35dbcd3ba7c5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 17:51:20 2011 +0100
+
+ iface-modem-3gpp: interface can be enabled
+
+ In addition to initializing the interface, to load initial values
+ of all
+ properties and export the object in DBus, the interface can now also
+ be enabled.
+ Enabling the 3GPP interface will take care of running the network
+ registration
+ process.
+
+ src/mm-iface-modem-3gpp.c | 88
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 8 +++++
+ 2 files changed, 96 insertions(+)
+
+commit bd24d0d14c415916bb739255178301359de1347a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 14:49:17 2011 +0100
+
+ broadband-modem: implement IMEI loading
+
+ src/mm-broadband-modem.c | 45
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 45 insertions(+)
+
+commit 27c973b6b47e5080863acf7e0bdbf15f9f70ec2e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 13:23:47 2011 +0100
+
+ broadband-modem: implement the Modem 3GPP interface
+
+ It will only be initialized and exported in DBus if the modem has 3GPP
+ capabilities.
+
+ src/mm-broadband-modem.c | 30 ++++++++++++++++++++++++++++--
+ 1 file changed, 28 insertions(+), 2 deletions(-)
+
+commit c6b69f9a594c016b1cff36364d401d7932e5d658
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 14:55:30 2011 +0100
+
+ iface-modem-3gpp: export DBus interface when properly initialized
+
+ src/mm-iface-modem-3gpp.c | 42 ++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 38 insertions(+), 4 deletions(-)
+
+commit 69079ff8914419d08c21720f022ef33da8225959
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 14:42:43 2011 +0100
+
+ iface-modem-3gpp: load `IMEI' during init
+
+ src/mm-iface-modem-3gpp.c | 39 +++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 8 ++++++++
+ 2 files changed, 47 insertions(+)
+
+commit bb625b332a4dfd6159455e8a795ffe6a0b81a3ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 13:13:54 2011 +0100
+
+ iface-modem-3gpp: setup interface initialization and shutdown
+
+ src/mm-iface-modem-3gpp.c | 132
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 14 +++++
+ 2 files changed, 146 insertions(+)
+
+commit 829b79eff4c0d7e55862ba3a8d7d34acd8995a42
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 14:54:56 2011 +0100
+
+ iface-modem: complete the result before freeing init context
+
+ src/mm-iface-modem.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 78d788d4dcd03aa69b1f040c4bb7ef3768f24a10
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 13:04:59 2011 +0100
+
+ iface-modem: avoid inner async operation during initialization
+
+ src/mm-iface-modem.c | 145
+ +++++++++++++++------------------------------------
+ 1 file changed, 43 insertions(+), 102 deletions(-)
+
+commit acc3e3f6da1d83ed9050505cc1e79da602c5c5ef
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 12:53:30 2011 +0100
+
+ core: always pass open port to interface initializations
+
+ When the first AT port is grabbed, modem initialization is launched,
+ using that
+ specific port. This port is also passed to all interface
+ initialization methods.
+
+ src/mm-base-modem.c | 2 +-
+ src/mm-base-modem.h | 2 +-
+ src/mm-broadband-modem.c | 25 ++++++++++++++++++++++++-
+ src/mm-iface-modem.c | 34 +++++++++++++---------------------
+ src/mm-iface-modem.h | 2 ++
+ 5 files changed, 41 insertions(+), 24 deletions(-)
+
+commit 1d495c58e65d2160722467b54aefe7b70188ee19
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 12:29:15 2011 +0100
+
+ iface-modem-3gpp: new interface to handle the Modem 3GPP DBus
+ interface
+
+ src/Makefile.am | 2 ++
+ src/mm-iface-modem-3gpp.c | 69
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem-3gpp.h | 37 +++++++++++++++++++++++++
+ 3 files changed, 108 insertions(+)
+
+commit b9448b83cb0d5165b3e4002a3c9cea4fa7a153b1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 12:21:48 2011 +0100
+
+ iface-modem: simplify interface handling
+
+ Interfaces won't have a 'status', just initialize(), enable(),
+ disable() and
+ shutdown().
+
+ Also, shutdown() should never fail. We will take care of cancelling
+ any ongoing
+ operation afterwards, before calling shutdown().
+
+ src/mm-broadband-modem.c | 10 +--
+ src/mm-iface-modem.c | 200
+ +++++++++++++++--------------------------------
+ src/mm-iface-modem.h | 3 +-
+ 3 files changed, 67 insertions(+), 146 deletions(-)
+
+commit d2d9251733cc4c8e6b5c10fd79341c2f0be08726
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 12:13:25 2011 +0100
+
+ broadband-modem: setup initialization of all interfaces
+
+ src/mm-broadband-modem.c | 236
+ ++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 171 insertions(+), 65 deletions(-)
+
+commit a58f95121af8435574b65a2763b445c2e113c07c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 28 17:37:02 2011 +0100
+
+ api: rename 3GPP and CDMA interface paths
+
+ Elements in a DBus interface name cannot start with a digit, so
+ "org.freedesktop.ModemManager1.Modem.3gpp" is an invalid interface
+ name.
+
+ Renamed here all relevant interfaces so that they have an additional
+ "Modem"
+ prefix in the element, so we get now:
+ "org.freedesktop.ModemManager1.Modem.Modem3gpp"
+ "org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd"
+ "org.freedesktop.ModemManager1.Modem.ModemCdma"
+
+ Objects generated with gdbus-codegen maintain the previous names.
+
+ docs/reference/api/Makefile.am | 6 +++---
+ docs/reference/api/mm-docs.xml | 6 +++---
+ libmm-common/Makefile.am | 15
+ +++++++++------
+ new/all.xml | 6 +++---
+ ...rg.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml} | 8 ++++----
+ ... => org.freedesktop.ModemManager1.Modem.Modem3gpp.xml} | 5 ++---
+ ... => org.freedesktop.ModemManager1.Modem.ModemCdma.xml} | 4 ++--
+ 7 files changed, 26 insertions(+), 24 deletions(-)
+
+commit 27494eae51e329ff19544fab4a08a5d8cca56f5b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:27:41 2011 +0100
+
+ iface-modem: handle Enable() calls
+
+ src/mm-iface-modem.c | 157
+ ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 155 insertions(+), 2 deletions(-)
+
+commit 22bdfdbf8b06a98d3b0ebdbb65c480de4eabd8d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:26:42 2011 +0100
+
+ broadband-modem: disable the Modem iface when disabling the modem
+
+ src/mm-broadband-modem.c | 47
+ +++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 33 insertions(+), 14 deletions(-)
+
+commit b0a9c6a7efcc31f74ff6d1bae5b55734068b3f35
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:25:18 2011 +0100
+
+ broadband-modem: enable the Modem iface when enabling the modem
+
+ src/mm-broadband-modem.c | 47
+ +++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 33 insertions(+), 14 deletions(-)
+
+commit c74c3a5d2ea1db54b3893690a5db51fc9e0b76f6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:23:21 2011 +0100
+
+ broadband-modem: implement charset loading and setup
+
+ src/mm-broadband-modem.c | 258
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 258 insertions(+)
+
+commit ad8fed66fedcde2c707c3741f64e7fdeaab80abf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:22:26 2011 +0100
+
+ broadband-modem: implement flow control setup
+
+ src/mm-broadband-modem.c | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit 00949c4782069326cb2d126a866b8167e6c24598
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:21:31 2011 +0100
+
+ broadband-modem: implement modem power-up commands
+
+ src/mm-broadband-modem.c | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+commit 491758c266bdc22b8b0ab3c369da9b36815c2d0c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:20:32 2011 +0100
+
+ broadband-modem: implement modem initialization commands
+
+ src/mm-broadband-modem.c | 74
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 74 insertions(+)
+
+commit ea7a939201bdde4cf0630c9564183b18031ffaa5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:17:58 2011 +0100
+
+ broadband-modem: override the Current Capabilities property
+
+ src/mm-broadband-modem.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 8b1515b2a0e75e98a7938052a6b754890a684862
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:14:27 2011 +0100
+
+ iface-modem: close primary port during disable
+
+ src/mm-iface-modem.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 589c6419d2d247e53a50d3bd8d96be5b9d51fea3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:13:43 2011 +0100
+
+ iface-modem: send power-down command during disable
+
+ src/mm-iface-modem.c | 43 +++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 8 ++++++++
+ 2 files changed, 51 insertions(+)
+
+commit 5e3ad0fe589f48e0582faf02f05fa114b4c6f3de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:12:37 2011 +0100
+
+ iface-modem: flash primary port during disable
+
+ src/mm-iface-modem.c | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+commit f3b6bfeb8f2ac03440ba797fb8cb3e3226baa4c7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:10:13 2011 +0100
+
+ iface-modem: interface can be disabled
+
+ The Modem interface can be disabled, going from enabled back to
+ initialized. The
+ disabling process will include closing the ports opened during
+ the enabling.
+
+ src/mm-iface-modem.c | 107
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 8 ++++
+ 2 files changed, 115 insertions(+)
+
+commit 781c1821fdcf4b71c4571c87c4c149beb0b4b8f3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:05:56 2011 +0100
+
+ iface-modem: setup modem charset configuration during enable
+
+ Load supported charsets, and loop trying to set the best one.
+
+ src/mm-iface-modem.c | 106
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 19 +++++++++
+ 2 files changed, 125 insertions(+)
+
+commit c0d3bd944c9644aca556221fce4d4b1e5ae0ed6b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:04:17 2011 +0100
+
+ iface-modem: send flow control setup commands during enable
+
+ src/mm-iface-modem.c | 14 ++++++++++++++
+ src/mm-iface-modem.h | 8 ++++++++
+ 2 files changed, 22 insertions(+)
+
+commit 7fa372d1185dc9ea195d3d7d8b8a5cfffe26963e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:02:31 2011 +0100
+
+ iface-modem: allow plugins to send custom commands after power-up
+
+ Just after powering up the modem, plugins can run additional setup
+ commands
+ themselves, in a new "after" power-up step.
+
+ src/mm-iface-modem.c | 14 ++++++++++++++
+ src/mm-iface-modem.h | 9 +++++++++
+ 2 files changed, 23 insertions(+)
+
+commit 0adbd8edadbf3c0a07df59c362977e015481cedb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 15:01:41 2011 +0100
+
+ iface-modem: send power-up commands during enable
+
+ src/mm-iface-modem.c | 14 ++++++++++++++
+ src/mm-iface-modem.h | 8 ++++++++
+ 2 files changed, 22 insertions(+)
+
+commit b948c93e598ffc42e4c0a34f856b42944719e916
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 14:59:53 2011 +0100
+
+ iface-modem: send modem initialization commands during enable
+
+ src/mm-iface-modem.c | 36 ++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 8 ++++++++
+ 2 files changed, 44 insertions(+)
+
+commit b0a1eccd543f88880a9d6bcab90398e2b2fbd45e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 14:57:54 2011 +0100
+
+ iface-modem: flash primary port during enable
+
+ src/mm-iface-modem.c | 50
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 50 insertions(+)
+
+commit fc19509e4ffb3c1fdf34fe1ea56d8d65f2813f6a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 14:53:35 2011 +0100
+
+ iface-modem: during init, fall down to next states directly
+
+ src/mm-iface-modem.c | 49
+ ++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 30 insertions(+), 19 deletions(-)
+
+commit 8327b6af30b2ca0d97263d474945833f2f9bddda
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 14:49:40 2011 +0100
+
+ iface-modem: interface can be enabled
+
+ In addition to initializing the interface, to load initial values
+ of all
+ properties and export the object in DBus, the interface can now also
+ be enabled.
+ Enabling the Modem interface will take care of running the modem
+ enabling
+ process (flashing port, power up and such).
+
+ src/mm-iface-modem.c | 128
+ ++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 122 insertions(+), 6 deletions(-)
+
+commit f049dbb21768304a39d48c83c18f20b976c8a9e9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 14:42:34 2011 +0100
+
+ iface-modem: emit StateChanged signal when modem state changes
+
+ src/mm-iface-modem.c | 66
+ ++++++++++++++++++++++++++++++++++++++++++++++------
+ src/mm-iface-modem.h | 8 +++++++
+ 2 files changed, 67 insertions(+), 7 deletions(-)
+
+commit 7b59a8091295db52f9eda914b854a96401a8215f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 14:36:26 2011 +0100
+
+ iface-modem: load CurrentCapabilities first
+
+ With AT+GCAP we load the currently available capabilities, and we
+ store them
+ in a new "iface-modem-capabilities" property in the MMIfaceModem
+ interface. This
+ property is bound to the "current-capabilities" property in the
+ MmGdbusModem
+ skeleton object, so no need to update both when it changes.
+
+ ModemCapabilities depend directly on whether the modem can load
+ firmware without
+ reflashing the device. Currently, just set it equal to
+ CurrentCapabilities.
+
+ src/mm-broadband-modem.c | 20 ++++++------
+ src/mm-iface-modem.c | 80
+ +++++++++++++++++++++++++++++++++++-------------
+ src/mm-iface-modem.h | 7 +++--
+ 3 files changed, 73 insertions(+), 34 deletions(-)
+
+commit ec1d94044f493b7e88c41bf45dd497796b71928e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 25 14:32:17 2011 +0100
+
+ sim: during init, fall down to next states directly
+
+ src/mm-sim.c | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+commit 1257ecd13613d6f60d317a3ee3f34332188d0cfc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Nov 20 20:55:07 2011 +0100
+
+ cli: start to port Modem actions to use the new libmm-glib
+
+ cli/Makefile.am | 2 +
+ cli/mmcli-common.c | 237 ++++++++++++++++
+ cli/mmcli-common.h | 39 +++
+ cli/mmcli-manager.c | 62 +----
+ cli/mmcli-modem.c | 752
+ ++++++++++++++++++++++++--------------------------
+ cli/mmcli.c | 5 +-
+ cli/mmcli.h | 2 +-
+ libmm-glib/mm-modem.c | 1 +
+ 8 files changed, 656 insertions(+), 444 deletions(-)
+
+commit 9ae68b3fee0a8f58e308f1a20cccf433a414fc8b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 15:24:41 2011 +0200
+
+ cli: add command to reset the modem to factory state
+
+ cli/mmcli-modem.c | 59
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 56 insertions(+), 3 deletions(-)
+
+commit 6221e4f76b5a0edfa253493635a64f971916f9ba
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 15:16:32 2011 +0200
+
+ cli: add command to reset the modem
+
+ cli/mmcli-modem.c | 56
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 55 insertions(+), 1 deletion(-)
+
+commit e341c7ff49ffff5a2986a56e105c01b86b6f6478
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 13:47:05 2011 +0200
+
+ cli: use new modem enabling and disabling API
+
+ cli/mmcli-modem.c | 24 +++++++++---------------
+ 1 file changed, 9 insertions(+), 15 deletions(-)
+
+commit ea5f81b804e923d94e802d67ba889637814186f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 13:35:56 2011 +0200
+
+ cli: add commands to enable and disable the modem
+
+ cli/mmcli-modem.c | 114
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 113 insertions(+), 1 deletion(-)
+
+commit 5de1ae6a4fd2681147babb0e5fc0cfb3a502ad40
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 13:12:27 2011 +0200
+
+ cli: add command to monitor modem state
+
+ cli/mmcli-modem.c | 62
+ +++++++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 58 insertions(+), 4 deletions(-)
+
+commit 9a6bb0bb196bce46d355d02fd635788308c0d73e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 12:56:48 2011 +0200
+
+ cli: include status information properties in the info command output
+
+ cli/mmcli-modem.c | 102
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 101 insertions(+), 1 deletion(-)
+
+commit 90f6a5ec75f88c9942e62d7c91134451ba7bd0b4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 11:44:29 2011 +0200
+
+ cli: include system information properties in the info command output
+
+ cli/mmcli-modem.c | 31 ++++++++++++++++++++++++++++++-
+ 1 file changed, 30 insertions(+), 1 deletion(-)
+
+commit fed5ad5623859f5ebf092547f81e4cc282fcccb5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 11:10:09 2011 +0200
+
+ cli: handle multiline revision strings
+
+ cli/mmcli-modem.c | 46 +++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 45 insertions(+), 1 deletion(-)
+
+commit fcadc0f841750a108d154cabee159c115b3e557a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 10:33:01 2011 +0200
+
+ cli: add commands to get info from modem
+
+ cli/Makefile.am | 3 +-
+ cli/mmcli-modem.c | 243
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ cli/mmcli.c | 23 ++++++
+ cli/mmcli.h | 8 ++
+ 4 files changed, 276 insertions(+), 1 deletion(-)
+
+commit 9e241b7062883a67a31500a6f095c9839c8666c8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 27 17:12:20 2011 +0200
+
+ cli: port Manager actions to use the new libmm-glib
+
+ The original command line interface was written based on a hand-made
+ libmm. This
+ commit ports the Manager interface handling to the new
+ gdbus-codegen-based
+ libmm-glib.
+
+ cli/mmcli-manager.c | 269
+ +++++++++++++++++++++++++++++++---------------------
+ cli/mmcli.c | 12 ++-
+ cli/mmcli.h | 2 +-
+ 3 files changed, 170 insertions(+), 113 deletions(-)
+
+commit c37949d7ba20e33633951e57d89c6cfe3e968790
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 10:15:36 2011 +0200
+
+ cli: always perform a clean shutdown on successful operations
+
+ cli/mmcli.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 96e07f7ab0d651fb80349e51f28207f038c91a2a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 09:28:37 2011 +0200
+
+ cli: prefix error messages with 'error: '
+
+ cli/mmcli-manager.c | 10 +++++-----
+ cli/mmcli.c | 2 +-
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 387db2b2595c1c0d4432248c59c1b9df1c11c89d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 09:19:19 2011 +0200
+
+ cli: use capital letters for manager options
+
+ cli/mmcli-manager.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit d8c2a6392728bba1e78389b23b56f848045f9236
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Aug 19 23:43:45 2011 +0200
+
+ cli: split into different option groups, in different files
+
+ cli/Makefile.am | 4 +-
+ cli/{main.c => mmcli-manager.c} | 265
+ ++++++++++++++--------------------------
+ cli/mmcli.c | 167 +++++++++++++++++++++++++
+ cli/mmcli.h | 37 ++++++
+ 4 files changed, 300 insertions(+), 173 deletions(-)
+
+commit 07ec1a2395c8b25ba8464b5d97026a368e14e1d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 18:27:31 2011 +0200
+
+ cli: add commands to change daemon logging level
+
+ cli/main.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 42 insertions(+), 1 deletion(-)
+
+commit 7b0903cc57f0d67c7fac26527d3d8d3f8d66068b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 18:26:06 2011 +0200
+
+ cli: add commands to request a new scan
+
+ cli/main.c | 60
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 59 insertions(+), 1 deletion(-)
+
+commit f58409e7c26a9c43010c51197150ad405bb22007
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 18:24:25 2011 +0200
+
+ cli: add command to monitor modem additions and removals
+
+ cli/main.c | 66
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+
+commit cc7cd44cb84a4121d946edd10de9525035b58b90
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 18:19:32 2011 +0200
+
+ cli: add commands to list currently available modems
+
+ cli/main.c | 159
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 159 insertions(+)
+
+commit 8f450d82b6c18b814c86b23e9cd44394be2a1a55
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Wed Aug 17 18:14:26 2011 +0200
+
+ cli: initial cli implementation
+
+ .gitignore | 2 ++
+ Makefile.am | 2 +-
+ cli/Makefile.am | 20 +++++++++++++++
+ cli/main.c | 76
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 8 ++++++
+ 5 files changed, 107 insertions(+), 1 deletion(-)
+
+commit 40b31d5a2702503108efd9864796298e7cf56caa
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 10:30:04 2011 +0100
+
+ libmm-glib: get the MMSim object from the MMModem
+
+ libmm-glib/mm-modem.c | 91
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem.h | 11 +++++++
+ 2 files changed, 102 insertions(+)
+
+commit 72eef326b5dd2f05cbc68e9c301e233f6ef84622
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Nov 20 18:17:05 2011 +0100
+
+ libmm-glib: new MMSim object
+
+ libmm-glib/Makefile.am | 4 +-
+ libmm-glib/mm-modem.c | 2 +
+ libmm-glib/mm-modem.h | 11 +
+ libmm-glib/mm-sim.c | 609
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-sim.h | 120 ++++++++++
+ 5 files changed, 745 insertions(+), 1 deletion(-)
+
+commit b4dd84c2c93a5d12786d944ff2e8ef64d25396cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Nov 20 14:47:03 2011 +0100
+
+ libmm-glib: new `MMModem' object, handling the Modem interface
+
+ libmm-glib/Makefile.am | 7 +-
+ libmm-glib/libmm-glib.h | 1 +
+ libmm-glib/mm-manager.h | 5 +-
+ libmm-glib/mm-modem.c | 1213
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-modem.h | 166 +++++++
+ 5 files changed, 1388 insertions(+), 4 deletions(-)
+
+commit ba0e4ca88ef947df11fe2a095cc16671402fdf93
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 26 21:08:21 2011 +0200
+
+ libmm-glib: setup build of the libmm-glib library
+
+ The library will contain a small layer of code on top of the proxies
+ and object
+ manager client generated by gdbus-codegen. Therefore, the headers
+ auto-generated
+ from the DBus introspection XMLs need to be distributed along with the
+ libmm-glib specific headers.
+
+ Makefile.am | 3 +-
+ configure.ac | 8 +
+ libmm-glib/Makefile.am | 31 +++
+ libmm-glib/libmm-glib.h | 28 +++
+ libmm-glib/mm-manager.c | 511
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ libmm-glib/mm-manager.h | 95 +++++++++
+ 6 files changed, 675 insertions(+), 1 deletion(-)
+
+commit c58db4e015c1d6aeccccb167f7f2f68c211a3b86
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 12:36:47 2011 +0100
+
+ core: start using our newly defined errors
+
+ plugins/mm-plugin-generic.c | 1 -
+ src/Makefile.am | 4 +-
+ src/mm-at-serial-port.c | 1 -
+ src/mm-base-modem.c | 2 -
+ src/mm-broadband-modem.c | 2 -
+ src/mm-callback-info.c | 8 +-
+ src/mm-error-helpers.c | 267 ++++++++++++++++++++++
+ src/mm-error-helpers.h | 32 +++
+ src/mm-errors.c | 463
+ --------------------------------------
+ src/mm-errors.h | 163 --------------
+ src/mm-log.c | 11 +-
+ src/mm-manager.c | 7 +-
+ src/mm-modem-helpers.c | 20 +-
+ src/mm-plugin-base.c | 1 -
+ src/mm-plugin-manager.c | 4 +-
+ src/mm-port-probe-at-command.c | 6 +-
+ src/mm-port-probe.c | 6 +-
+ src/mm-qcdm-serial-port.c | 8 +-
+ src/mm-serial-parsers.c | 53 ++---
+ src/mm-serial-port.c | 36 +--
+ src/mm-sim.c | 1 -
+ src/mm-sms-utils.c | 41 ++--
+ src/tests/test-qcdm-serial-port.c | 8 +-
+ 23 files changed, 414 insertions(+), 731 deletions(-)
+
+commit e4d8c4ace72e72c53951f80792d852ff4b043329
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 12:06:22 2011 +0100
+
+ core: disable all dbus-glib dependent code
+
+ src/Makefile.am | 82
+ +--------------------------------------------------------
+ 1 file changed, 1 insertion(+), 81 deletions(-)
+
+commit 86aa9df84920d4dfdf50a7b7507bf82adc1056a5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 11:58:54 2011 +0100
+
+ core: start using MMBroadbandModem objects
+
+ We chain up the Generic plugin created MMBroadbandModem objects
+ within the
+ GDBusObjectManagerServer in MMManager, so that they get properly
+ exported in
+ DBus.
+
+ plugins/mm-plugin-generic.c | 100 ++++++-----------
+ src/mm-manager.c | 264
+ ++++++++++++++++++++++++--------------------
+ src/mm-plugin-base.c | 8 +-
+ src/mm-plugin-base.h | 6 +-
+ src/mm-plugin-manager.c | 4 +-
+ src/mm-plugin-manager.h | 4 +-
+ src/mm-plugin.c | 6 +-
+ src/mm-plugin.h | 26 ++---
+ 8 files changed, 206 insertions(+), 212 deletions(-)
+
+commit 4ad9374159551463e976c825a50685e27140b31f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 11:11:13 2011 +0100
+
+ plugin-base: explicitly request to probe for AT capabilities
+
+ src/mm-plugin-base.c | 19 +++++++++++++++++++
+ src/mm-plugin-base.h | 1 +
+ 2 files changed, 20 insertions(+)
+
+commit fa01e7a6d31c77192d631ed656bb495a1e5b9d6a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 11:08:33 2011 +0100
+
+ core: no need to check Capabilities during port probing
+
+ Capabilities checking is done during the Modem interface
+ initialization.
+
+ src/mm-plugin-base.c | 25 ---------
+ src/mm-plugin-base.h | 1 -
+ src/mm-port-probe-at-command.c | 117
+ -----------------------------------------
+ src/mm-port-probe-at-command.h | 2 -
+ src/mm-port-probe.c | 41 +--------------
+ src/mm-port-probe.h | 30 ++---------
+ 6 files changed, 4 insertions(+), 212 deletions(-)
+
+commit 6552393c8eb90a7d0eb9b54df4e69108325881de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:38:22 2011 +0100
+
+ broadband-modem: implement UnlockRequired loading
+
+ src/mm-broadband-modem.c | 132
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 132 insertions(+)
+
+commit 6ed6f861f06dc5616ed3466b9a9d02744ee91b6b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:37:57 2011 +0100
+
+ broadband-modem: implement DeviceIdentifier loading
+
+ src/mm-broadband-modem.c | 140
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 140 insertions(+)
+
+commit 912318b5d9bb78ce69b3753543122e5ca9ea67ee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:37:03 2011 +0100
+
+ broadband-modem: implement EquipmentIdentifier loading
+
+ src/mm-broadband-modem.c | 46
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 43d09e63e1fb5a3ff0f7beb4fb4fe35fcb2a8345
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:36:16 2011 +0100
+
+ broadband-modem: implement Revision loading
+
+ src/mm-broadband-modem.c | 46
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 90ba94056b6f8f5969bddb20f35b9c2eeb919dc6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:35:45 2011 +0100
+
+ broadband-modem: implement Model loading
+
+ src/mm-broadband-modem.c | 46
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 63163835a3c12f64ce991961bb6b8a0409535918
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:35:12 2011 +0100
+
+ broadband-modem: implement Manufacturer loading
+
+ src/mm-broadband-modem.c | 64
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 64 insertions(+)
+
+commit 8303bed13347c2ad23ada45eed7db36e539c15fd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:33:43 2011 +0100
+
+ broadband-modem: implement Capabilities loading
+
+ src/mm-broadband-modem.c | 188
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 188 insertions(+)
+
+commit 8647f3cbda099547fe02cf072bd0a460882e2a56
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:30:44 2011 +0100
+
+ broadband-modem: implement MMIfaceModem interface
+
+ Currently just override the interface properties, and launch
+ initialization and
+ shutdown where appropriate.
+
+ src/mm-broadband-modem.c | 160
+ ++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 144 insertions(+), 16 deletions(-)
+
+commit a3a712f32f1229e92db55e04430422e2a8afdb90
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:23:11 2011 +0100
+
+ core: new MMBroadbandModem object, inherits from MMBaseModem
+
+ New object to implement broadband modem specific behaviour.
+
+ src/Makefile.am | 2 +
+ src/mm-broadband-modem.c | 173
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-broadband-modem.h | 55 +++++++++++++++
+ 3 files changed, 230 insertions(+)
+
+commit 126332332b137c5ef3d5ee3bb71c6d4c58ab4b21
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 09:34:38 2011 +0100
+
+ iface-modem: allow requesting signal quality check
+
+ The new `mm_iface_modem_signal_quality_check()' method will reload
+ the signal
+ quality value on demand, set the value of the `SignalQuality'
+ property in DBus,
+ and also return the results.
+
+ src/mm-iface-modem.c | 121
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 20 +++++++++
+ 2 files changed, 141 insertions(+)
+
+commit 59c37afae6849a639350d38eafc84b0cc42ed43e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 19:16:07 2011 +0100
+
+ iface-modem: handle SetAllowedModes()
+
+ src/mm-iface-modem.c | 71
+ ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-iface-modem.h | 10 ++++++++
+ 2 files changed, 79 insertions(+), 2 deletions(-)
+
+commit 1dcd20f18db2941f87a774ca58bfacf345ccec45
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 19:12:33 2011 +0100
+
+ iface-modem: handle SetAllowedBands()
+
+ Also considering that playing with bands may not be supported.
+
+ src/mm-iface-modem.c | 69
+ ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-iface-modem.h | 9 +++++++
+ 2 files changed, 76 insertions(+), 2 deletions(-)
+
+commit b9d60d2de49e91c60eb2fcef779d769d39ee3c12
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 19:06:07 2011 +0100
+
+ iface-modem: handle FactoryReset() calls
+
+ Also considering that reseting may not be implemented.
+
+ src/mm-iface-modem.c | 70
+ ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-iface-modem.h | 9 +++++++
+ 2 files changed, 77 insertions(+), 2 deletions(-)
+
+commit 03490d1171e87a59b04b052faf03f9381d43a51b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 19:03:25 2011 +0100
+
+ iface-modem: handle Reset() calls
+
+ Also considering that reseting may not be implemented.
+
+ src/mm-iface-modem.c | 98
+ ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-iface-modem.h | 8 +++++
+ 2 files changed, 104 insertions(+), 2 deletions(-)
+
+commit 2a1465bc917bcbb80c322036d8aa100c5e827284
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:57:09 2011 +0100
+
+ iface-modem: create MMSim object during init
+
+ src/mm-iface-modem.c | 94
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 1 +
+ 2 files changed, 95 insertions(+)
+
+commit c2eac91b7865e83a4f62687bd6768c19d98a882b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:53:17 2011 +0100
+
+ sim: handle SendPin() and SendPuk() calls
+
+ src/mm-sim.c | 168
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 168 insertions(+)
+
+commit 995e7ace07ce21e7e5918f74c3a2a56c75c3e8f6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:52:02 2011 +0100
+
+ sim: handle EnablePin() calls
+
+ src/mm-sim.c | 42 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+commit b29a8ba44f7f9886a86a064e9e260800c5147509
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:51:25 2011 +0100
+
+ sim: handle ChangePin() calls
+
+ src/mm-sim.c | 121
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 121 insertions(+)
+
+commit 23dd4d7e8227b2b1bd11eaee47aa3214c9ef688c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:47:00 2011 +0100
+
+ sim: allow re-launching initialization
+
+ It may happen that we cannot load property values when the SIM is
+ locked, so
+ we need to enable re-launching initialization in the object API.
+
+ src/mm-sim.c | 53 +++++++++++++++++++++++++++++++++++++++++------------
+ src/mm-sim.h | 7 +++++++
+ 2 files changed, 48 insertions(+), 12 deletions(-)
+
+commit ff0136ed04ca8b94de1de3b78bd63a22dd01e809
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:45:20 2011 +0100
+
+ sim: load OperatorName during init
+
+ src/mm-sim.c | 136
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 136 insertions(+)
+
+commit e3e3b32b0a2586ab0d507b7cee4721fdc9257169
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:43:33 2011 +0100
+
+ sim: load OperatorIdentifier during init
+
+ src/mm-sim.c | 154
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 154 insertions(+)
+
+commit bdd1d23ed25cf9539db13052547cce7a62db840c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:41:55 2011 +0100
+
+ sim: load IMSI during init
+
+ src/mm-sim.c | 100
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 100 insertions(+)
+
+commit 87823387f458efc60afe1147f72ea6609006f180
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:32:19 2011 +0100
+
+ sim: load SIM Identifier during init
+
+ src/mm-sim.c | 200
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 200 insertions(+)
+
+commit e40d32ac94382361b0c0e18cd81cc98ebb38bc44
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:16:17 2011 +0100
+
+ core: new MMSim object, inherits from MmGdbusSim
+
+ src/Makefile.am | 2 +
+ src/mm-sim.c | 352
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sim.h | 63 ++++++++++
+ 3 files changed, 417 insertions(+)
+
+commit 1453f352bca34f8592a33954d628acfec66d4336
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 13:16:28 2011 +0100
+
+ iface-modem: relaunch init when being unlocked
+
+ src/mm-iface-modem.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit ca15a10629b4d977177bc8406e833b49a5f5aee2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:01:09 2011 +0100
+
+ iface-modem: new `State' property, bound to the one in the
+ MmGDbusModem skeleton
+
+ src/mm-iface-modem.c | 38 +++++++++++++++++++++++++++++++++++++-
+ src/mm-iface-modem.h | 1 +
+ 2 files changed, 38 insertions(+), 1 deletion(-)
+
+commit 48babcf97648e71b329bb5e809a08e1fd2c783d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 17:53:49 2011 +0100
+
+ iface-modem: load `SupportedModes' and `SupportedBands' during init
+
+ src/mm-iface-modem.c | 34 ++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 16 ++++++++++++++++
+ 2 files changed, 50 insertions(+)
+
+commit 7a20ad46d81ca8c87f0121af68f979a659fcd4ec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 17:47:46 2011 +0100
+
+ iface-modem: load `UnlockRequired' and `UnlockRetries' during init
+
+ And also allow being loaded upon user request, with
+ `mm_iface_modem_unlock_check()'.
+
+ src/mm-iface-modem.c | 198
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 26 +++++++
+ 2 files changed, 224 insertions(+)
+
+commit 9852433095eca82cb6efd842c74be85bbacb7ea6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 17:40:52 2011 +0100
+
+ iface-modem: load `EquipmentIdentifier' and `DeviceIdentifier'
+ during init
+
+ src/mm-iface-modem.c | 34 ++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 16 ++++++++++++++++
+ 2 files changed, 50 insertions(+)
+
+commit 7a9b0d9faced7c960b7e35d48df9d705feb1932b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 17:38:42 2011 +0100
+
+ iface-modem: load `Manufacturer', `Model' and `Revision' during init
+
+ src/mm-iface-modem.c | 75
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 24 +++++++++++++++++
+ 2 files changed, 99 insertions(+)
+
+commit b35be6141500d69000956210292bb7094315b80f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 17:37:15 2011 +0100
+
+ iface-modem: load `MaxBearers' and `MaxActiveBearers' during init
+
+ src/mm-iface-modem.c | 41 +++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 16 ++++++++++++++++
+ 2 files changed, 57 insertions(+)
+
+commit b6539e9e132995aaef7a6026f06d7bf569891934
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 17:30:57 2011 +0100
+
+ iface-modem: load `ModemCapabilities' and `CurrentCapabilities'
+ during init
+
+ When the interface gets initialized, start loading modem and current
+ capabilities.
+
+ src/mm-iface-modem.c | 66
+ ++++++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-iface-modem.h | 16 +++++++++++++
+ 2 files changed, 78 insertions(+), 4 deletions(-)
+
+commit 88e6b0e4e64e87ea371e8dec5f1889254f220a56
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 17:33:47 2011 +0100
+
+ iface-modem: set `Device', `Driver' and `Plugin' during init
+
+ Values taken from the MMBaseModem object, which are not expected
+ to change
+ during the lifetime of the Modem object.
+
+ src/mm-iface-modem.c | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit 9e7cd2a3450a56bd3af99e7d22146c66189774e2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Nov 3 14:55:00 2011 +0100
+
+ core: new MMIfaceModem interface
+
+ This interface controls the availability of the DBus Modem interface,
+ and
+ implements the actions that may be performed in the interface.
+
+ src/Makefile.am | 2 +
+ src/mm-iface-modem.c | 467
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-iface-modem.h | 49 ++++++
+ 3 files changed, 518 insertions(+)
+
+commit 8069c751a04144478ce243ecaa9fdfd2b9794d02
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 23 10:03:34 2011 +0100
+
+ base-modem: new `enable()' and `disable()' async methods
+
+ Users will be able to enable or disable modems using the DBus
+ interface. We will
+ chain up the `Enable(boolean)' call from the DBus interface to these
+ new methods
+ in the base modem class.
+
+ src/mm-base-modem.h | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit b00c4099783cd4a994e7771ed275c7c61591a45b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 8 17:20:34 2011 +0100
+
+ base-modem: new virtual initialize() method
+
+ Whenever the first AT port is grabbed, we launch the initialize()
+ method, which
+ must have been implemented by the corresponding modem subclass.
+
+ src/mm-base-modem.c | 40 ++++++++++++++++++++++++----------------
+ src/mm-base-modem.h | 10 ++++++++++
+ 2 files changed, 34 insertions(+), 16 deletions(-)
+
+commit 677e04be95dbbac200a9ab3fab4aea64317547bf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:35:56 2011 +0100
+
+ base-modem: new property to keep the Connection object
+
+ src/mm-base-modem.c | 22 ++++++++++++++++++++++
+ src/mm-base-modem.h | 1 +
+ 2 files changed, 23 insertions(+)
+
+commit d32b006cce8c62a1f0e2d4cf9fe0121a4a541316
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 18:24:08 2011 +0100
+
+ base-modem: new properties for vendor and product IDs
+
+ These will be set during modem object creation.
+
+ src/mm-base-modem.c | 49
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-base-modem.h | 5 +++++
+ 2 files changed, 54 insertions(+)
+
+commit d5a0efc659b01ed6aafe2d20f0c03f10c8fe11e3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Nov 12 15:50:22 2011 +0100
+
+ base-modem: getters for primary/secondary/qcdm ports
+
+ src/mm-base-modem.c | 24 ++++++++++++++++++++++++
+ src/mm-base-modem.h | 4 ++++
+ 2 files changed, 28 insertions(+)
+
+commit 4a096c8c5677c82fcc0cdc2d4fc4ec9473e06d92
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 8 17:00:31 2011 +0100
+
+ base-modem: set v1 serial parser always
+
+ CDMA modems used to use the v1_e1 serial parser; but we'll try to
+ setup a common
+ one in all modems.
+
+ src/mm-base-modem.c | 25 ++++++++-----------------
+ 1 file changed, 8 insertions(+), 17 deletions(-)
+
+commit 0d53a72d415af348e6f8cd2a172afa632166ca92
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 8 15:18:31 2011 +0100
+
+ base-modem: new properties to handle Device, Driver and Plugin
+
+ They will be set when constructing the object.
+
+ src/mm-base-modem.c | 80
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-base-modem.h | 7 +++++
+ 2 files changed, 87 insertions(+)
+
+commit b6cb5bd6daac1b434a57a34ec2e08121455f3397
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Nov 4 12:43:06 2011 +0100
+
+ base-modem: ported all port grabbing/releasing logic to the base
+ object
+
+ src/mm-base-modem.c | 292
+ +++++++++++++++++++++++++++++++++++++---------------
+ src/mm-base-modem.h | 22 ++--
+ 2 files changed, 222 insertions(+), 92 deletions(-)
+
+commit f39923c97d33850cc1e70d23b2e8d808cda67fec
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Nov 3 12:21:48 2011 +0100
+
+ base-modem: expect a GDBusMethodInvocation as context of the auth
+ request
+
+ src/mm-base-modem.c | 6 ++----
+ src/mm-base-modem.h | 2 +-
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+commit 9a72ac80d021f485b3811e49ae7a097990525a0e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Nov 2 17:18:25 2011 +0100
+
+ core: new MMBaseModem abstract type
+
+ Basically, a replacement of the MMModemBase type, being prepared
+ to handle
+ multimode devices.
+
+ This object derives from a MmGdbusObjectSkeleton, which makes it
+ suitable to be
+ controlled within the GDBusObjectManagerServer.
+
+ src/Makefile.am | 2 +
+ src/mm-base-modem.c | 414
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-base-modem.h | 82 +++++++++++
+ 3 files changed, 498 insertions(+)
+
+commit f15daaf587ae296c6bec6f79a24cecb1860508bb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 16:52:19 2011 +0100
+
+ core: new AT command and sequence processors
+
+ This setup, allows:
+ - Running a single command and processing its result.
+ - Running a set of N commands, providing a global result after
+ all have
+ been executed.
+ - Running a set of N commands out of M (N<M), where the global
+ result is
+ obtained without having executed all configured commands. This
+ is useful
+ when probing, for example.
+
+ src/Makefile.am | 2 +
+ src/mm-at.c | 258
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-at.h | 90 ++++++++++++++++++++
+ 3 files changed, 350 insertions(+)
+
+commit 07640b0c741292bba5138110caeb8961a2e82896
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 25 17:27:30 2011 +0200
+
+ manager: make it export the Object Manager interface
+
+ src/mm-manager.c | 20 +++++++++++++++++---
+ 1 file changed, 17 insertions(+), 3 deletions(-)
+
+commit 0cc17ed82f8a2c3b5b12158bf138007459ef289f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 25 17:13:12 2011 +0200
+
+ manager: let it be initable
+
+ The MMManager object creation may fail due to environment reasons
+ (i.e. no
+ plugins found, or problems exporting DBus interfaces), so we can
+ use the
+ initable interface to properly handle those situations.
+
+ src/mm-manager.c | 91
+ ++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 52 insertions(+), 39 deletions(-)
+
+commit bc78453d794e7e82d5cc726d716b1a84454763de
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 25 16:59:59 2011 +0200
+
+ manager: keep the GDBus connection reference in a 'connection'
+ property
+
+ src/mm-manager.c | 63
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-manager.h | 2 ++
+ 2 files changed, 62 insertions(+), 3 deletions(-)
+
+commit 68fcfa4530eb47a1a2947aa29a18b49378a5c9be
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 25 16:46:07 2011 +0200
+
+ manager: use G_TYPE_INSTANCE_GET_PRIVATE() just to create the
+ private struct
+
+ A new 'priv' pointer is added in the MMManager struct, which will
+ contain the
+ address of the private structure.
+
+ src/mm-manager.c | 68
+ ++++++++++++++++++++++++--------------------------------
+ src/mm-manager.h | 3 +++
+ 2 files changed, 32 insertions(+), 39 deletions(-)
+
+commit 60c7f7d9ee4babfa21c485d526b1baf0b5c2d245
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 25 13:06:21 2011 +0200
+
+ core: implement the Manager1 DBus interface, based on GDBus
+
+ The MMManager object now derives from the gdbus-codegen-generated
+ MmGdbusOrgFreedesktopModemManager1Skeleton object, and implements
+ the handlers
+ for the SetLogging() and ScanDevices() DBus methods.
+
+ The main program is also modified to be based on GDBus.
+
+ src/main.c | 137 ++++++++++--------------
+ src/mm-manager.c | 312
+ +++++++++++++++++++++++--------------------------------
+ src/mm-manager.h | 19 ++--
+ 3 files changed, 195 insertions(+), 273 deletions(-)
+
+commit a6d9bad4bdba542626984fabc8c851daec49cbe7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 8 18:03:53 2011 +0100
+
+ plugin-base: properly handle Core errors
+
+ src/mm-plugin-base.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 1e6b29bcca17c64818c1c49a1694b6caffde1611
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Mon Sep 19 19:23:52 2011 +0200
+
+ plugin-base: clear internally tracked probe if port unsupported
+
+ If the port is supported by the plugin, leave the probe in the
+ internal HT until
+ the port gets grabbed afterwards.
+
+ src/mm-plugin-base.c | 26 ++++++++++++++++++++++----
+ 1 file changed, 22 insertions(+), 4 deletions(-)
+
+commit d9b2b6f8ec450dbbdf2f738ab26ee78d357d2034
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Sun Sep 18 23:50:22 2011 +0200
+
+ manager: clear cached port probe when device is removed
+
+ src/mm-manager.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 95ade9c6177c1d51093e81a3fa6b6c28fc48a937
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Sun Sep 18 23:23:18 2011 +0200
+
+ plugin-base: remove `MM_PLUGIN_SUPPORTS_PORT_IN_PROGRESS' status
+
+ Support checks are fully asynchronous and result is always reported
+ when the
+ check is considered ready, so in-progress replies to
+ `mm_plugin_supports_port_finish()' don't make any sense.
+
+ src/mm-plugin-manager.c | 5 -----
+ src/mm-plugin.h | 1 -
+ 2 files changed, 6 deletions(-)
+
+commit 2b209554893b88443cb9295f8177c87b8ba6aa1f
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Mon Sep 19 20:27:11 2011 +0200
+
+ plugin-base: don't report numeric support level in the [0-100] range
+
+ There is no single case where more than one plugin may end up wanting
+ to support
+ a given port, and therefore there is no need to report the numeric
+ support level
+ when reporting SUPPORTED.
+
+ src/mm-plugin-base.c | 1 -
+ src/mm-plugin-manager.c | 49
+ +++++++++++++------------------------------------
+ src/mm-plugin.c | 2 --
+ src/mm-plugin.h | 2 --
+ 4 files changed, 13 insertions(+), 41 deletions(-)
+
+commit a1d2f200214c7f691e4df535490f51c398ca32d4
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Sun Sep 18 23:23:18 2011 +0200
+
+ plugin-base: avoid trying to probe 'net' devices
+
+ Some devices support 'net' devices, which cannot be AT or QCDM probed.
+
+ If the port being checked for support corresponds to an already
+ existing modem,
+ the port will be reported as SUPPORTED.
+
+ If this is the first port of the modem being checked for support,
+ we will just
+ DEFER the support check until we get a modem created.
+
+ src/mm-plugin-base.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit db356bb20b5969c9680e9f11e21ad9bc51be30ec
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Sun Sep 18 22:55:47 2011 +0200
+
+ plugin-base: keep a MMPluginSupportsResult in the async result
+
+ Instead of just a boolean, provide a MMPluginSupportsResult, so that
+ we can pass
+ it as is during `supports_port_finish()'.
+
+ src/mm-plugin-base.c | 23 +++++++++++++----------
+ 1 file changed, 13 insertions(+), 10 deletions(-)
+
+commit 2588c17ad3c9c83d9992dc49d4ab1420ac38fed7
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 15 21:46:23 2011 +0200
+
+ generic: rewrite the plugin to use the new port probing
+
+ plugins/mm-plugin-generic.c | 153
+ +++++++++++++++++---------------------------
+ 1 file changed, 57 insertions(+), 96 deletions(-)
+
+commit afd386738d1ff74e578bd95433d089a9744c5b64
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 15 23:33:54 2011 +0200
+
+ plugin-base: improve the logic to check whether vendor or product
+ probing needed
+
+ If the plugin does a Vendor ID check and it passes, it doesn't
+ need Vendor
+ string probing.
+
+ If the plugin does a Vendor ID check and it fails:
+ - If Vendor strings reported, it needs Vendor probing.
+ - If Vendor strings not reported, fail as unsupported.
+
+ If the plugin does a Product ID check and it passes, it doesn't
+ need Product
+ string probing.
+
+ If the plugin does a Product ID check and it fails:
+ - If Product strings reported, it needs Product probing.
+ - If Product strings not reported, fail as unsupported.
+
+ src/mm-plugin-base.c | 80
+ +++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 60 insertions(+), 20 deletions(-)
+
+commit 0646fc9d99007dd4182a1d941d226305ba0774ea
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 15 22:57:13 2011 +0200
+
+ plugin-base: apply post-probing filtering
+
+ Once probing is finished, the plugin will check whether the port
+ is supported
+ or not based on the following filters:
+ - Capabilities
+ - Reported Vendor string
+ - Reported Product string
+
+ src/mm-plugin-base.c | 124
+ ++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 112 insertions(+), 12 deletions(-)
+
+commit f92fbcc906fe080afb29aeada8bbfe1beca060da
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 15 22:30:12 2011 +0200
+
+ plugin-base: apply pre-probing filtering
+
+ Before any real probing is launched in the port, the plugin will
+ check whether
+ it can skip the request based on the following filters:
+ - Subsystems
+ - Drivers
+ - udev-reported Vendor ID
+ - udev-reported Product ID
+ - udev-reported Tags
+
+ src/mm-plugin-base.c | 102
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 102 insertions(+)
+
+commit a67d5dc1b84db6cc1517475b90a047d6d9a19968
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 15 21:27:11 2011 +0200
+
+ plugin-base: make the plugin base use the new port probing mechanism
+
+ The previous 'MMPluginBaseSupportsTask' object is more or less
+ equivalent to the
+ new `MMPortProbe' in terms of what information it contains. The
+ main difference
+ being that the new `MMPortProbe' object handles internally the
+ whole probing
+ flow as needed: only the needed probing sequences are done. For
+ example, vendor
+ or product string probing will only be performed if a plugin
+ requests it.
+
+ src/mm-plugin-base.c | 1285
+ ++++----------------------------------------------
+ src/mm-plugin-base.h | 125 +----
+ 2 files changed, 99 insertions(+), 1311 deletions(-)
+
+commit 7b687b4aae5c1fc89b9203bd43602b4820042d7c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 8 17:57:33 2011 +0100
+
+ build: temporarily disable compilation of plugins
+
+ plugins/Makefile.am | 486
+ ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 239 insertions(+), 247 deletions(-)
+
+commit c112e19896921810fe469ef93a268f5431fad93d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 8 17:56:18 2011 +0100
+
+ port-probe: properly handle Core errors
+
+ Fixes compilation of the Port Probe object.
+
+ src/mm-port-probe.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 963eb873e10dd06b17363a08414c278d5e1ba7b3
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Sun Sep 18 22:20:11 2011 +0200
+
+ plugin-base: new 'allowed-udev-tags' property
+
+ The plugins can set this property to filter support check requests
+ by the
+ availability of a given udev tag in the port. The value given to
+ the property
+ should be a NULL-terminated array of C strings, e.g.:
+
+ const gchar *tags[] = { "ID_MM_X22X_TAGGED", NULL };
+
+ src/mm-plugin-base.c | 17 +++++++++++++++++
+ src/mm-plugin-base.h | 1 +
+ 2 files changed, 18 insertions(+)
+
+commit 18238ed50ee626bff10aa9dc86e06223a776c255
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Mon Sep 19 13:31:47 2011 +0200
+
+ plugin-base: new 'allowed-drivers' property
+
+ The plugins can set this property to filter support check requests
+ by physical
+ device driver. The value given to the property should be a
+ NULL-terminated array
+ of C strings, e.g.:
+
+ const gchar *drivers[] = { "qcserial", NULL };
+
+ src/mm-plugin-base.c | 17 +++++++++++++++++
+ src/mm-plugin-base.h | 1 +
+ 2 files changed, 18 insertions(+)
+
+commit 24ebb00ed2010ba3c724afd4d35f39bf02840b09
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 15 23:45:22 2011 +0200
+
+ plugin-base: new 'allowed-qcdm' property
+
+ The plugins can set this boolean property to specify whether they
+ can handle
+ QCDM ports, and therefore probing for them is needed.
+
+ src/mm-plugin-base.c | 17 +++++++++++++++++
+ src/mm-plugin-base.h | 1 +
+ 2 files changed, 18 insertions(+)
+
+commit 8f95a2d78d0f7d94597699095838d69b6f3b50d1
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 15 20:09:07 2011 +0200
+
+ plugin-base: new 'send-delay' property
+
+ The plugins can set this property to provide a custom value for the
+ send delay
+ used for characters sent to the AT port during probing.
+
+ The value given to the property should be a guint64 specifying the
+ delay in
+ microseconds.
+
+ src/mm-plugin-base.c | 20 ++++++++++++++++++++
+ src/mm-plugin-base.h | 1 +
+ 2 files changed, 21 insertions(+)
+
+commit a935cd9fb68df10c3b824251a3335e02ba40c322
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 15 19:48:36 2011 +0200
+
+ plugin-base: new 'allowed-capabilities' property
+
+ The plugins can set this property to filter support check requests
+ by probed
+ capabilities.
+ The value given to the property should be a guint built as a mask of
+ MM_PORT_PROBE_CAPABILITY flags, e.g.:
+
+ const guint capabilities = (MM_PORT_PROBE_CAPABILITY_GSM |
+ MM_PORT_PROBE_CAPABILITY_CDMA);
+
+ src/mm-plugin-base.c | 17 +++++++++++++++++
+ src/mm-plugin-base.h | 1 +
+ 2 files changed, 18 insertions(+)
+
+commit 8ccb2229782a8a02306a61a382312d2e8bf206c7
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 15 19:40:56 2011 +0200
+
+ plugin-base: new 'allowed-vendor-strings' and
+ 'allowed-product-strings' properties
+
+ The plugins can set these properties to filter support check
+ requests by
+ AT-reported Vendor string and Product string.
+
+ The value given to the properties should be a NULL-terminated array
+ of strings,
+ e.g.,
+
+ static const gchar *vendor_strings[] = { "cinterion" , NULL };
+
+ src/mm-plugin-base.c | 35 +++++++++++++++++++++++++++++++++++
+ src/mm-plugin-base.h | 14 ++++++++------
+ 2 files changed, 43 insertions(+), 6 deletions(-)
+
+commit 2d8fb51c6b6669afa60594c04244f17653df0fb7
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Thu Sep 8 18:22:19 2011 +0200
+
+ plugin-base: new 'custom-init' property
+
+ The plugins can set this property to provide custom initialization
+ commands that
+ should be issued to the modem before real probing starts.
+
+ The value given to the property should be an array of
+ MMPortProbeAtCommand
+ variables finished with a last one exposing a NULL command, e.g.:
+
+ static gboolean
+ parse_init (const gchar *response,
+ const GError *error,
+ GValue *result,
+ GError **result_error)
+ {
+ if (error)
+ return FALSE;
+
+ /* If we didn't get any error, it is an AT port */
+ g_value_init (result, G_TYPE_BOOLEAN);
+ g_value_set_boolean (result, TRUE);
+ return TRUE;
+ }
+
+ static gboolean
+ parse_init_last (const gchar *response,
+ const GError *error,
+ GValue *result,
+ GError **result_error)
+ {
+ g_value_init (result, G_TYPE_BOOLEAN);
+ /* On last error, report as not being an AT port */
+ g_value_set_boolean (result, error ? FALSE : TRUE);
+ return TRUE;
+ }
+
+ static const MMPortProbeAtCommand custom_init[] = {
+ { "ATE1 E0", parse_init },
+ { "ATE1 E0", parse_init },
+ { "ATE1 E0", parse_init_last },
+ { NULL }
+ };
+
+ src/mm-plugin-base.c | 19 +++++++++++++++++++
+ src/mm-plugin-base.h | 12 ++++++++++++
+ 2 files changed, 31 insertions(+)
+
+commit 806aabd22d725a329bdfe12ac258cb1db293fc3d
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Wed Sep 7 18:28:28 2011 +0200
+
+ plugin-base: new 'allowed-vendor-ids' and 'allowed-product-ids'
+ properties
+
+ The plugins can set these properties to filter support check
+ requests by
+ udev-reported Vendor ID and Product ID.
+
+ The value given to the properties should be a 0-terminated array
+ of guint16s,
+ e.g.,
+
+ static const guint16 vendor_ids[] = { 0x0421 , 0 };
+
+ src/mm-plugin-base.c | 34 ++++++++++++++++++++++++++++++++++
+ src/mm-plugin-base.h | 8 +++++---
+ 2 files changed, 39 insertions(+), 3 deletions(-)
+
+commit 59c783eb614c0a56e2d1a2daeb0fef0decdf690e
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Wed Sep 7 18:05:42 2011 +0200
+
+ plugin-base: new 'allowed-subsystems' property
+
+ The plugins can set this property to filter support check requests
+ by subsystem.
+ The value given to the property should be a NULL-terminated array
+ of C strings,
+ e.g.:
+
+ const gchar *subsystems[] = { "tty", NULL };
+
+ src/mm-plugin-base.c | 19 +++++++++++++++++++
+ src/mm-plugin-base.h | 5 +++--
+ 2 files changed, 22 insertions(+), 2 deletions(-)
+
+commit 27e1d97aca340877db8f2b2181406b3ed8c06a5f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Sep 11 19:22:12 2011 +0200
+
+ port-probe: new cache of Port Probe results
+
+ Whenever a plugin has probed for some information in a given port,
+ that data
+ should be available for any other plugin wanting it during its
+ own probing
+ process. This new cache of Port Probe results allows to easily
+ retrieve the
+ already probed information.
+
+ src/Makefile.am | 2 ++
+ src/mm-port-probe-cache.c | 80
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-port-probe-cache.h | 30 ++++++++++++++++++
+ 3 files changed, 112 insertions(+)
+
+commit a3ace206b08998e80891e783abbd2d7ca5add297
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Sep 10 18:38:29 2011 +0200
+
+ port-probe: add comment explaining the probing process flow
+
+ src/mm-port-probe.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit fa3fa38e0db3475d6f4c0273d6855fce375d1be0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Sep 10 18:17:06 2011 +0200
+
+ port-probe: allow providing custom initialization AT commands
+
+ src/mm-port-probe.c | 38 ++++++++++++++++++++++++++++++++++----
+ src/mm-port-probe.h | 3 +++
+ 2 files changed, 37 insertions(+), 4 deletions(-)
+
+commit 610bffc4e817fa04dcde19d31584b194038fdde6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Sep 10 16:20:11 2011 +0200
+
+ port-probe: enable probing for QCDM support
+
+ src/mm-port-probe.c | 167
+ +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-port-probe.h | 2 +
+ 2 files changed, 168 insertions(+), 1 deletion(-)
+
+commit b73fb8e8f27ac34ec5aa16e3e5a3605b03dbe740
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Sep 10 11:40:23 2011 +0200
+
+ port-probe: enable probing for Product
+
+ src/mm-port-probe-at-command.c | 30 ++++++++++++++++++++++++++++
+ src/mm-port-probe-at-command.h | 1 +
+ src/mm-port-probe.c | 45
+ +++++++++++++++++++++++++++++++++++++++---
+ src/mm-port-probe.h | 2 ++
+ 4 files changed, 75 insertions(+), 3 deletions(-)
+
+commit 1f9fd9e0beba7fd90c46d057c849fb007001b75f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Sep 10 11:19:12 2011 +0200
+
+ port-probe: enable probing for Vendor
+
+ src/mm-port-probe-at-command.c | 28 +++++++++++++++++++++++++
+ src/mm-port-probe-at-command.h | 1 +
+ src/mm-port-probe.c | 46
+ +++++++++++++++++++++++++++++++++++++++---
+ src/mm-port-probe.h | 6 ++++--
+ 4 files changed, 76 insertions(+), 5 deletions(-)
+
+commit 05f8493ee7baa43cb7ff1242eae4930fc85e6ee5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Sep 10 00:47:54 2011 +0200
+
+ port-probe: enable probing for Capabilities
+
+ src/mm-port-probe-at-command.c | 121
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-port-probe-at-command.h | 1 +
+ src/mm-port-probe.c | 52 ++++++++++++++++--
+ src/mm-port-probe.h | 28 +++++++++-
+ 4 files changed, 196 insertions(+), 6 deletions(-)
+
+commit 6816c2e61def241eb2a991a11c21da699b06b54f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 9 23:56:22 2011 +0200
+
+ port-probe: enable probing for AT support
+
+ We will initially probe for AT support in the port.
+
+ src/Makefile.am | 1 +
+ src/mm-port-probe-at-command.c | 71 ++++++++
+ src/mm-port-probe-at-command.h | 3 +
+ src/mm-port-probe.c | 383
+ ++++++++++++++++++++++++++++++++++++++++-
+ src/mm-port-probe.h | 8 +
+ 5 files changed, 461 insertions(+), 5 deletions(-)
+
+commit d7238403c485d040dc77b3c2e428b876c3b33bdf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 9 21:32:03 2011 +0200
+
+ port-probe: new type to define commands used during probing
+
+ The new `MMPortProbeAtCommand' type defines what command will be
+ sent to the
+ serial AT port, and also a response processor method to parse
+ the string
+ returned by the port.
+
+ The response processor gets as input either the text reply string
+ or an error,
+ and it should give as output either a GValue (type depends on the
+ probing kind
+ being done) or a new error (which will force the whole probing
+ process to be
+ aborted.
+
+ src/Makefile.am | 1 +
+ src/mm-port-probe-at-command.h | 54
+ ++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 55 insertions(+)
+
+commit f7b1d99fa0ac00889a65b22905939e4f86061902
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 9 20:45:37 2011 +0200
+
+ port-probe: allow cancelling the probing operation
+
+ The new `mm_port_probe_cancel()' will cancel the probing operation
+ currently in
+ progress, if any. Note that we don't need to pass any argument to
+ specify which
+ operation to cancel, as there can only be one.
+
+ src/mm-port-probe.c | 47 +++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-port-probe.h | 1 +
+ 2 files changed, 46 insertions(+), 2 deletions(-)
+
+commit f227572d8f1f8516e2ea2a38bf7a8a73387165d5
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Fri Sep 9 20:22:10 2011 +0200
+
+ port-probe: setup an asynchronous method for port probing
+
+ The new method `mm_port_probe_run()' will run the whole probing
+ process
+ asynchronously. Result of the probing can be later obtained with
+ `mm_port_probe_run_finish()'.
+
+ src/mm-port-probe.c | 87
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-port-probe.h | 9 ++++++
+ 2 files changed, 95 insertions(+), 1 deletion(-)
+
+commit 1b84994febfdd9c821335157f0a8107f1842566f
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Fri Sep 9 20:00:57 2011 +0200
+
+ port-probe: set port details when creating the object
+
+ Each port probe is always associated to one specific port.
+
+ src/mm-port-probe.c | 64
+ +++++++++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-port-probe.h | 13 ++++++++++-
+ 2 files changed, 74 insertions(+), 3 deletions(-)
+
+commit 74145f5af7c4e80ea09b86654fd524b4cd4759a8
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Fri Sep 9 19:49:28 2011 +0200
+
+ port-probe: new MMPortProbe object
+
+ src/Makefile.am | 2 ++
+ src/mm-port-probe.c | 62
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-port-probe.h | 47 ++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 111 insertions(+)
+
+commit 916cf5dd3e5476c38b795ae2bfac7b31c9497196
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Tue Sep 6 22:00:12 2011 +0200
+
+ manager: integrate the Plugin Manager
+
+ All plugin handling and port support checks now done by the Plugin
+ Manager.
+
+ src/mm-manager.c | 754
+ +++++++++++++++----------------------------------------
+ 1 file changed, 200 insertions(+), 554 deletions(-)
+
+commit fad89b1d7e88f742ecd1f94d78401cd558ecb65c
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Tue Sep 6 20:13:27 2011 +0200
+
+ plugin-manager: new methods to check for ongoing port support
+ operations
+
+ The new mm_plugin_manager_is_finding_port_support() allows to check
+ whether the
+ Plugin Manager is looking for support in a specific port.
+
+ The new mm_plugin_manager_is_checking_device_support() allows to
+ check whether
+ the Plugin Manager is looking for support in any port of a given
+ device.
+
+ src/mm-plugin-manager.c | 50
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-plugin-manager.h | 13 +++++++++++++
+ 2 files changed, 63 insertions(+)
+
+commit 5f2d0d474cf9b4308715f4ef811127410e874240
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Tue Sep 6 19:45:54 2011 +0200
+
+ plugin-manager: allow suggesting a plugin when launching support
+ checks
+
+ The newly launched support check will start probing with the
+ suggested plugin
+ right away.
+
+ src/mm-plugin-manager.c | 8 ++++++++
+ src/mm-plugin-manager.h | 1 +
+ 2 files changed, 9 insertions(+)
+
+commit 8fed241767b65ca4a651057109324a81e7c20e0b
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Tue Sep 6 19:30:19 2011 +0200
+
+ plugin-manager: propagate support check results to tasks in the
+ same device
+
+ As soon as the first support check of a port in a given device
+ finishes with a
+ valid best plugin and level > 0, propagate the result to other
+ support tasks
+ corresponding to ports in the same physical device.
+
+ Previously, this propagation of support check results was only done
+ once the
+ port was grabbed by a plugin, not just when the plugin reported
+ that it
+ supported it. This change in behaviour isn't probably a big deal,
+ as there
+ should not be any case where a plugin says it supports a port and
+ then cannot
+ grab it.
+
+ src/mm-plugin-manager.c | 129
+ ++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 108 insertions(+), 21 deletions(-)
+
+commit 0626de08796d4411c6c0e38e002b0ec3919893fd
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Tue Sep 6 00:47:02 2011 +0200
+
+ plugin-manager: keep track of all launched support checks
+
+ We will keep a reference to each of the support checks currently
+ in progress,
+ grouped by physical device path. The stored SupportsInfo structs as
+ well as
+ the support check operations, are guaranteed to be kept valid as
+ long as the
+ Plugin Manager exists. Or in other words, the Plugin Manager cannot
+ be disposed
+ if there is still an ongoing supports check operation.
+
+ src/mm-plugin-manager.c | 86
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 86 insertions(+)
+
+commit 1e3213970714e5d5144ba0a00ea47d0c9681cce4
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Tue Sep 6 00:12:57 2011 +0200
+
+ plugin-manager: new method to look for best plugin supporting a
+ given port
+
+ The new `mm_plugin_manager_find_port_support()' method requests
+ the Plugin
+ Manager to iterate over the list of plugins internally handled,
+ launching
+ supports task for the given port in each of them.
+
+ The method is fully asynchronous, and the result can be retrieved with
+ `mm_plugin_manager_find_port_support_finish()' once the operation
+ is ready.
+
+ src/mm-plugin-manager.c | 203
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-plugin-manager.h | 16 ++++
+ 2 files changed, 219 insertions(+)
+
+commit 7007825781122c1f1942a4135f39088ab75782f3
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Mon Sep 5 22:39:22 2011 +0200
+
+ plugin-manager: ensure we always print paths in UTF-8
+
+ There is little chance of having a PLUGINDIR which is not UTF-8,
+ but it may
+ happen, and g_log() won't like it.
+
+ src/mm-plugin-manager.c | 56
+ ++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 34 insertions(+), 22 deletions(-)
+
+commit 035be287304515f53539b4d22f6e44712c06bdd7
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Mon Sep 5 22:30:13 2011 +0200
+
+ plugin-manager: find and load plugins when the manager object
+ is created
+
+ Ported the plugin finding and loading code from the MMManager object.
+
+ src/mm-plugin-manager.c | 179
+ +++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-plugin-manager.h | 2 +
+ 2 files changed, 179 insertions(+), 2 deletions(-)
+
+commit 51a8dc6ff3d2d92dfe1e8fc99c73ec84e4948354
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Mon Sep 5 21:16:23 2011 +0200
+
+ plugin-manager: let it be initable
+
+ Looking for plugins and loading them will be done during the object
+ creation,
+ so the operation may fail and we need to report it.
+
+ src/mm-plugin-manager.c | 29 ++++++++++++++++++++++++++---
+ src/mm-plugin-manager.h | 2 +-
+ 2 files changed, 27 insertions(+), 4 deletions(-)
+
+commit 03655fcf9fd34d1153d8c0f8ae9f306baf974da3
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Mon Sep 5 21:03:12 2011 +0200
+
+ plugin-manager: new MMPluginManager object
+
+ src/Makefile.am | 2 ++
+ src/mm-plugin-manager.c | 58
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-plugin-manager.h | 43 ++++++++++++++++++++++++++++++++++++
+ 3 files changed, 103 insertions(+)
+
+commit 62030debf261db70d6e0ae76c18178c860b24da6
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Mon Sep 5 00:05:27 2011 +0200
+
+ plugin-base: rename 'cancel_supports_port' to 'supports_port_cancel'
+
+ We now have 'supports_port' (async method) and 'supports_port_finish'
+ (to get
+ the result of the async method), so it makes sense to rename the
+ method to
+ 'supports_port_cancel'.
+
+ src/mm-manager.c | 12 +++++++++---
+ src/mm-plugin-base.c | 4 ++--
+ src/mm-plugin.c | 4 ++--
+ src/mm-plugin.h | 4 ++--
+ 4 files changed, 15 insertions(+), 9 deletions(-)
+
+commit dc30536456dbbface927e6c76ca3bf3e4647afa5
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Sun Sep 4 23:59:43 2011 +0200
+
+ plugin-base: rewrite port supports check as fully asynchronous
+
+ Before this change, supports check was either synchronous (e.g. in
+ some
+ UNSUPPORTED cases) or asynchronous (when IN_PROGRESS was returned).
+
+ With this fix, the supports check requested to the plugin will
+ always be
+ completed asynchronously; either directly in an idle before launching
+ any real
+ probing operation, or once the probing operation is finished.
+
+ Therefore, it is not expected to get a IN_PROGRESS reply in
+ mm_plugin_supports_port_finish(), only UNSUPPORTED|SUPPORTED|DEFERRED.
+
+ src/mm-manager.c | 75 ++++++++++++++--------
+ src/mm-plugin-base.c | 176
+ ++++++++++++++++++++++++++++++++++++---------------
+ src/mm-plugin.c | 55 ++++++++++------
+ src/mm-plugin.h | 56 +++++++++-------
+ 4 files changed, 244 insertions(+), 118 deletions(-)
+
+commit d47176a32c45da0f63ec5ab8024cf4e5f6467a7f
+Author: Aleksander Morgado <aleksander@gnu.org>
+Date: Fri Sep 2 20:28:12 2011 +0200
+
+ core: avoid using DBusGMethodInvocation in auth API
+
+ While porting to GDBus, use opaque pointers. This allows us to
+ include either a
+ DBusGMethodInvocation or a GDBusMethodInvocation in the 'context'
+ pointer.
+
+ Once fully ported to GDBus, we can safely change it back to make
+ the context be
+ a GDBusMethodInvocation.
+
+ src/mm-auth-provider-polkit.c | 29 +++++++++++++++++++++--------
+ src/mm-auth-provider.c | 4 ++--
+ src/mm-auth-provider.h | 4 ++--
+ src/mm-auth-request-polkit.c | 9 +++------
+ src/mm-auth-request-polkit.h | 3 ++-
+ src/mm-auth-request.c | 4 ++--
+ src/mm-auth-request.h | 7 +++++--
+ src/mm-manager.c | 2 +-
+ src/mm-modem-cdma.c | 2 +-
+ src/mm-modem-firmware.c | 6 +++---
+ src/mm-modem-gsm-card.c | 16 ++++++++--------
+ src/mm-modem-gsm-network.c | 2 +-
+ src/mm-modem-gsm-sms.c | 16 ++++++++--------
+ src/mm-modem-gsm-ussd.c | 6 +++---
+ src/mm-modem-location.c | 4 ++--
+ src/mm-modem.c | 4 ++--
+ 16 files changed, 66 insertions(+), 52 deletions(-)
+
+commit 1e79a2d292e7e68430043d9741bfbbe01cd3206f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 14:00:09 2011 +0100
+
+ build: install DBus service and data files for the new API
+
+ .gitignore | 4 +
+ data/Makefile.am | 18 +--
+ data/org.freedesktop.ModemManager.conf.polkit | 154
+ ---------------------
+ ...=> org.freedesktop.ModemManager1.conf.nopolkit} | 4 +-
+ data/org.freedesktop.ModemManager1.conf.polkit | 22 +++
+ ....in => org.freedesktop.ModemManager1.policy.in} | 16 +--
+ ...in => org.freedesktop.ModemManager1.service.in} | 2 +-
+ 7 files changed, 46 insertions(+), 174 deletions(-)
+
+commit 8d97538c72b4f475d0f5b0a7f7a23fc756979a0a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 13:36:48 2011 +0100
+
+ build: setup all data (polkit, icon, dbus...) in the same `data'
+ directory
+
+ Also fixed dist when not using polkit, the icon was no longer included
+ in the
+ tarball.
+
+ Makefile.am | 45 +---------------
+ configure.ac | 2 +-
+ data/Makefile.am | 60
+ +++++++++++++++++++++
+ {policy => data}/modem-manager.png | Bin
+ .../org.freedesktop.ModemManager.conf.nopolkit | 0
+ .../org.freedesktop.ModemManager.conf.polkit | 0
+ .../org.freedesktop.ModemManager.service.in | 0
+ .../org.freedesktop.modem-manager.policy.in | 0
+ policy/Makefile.am | 15 ------
+ 9 files changed, 63 insertions(+), 59 deletions(-)
+
+commit 6b696056333bbefa19fc5296f14d2f71e2a82594
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 13:07:50 2011 +0100
+
+ build: chain up new 0.6 API and link against libmm-common
+
+ Also removed the MMSerialError implementation from
+ `src/mm-errors.[h|c]', as it
+ is now included in the new `include/ModemManager-errors.h' header
+ file. All the
+ other enums and errors without clashing names will be ported
+ afterwards to the
+ new base code.
+
+ include/ModemManager.h | 292
+ +------------------------------------------------
+ plugins/Makefile.am | 5 +-
+ src/Makefile.am | 18 ++-
+ src/mm-errors.c | 33 ------
+ src/mm-errors.h | 17 +--
+ src/mm-manager.h | 3 -
+ src/tests/Makefile.am | 20 +++-
+ 7 files changed, 40 insertions(+), 348 deletions(-)
+
+commit 49bbaf8e31009227b5c5ff1abf95fe6afb40d496
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 12:37:20 2011 +0100
+
+ build: disable autogeneration of the 0.5 API header file
+
+ But keep it around as a static file, while we do the migration to
+ the new
+ interface.
+
+ .gitignore | 1 -
+ build-aux/Makefile.am | 1 -
+ build-aux/header-generator-new.xsl | 190 ---------------
+ build-aux/header-generator.xsl | 227 +++++-------------
+ include/Makefile.am | 14 +-
+ include/ModemManager.h | 460
+ +++++++++++++++++++++++++++++++++++++
+ 6 files changed, 520 insertions(+), 373 deletions(-)
+
+commit 3b976c439918262d40d5714390cc15f2218be90b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 12:17:12 2011 +0100
+
+ docs: added new man page for the modem-manager daemon
+
+ .gitignore | 2 ++
+ configure.ac | 2 ++
+ docs/Makefile.am | 2 +-
+ docs/man/Makefile.am | 7 ++++++
+ docs/man/modem-manager.8.in | 52
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 64 insertions(+), 1 deletion(-)
+
+commit 09f40c836957fab37672d98fc6f3ca2611b94bbb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 11:33:35 2011 +0100
+
+ docs: setup generation of gtk-doc based DBus API documentation
+
+ It includes gdbus-codegen generated API documentation, plus the
+ common Enums,
+ Flags and Errors, which will also be used in libmm-glib.
+
+ .gitignore | 13 ++++
+ Makefile.am | 2 +-
+ autogen.sh | 1 +
+ configure.ac | 21 ++++++
+ docs/Makefile.am | 2 +
+ docs/reference/Makefile.am | 2 +
+ docs/reference/api/Makefile.am | 93 +++++++++++++++++++++++++
+ docs/reference/api/mm-docs.xml | 138
+ +++++++++++++++++++++++++++++++++++++
+ docs/reference/api/mm-overview.xml | 56 +++++++++++++++
+ docs/reference/api/mm-sections.txt | 32 +++++++++
+ docs/reference/api/mm.types | 0
+ docs/reference/api/version.xml.in | 1 +
+ 12 files changed, 360 insertions(+), 1 deletion(-)
+
+commit a57c3bcf36912f7c3822ed046a424af52f5b2bc4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 18 19:04:36 2011 +0200
+
+ docs: remove generation of previous DBus API documentation
+
+ Makefile.am | 23 +-
+ doc-generator.xsl | 691
+ ------------------------------------------------------
+ docs/plugins.txt | 0
+ 3 files changed, 1 insertion(+), 713 deletions(-)
+
+commit 23367c718643e621a08922aaa5be0542fe9c47b7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 11:03:03 2011 +0100
+
+ libmm-common: include Errors type information
+
+ The code to handle the Errors type information is automatically
+ built with
+ `glib-mkenums' and the new templates kept under `build-aux'.
+
+ build-aux/Makefile.am | 4 +-
+ build-aux/mm-errors-types.c.template | 43 +++++++
+ build-aux/mm-errors-types.h.template | 27 +++++
+ libmm-common/Makefile.am | 16 ++-
+ libmm-common/mm-errors-quarks.c | 216
+ +++++++++++++++++++++++++++++++++++
+ 5 files changed, 304 insertions(+), 2 deletions(-)
+
+commit 0e9ed6e5fed70c873c597b91a9b844df44f9ffc0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 10:54:20 2011 +0100
+
+ libmm-common: include Enums and Flags type information
+
+ The code to handle the Enums and Flags type information is
+ automatically built
+ with `glib-mkenums' and the new templates kept under `build-aux'.
+
+ Note: We currently skip the type information of
+ `MMModemBand'. GFlagsValue
+ can hold only 32-bit types, and we're working with a 64-bit flag here.
+ See: https://bugzilla.gnome.org/show_bug.cgi?id=663054
+
+ build-aux/Makefile.am | 4 +++-
+ build-aux/mm-enums-types.c.template | 40
+ +++++++++++++++++++++++++++++++++++++
+ build-aux/mm-enums-types.h.template | 24 ++++++++++++++++++++++
+ libmm-common/Makefile.am | 13 ++++++++++++
+ 4 files changed, 80 insertions(+), 1 deletion(-)
+
+commit ade484826ccd5c93937d18563b478b75641c4ee7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 10:49:03 2011 +0100
+
+ libmm-common: setup new library, with the gdbus-codegen generated code
+
+ This library will not (probably) be installable, but will share
+ the GDBus
+ and new Enum/Flag/Error type support between the core daemon and
+ the new
+ libmm-glib library.
+
+ .gitignore | 3 ++
+ Makefile.am | 2 +-
+ configure.ac | 1 +
+ libmm-common/Makefile.am | 125
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 130 insertions(+), 1 deletion(-)
+
+commit da99e8ddadecf0f5c8204b578a2dd9162a1ceee2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Oct 28 10:51:52 2011 +0200
+
+ build: use common CPPFLAGS and LDFLAGS for all plugins
+
+ Also include $(top_srcdir)/generated and $(top_builddir)/generated
+ in the
+ common preprocessor flags.
+
+ plugins/Makefile.am | 317
+ ++++++++++------------------------------------------
+ 1 file changed, 56 insertions(+), 261 deletions(-)
+
+commit bb7311f27c2e837ab89d45eec36c1ae6f36d2f42
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Oct 12 00:15:11 2011 +0200
+
+ build: improve project bootstrapping
+
+ Align autogen.sh with the one in NM:
+ * Just calling autoreconf once
+ * Using autopoint from GNU gettext
+ * Enabling the use of NOCONFIGURE
+
+ .gitignore | 38 ++++++++++++++++++++++++++++++++++++++
+ autogen.sh | 11 ++++++-----
+ configure.ac | 6 +++++-
+ 3 files changed, 49 insertions(+), 6 deletions(-)
+
+commit 7e0f016c25aec93a88412f47d7add155d2857a45
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 11 15:13:04 2011 +0200
+
+ build: improve configure output report
+
+ configure.ac | 26 +++++++++++++++-----------
+ 1 file changed, 15 insertions(+), 11 deletions(-)
+
+commit 917a13217aef5f1e10f459e8d1e23c88997ba2a7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 10 12:13:09 2011 +0200
+
+ build: avoid using -Wfloat-equal compilation option
+
+ In order to compile code generated by gdbus-codegen.
+
+ m4/compiler_warnings.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit bc8010f792571f6809b891dfc8e760b2ce5ea369
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 10 12:00:12 2011 +0200
+
+ build: avoid using -Wshadow compilation option
+
+ In order to compile code generated by gdbus-codegen.
+
+ m4/compiler_warnings.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit dbb06b6246c5488d20aae77a1ced268e01b62e58
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 10 11:58:28 2011 +0200
+
+ build: require GLib and GIO >= 2.30
+
+ gdbus-codegen is first available in the stable 2.30 release of
+ GLib, see
+ http://mail.gnome.org/archives/gtk-devel-list/2011-September/msg00218.html
+
+ GIO and GIO-Unix are now required during the build.
+
+ configure.ac | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit b5a1c38cc417972d911c86a52a6a692afdf2cf2a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 10:36:21 2011 +0100
+
+ api: new `include/ModemManager1.h' as main header of the new API
+
+ Filename is temporary as we keep the old `include/ModemManager.h'
+ around during
+ the transition to the new codebase.
+
+ include/Makefile.am | 3 +++
+ include/ModemManager1.h | 32 ++++++++++++++++++++++++++++++++
+ 2 files changed, 35 insertions(+)
+
+commit ff5ea7b76a633d91c94d495c522a0bc5d86c184d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 18 20:08:08 2011 +0200
+
+ build: setup autogeneration of names header for the new API
+
+ The `include/ModemManager-names.h' autogenerated header includes
+ the list of
+ Interface, Method, Signal and Property names defined in the DBus API.
+
+ .gitignore | 1 +
+ build-aux/Makefile.am | 3 +-
+ build-aux/header-generator-new.xsl | 190
+ +++++++++++++++++++++++++++++++++++++
+ include/Makefile.am | 15 ++-
+ new/all.xml | 18 ++++
+ 5 files changed, 222 insertions(+), 5 deletions(-)
+
+commit 365b906a3e1bda05af10f92451a6b6ae60f8b879
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Oct 18 19:57:17 2011 +0200
+
+ build: setup header generator in its own include/Makefile
+
+ Also move helper files to the new `build-aux' directory.
+
+ .gitignore | 3 ++-
+ Makefile.am | 11 +----------
+ build-aux/Makefile.am | 3 +++
+ header-generator.xsl => build-aux/header-generator.xsl | 0
+ configure.ac | 2 ++
+ include/Makefile.am | 14
+ ++++++++++++++
+ 6 files changed, 22 insertions(+), 11 deletions(-)
+
+commit 4643dca4a2bd70c71fb825f6d98334a5bf608b94
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 09:45:26 2011 +0100
+
+ api,errors: implement all errors from the new API
+
+ Errors that will/may be reported via DBus are defined in the public
+ interface
+ header.
+
+ include/ModemManager-errors.h | 259 +++++++++++++++++++++++++++++++++
+ new/mm-mobile-error.xml | 318
+ -----------------------------------------
+ new/mm-modem-connect-error.xml | 30 ----
+ new/mm-modem-error.xml | 36 -----
+ new/mm-serial-error.xml | 24 ----
+ 5 files changed, 259 insertions(+), 408 deletions(-)
+
+commit ff86bc9f4a33d3fbdfce22b4e6d580530278949d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 16:31:26 2011 +0100
+
+ api,enums: new enum for the USSD session state
+
+ include/ModemManager-enums.h | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 55eb1f0c50bf51f452f314f28d0a0046c2b032e4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 16:30:57 2011 +0100
+
+ api,enums: new enum for the 3GPP network availability
+
+ include/ModemManager-enums.h | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit 4cdbaa5de348e0f349df97e7a96e4949aef66534
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 16:27:48 2011 +0100
+
+ api,enums: implement all enums and flags from the new API
+
+ include/ModemManager-enums.h | 455
+ +++++++++++++++++++++
+ new/org.freedesktop.ModemManager1.Bearer.xml | 21 -
+ new/org.freedesktop.ModemManager1.Modem.3gpp.xml | 38 --
+ new/org.freedesktop.ModemManager1.Modem.Cdma.xml | 80 ----
+ ...rg.freedesktop.ModemManager1.Modem.Contacts.xml | 23 --
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 143 -------
+ new/org.freedesktop.ModemManager1.Modem.xml | 403
+ ------------------
+ new/org.freedesktop.ModemManager1.Sms.xml | 35 --
+ 8 files changed, 455 insertions(+), 743 deletions(-)
+
+commit 8763576a3488a91e09bb47fe89789ee858b09345
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 14:27:35 2011 +0100
+
+ api,dbus: rewrite Methods, Properties and Signals for gdbus-codegen
+
+ new/org.freedesktop.ModemManager1.Bearer.xml | 308 +++++++----
+ ...g.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml | 132 +++--
+ new/org.freedesktop.ModemManager1.Modem.3gpp.xml | 205 ++++---
+ new/org.freedesktop.ModemManager1.Modem.Cdma.xml | 186 ++++---
+ ...rg.freedesktop.ModemManager1.Modem.Contacts.xml | 262 +++++----
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 149 +++--
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 338 ++++++++----
+ ...g.freedesktop.ModemManager1.Modem.Messaging.xml | 198 ++++---
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 271 +++++----
+ new/org.freedesktop.ModemManager1.Modem.xml | 611
+ ++++++++++++---------
+ new/org.freedesktop.ModemManager1.Sim.xml | 163 +++---
+ new/org.freedesktop.ModemManager1.Sms.xml | 151 ++---
+ new/org.freedesktop.ModemManager1.xml | 46 +-
+ 13 files changed, 1769 insertions(+), 1251 deletions(-)
+
+commit 793c65705fafb195d4c5fe98f64550c9eda6b9c4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 14:17:52 2011 +0100
+
+ api,dbus: Bearer interface not implemented by modems
+
+ Keep the Bearer interface out of the 'Modem' subtree in the interface
+ hierarchy,
+ as it will be specific for Bearer objects, not implemented by Modem
+ objects.
+
+ ...nager1.Modem.Bearer.xml => org.freedesktop.ModemManager1.Bearer.xml}
+ | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3599e396b9b182f90002e462f0692724a7f75fc9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 14:17:02 2011 +0100
+
+ api,dbus: SMS interface not implemented by modems
+
+ Keep the SMS interface out of the 'Modem' subtree in the interface
+ hierarchy,
+ as it will be specific for SMS objects, not implemented by Modem
+ objects.
+
+ ...odemManager1.Modem.SMS.xml => org.freedesktop.ModemManager1.Sms.xml}
+ | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 592cd21f6128080f79f74641615f293c1f11d66b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 17:28:59 2011 +0100
+
+ api,dbus: fix SignalQuality property signature so that it's a
+ (ub) tuple
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 4fbe13a73f8d7f05188292c211f7808ed5d6c632
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 17:25:07 2011 +0100
+
+ api,dbus: simplified the Manager API, as we will use the standard
+ ObjectManager
+
+ The recent `org.freedesktop.DBus.ObjectManager' standard API defines
+ a common
+ way to handle a list of objects in the interface. It allows getting
+ all objects,
+ interfaces and properties in a single method call.
+
+ See:
+ http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager
+
+ new/org.freedesktop.ModemManager1.xml | 42
+ -----------------------------------
+ 1 file changed, 42 deletions(-)
+
+commit 89090013f20c8b7a5ca3e2d4e0e3ca54839dafd0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 17:21:50 2011 +0100
+
+ api,dbus: let IMSI, OperatorIdentifier and OperatorName be properties
+ in the SIM interface
+
+ new/org.freedesktop.ModemManager1.Sim.xml | 58
+ ++++++++++---------------------
+ 1 file changed, 18 insertions(+), 40 deletions(-)
+
+commit 35abbd6dd5fb74ae9890710912c7bc15fa5d243b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 17:17:26 2011 +0100
+
+ api,dbus: use long property names in the 3GPP DBus interface
+
+ new/org.freedesktop.ModemManager1.Modem.3gpp.xml | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 432df3349f7df7d00d0dbc17eacdfc46965b372b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 17:15:02 2011 +0100
+
+ api,dbus: fix signature of the Scan() method in the 3GPP DBus
+ interface
+
+ The Scan() method returns an array of dictionaries, where each
+ dictionary is
+ defined by a string key plus a variant data (not a string data). This
+ is to
+ handle the "status" and "access-tech" entries, which are given
+ as unsigned
+ integers.
+
+ new/org.freedesktop.ModemManager1.Modem.3gpp.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f7390c328bfb8690802e317f503a5bff5116fd84
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Nov 21 17:12:59 2011 +0100
+
+ api,dbus: use long property names in the CDMA DBus interface
+
+ new/org.freedesktop.ModemManager1.Modem.Cdma.xml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 60e824bd5994a1c27df222219ef9a3837c143519
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 11:49:42 2011 +0100
+
+ api,dbus: let UnlockRequired property be an enum instead of a string
+
+ We were already working with a fixed set of possible strings, so
+ better to have
+ an enumeration for that.
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 98
+ ++++++++++++++++++++++++++---
+ 1 file changed, 90 insertions(+), 8 deletions(-)
+
+commit 022ceae0d8fc915b58dd3c254e01026c7df5ec72
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Nov 22 17:17:29 2011 +0100
+
+ api,dbus: new `Plugin' property in the Modem interface
+
+ Will hold the name of the plugin managing the modem.
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit c1642466425bfd253ca887eed5f6a3f07152ca81
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 15:13:35 2012 +0100
+
+ tests: serial port tests don't need errors header
+
+ src/tests/test-at-serial-port.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 8f5cd493619cc8eff563492cb1f779422c98e52d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 14 11:11:26 2012 -0500
+
+ release: bump version to 0.7.0 (devel for 0.8.x stable)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8e83a10c1e712030938fa226ab3f6829f2c1eb97
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 19:42:36 2012 +0100
+
+ hso: disable echo removal
+
+ Built-in echo removal conflicts with _OWANCALL unsolicited messages,
+ which are
+ not coming prefixed with <CR><LF>.
+
+ Fixes LP#953294
+
+ plugins/mm-modem-hso.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 791e097ab54a79ff9c97488fabc33402cf155736
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Mar 13 19:02:03 2012 +0100
+
+ at-serial-port: new property to control whether echo removal should
+ be applied
+
+ src/mm-at-serial-port.c | 61
+ ++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-at-serial-port.h | 2 ++
+ 2 files changed, 60 insertions(+), 3 deletions(-)
+
+commit 7c9ba7faf2af1deabd22ed9e11ae19a209fda90a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 5 16:59:52 2012 +0100
+
+ samsung: remove unused variables
+
+ plugins/mm-modem-samsung-gsm.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 5f6c65e7c1f23d3aa9f14580e5eb82c9ff4b8505
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 1 17:22:56 2012 -0600
+
+ gsm: retry sending SMS in PDU mode if text fails and PDU is supported
+
+ In the future we'll just default to PDU mode.
+
+ src/mm-generic-gsm.c | 84
+ ++++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 58 insertions(+), 26 deletions(-)
+
+commit bc118aa1602b309101f1151805a2d8cdf0f916eb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 29 16:51:50 2012 +0100
+
+ modem-helpers: plug memleak
+
+ g_match_info_fetch() returns always a heap-allocated string which
+ should be
+ freed by the caller.
+
+ src/mm-modem-helpers.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 30e706309462f6b207753209649143902ee538fa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 25 20:18:48 2012 -0600
+
+ iridium: convert to new port grabbing scheme
+
+ plugins/mm-modem-iridium-gsm.c | 50
+ ++++++++++--------------------------------
+ plugins/mm-plugin-iridium.c | 6 +++--
+ 2 files changed, 16 insertions(+), 40 deletions(-)
+
+commit 4dad94d5004f325e25dc3b09d87585eab38d4c3f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 1 01:43:54 2012 -0600
+
+ core: rework port grabbing and organization
+
+ Make port roles more flexible. We have modems that do PPP
+ on interfaces other than the primary interface, and that
+ wasn't possible with the old code. So clean up all that
+ logic and move the port organization code into the core
+ so we can reduce code in the plugins.
+
+ In the new world order, the plugins say whether the port
+ is a QCDM port, an AT port, or ignored. If it's an AT
+ port the plugins get to tag it as primary, secondary, or
+ PPP, or any combination of the 3. This allows for modems
+ where PPP should really be done on the secondary port
+ (Huawei E220, Sierra devices) so that the primary port
+ stays open for command and status.
+
+ Modem subclasses no longer get asked to handle port grabbing
+ themselves. Instead, that's now done by the generic classes
+ (MMGenericCdma and MMGenericGsm) and the plugins are notified
+ when a port is grabbed so they can add unsolicited response
+ handlers for it. After all ports are grabbed by the generic
+ classes, they get "organized", which assigns various ports
+ to the roles of PRIMARY, SECONDARY, DATA, and QCDM based
+ on specific rules and hints that the plugin provided (which
+ are expressed as MMAtPortFlags). The plugins then have
+ a chance to perform fixups on the primary port if they choose.
+
+ The plugin code is responsible for determining the port
+ hints (ie MMAtPortFlags) at probe time, instead of having
+ a combination of the plugin and the modem class do the
+ job. This simplifies things greatly for the plugins at
+ the expense of more complicated logic in the core.
+
+ plugins/mm-modem-anydata-cdma.c | 22 ++-
+ plugins/mm-modem-cinterion-gsm.c | 42 ++----
+ plugins/mm-modem-hso.c | 97 ++++---------
+ plugins/mm-modem-huawei-cdma.c | 39 ++---
+ plugins/mm-modem-huawei-gsm.c | 75 +++-------
+ plugins/mm-modem-icera.c | 14 +-
+ plugins/mm-modem-linktop.c | 41 ++----
+ plugins/mm-modem-mbm.c | 77 +++++-----
+ plugins/mm-modem-nokia.c | 42 ++----
+ plugins/mm-modem-novatel-gsm.c | 53 +++----
+ plugins/mm-modem-option-utils.c | 2 +-
+ plugins/mm-modem-option.c | 35 ++---
+ plugins/mm-modem-samsung-gsm.c | 41 ++----
+ plugins/mm-modem-sierra-cdma.c | 4 +-
+ plugins/mm-modem-sierra-gsm.c | 81 +++++------
+ plugins/mm-modem-simtech-gsm.c | 40 ++----
+ plugins/mm-modem-wavecom-gsm.c | 44 ++----
+ plugins/mm-modem-zte.c | 43 ++----
+ plugins/mm-plugin-anydata.c | 11 +-
+ plugins/mm-plugin-cinterion.c | 6 +-
+ plugins/mm-plugin-generic.c | 11 +-
+ plugins/mm-plugin-gobi.c | 8 +-
+ plugins/mm-plugin-hso.c | 26 +++-
+ plugins/mm-plugin-huawei.c | 93 +++++++-----
+ plugins/mm-plugin-linktop.c | 6 +-
+ plugins/mm-plugin-longcheer.c | 26 ++--
+ plugins/mm-plugin-mbm.c | 6 +-
+ plugins/mm-plugin-moto-c.c | 8 +-
+ plugins/mm-plugin-nokia.c | 12 +-
+ plugins/mm-plugin-novatel.c | 11 +-
+ plugins/mm-plugin-option.c | 18 ++-
+ plugins/mm-plugin-samsung.c | 6 +-
+ plugins/mm-plugin-sierra.c | 41 ++++--
+ plugins/mm-plugin-simtech.c | 26 ++--
+ plugins/mm-plugin-wavecom.c | 6 +-
+ plugins/mm-plugin-x22x.c | 26 ++--
+ plugins/mm-plugin-zte.c | 15 +-
+ src/mm-at-serial-port.c | 24 +++-
+ src/mm-at-serial-port.h | 25 +++-
+ src/mm-generic-cdma.c | 186 +++++++++++++-----------
+ src/mm-generic-cdma.h | 27 ++--
+ src/mm-generic-gsm.c | 217 +++++++++++++++-------------
+ src/mm-generic-gsm.h | 26 +++-
+ src/mm-manager.c | 143 +++++++++++--------
+ src/mm-modem-base.c | 289
+ +++++++++++++++++++++++++++++---------
+ src/mm-modem-base.h | 21 ++-
+ src/mm-modem.c | 15 +-
+ src/mm-modem.h | 19 ++-
+ src/mm-plugin-base.c | 14 +-
+ src/mm-plugin-base.h | 2 +
+ src/mm-port.c | 10 +-
+ src/mm-port.h | 3 +-
+ src/mm-qcdm-serial-port.c | 8 +-
+ src/mm-qcdm-serial-port.h | 4 +-
+ src/tests/test-qcdm-serial-port.c | 2 +-
+ 55 files changed, 1144 insertions(+), 1045 deletions(-)
+
+commit 36ee1b9c76a681b44516852372944b82c7616892
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Feb 26 22:08:18 2012 +0100
+
+ build: include proper build dependencies for the polkit conf file
+
+ So that the final conf file is updated if the original one gets
+ modified.
+
+ Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 86bfe96ddbc90a56fd1f7d7e65acebbb74169572
+Author: Tom Goetz <tcgoetz@gmail.com>
+Date: Sat Feb 25 20:05:33 2012 -0600
+
+ cdma: fix crash on NULL error (bgo #670145)
+
+ src/mm-generic-cdma.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b42ce2d8e62dd12488c209fb2500a82009accdee
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Feb 18 10:47:44 2012 +0100
+
+ charsets: plug memleak
+
+ The string passed to utils_bin2hexstr() needs to be freed afterwards.
+
+ src/mm-charsets.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit 2e99aa25577157275312739bea5dd75c3818cf92
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 17 13:06:11 2012 -0600
+
+ qcdm: decode some more log items
+
+ libqcdm/src/log-items.h | 36 ++++++++++++++++++++++++++++++++----
+ 1 file changed, 32 insertions(+), 4 deletions(-)
+
+commit 7b8e9203f259b93bc3a5b6f94cb8cf0dbb39742c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 18:09:17 2011 +0100
+
+ gsm: don't query PS network registration status if not supported
+
+ src/mm-generic-gsm.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit f2af208f05cbf56f8a44478615d70b7da46c3e42
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 09:47:41 2011 +0100
+
+ iridium: don't try to update signal quality if not registered
+
+ Seems that launching AT+CSQF when not registered ends up timing
+ out. AT+CSQF
+ is meant to be the fast version to get the signal quality, and is
+ expected to
+ return instantly with the last cached signal quality value. But if
+ we never
+ got registered, there is no such cached value, so it probably waits
+ to get the
+ first one.
+
+ plugins/mm-modem-iridium-gsm.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 5371cce11d5391a31272a6e85421e4d2c5bf43f6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Dec 28 09:14:56 2011 +0100
+
+ iridium: ensure cached capabilities get checked
+
+ plugins/mm-plugin-iridium.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit fc88c53fadf71ba032ecaac1a77a20cadd9935c5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Dec 26 17:12:47 2011 +0100
+
+ iridium: handle Motorola-branded Iridium modems
+
+ plugins/mm-plugin-iridium.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 8b1016f4e1de4f058ce93c4dec1438cf8138317e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 20 11:43:41 2011 +0200
+
+ iridium: close and open the port during disconnection
+
+ The Iridium modem doesn't seem to like only the port flashing
+ during the
+ disconnection, so we fully close and open again the port.
+
+ plugins/mm-modem-iridium-gsm.c | 73
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 73 insertions(+)
+
+commit d52b38b1f2ecdac84620d62c3fc0c8a5aa2ed496
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 10 12:13:58 2011 +0200
+
+ iridium: set bearer service type to 9600bps V.110
+
+ plugins/mm-modem-iridium-gsm.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 707647da45423fb1f666d89df10b45d872540bc9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 10 09:53:23 2011 +0200
+
+ iridium: override generic initialization
+
+ We must send ATZ alone and once reply received, wait some time
+ before sending
+ the next initialization commands. Otherwise, the next commands
+ will receive
+ garbage as reply. The only way to handle this is to override the
+ whole generic
+ initialization phase.
+
+ We will also avoid sending any power-up command, as not needed.
+
+ plugins/mm-modem-iridium-gsm.c | 78
+ +++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 70 insertions(+), 8 deletions(-)
+
+commit c0f390470ea3644b03b15defe33b0b237bd6a9c9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 9 17:46:16 2011 +0200
+
+ iridium: allow up to 200s to configure IP
+
+ plugins/mm-modem-iridium-gsm.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 920fefa8e2c7660422a23d79fa45f7cd488e5198
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 9 17:45:33 2011 +0200
+
+ modem: new property to allow specifying longer timeouts when
+ configuring IP
+
+ This IpTimeout property will be read by NetworkManager, and used as
+ the time to
+ wait for pppd to establish the IP configuration.
+
+ introspection/org.freedesktop.ModemManager.Modem.xml | 6 ++++++
+ src/mm-modem-base.c | 11 +++++++++++
+ src/mm-modem.c | 10 ++++++++++
+ src/mm-modem.h | 4 +++-
+ 4 files changed, 30 insertions(+), 1 deletion(-)
+
+commit e6d085246f3d47e162084234b1199b5ebb840cca
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 7 15:45:55 2011 +0200
+
+ iridium: ensure 9600 baudrate is used
+
+ plugins/mm-modem-iridium-gsm.c | 39
+ +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit 4b0cd28baf87a97c623bf25afcbeebc63a413344
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 7 14:19:24 2011 +0200
+
+ iridium: fix operator name and code to be reported
+
+ plugins/mm-modem-iridium-gsm.c | 20 ++++++++++++++++++++
+ src/mm-generic-gsm.c | 2 +-
+ 2 files changed, 21 insertions(+), 1 deletion(-)
+
+commit 3a7f9709314b6f82d0543f6e4b505ee32378c091
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 7 14:13:33 2011 +0200
+
+ gsm: let plugins override the operator name and code retrieval
+
+ src/mm-generic-gsm.c | 153
+ +++++++++++++++++++++++++++++++++++++++------------
+ src/mm-generic-gsm.h | 9 +++
+ 2 files changed, 126 insertions(+), 36 deletions(-)
+
+commit 26d69ca0f26405743de08cf9ed36aa9f28a8c647
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 7 13:22:48 2011 +0200
+
+ gsm: allow leading zeroes in numbers in CREG/CGREG responses
+
+ src/mm-modem-helpers.c | 18 +++++++++---------
+ src/tests/test-modem-helpers.c | 21 ++++++++++++++++++++-
+ 2 files changed, 29 insertions(+), 10 deletions(-)
+
+commit 4ed33918593b7c902d70e55f65c1442e6fec9589
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 6 13:32:50 2011 +0200
+
+ iridium: PS network is not supported
+
+ plugins/mm-modem-iridium-gsm.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 40512451cc839534833c2b9ea51432a50deb2211
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 7 11:35:54 2011 +0200
+
+ generic: only send CGACT if PS network is supported
+
+ src/mm-generic-gsm.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 740680fd3be3c976db6f1612f3fd834ceb402632
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 6 12:54:36 2011 +0200
+
+ generic: query PS network registration status only if PS network
+ supported by the modem
+
+ src/mm-generic-gsm.c | 54
+ ++++++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-generic-gsm.h | 4 +++-
+ 2 files changed, 53 insertions(+), 5 deletions(-)
+
+commit 0c6eb6dcaa240adff5e49168e6b0f15086426640
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 6 11:33:21 2011 +0200
+
+ iridium: handle access technology
+
+ plugins/mm-modem-iridium-gsm.c | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+commit 156a05afe0ecdbb8e98bcf55a846b06e0e4aeb97
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jun 6 11:08:51 2011 +0200
+
+ iridium: handle allowed mode
+
+ plugins/mm-modem-iridium-gsm.c | 62
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 62 insertions(+)
+
+commit 85de9bbcc9146447153fe82cc22efbd1e45a44fd
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 3 13:05:37 2011 +0200
+
+ iridium: override signal quality retrieval command
+
+ plugins/mm-modem-iridium-gsm.c | 86
+ +++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 85 insertions(+), 1 deletion(-)
+
+commit b7b37c4738180b589aabc904402657ec5cc518b9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 3 12:28:14 2011 +0200
+
+ iridium: override SMS indications setup commands
+
+ plugins/mm-modem-iridium-gsm.c | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+commit a87b4b46c8ac4b2ae9601e1807c9d79b6f01ae75
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 3 12:17:24 2011 +0200
+
+ gsm: set pin check flag before requesting ICCID check
+
+ src/mm-generic-gsm.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 1c6e17857f3608bba23769b5c8bdb078b68911d5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 3 11:34:52 2011 +0200
+
+ iridium: skip ICCID/IMSI query
+
+ plugins/mm-modem-iridium-gsm.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 7cbc8f3b8057f0df6c6e22a2d28d393f5c27bbbb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 3 11:00:50 2011 +0200
+
+ gsm: allow no whitespaces before CPIN? reply value
+
+ src/mm-generic-gsm.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit b714441272b75f85d09c155a79c176f230d0f5c0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Jun 3 10:52:24 2011 +0200
+
+ iridium: disable power up command and modify flow control setup
+
+ plugins/mm-modem-iridium-gsm.c | 47
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 47 insertions(+)
+
+commit 670f560b3d2e1fdc622a078a333f96f73b960533
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 2 16:32:04 2011 +0200
+
+ iridium: add initial dummy plugin
+
+ plugins/Makefile.am | 22 ++++-
+ plugins/mm-modem-iridium-gsm.c | 64 ++++++++++++
+ plugins/mm-modem-iridium-gsm.h | 45 +++++++++
+ plugins/mm-plugin-iridium.c | 218
+ +++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-iridium.h | 48 +++++++++
+ src/mm-plugin-base.c | 1 +
+ src/mm-plugin-base.h | 1 +
+ 7 files changed, 398 insertions(+), 1 deletion(-)
+
+commit 20693529ef9af82f74822745b8b85f5a534c793b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Feb 16 18:20:31 2012 +0100
+
+ core: fix loop limits in echo removal
+
+ -1 was actually correct, if data->len is 10, i goes from 0 to 8.
+
+ src/mm-at-serial-port.c | 2 +-
+ src/tests/Makefile.am | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 21162a366aa5cf802c00a13ccfd3719f72fef952
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jan 11 01:33:05 2012 +0100
+
+ at-serial-port: implement built-in echo/garbage removal
+
+ We expect the responses to start always with <CR><LF>. We just
+ remove anything
+ that comes before that.
+
+ .gitignore | 1 +
+ src/mm-at-serial-port.c | 26 +++++++++++++
+ src/mm-at-serial-port.h | 4 +-
+ src/tests/Makefile.am | 15 ++++++-
+ src/tests/test-at-serial-port.c | 86
+ +++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 130 insertions(+), 2 deletions(-)
+
+commit 1db000403319e6380e438ce627155a29b926d68e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Feb 8 16:29:27 2012 +0100
+
+ charsets: don't crash when passing a NULL string to the UTF-8
+ converter
+
+ src/mm-charsets.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 7b4d6cf605fbf57a46fb1ef8777a6fdc49329c68
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 7 14:08:23 2012 -0600
+
+ test: fix SMS testcase errors due to uninitialized GError
+
+ src/tests/test-sms.c | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+commit 2104cd725a5f3f9aeacf4dfc4faa70dba293789d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 7 13:59:32 2012 -0600
+
+ gsm: ensure text mode SMS list doesn't pick up too much text
+
+ This likely has no effect, but just make sure the regex stops
+ grabbing message content when it hits the CF/LF that terminates
+ the message content in text mode.
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c7f54a635a84d5861b1d5f819c25de97b8c0ac32
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 7 13:48:47 2012 -0600
+
+ gsm: fix text mode SMS list regex for single messages
+
+ We don't get a \r\n at the end for single messages.
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ff31122ebaed9e3de32a61b53118c73199865800
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 12:56:45 2012 +0100
+
+ build: do not warn about using deprecated methods
+
+ GValueArray is deprecated since GLib 2.31.14, but we need to use
+ it for
+ dbus-glib based code.
+
+ We should re-enable deprecation warnings once we switch to GDBus.
+
+ m4/compiler_warnings.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4af8483ae4e32ca3d815f14aaf5f012b0ed98eed
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 19:05:10 2012 +0100
+
+ gsm: use new common charset converter when parsing operator name/code
+
+ src/mm-generic-gsm.c | 31 +------------------------------
+ 1 file changed, 1 insertion(+), 30 deletions(-)
+
+commit 03678df6fdfa32316dbac8b15d10da2ab16a42f7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 18:01:28 2012 +0100
+
+ gsm: convert SMS text and number from current charset to UTF-8
+
+ src/mm-generic-gsm.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit 00ce1d68744d6c69ea1f5fbb4d49a9d242208a7b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 17:50:49 2012 +0100
+
+ charsets: new method to do our best to convert from current charset
+ to UTF-8
+
+ This method will try to convert the input string to UTF-8. The input
+ string is
+ supposed to be in the given charset; or otherwise is supposed to be
+ the hex
+ representation of the string in the given charset.
+
+ src/mm-charsets.c | 92
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-charsets.h | 4 ++-
+ 2 files changed, 95 insertions(+), 1 deletion(-)
+
+commit 9f6f80a63abc03bce6c1ef8a2ee963c0aa20f28a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 17:48:23 2012 +0100
+
+ charsets: don't warn if we couldn't convert from hex to utf8
+
+ src/mm-charsets.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 0c6e5e713e2a1e71e560d6a8d5ba058eea0b7ac9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Feb 7 11:42:06 2012 +0100
+
+ core: plug leaks when passing GValueArrays to dbus_g_method_return()
+
+ The ownership of the GValueArray is not transferred.
+
+ src/mm-modem-cdma.c | 2 ++
+ src/mm-modem-gsm-network.c | 2 ++
+ src/mm-modem.c | 4 ++++
+ 3 files changed, 8 insertions(+)
+
+commit 4706ea488eb227d048a9a4021a875d87e8e7131b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 2 21:12:44 2012 -0600
+
+ sms: handle text mode SMS listing
+
+ Undoubtedly we'll need to adjust the regex but this works for now.
+
+ src/mm-generic-gsm.c | 243
+ ++++++++++++++++++++++++++++++++++++++++-----------
+ src/mm-sms-utils.c | 152 +++++++++++++++++++-------------
+ src/mm-sms-utils.h | 8 ++
+ 3 files changed, 288 insertions(+), 115 deletions(-)
+
+commit 76c9b29415a89a1804fcc17be737a2b09fe1109f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 2 21:12:17 2012 -0600
+
+ test: (sms-get.py) don't fail if we don't get an SMSC
+
+ test/sms-get.py | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 681a24c8d87cad064696d1dcf17ec78a23823d0c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 2 21:09:48 2012 -0600
+
+ novatel: override message storage and notification
+
+ It seems that even though the firmware says it supports
+ specific CNMI notification values, it really doesn't. Also
+ set storage to the SIM until we support automatically
+ determining the right storage in MM. XU870 does not
+ support ME storage according to +CPMS=?.
+
+ plugins/mm-modem-novatel-gsm.c | 40
+ ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+commit 14a59c4384011ac1ff0793502fb8c2c8ae75d45c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 1 11:21:20 2012 -0600
+
+ gsm: fix listing SMS messages in text mode
+
+ Even though we don't parse them correctly yet, at least
+ send the right command for listing them.
+
+ src/mm-generic-gsm.c | 94
+ +++++++++++++++++++++++++++-------------------------
+ 1 file changed, 48 insertions(+), 46 deletions(-)
+
+commit d84214184ccb6f9dba3620d563adb42f7d155d7b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 1 10:45:47 2012 -0600
+
+ gsm: fix setting PDU mode for SMS messages
+
+ Stupid signed/unsigned mistake.
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 70978d58a0db9691fa7583cf1d8df839ac18431b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 1 10:45:28 2012 -0600
+
+ test: pretty-print SMS messages in sms-get.py
+
+ test/sms-get.py | 21 ++++++++++++++++++++-
+ 1 file changed, 20 insertions(+), 1 deletion(-)
+
+commit 20a1c412fdf9dcc85fe97aa8053286032677938f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 1 01:43:04 2012 -0600
+
+ core: fix warning about MMModemTime interface initialization
+
+ The MMModemTime interface was getting initialized more than once.
+
+ src/mm-modem-time.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4fd6264848944035b13047079a63fd29fc6a11d7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 27 15:13:42 2012 -0600
+
+ build: more libwmc and libqcdm standalone fixes
+
+ Make it pass distcheck.
+
+ configure.ac | 6 ++++++
+ libqcdm/configure.ac | 9 ++++-----
+ libqcdm/tests/Makefile.am | 6 +++---
+ libwmc/configure.ac | 11 +++++------
+ libwmc/tests/Makefile.am | 6 +++---
+ 5 files changed, 21 insertions(+), 17 deletions(-)
+
+commit 5fc4e866c2f6453dae546f9c78ef5aa32d67ef87
+Author: Thomas Tuttle <ttuttle@chromium.org>
+Date: Fri Jan 27 13:24:30 2012 -0500
+
+ time: implement in icera
+
+ Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
+
+ plugins/mm-modem-icera.c | 91
+ ++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-icera.h | 21 ++++++++++
+ plugins/mm-modem-samsung-gsm.c | 54 ++++++++++++++++++++++++-
+ 3 files changed, 165 insertions(+), 1 deletion(-)
+
+commit 0e246fb61db27e423539f400df4774c269929a7d
+Author: Thomas Tuttle <ttuttle@chromium.org>
+Date: Fri Jan 27 13:24:13 2012 -0500
+
+ time: poll for timezone
+
+ Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
+
+ src/mm-modem-base.c | 88
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-base.h | 3 ++
+ src/mm-modem-time.c | 15 +++++++++
+ src/mm-modem-time.h | 8 +++++
+ 4 files changed, 114 insertions(+)
+
+commit 8121b8e31922e89e5429b8ffa8c388d84f65c1f0
+Author: Thomas Tuttle <ttuttle@chromium.org>
+Date: Fri Jan 27 13:23:51 2012 -0500
+
+ time: implement ModemTime in ModemBase
+
+ Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
+
+ src/mm-modem-base.c | 72
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-base.h | 4 +++
+ src/mm-modem.h | 3 ++-
+ 3 files changed, 77 insertions(+), 2 deletions(-)
+
+commit 346060efe87b43266326830af3c590052245a1ce
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 26 12:35:30 2012 -0600
+
+ test: add SMS get example/test
+
+ test/Makefile.am | 1 +
+ test/sms-get.py | 55
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 56 insertions(+)
+
+commit b9037d11504834cea5341ea48ddcdd3afc9952d1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 26 09:08:18 2012 -0600
+
+ test: add missing examples to Makefile.am
+
+ test/Makefile.am | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 13d2eee6f1223357bf48f1de60564ddc8bc574d0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 26 09:07:48 2012 -0600
+
+ test: rename SMS send example
+
+ test/Makefile.am | 2 +-
+ test/{mm-send-sms.py => sms-send.py} | 0
+ 2 files changed, 1 insertion(+), 1 deletion(-)
+
+commit accb3f0a58b6278788bc3e449ad97d5a4a80d96d
+Author: Thomas Tuttle <ttuttle@chromium.org>
+Date: Fri Jan 20 15:20:12 2012 -0500
+
+ api: add Modem.Time introspection XML
+
+ Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
+
+ introspection/Makefile.am | 3 +-
+ introspection/all.xml | 1 +
+ .../org.freedesktop.ModemManager.Modem.Time.xml | 56
+ ++++++++++++++++++++++
+ 3 files changed, 59 insertions(+), 1 deletion(-)
+
+commit 7f122014942e0ed5c7480967fe53573eccb08101
+Author: Thomas Tuttle <ttuttle@chromium.org>
+Date: Fri Jan 20 15:20:34 2012 -0500
+
+ time: implement MMModemTime boilerplate
+
+ Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
+
+ src/Makefile.am | 9 +++-
+ src/mm-modem-time.c | 153
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-time.h | 52 ++++++++++++++++++
+ 3 files changed, 212 insertions(+), 2 deletions(-)
+
+commit 835e14d8d55eff05865e348977d623bff13fb130
+Author: Thomas Tuttle <ttuttle@chromium.org>
+Date: Fri Jan 20 15:20:01 2012 -0500
+
+ api: add firmware interface XML file to introspection/Makefile.am
+
+ Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
+
+ introspection/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a1682fe3e5edbc499f58a9013b53cc583e97a149
+Author: Thomas Tuttle <ttuttle@chromium.org>
+Date: Fri Jan 20 15:19:49 2012 -0500
+
+ trivial: sort introspection/Makefile.am and all.xml
+
+ To make things neater, sort the files listed in instrospection's
+ Makefile
+ alphabetically, and sort the files listed in all.xml alphabetically
+ within
+ logical groups.
+
+ Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
+
+ introspection/Makefile.am | 14 +++++++-------
+ introspection/all.xml | 6 +++---
+ 2 files changed, 10 insertions(+), 10 deletions(-)
+
+commit 38498e3c5d70cdfe484dd61d705bc88777942399
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 24 11:32:20 2012 -0600
+
+ qcdm: fix some build errors when building standalone
+
+ libqcdm/AUTHORS | 0
+ libqcdm/ChangeLog | 0
+ libqcdm/NEWS | 0
+ libqcdm/README | 0
+ libqcdm/configure.ac | 8 +++++---
+ libqcdm/tests/Makefile.am | 16 ++++++++++------
+ 6 files changed, 15 insertions(+), 9 deletions(-)
+
+commit 79cb265379685c057a6429718e2c11fa070f384c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 24 11:28:46 2012 -0600
+
+ wmc: allow building libwmc standalone
+
+ libwmc/AUTHORS | 0
+ libwmc/ChangeLog | 0
+ libwmc/NEWS | 0
+ libwmc/README | 0
+ libwmc/autogen.sh | 22 ++++++++++++++++++++++
+ libwmc/configure.ac | 49
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ libwmc/tests/Makefile.am | 13 +++++++++----
+ 7 files changed, 80 insertions(+), 4 deletions(-)
+
+commit 7d6d3fd47e32c3f1d4b3c011f85d896437b151f9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 18:53:04 2012 -0600
+
+ decode: update WMC for DEVICE_INFO changes
+
+ decode/wmc.py | 46 +++++++++++++++++++++++++++-------------------
+ 1 file changed, 27 insertions(+), 19 deletions(-)
+
+commit dd1ed06c1474a84c926e99286f575ab5c0c53c15
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 18:46:41 2012 -0600
+
+ wmc: harmonize buffer dumper with decode.py
+
+ Makes it easier to compare the output.
+
+ libwmc/tests/test-wmc-com.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit c386efee9c7057a89a054d79b7abb4aec446a9a7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 18:06:04 2012 -0600
+
+ wmc: decode more of DEVICE_INFO
+
+ CDMA MIN, home SID, PRL & ERI version
+
+ libwmc/src/commands.c | 16 ++++++++++
+ libwmc/src/commands.h | 5 ++++
+ libwmc/src/protocol.h | 73
+ +++++++++++++++++++++++++--------------------
+ libwmc/tests/test-wmc-com.c | 35 +++++++++++++++++-----
+ 4 files changed, 89 insertions(+), 40 deletions(-)
+
+commit 704489d660776b679434d5426d5f50a061fb536c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 17:46:01 2012 -0600
+
+ decode: fix WMC decoder for PC5740 dumps
+
+ decode/wmc.py | 65
+ ++++++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 38 insertions(+), 27 deletions(-)
+
+commit ccfdda523aa812d9ff894593068b61e902f27660
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 17:20:57 2012 -0600
+
+ wmc: add FIELD_TEST command
+
+ UML290 and UML190 both respond to the command but return all
+ zeros, while the PC5740 returns valid data.
+
+ libwmc/src/protocol.h | 47
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 47 insertions(+)
+
+commit 1e6da54b45378a5438c5ed4eca4d009d36d517b9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 16:40:55 2012 -0600
+
+ decode: add another USB function
+
+ decode/packet.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 8915f7964ab6a2656ad2f4992c708fefab5fdaa6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 15:52:47 2012 -0600
+
+ core: fix copy & paste error
+
+ src/mm-generic-gsm.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit f1410bb8d7dac2c100af4ee9f8c62e1d68f68119
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 15:50:24 2012 -0600
+
+ wmc: fix compile error
+
+ libwmc/src/protocol.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 72e3f0457bb6ccdc9b0814278fa98621f0ba9e1a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 11:11:03 2012 -0600
+
+ wmc: add LTE only global mode define
+
+ libwmc/src/commands.h | 1 +
+ libwmc/src/protocol.h | 1 +
+ libwmc/tests/test-wmc-com.c | 2 ++
+ 3 files changed, 4 insertions(+)
+
+commit f90fe1906856fd708f2f62f49486f94bfacf255f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 10:23:37 2012 -0600
+
+ wmc: fix init command
+
+ Actually read what struct tm contains and use it correctly,
+ and fix the init command struct size.
+
+ libwmc/src/commands.c | 4 ++--
+ libwmc/src/protocol.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 66b7ef018e983fb5f77624e2d119ded7cc24b6be
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 23 10:23:18 2012 -0600
+
+ wmc: fix segfault in testcase
+
+ libwmc/tests/test-wmc-com.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 83b92ecebc3f44c5a2ebbdc34be9aee918504350
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:43:55 2012 +0100
+
+ ussd: ensure coded string is valid before stripping quotes
+
+ src/mm-generic-gsm.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 62e94727fef8da2620e8e49a0e705fcd6517bfc3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:31:58 2012 +0100
+
+ ussd: plug a leak
+
+ src/mm-generic-gsm.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit a86a5c39ac194d7764c41f6e4d4a8c46ce39138f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Jan 23 15:29:36 2012 +0100
+
+ wmc: fix compilation error in tests
+
+ g_print() expects format + arguments; or compilation will fail when
+ -Werror=format-security being used.
+
+ libwmc/tests/test-wmc-com.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4d4d6072a12677dca0e5fceb9a3be41c03cc72b0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 21 15:42:28 2012 -0600
+
+ wmc: fix up for recent INIT and DEVICE_INFO changes
+
+ Send current time to modem during init, and don't try to
+ grab MCC/MNC where its not supported.
+
+ libwmc/src/commands.c | 37 ++++++++++++++++++++++++++-----------
+ 1 file changed, 26 insertions(+), 11 deletions(-)
+
+commit 4c5ef98525bbd8348611c0206ae6b30b47322803
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 21 15:12:34 2012 -0600
+
+ decode: fix some formatting
+
+ decode/wmc.py | 88
+ +++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 44 insertions(+), 44 deletions(-)
+
+commit 365666da01095dfb1529aaf6a5f08418677605ac
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 21 15:10:59 2012 -0600
+
+ decode: update for WMC timestamps
+
+ decode/wmc.py | 96
+ ++++++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 65 insertions(+), 31 deletions(-)
+
+commit fac80b70027f4c74b9552a8a48e61e388f455871
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 21 15:09:40 2012 -0600
+
+ wmc: update INIT and NETWORK_INFO commands with timestamp
+
+ libwmc/src/protocol.h | 56
+ ++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 38 insertions(+), 18 deletions(-)
+
+commit 2838456e7a53ddcbf841735fdd4337485ec759c9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 21 13:26:08 2012 -0600
+
+ decode: parse URB timestamps too
+
+ decode/packet.py | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+commit c37fdf5f94711ffbdf966f2ab366bbd047dfc147
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 21 12:55:16 2012 -0600
+
+ decode: updates all around
+
+ Rewrite packet handling so packets can span multiple USB URBs
+ (which sometimes happens with WMC) and also add a bunch more
+ WMC decoding stuff.
+
+ decode/decode.py | 34 +++------
+ decode/packet.py | 130 +++++++++++++++++++--------------
+ decode/qmux.py | 6 +-
+ decode/wmc.py | 215
+ +++++++++++++++++++++++++++++++++++++++----------------
+ 4 files changed, 244 insertions(+), 141 deletions(-)
+
+commit a9d6b5a8b62fc0fc07d7c3fab99b25c67474c68d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 21 12:50:12 2012 -0600
+
+ wmc: more protocol updates
+
+ libwmc/src/commands.c | 2 +-
+ libwmc/src/commands.h | 3 +-
+ libwmc/src/protocol.h | 93
+ +++++++++++++++++++++++++++++++++++++++++----------
+ 3 files changed, 79 insertions(+), 19 deletions(-)
+
+commit 0737a24f4394490bdf25f629169f70a3cbe085da
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 21 11:23:17 2012 -0600
+
+ qcdm: clarify IMxI conversions a bit; fix up WCDMA L1 states
+
+ libqcdm/src/commands.c | 20 ++++++++++----------
+ libqcdm/src/commands.h | 18 +++++++++---------
+ libqcdm/src/dm-commands.h | 12 ++++++++----
+ libqcdm/tests/test-qcdm-com.c | 8 ++++----
+ 4 files changed, 31 insertions(+), 27 deletions(-)
+
+commit d068cde8193963b4d6767a8ac97ece041841b1fb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 20 17:20:37 2012 -0600
+
+ decode: decode more WMC commands and fix some command names
+
+ decode/wmc.py | 64
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 59 insertions(+), 5 deletions(-)
+
+commit 110897c65d6a9e136c2410d8a7c22f0f0f66c5de
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 20 16:56:20 2012 -0600
+
+ wmc: add some more global mode defines
+
+ libwmc/src/commands.h | 6 ++++--
+ libwmc/src/protocol.h | 6 ++++--
+ libwmc/tests/test-wmc-com.c | 10 +++++++---
+ 3 files changed, 15 insertions(+), 7 deletions(-)
+
+commit 21052004dd8cdbdf4db6421d477dc7b47e416eac
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 20 16:54:59 2012 -0600
+
+ decode: add another ignored packet type
+
+ decode/packet.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit a75157859c3aafe40c2121665df869dbe70ffaa2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 20 14:54:16 2012 -0600
+
+ wmc: prettier printing of serial stream and WMC packets
+
+ libwmc/tests/test-wmc-com.c | 25 ++++++++++++++++++-------
+ 1 file changed, 18 insertions(+), 7 deletions(-)
+
+commit 85a7575717ae12ca42ee068eb1299cd55524205d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 20 14:52:58 2012 -0600
+
+ wmc: global mode command is 3 bytes not 2
+
+ libwmc/src/commands.c | 6 +++---
+ libwmc/tests/test-wmc-com.c | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 1ae2381e5a834a7173f0654b904c68f219af854a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 19 19:09:52 2012 -0600
+
+ wmc: add some more commands and fix up network info
+
+ Add operator commands, and fix up the network info response
+ handling for GSM/WCDMA capable devices like the UML190 when
+ it's in GSM/WCDMA mode.
+
+ libwmc/src/commands.c | 150
+ +++++++++++++++++++++++++++++++++++++++-----
+ libwmc/src/commands.h | 48 ++++++++++++--
+ libwmc/src/protocol.h | 136 ++++++++++++++++++++++++++++++++++-----
+ libwmc/tests/test-wmc-com.c | 126 +++++++++++++++++++++++++++++++++----
+ libwmc/tests/test-wmc-com.h | 4 +-
+ libwmc/tests/test-wmc.c | 3 +-
+ 6 files changed, 419 insertions(+), 48 deletions(-)
+
+commit 47fd967d614dcfdc3e216b90a32522e0a57bd28b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 19 18:51:55 2012 -0600
+
+ wmc: make warn macros more useful
+
+ libwmc/src/errors.h | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit d519f3e364804d1dbf103e5caef31dc5942a26fe
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 19 18:48:26 2012 -0600
+
+ wmc: fix stringification of wmc_xxx_if_fail() macros
+
+ Actually reading about preprocessor concatenation and stringification
+ helps.
+
+ libwmc/src/errors.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 337f4b2372412abeec2e7de15d4f31dacf73df52
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 19 12:50:40 2012 -0600
+
+ wmc: add Access Technology/Service definitions and Global Mode stuff
+
+ Comparing dumps from UML190 in different modes, UML290, and PC5740
+ revealed what the 'service' bit was, which matches up nicely with
+ the SERVICE_* strings in the Windows connection manager DLLs if
+ you interpret them in reverse numerical order.
+
+ For the global mode stuff, looking at USB wire captures shows that
+ C8 03 and C8 04 get used right before the NETWORK_INFO (C8 0B)
+ shows access technology changes, which means they are probably the
+ commands that switch global mode around.
+
+ libwmc/src/protocol.h | 71
+ +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 69 insertions(+), 2 deletions(-)
+
+commit 4e7fb72d2d88b308384fb8c54d9a3a65ba6f7dc2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 19 11:55:12 2012 -0600
+
+ decode: fix tab/space confusion in analyze.py
+
+ decode/analyze.py | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 285cd37f11b688cff53e338426917db58deaba4c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 19 10:08:09 2012 -0600
+
+ wmc: STATUS is appears to be NETWORK_INFO
+
+ So rename it in various places.
+
+ libwmc/src/commands.c | 24 ++++++++++++------------
+ libwmc/src/commands.h | 12 ++++++------
+ libwmc/src/protocol.h | 14 +++++++-------
+ libwmc/tests/test-wmc-com.c | 12 ++++++------
+ 4 files changed, 31 insertions(+), 31 deletions(-)
+
+commit c9a42d98c2a5a5cfe3015fa11838bfc432d1636f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 19 09:52:06 2012 -0600
+
+ qcdm: add some mode prefs
+
+ libqcdm/src/nv-items.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit f9a32a47edd7b882b3522cb4e39a071c667ac73b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 18:08:20 2012 -0600
+
+ gsm: fix return value of SMS send method
+
+ The introspection data specified the Send() method to return
+ an array of unsigned integers, presumably the indexes of the
+ messages just sent. But the code wasn't doing that, leading
+ to a crash when dbus-glib tried to interpret garbage on the
+ return.
+
+ The problem is that sms_send_auth_cb() gave async_call_done()
+ as the callback for sending the SMS, but that method just calls
+ dbus_g_method_return() with no return arguments. dbus-glib
+ interprets the arguments of dbus_g_method_return() according
+ to the XML introspection data, and thus it was attempting to
+ read the non-existent argument as an 'au' and getting garbage.
+
+ Fix that by actually returning an array of message indexes from
+ the SMS send code, and propagate that back to the SMS dbus
+ code so it can return something sensible.
+
+ src/mm-generic-gsm.c | 49
+ ++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-modem-gsm-sms.c | 41 ++++++++++++++++++++++++++++++++++++-----
+ src/mm-modem-gsm-sms.h | 9 +++++++--
+ 3 files changed, 89 insertions(+), 10 deletions(-)
+
+commit fc3fd7b983c564bc6d6523ad1232959734e04025
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 18:07:45 2012 -0600
+
+ test: print sent SMS message index on success
+
+ test/mm-send-sms.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 04e87e70ff629309413c7426d97457e5c58e19fe
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 17:02:48 2012 -0600
+
+ qcdm: some devices do implement SW_VERSION
+
+ Like the MF627 for some reason. Also, the format appears to be
+ more like the DM_CMD_VERSION_INFO response where at least the
+ comp_date and comp_time fields are the same size as
+ VERSION_INFO, just with some padding between.
+
+ libqcdm/src/commands.c | 2 +-
+ libqcdm/src/dm-commands.h | 4 +++-
+ libqcdm/tests/test-qcdm-com.c | 11 +++++------
+ 3 files changed, 9 insertions(+), 8 deletions(-)
+
+commit e2306a0dd5958ee9fef7305c6e41a0595bbeb3cc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 16:29:02 2012 -0600
+
+ gsm: change SMS send validity from 5-minute units to minutes
+
+ Might as well keep it simple.
+
+ .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 5 +--
+ src/mm-modem-gsm-sms.c | 2 +-
+ src/mm-sms-utils.c | 46
+ +++++++++++-----------
+ src/tests/test-sms.c | 33 +++++++++++++---
+ test/mm-send-sms.py | 2 +-
+ 5 files changed, 56 insertions(+), 32 deletions(-)
+
+commit c437da20ffe1873b15c338f95be4bee26e26b401
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 15:43:22 2012 -0600
+
+ test: enhance SMS send util to accept validity and SMSC address
+
+ test/mm-send-sms.py | 44 ++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 36 insertions(+), 8 deletions(-)
+
+commit 5c561995aacdab2b29f8eabf38ad8703eec75cab
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 15:26:12 2012 -0600
+
+ gsm: fix CMGS PDU mode length calculation
+
+ The first byte of the PDU is the SMSC length, but it's not
+ the padded SMSC length. So we need to subtract the actual
+ byte index of the start of the message from length of the
+ PDU, and since the PDU creation function knows all about
+ where the SMSC address stops and the message begins, just
+ have it return that length instead of making the callers
+ calculate it.
+
+ src/mm-generic-gsm.c | 8 +++-----
+ src/mm-sms-utils.c | 6 ++++++
+ src/mm-sms-utils.h | 1 +
+ src/tests/test-sms.c | 25 +++++++++++++++----------
+ 4 files changed, 25 insertions(+), 15 deletions(-)
+
+commit d51ff9ac07973701ee790f57c82a99cc25d92ab1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 13:45:03 2012 -0600
+
+ gsm: use PDU modem when the modem doesn't support text mode
+
+ Eventually we should be using PDU mode whenever the modem supports
+ it instead of defaulting to text mode, but there are still some
+ bugs.
+
+ src/mm-generic-gsm.c | 122
+ +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 118 insertions(+), 4 deletions(-)
+
+commit 43e6039cee57f70b18119a8a68305ec8017f46fb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 13:44:20 2012 -0600
+
+ qcdm: GSM MCC, MNC, LAC and CI don't seem to valid in WCDMA mode
+
+ So don't bother trying to parse them.
+
+ libqcdm/src/commands.c | 40 ++++++++++++++++++++++------------------
+ 1 file changed, 22 insertions(+), 18 deletions(-)
+
+commit e08e46fb1a77c61c45cb4e350595fbfbb252d784
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 13:25:00 2012 -0600
+
+ qcdm: let WCDMA/GSM devices pass CDMA-only tests
+
+ Obviously they don't implement the CDMA-only commands.
+
+ libqcdm/tests/test-qcdm-com.c | 34 +++++++++++++++++++++++++++++-----
+ 1 file changed, 29 insertions(+), 5 deletions(-)
+
+commit 1655b3d323d914f0ba45ebc438e66f655730dc2e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 13:24:35 2012 -0600
+
+ test: print out error if sending SMS fails
+
+ test/mm-send-sms.py | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 6789a87a5826638472b88d600b99414ce3daa5bd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 13:00:50 2012 -0600
+
+ tests: better handling of encodings in SMS test tool
+
+ Python usually uses Unicode, but often the shell encoding
+ will be in UTF-8, so Python needs some help converting the
+ message to Unicode. Use LANG to do that if we can.
+
+ test/mm-send-sms.py | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit 3f4056caab93ea4f208f5da4a8cd50de5fef52d8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 12:56:52 2012 -0600
+
+ tests: add a test for 25-character SMS messages
+
+ Tests that the last septet (packed in an octet by itself)
+ doesn't get left off the message like the old code used to
+ do before "core: fix some bugs in GSM7 packing code".
+
+ src/tests/test-sms.c | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit 9bba24941b89bfdf308a241f67e08a441feee0ee
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 12:52:28 2012 -0600
+
+ api: change SMS save/send validity units
+
+ Making clients pass the raw GSM PDU value isn't very useful
+ since it's not exactly trivial to create programmatically.
+ Instead, let's make validity be units of 5 minutes and MM
+ will automatically figure out how to map that to the PDU
+ value.
+
+ introspection/org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 27b981237eff9ef6239609ed040dc8c088e943d8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 18 12:28:50 2012 -0600
+
+ core: fix some bugs in GSM7 packing code
+
+ The existing gsm_pack() had a bug where if the last
+ septet should be in an octet by itself, that last
+ octet wouldn't be added. Plus, kinda pointless to
+ use a GByteArray here when we already know what the
+ length will be through simple arithmetic.
+
+ We can also simplify the function too.
+
+ Furthermore, there weren't any testcases for starting
+ packing at an offset other than zero, so add one.
+
+ src/mm-charsets.c | 46
+ +++++++++++++++++++++-------------------------
+ src/tests/test-charsets.c | 45
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 66 insertions(+), 25 deletions(-)
+
+commit 178f30bdd3111ba645b92ae6511911cc6a9ece4c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 17 18:49:18 2012 -0600
+
+ qcdm: fill in some GSM and WCDMA stuff
+
+ libqcdm/src/commands.c | 149 ++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 69 ++++++++++++
+ libqcdm/src/dm-commands.h | 44 ++++++++
+ libqcdm/tests/test-qcdm-com.c | 239
+ +++++++++++++++++++++++++++++++++++++-----
+ libqcdm/tests/test-qcdm-com.h | 4 +
+ libqcdm/tests/test-qcdm.c | 2 +
+ 6 files changed, 482 insertions(+), 25 deletions(-)
+
+commit 80a41ed11b8ba40a54cecf044c2957a70a249b4d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 17 13:13:09 2012 -0600
+
+ gsm: add SMS PDU creation function
+
+ Only for basic SMS-SUBMIT PDUs at the moment, and doesn't
+ support large SMSs yet.
+
+ src/mm-charsets.c | 178 +++++++++++++++++++++++++++++-
+ src/mm-charsets.h | 5 +
+ src/mm-sms-utils.c | 303
+ ++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-sms-utils.h | 15 +++
+ src/tests/test-sms.c | 173 +++++++++++++++++++++++++++++
+ 5 files changed, 671 insertions(+), 3 deletions(-)
+
+commit ad29e8dd885469887ee905fd7473ffdcfcb3d869
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 17 13:12:31 2012 -0600
+
+ trivial: update .gitgnore
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit dec9cc66eb3a321af082df40a55e268415b759b7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 16 14:11:25 2012 -0600
+
+ core: register SMS errors with dbus-glib
+
+ src/mm-manager.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit bab6ae955274a878515e5fda3d4f758d2a345bf5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 16 12:22:18 2012 -0600
+
+ serial: handle CMS errors correctly
+
+ src/mm-serial-parsers.c | 39 ++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 34 insertions(+), 5 deletions(-)
+
+commit 7dea934844cba4505063ca318d7e8575db5156f9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 16 12:15:43 2012 -0600
+
+ core: add CMS errors
+
+ src/mm-errors.c | 141
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-errors.h | 39 ++++++++++++++++
+ 2 files changed, 180 insertions(+)
+
+commit b24561e99eab939d49c1a33c64a4b1af6a68faaf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 13 14:56:04 2012 -0600
+
+ decode: don't try interpreting non-WMC data as WMC
+
+ decode/wmc.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit a6548ebe40145865aff925877d9ceabdc54c9b57
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 12 13:00:52 2012 -0600
+
+ qcdm: start filling out log messages and items
+
+ Log messages are enabled by LOG_CONFIG and are then reported
+ as unsolicited responses with code DM_CMD_LOG. Each log type
+ appears to have its own message format which are now being
+ added to log-items.h.
+
+ libqcdm/src/Makefile.am | 1 +
+ libqcdm/src/dm-commands.h | 11 +++
+ libqcdm/src/log-items.h | 161
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.c | 4 ++
+ 4 files changed, 177 insertions(+)
+
+commit 474d9136ba6b99cb8ec2dba54621b1ce2a69c144
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 11 17:55:10 2012 -0600
+
+ qcdm: fix warning when no log codes are enabled
+
+ libqcdm/src/commands.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit bf31764babdc4980b32b92792ca07fd06aa5cbfc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 11 16:10:37 2012 -0600
+
+ qcdm: enhance LOG_CONFIG testcase
+
+ libqcdm/tests/test-qcdm-com.c | 54
+ +++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 50 insertions(+), 4 deletions(-)
+
+commit b14044bc9a43bce7f3f6248bb5278ab5a235ebad
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 11 16:10:02 2012 -0600
+
+ qcdm: only warn on unknown mode pref NV item values
+
+ libqcdm/src/commands.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit 29a1385e6ce7aee72cba32a0b47ae18e3994e9b5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 11 15:30:45 2012 -0600
+
+ qcdm: LOG_CONFIG fixups
+
+ Fix some buffer overruns. Log codes are also 16-bit not 32.
+
+ libqcdm/src/commands.c | 21 ++++++++++++---------
+ libqcdm/src/commands.h | 2 +-
+ 2 files changed, 13 insertions(+), 10 deletions(-)
+
+commit f3208bf3a6a94ed2a5e3f87c703df9ee0896cabf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 11 14:25:23 2012 -0600
+
+ qcdm: add support for Log Config command
+
+ This appears to be a newer version of EXT_LOGMASK that also
+ works with GSM/UMTS and other subsystems.
+
+ libqcdm/src/commands.c | 228
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 29 ++++++
+ libqcdm/src/dm-commands.h | 32 ++++++
+ libqcdm/src/errors.h | 1 +
+ libqcdm/tests/test-qcdm-com.c | 43 ++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 7 files changed, 336 insertions(+)
+
+commit b22b2d99db57e4cec8e6c3074dd20acd6845cb62
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 11 14:24:43 2012 -0600
+
+ qcdm: add u16 arrays to results
+
+ libqcdm/src/result-private.h | 5 +++
+ libqcdm/src/result.c | 79
+ +++++++++++++++++++++++++++++++++++++++++++-
+ libqcdm/src/result.h | 5 +++
+ 3 files changed, 88 insertions(+), 1 deletion(-)
+
+commit 1804ae2fe52acfee52f70aba5fb0acb9888a9c8b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 11 12:53:06 2012 -0600
+
+ qcdm: fix stringification of qcdm_xxx_if_fail() macros
+
+ Actually reading about preprocessor concatenation and stringification
+ helps.
+
+ libqcdm/src/errors.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 2e2c8ad7efb42924b2928af287be67f95b27b48f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 10 19:11:57 2012 -0600
+
+ qcdm: add some more commands
+
+ Found in CodeAurora diagchar_core.c driver.
+
+ libqcdm/src/dm-commands.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit e98f2ebf4095708aa52d69a5a067f6cec9042d6d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 10 19:01:40 2012 -0600
+
+ qcdm: clarify some subsystems
+
+ libqcdm/src/dm-commands.h | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit d085e6c46741832bd6edc167077664d821c0a489
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 10 18:15:11 2012 -0600
+
+ qcdm: fix up testcases for more expected error codes
+
+ I'm bored and playing around with a Novatel E725...
+
+ libqcdm/tests/test-qcdm-com.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit ff838972cfef660cabfe7224d50459d5148b5f64
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 10 18:14:40 2012 -0600
+
+ qcdm: don't segfault getting number of log items
+
+ Not sure how this worked before at all.
+
+ libqcdm/src/commands.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit 86e3ab154032cb2d348c7ee8be26628a8ef37554
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 9 17:21:27 2012 -0600
+
+ sms: punt handling of 8-bit encoded SMSs to clients
+
+ There's no encoding information about 8-bit SMS messages,
+ and they are often binary things like ringtones or voicemail
+ indicator commands. Since there's no point to our parsing
+ them just let clients deal with it.
+
+ .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 4 +-
+ src/mm-sms-utils.c | 61
+ ++++++++++++++--------
+ src/tests/test-sms.c | 34 +++++++++++-
+ 3 files changed, 74 insertions(+), 25 deletions(-)
+
+commit 96210d1c5530aa623f49e1ef19eb44c88f137581
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 9 16:26:27 2012 -0600
+
+ dbus: don't install introspection XML we don't really own
+
+ MM implements the DBus properties interface and of course that
+ requires some XML on our side for dbus-glib. But we shouldn't
+ install that along with our ModemManager-specific XML.
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2f1d8f7fb334ba05fba0676f61333f8246b7e4a5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 9 14:53:39 2012 -0600
+
+ nokia: fix PPP port for CSxx Internet Sticks
+
+ USB interface 0 isn't a serial interface; it's probably a custom
+ Nokia PhoNet port or a custom Icera pseudo-ethernet port. But
+ it's not a CDC-ACM serial port, at least on the CS17.
+
+ Reported by Uwe Geuder.
+
+ plugins/77-mm-nokia-port-types.rules | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+commit d52b4517271916fb3a6cc2a8df63b75829081d8d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Jan 7 15:54:19 2012 +0100
+
+ policy: fix typo
+
+ Reported at LP#913138
+
+ policy/org.freedesktop.modem-manager.policy.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 11fbcc901094dfe9f6395ce6a94e0faab57aabbd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 5 12:31:13 2012 -0600
+
+ qcdm: fill out some operating modes
+
+ libqcdm/src/commands.h | 9 ++++++++-
+ libqcdm/src/dm-commands.h | 11 +++++++++++
+ libqcdm/tests/test-qcdm-com.c | 35 ++++++++++++++++++++++++++---------
+ 3 files changed, 45 insertions(+), 10 deletions(-)
+
+commit 62d26479ff70f353bf81d0971397017ae2e353fc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 5 12:29:03 2012 -0600
+
+ qcdm: better handle NV item read/write status codes
+
+ libqcdm/src/commands.c | 30 +++++++++++++++++++++++++++---
+ libqcdm/src/errors.h | 7 +++++++
+ libqcdm/src/nv-items.h | 12 ++++++++++++
+ libqcdm/tests/test-qcdm-com.c | 14 ++++++++++----
+ 4 files changed, 56 insertions(+), 7 deletions(-)
+
+commit 6e961ddd83b9f5aea64ee73ecb1398a3466d5509
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 5 11:05:32 2012 -0600
+
+ qcdm: fix up live testcase for recent changes
+
+ And interpret all the recent mode preferences.
+
+ libqcdm/src/commands.c | 16 ++++++++++++----
+ libqcdm/src/commands.h | 11 ++++++++---
+ libqcdm/tests/test-qcdm-com.c | 33 ++++++++++++++++++++++++---------
+ 3 files changed, 44 insertions(+), 16 deletions(-)
+
+commit 30bb9e878fb3e5647fc3bcf8279e1de045325ae3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 3 00:30:59 2012 -0600
+
+ cdma: fixes for libqcdm changes
+
+ plugins/mm-modem-novatel-cdma.c | 16 +++++------
+ src/mm-generic-cdma.c | 58
+ +++++++++++++++++++++++----------------
+ src/mm-plugin-base.c | 22 ++++++---------
+ src/mm-qcdm-serial-port.c | 14 ++++++++--
+ src/tests/test-qcdm-serial-port.c | 20 ++++++--------
+ 5 files changed, 69 insertions(+), 61 deletions(-)
+
+commit 7b14063f4676a51c3a0d8b9adc89a9490d6b5814
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 3 00:14:32 2012 -0600
+
+ qcdm: remove usage of glib
+
+ People have asked for this at various times.
+
+ libqcdm/configure.ac | 5 +-
+ libqcdm/src/Makefile.am | 4 +-
+ libqcdm/src/com.c | 21 +-
+ libqcdm/src/com.h | 4 +-
+ libqcdm/src/commands.c | 838
+ ++++++++++++++++++-------------------
+ libqcdm/src/commands.h | 244 +++++------
+ libqcdm/src/dm-commands.h | 250 +++++------
+ libqcdm/src/error.c | 88 ----
+ libqcdm/src/error.h | 54 ---
+ libqcdm/src/errors.c | 60 +++
+ libqcdm/src/errors.h | 94 +++++
+ libqcdm/src/nv-items.h | 16 +-
+ libqcdm/src/result-private.h | 35 +-
+ libqcdm/src/result.c | 438 ++++++++++++-------
+ libqcdm/src/result.h | 26 +-
+ libqcdm/src/utils.c | 91 ++--
+ libqcdm/src/utils.h | 53 ++-
+ libqcdm/tests/test-qcdm-com.c | 264 ++++++------
+ libqcdm/tests/test-qcdm-escaping.c | 2 +-
+ libqcdm/tests/test-qcdm-result.c | 32 +-
+ libqcdm/tests/test-qcdm-result.h | 1 +
+ libqcdm/tests/test-qcdm-utils.c | 4 +-
+ libqcdm/tests/test-qcdm.c | 1 +
+ 23 files changed, 1365 insertions(+), 1260 deletions(-)
+
+commit 1e1c8a5ae4e5296bd6648feff9390a4692683a1f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 3 00:12:36 2012 -0600
+
+ wmc: remove usage of glib
+
+ People have asked for leaner builds and glib isn't strictly
+ required for the core library.
+
+ libwmc/src/commands.c | 34 ++++-----
+ libwmc/src/result.c | 2 +-
+ libwmc/src/utils.c | 157
+ ++++++++++++++++++++-------------------
+ libwmc/src/utils.h | 94 ++++++++++++-----------
+ libwmc/tests/test-wmc-com.c | 40 +++++-----
+ libwmc/tests/test-wmc-com.h | 4 +-
+ libwmc/tests/test-wmc-escaping.c | 14 ++--
+ libwmc/tests/test-wmc-utils.c | 36 ++++-----
+ 8 files changed, 196 insertions(+), 185 deletions(-)
+
+commit 267b83ae27014d0d3bfee6f19ae3a5f0efad0b67
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Dec 31 11:43:42 2011 -0600
+
+ sierra: add support for Icera based devices (USB305, AT&T Lightning)
+
+ plugins/Makefile.am | 3 +
+ plugins/mm-modem-sierra-gsm.c | 197
+ +++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 186 insertions(+), 14 deletions(-)
+
+commit c9d0dea5b09f2b6ad3b6f199a32a5c282d3716bc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 30 20:36:01 2011 -0600
+
+ decode: add some python tools to decode SniffUSB dumps
+
+ decode.py will read SniffUSB logs of communication with
+ QMUX or WMC speaking devices. It will dump the packets
+ in both hex and ASCII. If you know something about the
+ device then you can tell it to decode the packets. For
+ example, we know the Pantech UML290's WMC port speaks
+ WMC using Bulk Transfers, so we can:
+
+ decode.py --transfer=wmc <path to sniffusb logs>
+
+ or we know the UML290's "rmnet" port speaks raw IP in
+ the Bulk Transfers and QMUX in the Control Transfers, so:
+
+ decode.py --control=qmux <path to sniffusb logs>
+
+ qmiprotgen.py takes a path to an Entities.txt file and
+ dumps out the protocol entities and services in
+ Python code which is used by qmux.py.
+
+ xml2ascii.py and analyze.py dump out UsbSnoopy XML logs
+ but these are not as usable as the SniffUSB logs (they
+ do not provide good direction information).
+
+ http://www.wingmanteam.com/usbsnoopy/
+ http://www.pcausa.com/Utilities/UsbSnoop/
+
+ decode/analyze.py | 179 ++++
+ decode/decode.py | 71 ++
+ decode/defs.py | 20 +
+ decode/packet.py | 192 ++++
+ decode/qmiprotgen.py | 494 +++++++++++
+ decode/qmiprotocol.py | 2352
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ decode/qmux.py | 187 ++++
+ decode/wmc.py | 211 +++++
+ decode/xml2ascii.py | 82 ++
+ 9 files changed, 3788 insertions(+)
+
+commit a2b578d755e51f820bbe015431ef02266454e66b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 19:32:30 2011 +0100
+
+ modem-helpers: plug a leak when parsing CREG responses
+
+ src/mm-modem-helpers.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d38787c4608b14f64d695df4c41bb464f4c989c6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 19:27:46 2011 +0100
+
+ modem-helpers: plug a leak when building device ID
+
+ src/mm-modem-helpers.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 9ee88e82863c08dd9013732abf2e605cf078a347
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Dec 30 18:33:32 2011 +0100
+
+ serial-parsers: plug small leak
+
+ src/mm-serial-parsers.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 9f14d830472f77b89ed54d1269c741e787ca10c3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 14 14:19:10 2011 -0600
+
+ gsm: treat "no network" error as zero signal for Simple.GetStatus
+
+ src/mm-generic-gsm.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit 2af1a612e9187c0e2bf3a8e3d007f04aa023add9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 7 17:07:46 2011 -0600
+
+ core: don't crash on error if response is NULL
+
+ Various bits of the code didn't check if response was valid
+ or not during error conditions, and when an error occurs
+ sometimes it'll be NULL (since not all errors are translated
+ errors from the modem, some are serial or general ones). We
+ have to make sure we don't try to use response->str when
+ response doesn't exist.
+
+ Found in the generic CDMA code likely as a result of
+ d5d9eec2b52363a7460aeec0c020b1c6a7af6b03 but was a bug long
+ before that commit happened anyway.
+
+ plugins/mm-modem-mbm.c | 4 +++-
+ plugins/mm-plugin-longcheer.c | 3 ++-
+ plugins/mm-plugin-x22x.c | 3 ++-
+ src/mm-generic-cdma.c | 5 +++--
+ src/mm-generic-gsm.c | 2 +-
+ src/mm-modem-base.c | 3 ++-
+ 6 files changed, 13 insertions(+), 7 deletions(-)
+
+commit c1e64f1a33b8b877945e59bda58b1969cdc27614
+Author: Nathan Williams <njw@google.com>
+Date: Wed Nov 30 17:33:39 2011 -0500
+
+ gsm: improve scan response regex construction error handling
+
+ Change the error handling to be a bit more like what appears to have
+ been intended: if constructing the regex fails, report an error and
+ return. The existing code looked like it was set up to do this, but
+ wasn't quite wired together, and had process-terminating calls
+ (g_error()) followed by other code.
+
+ Change-Id: I4a7cee8fe01291976edc2e343fcbeb73e882f20b
+
+ src/mm-modem-helpers.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 58b2a79f83269dfb57479c244c517c7fb6ff8ace
+Author: Nathan Williams <njw@google.com>
+Date: Wed Nov 30 17:25:12 2011 -0500
+
+ sms: fix two bugs with multipart SMS handling: signals and listing
+
+ First, arrange for received/complete signals to be sent by calling
+ cmti_received_has_sms() with the message properties even if the
+ message isn't complete yet.
+
+ Second, make the operation of the List command's multipart message
+ handling independent of message order by doing one pass to insert the
+ messages into the cache and second pass to retrieve the complete
+ messages.
+
+ Change-Id: I3dcae940d71aec3ddb65c508675f710d1567b0e2
+
+ src/mm-generic-gsm.c | 51
+ +++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 37 insertions(+), 14 deletions(-)
+
+commit fc5eed79ee1b13471fb4d5bbfa1d2d62401dda4d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Dec 1 17:35:09 2011 -0600
+
+ mbm: add USB IDs for HP hs2340
+
+ plugins/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit ae92c74a7752df0ae4ebc69b31beec4fac324e39
+Author: Vitaly Gimly <vgimly@gmail.com>
+Date: Wed Nov 30 10:56:50 2011 -0600
+
+ trivial: remove unecessary semicolons
+
+ src/mm-modem-gsm-ussd.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 65340bdf6ccafc4417c6166e07440ef961e01bd4
+Author: Jiří Klimeš <jklimes@redhat.com>
+Date: Wed Nov 30 12:38:52 2011 +0100
+
+ cdma: free one more GError
+
+ src/mm-generic-cdma.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8d64d0fdda5699c566642fac1cbd735d40cf9225
+Author: Nathan Williams <njw@chromium.org>
+Date: Tue Nov 29 11:31:37 2011 -0500
+
+ gsm/cdma: free up a couple of dangling GErrors
+
+ Change-Id: I4f07e7e08bcbfc116114191c759cc0af4bb8ea23
+
+ src/mm-generic-cdma.c | 1 +
+ src/mm-generic-gsm.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+commit d5d9eec2b52363a7460aeec0c020b1c6a7af6b03
+Author: Nathan Williams <njw@chromium.org>
+Date: Wed Nov 23 16:16:20 2011 -0500
+
+ serial: report port-not-open in queueing commands via callback
+
+ Reporting errors instead of just returning permits routines like
+ mm-generic-gsm.c:simple_get_status() to work again, as their callbacks
+ get the error they are expecting. To make this work, adapt
+ get_csq_done()
+ to handle a NULL response when error is set, and make sure that
+ multiple
+ errors don't step on each other in the mm_callback_info_chain()
+ sequence
+ created by simple_get_status().
+
+ Change-Id: Ie3a72b1ce71b7f117e8b1f3da7a406c4d2da9e02
+
+ src/mm-generic-gsm.c | 14 +++++++++++---
+ src/mm-serial-port.c | 10 +++++++++-
+ 2 files changed, 20 insertions(+), 4 deletions(-)
+
+commit 44194ac04d7926cb80de03fe95ce98bd64a1c6c6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Nov 17 12:48:36 2011 -0600
+
+ nokia: add port tags for CS-xx Internet Sticks
+
+ They appear to always want PPP to happen on interface 0, according
+ to the Windows .INF files.
+
+ plugins/77-mm-nokia-port-types.rules | 39
+ ++++++++++++++++++++++++++++++++++++
+ plugins/Makefile.am | 3 ++-
+ plugins/mm-plugin-nokia.c | 11 ++++++++--
+ 3 files changed, 50 insertions(+), 3 deletions(-)
+
+commit 02aa10c72ab6f3bad24b0977268b0d9d56674311
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 16 23:39:34 2011 -0600
+
+ gsm: check facility locks after unlocking PIN
+
+ Some modems don't allow most commands when they are PIN locked, so
+ the initial facility lock check errors out. Check the locks again
+ after the SIM is unlocked.
+
+ src/mm-generic-gsm.c | 26 ++++++++++++++++++++++++--
+ 1 file changed, 24 insertions(+), 2 deletions(-)
+
+commit eede5bb621152eb1774495d9cd403b1e653c076c
+Author: Eric Shienbrood <ers@chromium.org>
+Date: Thu Aug 11 13:58:59 2011 -0400
+
+ gsm: add new property to track which facility locks are enabled
+
+ The property EnabledFacilityLocks on the .Modem.Gsm.Card interface
+ is a bit mask that indicates which of the various personalization
+ codes from 3GPP TS 22.022, plus the SIM PIN lock and SIM PIN2 lock,
+ are enabled. The set of facility locks supported by the modem is
+ determined at the time the modem is initialized, and the state of
+ each supported lock (enabled or disabled) is determined. When the
+ state of a lock changes, a property-change signal is sent out. Note
+ that ModemManager only supports enabling and disabling SIM-PIN, via
+ the EnablePin method on Modem.Gsm.Card.
+
+ ...org.freedesktop.ModemManager.Modem.Gsm.Card.xml | 6 +
+ .../org.freedesktop.ModemManager.Modem.Gsm.xml | 37 +++-
+ src/mm-generic-gsm.c | 214
+ ++++++++++++++-------
+ src/mm-generic-gsm.h | 3 +-
+ src/mm-modem-gsm-card.c | 10 +
+ src/mm-modem-gsm-card.h | 3 +
+ src/mm-modem-helpers.c | 145 ++++++++++++++
+ src/mm-modem-helpers.h | 7 +
+ 8 files changed, 357 insertions(+), 68 deletions(-)
+
+commit e7b6b2dc1c709ae877e3cd472d4134b918bb5fb7
+Author: Eric Shienbrood <ers@chromium.org>
+Date: Wed Nov 16 17:42:50 2011 -0600
+
+ core: keep track of all PIN retry counts
+
+ Added a PinRetryCounts property on org.freedesktop.ModemManager.Modem.
+ This is dictionary that records the number of PIN tries remaining
+ for each of the possible PIN code types for which the modem is
+ capable of reporting the count. Also, these counts are kept up
+ to date across ChangePin and EnablePin operations, not just when
+ an unlock is attempted.
+
+ .../org.freedesktop.ModemManager.Modem.xml | 17 +++-
+ plugins/mm-modem-huawei-gsm.c | 65 ++++++--------
+ plugins/mm-modem-mbm.c | 50 +++++------
+ plugins/mm-modem-samsung-gsm.c | 95
+ +++++----------------
+ src/mm-callback-info.c | 20 +++++
+ src/mm-callback-info.h | 4 +
+ src/mm-generic-gsm.c | 62 +++++++++-----
+ src/mm-modem-base.c | 98
+ ++++++++++++++++------
+ src/mm-modem-base.h | 11 ++-
+ src/mm-modem-gsm-card.c | 16 ++--
+ src/mm-modem-gsm-card.h | 10 +--
+ src/mm-modem.c | 10 +++
+ src/mm-modem.h | 9 ++
+ 13 files changed, 260 insertions(+), 207 deletions(-)
+
+commit 71598a628987162196b98124486ad8e728852ec5
+Author: Graham Inggs <graham.inggs@uct.ac.za>
+Date: Tue Nov 15 11:27:57 2011 -0600
+
+ huawei: remove padding from USSD responses
+
+ Probably needed in generic USSD code.
+
+ plugins/mm-modem-huawei-gsm.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 262f0f5e81ae5b346090102acecf642ed0ee09f9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 14 17:38:02 2011 -0600
+
+ wmc: fix build after fixup of WMC field names
+
+ libwmc/src/commands.c | 6 +++---
+ libwmc/src/commands.h | 2 +-
+ libwmc/tests/test-wmc-com.c | 4 ++--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+commit add6131edfb4271748b5991f0ce6f447fef88f6d
+Author: Graham Inggs <graham.inggs@uct.ac.za>
+Date: Mon Nov 14 17:36:23 2011 -0600
+
+ huawei: pad USSD requests if necessary
+
+ ModemManager currently encodes the USSD command *141*0# (for MTN South
+ Africa) as "AA182DA6828D00".
+ While this works on some modems, for example the E1820, other modems,
+ for example the E160, require USSD commands that are a multiple of 7
+ characters long to be padded with 0x0d.
+ Huawei Mobile Partner dashboard software for Windows encodes *141*0#
+ as "AA182DA6828D1A" which works on both the E1820 and the E160.
+
+ The attached patch pads the USSD command with 0x0d before encoding if
+ it is a multiple of 7 characters long.
+
+ plugins/mm-modem-huawei-gsm.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit ef74d84b32b90131bc15cb0db1431840b460f08a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 14 12:33:59 2011 -0600
+
+ wmc: demystify some fields in the IP info reply
+
+ libwmc/src/protocol.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 61375a5fd6a932ca836d50d92770f3ffd16b7fd6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 14 12:24:56 2011 -0600
+
+ wmc: demystify some more fields of the device info response
+
+ libwmc/src/protocol.h | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+commit 1aa6d01d53f2034e85156c3d3fece4d198ba6035
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Nov 11 23:39:20 2011 -0600
+
+ wmc: protocol and testcase update
+
+ libwmc/src/commands.c | 98
+ ++++++++++++++++++++++++++++++++++++++++++++-
+ libwmc/src/commands.h | 15 +++++++
+ libwmc/src/protocol.h | 85 ++++++++++++++++++++++++++++++++++++++-
+ libwmc/tests/test-wmc-com.c | 65 +++++++++++++++++++++++++++++-
+ libwmc/tests/test-wmc-com.h | 2 +
+ libwmc/tests/test-wmc.c | 1 +
+ 6 files changed, 262 insertions(+), 4 deletions(-)
+
+commit ae3f1cd578e59245a6bff5cfd19f64f0c47f5de9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Nov 11 12:20:51 2011 -0600
+
+ libwmc: add testcases that talk to the device
+
+ libwmc/src/commands.c | 70 ++++++++++++++++++++++++++--
+ libwmc/src/commands.h | 5 ++
+ libwmc/src/protocol.h | 17 +++++++
+ libwmc/src/utils.c | 79 +++++++++++++++++++++++++++++++-
+ libwmc/src/utils.h | 26 ++++++++---
+ libwmc/tests/test-wmc-com.c | 104
+ +++++++++++++++++++++++++++++++++++++-----
+ libwmc/tests/test-wmc-com.h | 6 ++-
+ libwmc/tests/test-wmc-utils.c | 4 +-
+ libwmc/tests/test-wmc.c | 12 +++--
+ 9 files changed, 293 insertions(+), 30 deletions(-)
+
+commit 83c905837693f095d9e7c1bf9ac56d8290510f45
+Author: Thomas Bechtold <thomasbechtold@jpberlin.de>
+Date: Mon Nov 7 00:03:11 2011 +0100
+
+ build: remove duplicate 'policy' directory entry from SUBDIRS
+
+ It is already added when WITH_POLKIT is set.
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 128e9abcee26ed691317b33aaacb795609855dd7
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu Nov 3 16:21:45 2011 -0400
+
+ serial: reject new commands when the port is closed.
+
+ Otherwise, we can schedule a main loop call to
+ mm_serial_port_queue_process() for an object that's about to
+ disappear, leading to a crash.
+
+ Change-Id: I433a76855c52536eb2b99a5ecf26ac71afe1f8bb
+
+ src/mm-serial-port.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a027d27da8bb723b344fc2805ae9f3e2489dac00
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu Nov 3 16:13:07 2011 -0400
+
+ gsm: finish all disable commands before returning
+
+ Rearrange the primary and secondary-port disable operations so that
+ there's a linear chain of callbacks rather than a second dangling
+ callback chain for the secondary port; it's possible for the primary
+ port operations to complete, and for the callback to finish and start
+ tearing down the entire device, before the secondary port commands
+ run.
+
+ Change-Id: Ia95a7eae574737cdec38b14d39786127be1b3184
+
+ src/mm-generic-gsm.c | 40 +++++++++++++++++++++++++---------------
+ 1 file changed, 25 insertions(+), 15 deletions(-)
+
+commit 87ec5e09a537f3ede83238a35ccd37ccc38eff8e
+Author: Nathan Williams <njw@chromium.org>
+Date: Tue Aug 30 11:00:53 2011 -0400
+
+ gsm: multipart SMS support
+
+ Keep a local cache of SMS message fragments when we perform a List or
+ Get command on the modem; use this cache to reassemble fragments into
+ complete messages, which are then what is returned by the Get and List
+ DBus commands. Similarly, cause Delete to delete all known parts of a
+ multipart message.
+
+ While here, remove some extra whitespace in the SMS commands we send
+ to the modem.
+
+ src/mm-generic-gsm.c | 470
+ ++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-sms-utils.c | 98 +++++++----
+ 2 files changed, 512 insertions(+), 56 deletions(-)
+
+commit 889ae2fb4bae97b174fc0088b15427b1d035abc6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 27 16:38:11 2011 -0500
+
+ gsm: fix parsing of unsolicited CREG/CGREG response with RAC
+
+ src/mm-modem-helpers.c | 48
+ ++++++++++++++++++++++++++++++------------
+ src/tests/test-modem-helpers.c | 11 +++++-----
+ 2 files changed, 40 insertions(+), 19 deletions(-)
+
+commit ccad4aaa9d151537d6fa421d17d676409a6f688b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 27 15:13:30 2011 -0500
+
+ gsm: add regex for unsolicited CREG/CGREG response with RAC
+
+ src/mm-modem-helpers.c | 11 +++++++++++
+ src/tests/test-modem-helpers.c | 11 +++++++++++
+ 2 files changed, 22 insertions(+)
+
+commit 58aa172b4e539605554dd300dca199b34fbf9186
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 24 21:31:37 2011 +0200
+
+ serial: use g_value_set_schar() and g_value_get_schar() when glib
+ >= 2.31
+
+ src/mm-serial-port.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 28f64090dfa15097587bbea69209df10b8ab8593
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 24 21:09:11 2011 +0200
+
+ core: don't include private headers from glib
+
+ The "glib/gtypes.h" is now considered private, and only "glib.h"
+ should be
+ included directly.
+
+ src/mm-at-serial-port.h | 1 -
+ src/mm-manager.h | 1 -
+ src/mm-modem-base.h | 1 -
+ src/mm-plugin-base.h | 1 -
+ src/mm-port.h | 1 -
+ src/mm-qcdm-serial-port.h | 1 -
+ src/mm-serial-port.h | 1 -
+ 7 files changed, 7 deletions(-)
+
+commit d40e0436234b625d3856841ba53f7b03aa59bd15
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 18 13:13:21 2011 -0500
+
+ core: better handle NULL spew from serial ports during probing
+
+ Observed on a generic ZTE device.
+
+ src/mm-plugin-base.c | 27 +++++++++++++++++++++------
+ 1 file changed, 21 insertions(+), 6 deletions(-)
+
+commit 3bcbc7b644d51ef846d621e97674f903368f6a30
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 30 15:01:19 2011 +0200
+
+ api: Let MM_MODEM_MODE be a bitfield, and new PreferredMode property
+
+ Supported and Allowed modes are modified to be bitmasks of
+ MM_MODEM_MODE values,
+ and preference of a specific mode is now given in the new
+ PreferredMode
+ property and as an extra argument to the SetAllowedModes() call.
+
+ * Supported Modes: bitmask specifying which modes are supported by
+ the specific
+ hardware. For example, a modem may only support 1G/2G/3G connections
+ (not 4G).
+
+ * Allowed Modes: bitmask specifying which modes, of the ones
+ Supported by the
+ modem, are allowed to use. For example, a modem may support 1G/2G/3G
+ connections
+ but only 1G and 2G connections are allowed by the user as 3G
+ involves more
+ expensive data rates.
+
+ [Allowed] ⊆ [Supported]
+
+ * Preferred Mode: specific mode which is preferred among the ones
+ defined in
+ the Allowed modes bitmask. For example, a modem may allow 1G/2G/3G
+ connections
+ but the user would like that if possible 2G be used, as 3G consumes
+ too much
+ battery. If 2G is not possible, 3G can be used.
+
+ [Preferred] ∈ [Allowed]
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 56
+ +++++++++++++++--------------
+ 1 file changed, 29 insertions(+), 27 deletions(-)
+
+commit 0984dd9df886d3a5bf951d2bddfd1c7544352088
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 17 09:41:50 2011 +0200
+
+ build: ensure all needed files are included in dist
+
+ Added all needed headers to libwmc_la_SOURCES, so that they get into
+ the dist
+ tarball.
+
+ libwmc/src/Makefile.am | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 5f24703b126eabbc08b1f3fffc7831ff73455bd5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Oct 17 09:39:43 2011 +0200
+
+ build: mm-modem-gsm.h no longer exists
+
+ src/Makefile.am | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit fd9f2d2804a6ebffbc2365b56d34dcf18aaa9942
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Oct 13 14:59:30 2011 +0200
+
+ serial: skip NUL bytes coming before real AT responses
+
+ Some Cinterion modems send a NUL byte before the "CONNECTED" reply to
+ "ATD"
+ (only during the first ATD try anyway).
+
+ This fix will ignore any NUL byte leading the real response.
+
+ src/mm-serial-parsers.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 6e0e46e51e9b022577db6adeb986d3241da9bd4d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Oct 12 18:47:23 2011 -0500
+
+ huawei: Gobi devices should be driven by gobi not huawei (bgo #660998)
+
+ plugins/mm-plugin-huawei.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit c61423f2cfb201a610a5708a7ea19175a2e20750
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 4 11:16:00 2011 -0500
+
+ wmc: add initial command parsing and response handling
+
+ libwmc/src/Makefile.am | 6 +-
+ libwmc/src/commands.c | 109 ++++++++++++++++
+ libwmc/src/commands.h | 41 ++++++
+ libwmc/src/errors.h | 6 +-
+ libwmc/src/protocol.h | 52 ++++++++
+ libwmc/src/result-private.h | 38 ++++++
+ libwmc/src/result.c | 298
+ ++++++++++++++++++++++++++++++++++++++++++++
+ libwmc/src/result.h | 42 +++++++
+ 8 files changed, 590 insertions(+), 2 deletions(-)
+
+commit a7637ddf8786e54bd1bb7f667896abd168ceba08
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 4 11:01:31 2011 -0500
+
+ qcdm: add more mode prefs
+
+ It seems that various firmwares just pass values from eg AT^SYSCFG
+ straight through to the firmware so it's pretty easy to map them
+ to the actual response here. Note that the NV mode pref item uses
+ a different mapping than CM state info response. Yay.
+
+ libqcdm/src/commands.h | 8 ++++++++
+ libqcdm/src/nv-items.h | 2 ++
+ 2 files changed, 10 insertions(+)
+
+commit a9f4ea9f812760dcc71a8381084c106e1f819787
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 30 15:01:18 2011 +0200
+
+ api: rename MM_MODEM_ALLOWED_MODE to MM_MODEM_MODE
+
+ Makes more sense to have the enum named just as 'mode', as it applies
+ to both
+ Supported and Allowed.
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 40406693b61cb0ca601815f1478c773d6bbe9233
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 30 15:01:17 2011 +0200
+
+ api: new SetAllowedBands() to be able to modify the allowed bands
+ in the modem
+
+ Changing the allowed bands in a modem may fail, for example if trying
+ to set a
+ frequency band which is not in the bands mask reported as Supported
+ by the modem.
+ Therefore, we need an explicit SetAllowedBands() method with proper
+ error
+ reporting instead of making the property writable.
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 22 ++++++++++++++++++----
+ 1 file changed, 18 insertions(+), 4 deletions(-)
+
+commit b5393091de71b8a7fadd87f0762c4efebb6f5fd3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 30 15:01:16 2011 +0200
+
+ api: new SetAllowedModes() to be able to modify the allowed mode in
+ the modem
+
+ Changing the allowed mode of a modem may fail, for example if trying
+ to set a
+ mode which is not in the modes reported as Supported by the
+ modem. Therefore, we
+ need an explicit SetAllowedModes() method with proper error reporting
+ instead of
+ making the property writable.
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 22 ++++++++++++++++++----
+ 1 file changed, 18 insertions(+), 4 deletions(-)
+
+commit dbc64d83ba74990af73283a4650327b21c861d60
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 30 15:01:15 2011 +0200
+
+ api: let SignalQuality say if the given value was recently taken
+
+ Modems which only expose a single port will not be able to update
+ the signal
+ quality value while in connected mode. The signal quality value
+ reported in this
+ case, while the modem is connected, will be the last signal quality
+ value read
+ before the connection.
+
+ The additional boolean value proposed here in the SignalQuality
+ property will
+ just say if the given signal quality was recently taken (if TRUE)
+ or cached
+ some time ago (if FALSE). The time to assume the value was recently
+ taken or not
+ could depend on different things, for example:
+
+ * If the modem always has an AT port, even if connected, we could
+ directly
+ query the current signal quality and report the value as being
+ fresh.
+
+ * If the modem has a single port, we could report the value as not
+ being fresh
+ as soon as the modem gets in connected state.
+
+ * For modems which report the signal quality updates in unsolicited
+ messages,
+ we could report the value as being fresh if the update was received
+ in the
+ last minute or so.
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit e9743f4b4992321c206bb33059c1f594142d3f92
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 30 15:01:14 2011 +0200
+
+ api: let the Modem expose a 'Sim' property to link to a specific
+ SIM object
+
+ SIM objects will be listed as independent objects in the DBus API,
+ and the 'Sim'
+ property in a given modem object will specify which SIM object is
+ in use.
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 588f9550ed1acd792ee09c2b43dbf13788ce7663
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 30 15:01:13 2011 +0200
+
+ api: remove GetInfo() from the Modem API and use read-only properties
+ instead.
+
+ New 'Manufacturer', 'Model' and 'Revision properties are added,
+ all being
+ read-only strings.
+
+ new/org.freedesktop.ModemManager1.Modem.xml | 37
+ ++++++++++++++---------------
+ 1 file changed, 18 insertions(+), 19 deletions(-)
+
+commit 9d9a189026b060a7e2c2b838d759c23a782121df
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Fri Sep 30 15:01:12 2011 +0200
+
+ api: include ScanDevices() and SetLogging() in the new manager API
+
+ These methods were available in the old API, and are needed in the
+ new one.
+
+ new/org.freedesktop.ModemManager1.xml | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+commit 7a7014330cde29fedb64dff772f53e44c45516cd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Sep 30 14:38:11 2011 -0500
+
+ examples: add example of auto-enabling modems
+
+ test/Makefile.am | 3 ++-
+ test/modem-autoenable.py | 50
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 52 insertions(+), 1 deletion(-)
+
+commit 30a67862ecddf2ee9c29ea933d473567988b1769
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 28 10:31:32 2011 -0500
+
+ zte: update port hints for Onda MSA110 and others
+
+ plugins/77-mm-zte-port-types.rules | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit 368b80886912cf9f03ed535bba1c426466461195
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Sep 27 15:31:45 2011 -0500
+
+ libwmc: simpler logging and error handling
+
+ libwmc/src/com.c | 15 ++++----
+ libwmc/src/com.h | 12 +-----
+ libwmc/src/errors.c | 93
+ ++++++++++-----------------------------------
+ libwmc/src/errors.h | 53 ++++++++++++--------------
+ libwmc/tests/test-wmc-com.c | 17 +++------
+ 5 files changed, 60 insertions(+), 130 deletions(-)
+
+commit 8710820156f51d1861b329e6fc12e706304ddda9
+Author: Nathan Williams <njw@chromium.org>
+Date: Tue Sep 27 13:40:39 2011 -0500
+
+ core: ensure that GMatchInfo and GRegex objects are freed properly
+
+ In particular, g_regex_match() and g_regex_match_full() allocate a
+ match_info structure on both success and failure, so calling
+ g_match_info_free() only in the success case is insufficient.
+
+ BUG=None
+ TEST=Inspection
+
+ Change-Id: Iea76b5b5dc3ec48120e15601a5e2dd45322133d8
+
+ plugins/mm-modem-anydata-cdma.c | 6 ++++++
+ plugins/mm-modem-cinterion-gsm.c | 13 +++++++++----
+ plugins/mm-modem-huawei-gsm.c | 4 ++--
+ plugins/mm-modem-novatel-gsm.c | 3 +--
+ plugins/mm-modem-samsung-gsm.c | 4 ++--
+ plugins/mm-modem-sierra-gsm.c | 4 +++-
+ plugins/mm-modem-x22x-gsm.c | 3 +--
+ plugins/mm-modem-zte.c | 6 +++---
+ src/mm-generic-gsm.c | 33 ++++++++++++++++++---------------
+ src/mm-modem-helpers.c | 15 ++++++---------
+ src/mm-serial-parsers.c | 32 +++++++++++++-------------------
+ 11 files changed, 64 insertions(+), 59 deletions(-)
+
+commit 00670456ffb4b08af3620a95c73601bc15d84eb9
+Author: Nathan Williams <njw@chromium.org>
+Date: Fri Sep 23 17:21:15 2011 -0400
+
+ sms: sanitize 8-bit data so that it is UTF8-clean
+
+ When receiving a SMS message with raw 8-bit data, sanitize it by
+ replacing non-ASCII characters with \xNN escape sequences. This
+ prevents a problem further down the line where the body of the message
+ is passed into DBus as a string, and DBus requires strings to
+ be UTF-8.
+
+ BUG=chrome-os-partner:5953
+ TEST=Run network_ModemManagerSMS.py with the PDU from this bug.
+
+ Change-Id: Ic33a365f9a065c49a325e047e4c3f5e81450fa1f
+ Reviewed-on: http://gerrit.chromium.org/gerrit/8232
+ Reviewed-by: Eric Shienbrood <ers@chromium.org>
+ Tested-by: Nathan J. Williams <njw@chromium.org>
+ Commit-Ready: Nathan J. Williams <njw@chromium.org>
+
+ src/mm-sms-utils.c | 21 +++++++++++++++++++--
+ 1 file changed, 19 insertions(+), 2 deletions(-)
+
+commit 18fc92ef7304d01c5ec11ced22ff82c4ab6dbbe1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Sep 27 13:13:40 2011 -0500
+
+ libwmc: add more test code and start of com tests
+
+ libwmc/src/Makefile.am | 23 ++---
+ libwmc/src/com.c | 57 +++++++++++
+ libwmc/src/com.h | 33 +++++++
+ libwmc/src/errors.c | 109 ++++++++++++++++++++++
+ libwmc/src/errors.h | 74 +++++++++++++++
+ libwmc/src/utils.c | 14 ++-
+ libwmc/tests/Makefile.am | 2 +
+ libwmc/tests/test-wmc-com.c | 223
+ ++++++++++++++++++++++++++++++++++++++++++++
+ libwmc/tests/test-wmc-com.h | 27 ++++++
+ libwmc/tests/test-wmc.c | 51 ++++++++++
+ 10 files changed, 591 insertions(+), 22 deletions(-)
+
+commit 8250dee13177a164d61e31fe8d60900f9d5c6797
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 19 13:42:00 2011 -0500
+
+ libwmc: add more tests including for UML290 quirks
+
+ libwmc/src/utils.c | 20 ++++---
+ libwmc/src/utils.h | 2 +
+ libwmc/tests/test-wmc-escaping.c | 41 +++++++++++++
+ libwmc/tests/test-wmc-escaping.h | 2 +
+ libwmc/tests/test-wmc-utils.c | 120
+ ++++++++++++++++++++++++++++++++++++++-
+ libwmc/tests/test-wmc-utils.h | 6 ++
+ libwmc/tests/test-wmc.c | 4 ++
+ 7 files changed, 186 insertions(+), 9 deletions(-)
+
+commit 46a5c77616a6fe22fa2a13a1f908b05a55e1ff31
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 19 11:24:43 2011 -0500
+
+ libwmc: rename some test functions
+
+ libwmc/tests/test-wmc-utils.c | 4 ++--
+ libwmc/tests/test-wmc-utils.h | 4 ++--
+ libwmc/tests/test-wmc.c | 4 ++--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 3dd4cdaf2bb940988bf2f4e5147824dc4f1fb0b4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Sep 17 13:27:54 2011 -0500
+
+ libwmc: beginning of bits for WMC-based devices like UML290
+
+ .gitignore | 1 +
+ Makefile.am | 2 +-
+ configure.ac | 3 +
+ libwmc/Makefile.am | 2 +
+ libwmc/src/Makefile.am | 28 +++
+ libwmc/src/utils.c | 374
+ +++++++++++++++++++++++++++++++++++++++
+ libwmc/src/utils.h | 64 +++++++
+ libwmc/tests/Makefile.am | 28 +++
+ libwmc/tests/test-wmc-crc.c | 65 +++++++
+ libwmc/tests/test-wmc-crc.h | 25 +++
+ libwmc/tests/test-wmc-escaping.c | 124 +++++++++++++
+ libwmc/tests/test-wmc-escaping.h | 26 +++
+ libwmc/tests/test-wmc-utils.c | 107 +++++++++++
+ libwmc/tests/test-wmc-utils.h | 28 +++
+ libwmc/tests/test-wmc.c | 54 ++++++
+ uml290.txt => libwmc/uml290.txt | 63 +++++--
+ 16 files changed, 983 insertions(+), 11 deletions(-)
+
+commit 953701a6f8273b2f70f19466ed1ada48f7369715
+Author: Thomas Tuttle <ttuttle@chromium.org>
+Date: Thu Sep 1 18:53:25 2011 -0400
+
+ modem: add firmware interface
+
+ introspection/all.xml | 2 +
+ ...org.freedesktop.ModemManager.Modem.Firmware.xml | 114 ++++++++
+ ...rg.freedesktop.ModemManager1.Modem.Firmware.xml | 114 ++++++++
+ policy/org.freedesktop.modem-manager.policy.in | 9 +
+ src/Makefile.am | 9 +-
+ src/mm-auth-provider.h | 1 +
+ src/mm-modem-firmware.c | 316
+ +++++++++++++++++++++
+ src/mm-modem-firmware.h | 72 +++++
+ 8 files changed, 635 insertions(+), 2 deletions(-)
+
+commit 4c514bfd6d096b649c5ae2132a914044ef0f45cb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 30 11:53:05 2011 +0200
+
+ gsm/cdma: unsigned integers can't be < 0, so remove unnecessary
+ conditions
+
+ It fixes compilation with the llvm/clang compiler as well.
+
+ src/mm-generic-cdma.c | 2 +-
+ src/mm-generic-gsm.c | 6 ++----
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+commit 2a9a6ad79b4bfe5d83e938c929c229a930c513a8
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 17:22:28 2011 +0200
+
+ nokia: use E1 E0 when initializing the modem
+
+ Passing E1 and E0 afterwards seems to properly disable the echo in
+ Nokia modems
+ (N900 and C7 at least)
+
+ plugins/mm-modem-nokia.c | 9 +++++++++
+ plugins/mm-plugin-nokia.c | 22 ++++++++++++++++++++++
+ 2 files changed, 31 insertions(+)
+
+commit 7348b4c0c872a09103d32fe44cb4c2a086eaa66b
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Wed Aug 24 10:07:26 2011 +0200
+
+ mbm: add more Ericsson and Dell vid/pids
+
+ Add the vid/pid for Ericsson H5321gw/w, F5321gw/w, C5621gw/w, C3304w
+ and Dell DW5560.
+
+ plugins/77-mm-ericsson-mbm.rules | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+commit 7605ffec59290f8b675ed19eaca967457e0ef2ba
+Author: Eric Shienbrood <ers@google.com>
+Date: Sun Aug 21 09:04:08 2011 -0500
+
+ gsm: pass GSM registration errors up to caller
+
+ Register was appearing to succeed even when it failed.
+
+ src/mm-generic-gsm.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit acc0928315f166708405f6c671a6fd58170a2c3c
+Author: Nathan J. Williams <njw@chromium.org>
+Date: Sun Aug 21 08:59:11 2011 -0500
+
+ sms: check for the correct return value from sscanf() in
+ sms_get_done()
+
+ Remove an unused variable so it's more obvious what the correct
+ value is.
+ Fixes live (vs. list) SMS reception on ToT.
+
+ BUG=none
+ TEST=Send SMS to device, see that it shows up in Chrome.
+
+ Change-Id: I9c76fb15ef229fe83672e2eee8ae37d7e6ab7b9e
+ Reviewed-on: http://gerrit.chromium.org/gerrit/3216
+ Reviewed-by: Nathan J. Williams <njw chromium org>
+ Tested-by: Nathan J. Williams <njw chromium org>
+
+ src/mm-generic-gsm.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 531fa05192d038d86207268d34d9837e7c0fbbcf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sat Aug 20 00:06:14 2011 +0200
+
+ api: remove unneeded code from header generator
+
+ header-generator.xsl | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+commit ea238513263a2f514b65ba7f6f632e12a5663150
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Aug 16 12:51:26 2011 +0200
+
+ api: use common ModemManager.h for API, core and plugins
+
+ plugins/Makefile.am | 83 +++++++++++++++++++++++++++-----------
+ plugins/mm-modem-icera.h | 2 +-
+ src/Makefile.am | 4 +-
+ src/mm-generic-gsm.c | 13 +++---
+ src/mm-generic-gsm.h | 2 +-
+ src/mm-modem-base.c | 12 +++---
+ src/mm-modem-cdma.h | 10 +----
+ src/mm-modem-gsm-card.c | 3 +-
+ src/mm-modem-gsm-network.c | 14 +++----
+ src/mm-modem-gsm-network.h | 15 ++-----
+ src/mm-modem-gsm.h | 99
+ ----------------------------------------------
+ src/mm-modem-helpers.h | 3 +-
+ src/mm-modem-location.h | 9 -----
+ src/mm-modem.c | 2 +-
+ src/mm-modem.h | 33 +---------------
+ src/tests/Makefile.am | 23 +++++++----
+ 16 files changed, 113 insertions(+), 214 deletions(-)
+
+commit c4a82913495fbaadc54088ed441d6348665e2dc6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 15:58:24 2011 +0200
+
+ build: ensure common header is built first
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2dee5b0ae05be9d4332bca20390a573367d79022
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 15:56:18 2011 +0200
+
+ api: rename common header to ModemManager.h
+
+ Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e48648e40671325fd24398d224f1fa798989f5fc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 13:19:54 2011 +0200
+
+ api: generate enums instead of defines in common header
+
+ header-generator.xsl | 150
+ +++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 104 insertions(+), 46 deletions(-)
+
+commit 15f77d131a763fc6044ca1fa1e6adb8e93b36d31
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 11:15:20 2011 +0200
+
+ api: add license and header include guards
+
+ header-generator.xsl | 31 +++++++++++++++++++++++++++----
+ introspection/all.xml | 2 +-
+ 2 files changed, 28 insertions(+), 5 deletions(-)
+
+commit 6eb32c72dac22edf2d0e1841f9a040cab3cebb4a
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 16:18:27 2011 +0200
+
+ introspection: renamed MM_MODEM_STATE_CHANGED_REASON to
+ MM_MODEM_STATE_REASON
+
+ introspection/org.freedesktop.ModemManager.Modem.xml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 36dabababd32f84a454f678047b9e3808d71146c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 16:14:07 2011 +0200
+
+ introspection: rename changed reason UNKNOWN to NONE
+
+ introspection/org.freedesktop.ModemManager.Modem.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 914ad628ab34eb62bcc66f80fd9230d451e71648
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 16:13:39 2011 +0200
+
+ introspection: define MM_MODEM_TYPE_UNKNOWN
+
+ introspection/org.freedesktop.ModemManager.Modem.xml | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 7e246f6018ffee5889f2a42638f28c460f18787e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Aug 17 16:13:04 2011 +0200
+
+ introspection: use state type in StateChanged signal definition
+
+ introspection/org.freedesktop.ModemManager.Modem.xml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 713c07290f5bad6ea60200dad1504baf43a91f0d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Aug 15 16:08:57 2011 +0200
+
+ introspection: define type MM_MODEM_STATE
+
+ .../org.freedesktop.ModemManager.Modem.xml | 60
+ ++++++++++++++++++++--
+ 1 file changed, 55 insertions(+), 5 deletions(-)
+
+commit 8799f4da1fdf0f0cad36dc6de68e3c35cc8177ae
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Aug 14 16:02:41 2011 -0500
+
+ core: when probing mark ports as AT capable too
+
+ On a ZTE MF626, sometimes the aux port will respond only with
+ "ERROR" to probing commands (while the SIM is starting up) and
+ previously we'd lose the port because we were only looking for
+ valid probe responses. But if the port returns ERROR or CME ERROR
+ etc we know it's an AT port and that we can use it once we've
+ gotten the type response (CDMA or GSM) from the main port.
+
+ plugins/mm-plugin-zte.c | 2 ++
+ src/mm-plugin-base.c | 24 ++++++++++++++++--------
+ src/mm-plugin-base.h | 1 +
+ 3 files changed, 19 insertions(+), 8 deletions(-)
+
+commit 8ea17921e736d56f7d758f2f885326ea49e495d7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Aug 14 15:37:38 2011 -0500
+
+ gsm: check both CS and PS registration state during poll
+
+ When connecting, and the modem isn't yet registered or denied, poll
+ both CS and PS registration state instead of just CS state, because
+ we're really more interested in PS state anyway. If at least one
+ of the CS and PS state checks is successful then proceed with the
+ connection.
+
+ src/mm-generic-gsm.c | 141
+ +++++++++++++++++++++++++++++++--------------------
+ 1 file changed, 87 insertions(+), 54 deletions(-)
+
+commit f683391169cf7f143df380779bf69d6b9b3947b8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 9 12:00:51 2011 +0200
+
+ test: allow modem numbers in addition to object paths
+
+ If the command-line arg doesn't look like an object path,
+ treat it as the modem # and make the object path.
+
+ test/disable.py | 5 ++++-
+ test/enable.py | 5 ++++-
+ test/info.py | 6 ++++--
+ test/location.py | 5 ++++-
+ test/scan.py | 5 ++++-
+ test/send-pin.py | 6 +++++-
+ test/ussd.py | 6 +++++-
+ 7 files changed, 30 insertions(+), 8 deletions(-)
+
+commit 33a97cdb139059a8f4e2a1fefe9f2c237171caf1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 2 17:26:55 2011 -0500
+
+ core: log when serial port unexpectedly hangs up
+
+ src/mm-serial-port.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit da57b9a0eb72a685e6aacdb67c6780fddada4884
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 2 16:58:26 2011 -0500
+
+ sierra: fix possible double-free
+
+ Need to reset password to NULL after freeing it.
+
+ plugins/mm-modem-sierra-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit eb2d14ab4a72d437d7fceb1bdddd1417be17c5c8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 2 16:54:47 2011 -0500
+
+ core: fix possible double-free
+
+ If there was data waiting, the task freed it, but then the port
+ got closed, and the data callback might have freed the data again.
+
+ src/mm-plugin-base.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 804cd7f07710362a6454fbf2cee689492b3060d4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 2 12:43:26 2011 -0500
+
+ gsm: work around Motorola Android phone modem bugs (bgo #637327)
+
+ It seems the Motorola Flipout with Android 2.1 doesn't like to return
+ configured PDP contexts via AT+CGDCONT?; it returns an error. It
+ seems to accept the rest of the dial sequence though, so just ignore
+ the error when reading existing PDP contexts.
+
+ src/mm-generic-gsm.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 7985a27321274e4087023e383276d3cbf73359bc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 2 12:26:05 2011 -0500
+
+ doc: update README (bgo #652910)
+
+ README | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b9c2180886dc759403c837564cf39a4d030fea52
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 2 11:05:55 2011 -0500
+
+ core: fix serial port flashing after
+ d3c2228f7b55465f4433bedb36d47744b8d791f1 (bgo #650740)
+
+ Fix one more possible memory leak (left un-fixed by d3c2228 but not
+ caused by it) and ensure that modems that do want flashing get it
+ by default by adding the missing G_PARAM_CONSTRUCT so FLASH_OK
+ defaults to TRUE.
+
+ src/mm-serial-port.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 26debc1a9745ebc54d35569ba416a368f084a3f4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 2 10:47:25 2011 -0500
+
+ mbm: don't flash serial ports on disconnect (bgo #650740)
+
+ The F5521gw resets various port properties like echo when the port
+ is flashed, which was happening on disconnect. Since MM had already
+ turned of echo with ATE0, and the AT parser in-use expected no
+ echo, this confused MM when the port magically started echoing
+ commands
+ back. We don't need flashing on the Ericsson devices because there
+ will always be a free AT port even if PPP is used for a secondary
+ PDP context, so we can just skip flashing entirely for these
+ devices.
+
+ plugins/mm-modem-mbm.c | 29 +++++++++++++++++++++++------
+ 1 file changed, 23 insertions(+), 6 deletions(-)
+
+commit d3c2228f7b55465f4433bedb36d47744b8d791f1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Aug 2 10:43:54 2011 -0500
+
+ core: allow ports to skip flash behavior (bgo #650740)
+
+ Flashing is a technique to break out of the data/PPP stream and
+ re-enter command stream (like +++) and MM uses it in the generic
+ paths in various cases. But devices that don't need it (ie, ones
+ with at least one AT capable port that won't be used for data)
+ now sometimes appear to have side-effects.
+
+ The Ericsson F5521gw firmware R2A07 resets port attributes like
+ echo and &C and such when the port is flashed, leading to
+ confusion on the part of MM. Since the Ericsson devices will
+ always have at least one free AT port they don't need flashing
+ anyway.
+
+ src/mm-serial-port.c | 102
+ ++++++++++++++++++++++++++++++++-------------------
+ src/mm-serial-port.h | 4 ++
+ 2 files changed, 68 insertions(+), 38 deletions(-)
+
+commit 18231c9f8df809aacd4534d0a081125e8d6569df
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 1 17:47:38 2011 -0500
+
+ api: refine new API based on suggestions from Eric Shienbrood
+
+ new/org.freedesktop.ModemManager1.Modem.Bearer.xml | 6 ++-
+ ...rg.freedesktop.ModemManager1.Modem.Contacts.xml | 45
+ ++++++++++++++++++++--
+ new/org.freedesktop.ModemManager1.Modem.xml | 26 +++++++++----
+ new/org.freedesktop.ModemManager1.Sim.xml | 15 +++++++-
+ 4 files changed, 80 insertions(+), 12 deletions(-)
+
+commit e0eb7038af03e3891ec06d58f9b9690765d2a706
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 1 17:18:08 2011 -0500
+
+ gsm: allow SIM operations while connected
+
+ No point in requiring these to be done from the primary port.
+
+ src/mm-generic-gsm.c | 54
+ +++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 41 insertions(+), 13 deletions(-)
+
+commit 2db79a8b54c3b687ba709e70ab00c81f4cfbe55c
+Author: Andrew Bird <ajb@spheresystems.co.uk>
+Date: Thu Jul 28 17:44:12 2011 +0100
+
+ api: add new LTE constant to the MM_ACCESS_TECHs
+
+ The 10.4 version of TS27.007 extends the range of values possible
+ from AT+COPS?
+ The range of values are as follows:
+ 3GPP TS 27.007 V10.4.0, +COPS
+ <AcT>: integer type; access technology selected
+ 0 GSM
+ 1 GSM Compact
+ 2 UTRAN
+ 3 GSM w/EGPRS
+ 4 UTRAN w/HSDPA
+ 5 UTRAN w/HSUPA
+ 6 UTRAN w/HSDPA and HSUPA
+ 7 E-UTRAN
+
+ All but the LTE (E-UTRAN) value can be represented in MM 0.5, this
+ patch adds a
+ new constant to correct that, until the MM API is redesigned later
+ for 0.6.
+
+ Signed-off-by: Andrew Bird <ajb@spheresystems.co.uk>
+
+ introspection/org.freedesktop.ModemManager.Modem.Gsm.xml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit b0a2c769079d4c28e55ec8fbc72244e386f2c6ac
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 27 21:37:35 2011 -0500
+
+ api: update proposed new SMS API
+
+ Finish most of the stuff here.
+
+ new/org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 120
+ -------------------
+ ...g.freedesktop.ModemManager1.Modem.Messaging.xml | 133
+ +++++++++++++++++++++
+ new/org.freedesktop.ModemManager1.Modem.SMS.xml | 110
+ +++++++++++++++++
+ 3 files changed, 243 insertions(+), 120 deletions(-)
+
+commit 30f848e7007154a33984cf843831955dfbcb25e5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 25 13:40:24 2011 -0500
+
+ cdma: don't blow away generic EVDO reg state if no specific state
+ is available
+
+ Generic code (like the QCDM CM/HDR checks) would determine the EVDO
+ registration state, which would then get blown away by the
+ device-specific
+ registration state query method. Modems that have a more specific
+ check
+ were fine, but generic devices that don't have more specific reg
+ state checks can simply rely on the generic checks done earlier and
+ don't need to update the EVDO state from
+ real_query_registration_state().
+
+ src/mm-generic-cdma.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit f8934c21ceabef58d096ded41f1b3f3ea7de1800
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 25 12:52:03 2011 -0500
+
+ option/hso: check generic access tech first, then specific tech
+
+ During the explicit access technology check, the plugin would request
+ specific 2G (OCTI) and 3G (OWCTI) technologies explicitly.
+ Some devices
+ (like Nozomi) don't support the AT_OWCTI command, which leaves us with
+ only AT_OSSYS for determining whether the device is registered with
+ the 3G network or the 2G network. So like the unsolicited mode change
+ handling code, when requesting access technology explicitly, ask for
+ generic 2G/3G tech first, and then get the specific tech. If the
+ device doesn't support explicit 3G tech then at least we have the
+ generic 3G tech from OSSYS to use.
+
+ plugins/mm-modem-option-utils.c | 130
+ +++++++++++++++++++++++++++++++++-------
+ 1 file changed, 107 insertions(+), 23 deletions(-)
+
+commit 1df8dd7361d4afbaf3e0fa46529cdd2460fa503d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 25 12:50:22 2011 -0500
+
+ option: plugin is supposed to support Nozomi devices too
+
+ The Nozomi cards were early CardBus devices that used a direct PCI
+ interface (instead of the more usual PCI<->USB controller) and the
+ 'nozomi' kernel driver. They use the same command set as most other
+ early Option NV modems. Nozomi was always supposed to be driven
+ by the option plugin, but apparently that got broken when adding
+ some of the driver/vendor checks.
+
+ plugins/mm-plugin-option.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit b02dc7f50fd918075c43d93d91f4bc3879b91b4c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 25 12:49:54 2011 -0500
+
+ core: allow getting the result from the MMCallbackInfo
+
+ src/mm-callback-info.c | 8 ++++++++
+ src/mm-callback-info.h | 1 +
+ 2 files changed, 9 insertions(+)
+
+commit 061d4108886d2bdd4f5420515d1006b986fdfe95
+Author: Nathan Williams <njw@google.com>
+Date: Mon Jul 25 00:48:14 2011 -0500
+
+ sms: calculate user-data bit padding correctly
+
+ Fourth and final in a series.
+
+ This fixes an off-by-one (septet) error in the calculation of the
+ amount of data to skip in the presence of a user data header, and adds
+ the test case from the wild that triggered it.
+
+ src/mm-sms-utils.c | 6 +++++-
+ src/tests/test-sms.c | 29 +++++++++++++++++++++++++++++
+ 2 files changed, 34 insertions(+), 1 deletion(-)
+
+commit e20173dc47beed79367ac904e25e7c12d67fce33
+Author: Nathan Williams <njw@google.com>
+Date: Mon Jul 25 00:46:51 2011 -0500
+
+ sms: recognize more text encodings from GSM 03.38
+
+ Third in a series. This fixes the bug detected by the dcsf1 test in
+ the just-added unit tests, by more thoroughly parsing the TP-DCS
+ field.
+
+ src/mm-sms-utils.c | 89
+ ++++++++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 77 insertions(+), 12 deletions(-)
+
+commit c717dbd9284f9b1baebd90864befa755dc95ef39
+Author: Nathan Williams <njw@google.com>
+Date: Mon Jul 25 00:44:49 2011 -0500
+
+ sms: add unit tests
+
+ Second in a series. Builds on the previous by actually unit-testing
+ the sms_parse_pdu() function. Note that the dcf1 test does not pass
+ as the code is currently written.
+
+ .gitignore | 1 +
+ src/tests/Makefile.am | 14 +-
+ src/tests/test-sms.c | 400
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 414 insertions(+), 1 deletion(-)
+
+commit e5faa242e9c6ddcd5bcb976420483ead59f81239
+Author: Nathan Williams <njw@google.com>
+Date: Mon Jul 25 00:42:08 2011 -0500
+
+ sms: split SMS parsing out into a separate file
+
+ In preparation for adding tests.
+
+ Change-Id: If1ebd0fdd6e7470c21538042ab1735357649155c
+
+ src/Makefile.am | 4 +-
+ src/mm-generic-gsm.c | 266 ++----------------------------------------
+ src/mm-sms-utils.c | 320
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-sms-utils.h | 25 ++++
+ 4 files changed, 355 insertions(+), 260 deletions(-)
+
+commit 0cc813312f9bf446614d6aed6a85b1ee0b006451
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 25 00:05:06 2011 -0500
+
+ gsm: don't clear operator name or number when at least one of PS or
+ CS is registered
+
+ The operator name/number isn't really tied to CS or PS registration,
+ since
+ we retrieve it using AT+COPS. But when one of CS or PS became
+ unregistered
+ the operator name and number would get cleared out. We only want
+ to clear
+ it out when *both* CS and PS are unregistered. Fixes an issue
+ with the
+ location API where location would not be reported when one of CS or PS
+ became unregistered, because the location bits want an operator name
+ before they return the location.
+
+ src/mm-generic-gsm.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 4267a15b4b318644531489fab91534acf7954d13
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jul 24 23:15:05 2011 -0500
+
+ tests: fix access tech reporting in scan.py
+
+ test/scan.py | 33 +++++++++------------------------
+ 1 file changed, 9 insertions(+), 24 deletions(-)
+
+commit a57618b091faec24d22bfce5f384248c52cd2511
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Thu Jul 21 15:15:44 2011 -0500
+
+ zte: skip hex encoding (bgo #652682)
+
+ plugins/mm-modem-zte.c | 25 ++++++++++++++++++++++++-
+ 1 file changed, 24 insertions(+), 1 deletion(-)
+
+commit 70715c1c124b3220969a432be5ad2ad6f44913fe
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Thu Jul 21 15:15:09 2011 -0500
+
+ huawei: implement ussd encoding/decoding
+
+ Huawei wants the USSD as packed GSM.
+
+ plugins/mm-modem-huawei-gsm.c | 51
+ +++++++++++++++++++++++++++++++++++++++++--
+ src/mm-generic-gsm.c | 2 +-
+ src/mm-modem-gsm-ussd.h | 4 ++++
+ 3 files changed, 54 insertions(+), 3 deletions(-)
+
+commit b82cec8c7e0aaab04a855d64ac46b6244b6cd98c
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Thu Jul 21 15:14:23 2011 -0500
+
+ ussd: Add mm_modem_gsm_ussd_{de,en}code to the MMModemGsmUssd
+ interface
+
+ since some some modems need different quirks to encode/decode USSD
+ messages.
+
+ src/mm-generic-gsm.c | 69
+ ++++++++++++++++++++++++++++++++++++++-----------
+ src/mm-modem-gsm-ussd.c | 26 +++++++++++++++++++
+ src/mm-modem-gsm-ussd.h | 16 ++++++++++++
+ 3 files changed, 96 insertions(+), 15 deletions(-)
+
+commit 94e717b85474881435f4f6a2f503ad23ab148d22
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Thu Jul 21 15:09:15 2011 -0500
+
+ test: improve ussd.py help message
+
+ test/ussd.py | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 26e7b3f8ce949ff3d8ba15626f8b59d92f13ff94
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Thu Jul 21 15:08:22 2011 -0500
+
+ trivial: update .gitignore
+
+ .gitignore | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit ec76518ea3a4fe1f32de4e11c6d3adf3021001e6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 21 15:06:36 2011 -0500
+
+ api: add missing in-progress proposed SMS API
+
+ new/org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 120
+ +++++++++++++++++++++
+ 1 file changed, 120 insertions(+)
+
+commit 3e2b6fb24c6f32f6b5898f4c703eed4fc609561d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 19 15:29:44 2011 -0500
+
+ cdma: set Rm interface protocol if required (bgo #641661)
+
+ Some providers (CDMA Ukraine) apparently require a specific Rm
+ interface
+ protocol, so add some Simple Connect dict settings for that and
+ use them
+ when dialing. Obviously requires the connection manager to also have
+ support for sending the right bits down to MM.
+
+ .../org.freedesktop.ModemManager.Modem.Simple.xml | 5 +-
+ src/mm-generic-cdma.c | 153
+ ++++++++++++++++++++-
+ 2 files changed, 153 insertions(+), 5 deletions(-)
+
+commit 85000adfe95f948773d4313e3207a1781dc87225
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 18 18:27:18 2011 -0500
+
+ core: add another CnS string to the immediate ignore list
+
+ Newer Sierra devices have this (ie 306); it's the CnS port so ignore
+ it immediately.
+
+ src/mm-plugin-base.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit c70d6d565d51a0b76e3e79f176176b146806265e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 7 10:28:41 2011 -0500
+
+ Revert "cinterion: bail earlier if the plugin doesn't support
+ the port"
+
+ This reverts commit 1e1bfbf1d808e557441afdae44447af457dae7ff.
+
+ Aleksander says this might break RS232<->USB converter connected
+ Cinterion modems, so we'll need to handle this issue another way.
+
+ plugins/mm-plugin-cinterion.c | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+commit 1e1bfbf1d808e557441afdae44447af457dae7ff
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 6 15:36:18 2011 -0500
+
+ cinterion: bail earlier if the plugin doesn't support the port
+
+ Caused a crash with the Sierra plugin due to an assertion failure;
+ the Cinterion plugin shouldn't claim to possibly support ports
+ it knows it won't support. In this case, it claimed to support
+ Sierra modems, so it would try to run probing after Sierra had
+ done so. Ideally this should work, but for now just make sure
+ the Cinterion plugin doesn't claim to support these ports when
+ it knows it doesn't.
+
+ plugins/mm-plugin-cinterion.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+commit 0f6d1b2b42afe48583c9c3e7c159be4353462d86
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 6 13:15:42 2011 -0500
+
+ nokia: N900 doesn't really need additional inter-character time
+
+ See 46d757faa768db7d7bb23d51cc2af3196f7a7e30:
+
+ gsm: send init command twice to make the N900 happy (rh #583691)
+ (lp:765516)
+
+ for what I think is the real workaround for this bug.
+
+ plugins/mm-modem-nokia.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 46d757faa768db7d7bb23d51cc2af3196f7a7e30
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 6 13:13:41 2011 -0500
+
+ gsm: send init command twice to make the N900 happy (rh #583691)
+ (lp:765516)
+
+ The N900 has some odd serial characteristics in that it appears to
+ send pieces of the commands back for whatever reason, until you've
+ sent
+ a few commands down to it. Almost like it's training on whatever
+ you send and needs a bit of input to figure out the characteristics.
+ Whatever. Just send the init command twice instead of failing when
+ the N900 barfs the first time.
+
+ src/mm-generic-gsm.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 2ca045f1781095ed652bc01d0f47cdbe6b0b9775
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 6 13:08:18 2011 -0500
+
+ core: update some serial port settings
+
+ 1) use cfsetispeed/cfsetospeed like the TTY manpage suggests
+ 2) ignore parity/framing errors since we're not using parity anyway
+ 3) double-check that all our TTY settings were successfully set
+
+ src/mm-serial-port.c | 46 +++++++++++++++++++++++++++++++++++++++++-----
+ 1 file changed, 41 insertions(+), 5 deletions(-)
+
+commit 50e9d6fc54da6900796cc6af957465120dc530d7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jul 6 09:37:47 2011 +0200
+
+ cinterion, wavecom: update copyright info
+
+ plugins/mm-modem-cinterion-gsm.c | 3 ++-
+ plugins/mm-modem-cinterion-gsm.h | 3 ++-
+ plugins/mm-modem-wavecom-gsm.c | 3 ++-
+ plugins/mm-modem-wavecom-gsm.h | 3 ++-
+ plugins/mm-plugin-cinterion.c | 3 ++-
+ plugins/mm-plugin-cinterion.h | 3 ++-
+ plugins/mm-plugin-wavecom.c | 3 ++-
+ plugins/mm-plugin-wavecom.h | 3 ++-
+ 8 files changed, 16 insertions(+), 8 deletions(-)
+
+commit 077a4004fd2c7b4005962d8e0aa7eac8b7edd0a9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 5 12:27:47 2011 -0500
+
+ gobi: support access technology reporting
+
+ Obviously only works while disconnected since the Gobi devices only
+ provide one AT-compatible tty.
+
+ plugins/mm-modem-gobi-gsm.c | 53
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 53 insertions(+)
+
+commit 3eaf753c7f5c21b8a6ef589b03d6181318b2b8eb
+Author: Thomas Grenman <tgrenman@aalto.fi>
+Date: Thu Jun 30 15:51:53 2011 -0500
+
+ gsm: set SMS storage location before enabling notifications
+
+ Fixes a firmware hang on Option GlobeTrotter Express (GE0201 with
+ firmware 1.12.1Hd (Date: Feb 22 2007, Time: 09:20:28)) and makes
+ sense in general too.
+
+ src/mm-generic-gsm.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 7762d401e8201efc05d643b9da32f3e60a42c470
+Merge: 881f928c 7e69d2cf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 30 19:48:23 2011 +0200
+
+ Merge remote-tracking branch 'lanedo/power-up-check-needed'
+
+commit 881f928c40f1460bcb03fae3eaf96b23f40fca3f
+Author: Eric Shienbrood <ers@google.com>
+Date: Tue Jun 28 10:46:56 2011 -0400
+
+ samsung: add product ID for the Y3400 module.
+
+ The Y3400 is functionally nearly identical to the Y3300.
+
+ plugins/mm-plugin-samsung.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1b73fa154160a51634633a4bfd886aa1d27e72b3
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu Jun 23 17:33:30 2011 -0400
+
+ Add a DBus interface for setting the log level.
+
+ Lifted almost entirely from similar code in NetworkManager.
+
+ BUG=chromium-os:15197
+ TEST='dbus-send --print-reply --system
+ --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager
+ org.freedesktop.ModemManager.SetLogging string:DEBUG'
+ Also try valid log levels 'ERR', 'WARN', 'INFO', and an invalid log
+ level, such as 'ABCDE'.
+
+ Change-Id: I2bddcd0319f4966dd293b119f68e7cc1697949b7
+ Reviewed-on: http://gerrit.chromium.org/gerrit/3134
+ Tested-by: Nathan J. Williams <njw@chromium.org>
+ Reviewed-by: Eric Shienbrood <ers@chromium.org>
+
+ introspection/org.freedesktop.ModemManager.xml | 12 +++++++++
+ src/mm-log.c | 37
+ ++++++++++++++------------
+ src/mm-log.h | 2 ++
+ src/mm-manager.c | 17 ++++++++++++
+ 4 files changed, 51 insertions(+), 17 deletions(-)
+
+commit b7820cf6e15eb245d4726f8cfbe20ce24466188b
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu Jun 23 18:01:46 2011 -0400
+
+ gsm: handle case of entirely empty SPN correctly
+
+ BUG=none
+ TEST=Insert a SIM with a present but empty (all 0xFF) SPN and check
+ the system log for a (lack of) assertion errors from
+ mm_charset_gsm_unpacked_to_utf8().
+
+ Change-Id: I1250494b9757c9bfdce56402a4471c598f41223f
+ Reviewed-on: http://gerrit.chromium.org/gerrit/3139
+ Reviewed-by: Eric Shienbrood <ers@chromium.org>
+ Tested-by: Nathan J. Williams <njw@chromium.org>
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7e69d2cf307efdb4ddec5ef0eef9f6141bf8fa65
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 22 16:00:58 2011 +0200
+
+ cinterion: always try to use RTS/CTS flow control
+
+ Otherwise, power-up after going to standby will not work properly
+
+ plugins/mm-modem-cinterion-gsm.c | 39
+ +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit 39abb023ed180d03ea8324285116e228b46cd411
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 22 15:53:37 2011 +0200
+
+ serial: new property to enable RTS/CTS flow control
+
+ src/mm-serial-port.c | 21 +++++++++++++++++++++
+ src/mm-serial-port.h | 1 +
+ 2 files changed, 22 insertions(+)
+
+commit eae5d6c41be6652bac384340c47d274164007ebb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Jun 22 13:01:17 2011 +0200
+
+ cinterion: enable power-off command to go to sleep/standby mode
+
+ AT+CFUN=4 will be used when available to go to standby mode. If
+ not supported,
+ (as in EGS5) AT+CFUN=7 will be used instead, which enables a CYCLIC
+ SLEEP mode.
+
+ Flow control setup was updated to RCS/CTS so that waking up from
+ sleep mode
+ works properly.
+
+ plugins/mm-modem-cinterion-gsm.c | 97
+ +++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 92 insertions(+), 5 deletions(-)
+
+commit 56db81890120e63f251b899b0eac66dc8941d411
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 21 15:07:16 2011 +0200
+
+ sierra: do not send power-up command if not needed
+
+ plugins/mm-modem-sierra-gsm.c | 60
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 60 insertions(+)
+
+commit 34b5635f84798005e93a4be4c84ebd5dbe9f5212
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 21 14:49:38 2011 +0200
+
+ wavecom: enable power-off command to go to sleep/standby mode
+
+ AT+CFUN=4 will be used to go to standby mode.
+
+ plugins/mm-modem-wavecom-gsm.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit ab485bd66a3dfe4fdafe6425f48417997784be21
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 21 14:41:56 2011 +0200
+
+ wavecom: try to power-up without rebooting
+
+ Using AT+CFUN=1,0 so that we request to avoid resetting
+ (<rst>=0). Works
+ properly when powering up after having put the modem in standby
+ mode with
+ AT+CFUN=4.
+
+ Note that the power-up command will only be sent if the check to
+ see if power-up
+ is needed requests it.
+
+ plugins/mm-modem-wavecom-gsm.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 255525a5a2d499ef7b4d01cea660502bd1dff6a5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 21 14:39:23 2011 +0200
+
+ wavecom: do not send power-up command if not needed
+
+ plugins/mm-modem-wavecom-gsm.c | 104
+ +++++++++++++++++++++++++----------------
+ 1 file changed, 63 insertions(+), 41 deletions(-)
+
+commit 6e9d980e8c29974f9b641a1f6bc3be5212500901
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 21 12:54:09 2011 +0200
+
+ gsm: allow plugins to check if they need to issue the power-up command
+
+ Some modems only like the power-up command if not already in full
+ functionality
+ mode. If the power-up is sent while already in full functionality
+ mode, they get
+ rebooted and reseted.
+
+ With this changes, plugins can check whether they need the power-up
+ and ask
+ the generic gsm code base to skip the command or not.
+
+ By default, power-up command (if any given) is never skipped.
+
+ src/mm-generic-gsm.c | 34 ++++++++++++++++++++++++++++------
+ src/mm-generic-gsm.h | 11 ++++++++++-
+ 2 files changed, 38 insertions(+), 7 deletions(-)
+
+commit 895f0f2ea3868091baefa897d88a6fbc3a0ca897
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 17 16:25:45 2011 -0500
+
+ doc: add notes about Pantech UML290 and the WMC protocol
+
+ WMC is a proprietary protocol observed on various Verizon devices
+ and implemented by the UML290.
+
+ uml290.txt | 163
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 163 insertions(+)
+
+commit 51c409d1eba77804d9e1709808c2eb5e5eb064e0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 9 16:33:43 2011 -0500
+
+ ussd: fix reception, network notifications, and network requests
+
+ Because the code was sending the USSD request with a "notify me via
+ unsolicited result code" tag, the response could come from any port,
+ and in was coming from other ports on various devices. But the code
+ expected the response on the main port, thus it got lost.
+
+ So turn the USSD response processing into an unsolicited command
+ handler
+ instead, which allows us to process the response no matter where it
+ comes from. This patch also enables network-initiated USSD
+ notifications and requests since that's easy to add once the first
+ thing
+ here is done.
+
+ src/mm-generic-gsm.c | 243
+ ++++++++++++++++++++++++++++++++++++++-------------
+ src/mm-generic-gsm.h | 2 +
+ 2 files changed, 184 insertions(+), 61 deletions(-)
+
+commit 77fa848820cabf8cbaf6ed0e986771f4907c4c36
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jun 15 12:50:35 2011 -0500
+
+ serial: warn when open/close take longer than 7 seconds
+
+ Due to kernel bugs and such.
+
+ src/mm-serial-port.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit 884ba2bb09e877d54847327cc4d511fa68e97c53
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 14 12:58:36 2011 +0200
+
+ build: place together samsung plugin compilation options
+
+ plugins/Makefile.am | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit abcffd17538b9417ddc99fa5ae46de10378ad2db
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Jun 14 12:38:33 2011 +0200
+
+ cinterion: check probed caps from supports task
+
+ plugins/mm-plugin-cinterion.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a35fc3a583e507d3c59e0d53a3f71aa8a6e59bb9
+Author: Eric Shienbrood <ers@google.com>
+Date: Mon Jun 13 10:30:11 2011 -0500
+
+ icera: report connected access technology when connected
+
+ The NWSTATE field reports both available access technology and the
+ actual access technology in-use when a PS connection is active, so
+ report the actual access tech when it's available.
+
+ plugins/mm-modem-icera.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+commit 6657e45a1e7d836f8fee6610b225c59249a07c98
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 9 16:53:05 2011 -0500
+
+ core: trivial whitespace cleanup
+
+ Tabs -> spaces
+
+ src/mm-manager.c | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+commit 9f8d42a994ae60efff46611a8fb88fe55a506c7f
+Author: Nathan Williams <njw@google.com>
+Date: Wed Jun 8 15:52:08 2011 -0400
+
+ core: handle udev 'change' events
+
+ That's what the udev replay gives us these days (as of udev-152).
+
+ src/mm-manager.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 509521d180e333a76233baf9c14e1a33ceca42b6
+Author: Eric Shienbrood <ers@google.com>
+Date: Thu Jun 9 16:44:10 2011 -0500
+
+ icera: request specific network error codes on connect errors
+
+ For connection failures, get additional error detail. Currently,
+ the only error codes that are mapped are the 3GPP TS 24.008 codes
+ for "Unknown or missing access point name" and "Requested service
+ option not subscribed" (which is sometimes returned for an invalid
+ APN).
+
+ (random fixes and cleanups by dcbw)
+
+ plugins/mm-modem-icera.c | 51
+ +++++++++++++++++++++++++++++++++++++++---------
+ 1 file changed, 42 insertions(+), 9 deletions(-)
+
+commit 57a14da144bdf7a7c5b3403e4cafc66c26783f24
+Author: Eric Shienbrood <ers@google.com>
+Date: Thu Jun 9 16:41:09 2011 -0500
+
+ build: ensure Samsung plugin includes common Icera code
+
+ Otherwise make can't find build-time dependencies.
+
+ plugins/Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 92159d9b0d673b42ca8ceac0254fa2aa06d2f0ab
+Author: Eric Shienbrood <ers@google.com>
+Date: Thu Jun 9 16:40:11 2011 -0500
+
+ icera: add more access technology strings
+
+ plugins/mm-modem-icera.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit 85aae2d8f1fdb43709f1e5e7eef3b8387a75ba29
+Author: Eric Shienbrood <ers@google.com>
+Date: Thu Jun 9 16:37:20 2011 -0500
+
+ samsung: disable should use CFUN=4
+
+ CFUN=4 disables the radios but still allows useful operations
+ like getting PIN lock status. So use that instead.
+
+ plugins/mm-modem-samsung-gsm.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 63b29b79f9adf1fa4ff806671c6f1dad8f22de9e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 9 15:01:20 2011 -0500
+
+ gsm: fix memory leak when grabbing a new port
+
+ src/mm-generic-gsm.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit e5c967508d40a008eb2809628da01ed36c96511b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 9 14:46:03 2011 -0500
+
+ ussd: fix leaked callback info in error cases
+
+ src/mm-generic-gsm.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit f9f6d1dfdb070bec05e5e7385f8d4eb95e573b6f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 2 12:33:09 2011 +0200
+
+ plugins: propagate cached probing result to supports task
+
+ We need to ensure that the supports task always has the results of
+ the probing,
+ no matter if the probing was just launched by the plugin grabbing
+ the port, or
+ by a previous plugin. We do this during supports_port(), by
+ propagating to the
+ supports task any possible previously cached probing results.
+
+ plugins/mm-plugin-anydata.c | 9 ++++---
+ plugins/mm-plugin-cinterion.c | 62
+ +++++++++++++++++++++++--------------------
+ plugins/mm-plugin-generic.c | 9 ++++---
+ plugins/mm-plugin-gobi.c | 9 ++++---
+ plugins/mm-plugin-hso.c | 9 ++++---
+ plugins/mm-plugin-huawei.c | 9 ++++---
+ plugins/mm-plugin-linktop.c | 9 ++++---
+ plugins/mm-plugin-longcheer.c | 9 ++++---
+ plugins/mm-plugin-mbm.c | 9 ++++---
+ plugins/mm-plugin-moto-c.c | 11 +++++---
+ plugins/mm-plugin-nokia.c | 9 ++++---
+ plugins/mm-plugin-novatel.c | 9 ++++---
+ plugins/mm-plugin-option.c | 9 ++++---
+ plugins/mm-plugin-sierra.c | 9 ++++---
+ plugins/mm-plugin-simtech.c | 9 ++++---
+ plugins/mm-plugin-wavecom.c | 9 ++++---
+ plugins/mm-plugin-x22x.c | 9 ++++---
+ plugins/mm-plugin-zte.c | 9 ++++---
+ src/mm-plugin-base.c | 48 +++++++++++++++++++--------------
+ src/mm-plugin-base.h | 11 ++++----
+ 20 files changed, 169 insertions(+), 107 deletions(-)
+
+commit 39215599018a12817a853615ccbc4ee67c234858
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 12 17:01:57 2011 +0200
+
+ cinterion: set modem disabled if 3 consecutive AT commands get
+ timed out
+
+ plugins/mm-modem-cinterion-gsm.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a2ba5c5e99b4200281fd1a57177676acd26a2cad
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 10 11:42:04 2011 +0200
+
+ cinterion: enable reprobing on ports without cached capabilities
+
+ plugins/mm-plugin-cinterion.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 4cb039e34a78a868a84a4e2299e6e0c1ca638cc9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 5 13:20:02 2011 +0200
+
+ cinterion: always sort last the plugin
+
+ This is because the cinterion plugin can handle RS232 modes,
+ and checking
+ support for them needs to have the vendor ID probed with AT
+ commands, so
+ probing is almost always issued in this plugin. By sorting last,
+ we let
+ other plugins check support first.
+
+ plugins/mm-plugin-cinterion.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a9c93ec3ad6c7390afe33e8a317cb83007265881
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 5 10:41:07 2011 +0200
+
+ cinterion: handle RS232 modems
+
+ plugins/mm-plugin-cinterion.c | 108
+ ++++++++++++++++++++++++++++++------------
+ 1 file changed, 77 insertions(+), 31 deletions(-)
+
+commit 22f15b87b53b60e627b00a51781234a27a677594
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 11 16:40:45 2011 +0200
+
+ base: disable the modem if up to N consecutive commands get timed out
+
+ This feature is initially disabled for all modems, but plugins can
+ enable it by
+ setting a value greater than 0 for the "max-timeouts" property when
+ creating the
+ modem object.
+
+ src/mm-modem-base.c | 69
+ +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-base.h | 2 ++
+ src/mm-serial-port.c | 43 +++++++++++++++++++++++++++++---
+ src/mm-serial-port.h | 1 +
+ 4 files changed, 111 insertions(+), 4 deletions(-)
+
+commit f2ba435446a48407f4a491d0fa0eda6b7d4c22d9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 10 16:06:29 2011 +0200
+
+ manager: protect ScanDevices() d-bus method with manager control
+ policy rule
+
+ introspection/org.freedesktop.ModemManager.xml | 1 +
+ src/mm-manager.c | 55
+ +++++++++++++++++++++++---
+ 2 files changed, 50 insertions(+), 6 deletions(-)
+
+commit c67cbcabef276b5fcd01286208b5465d47949c68
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 10 16:03:02 2011 +0200
+
+ policy: new policy for manager control actions
+
+ policy/org.freedesktop.modem-manager.policy.in | 9 +++++++++
+ src/mm-auth-provider.h | 13 +++++++------
+ 2 files changed, 16 insertions(+), 6 deletions(-)
+
+commit 3fb53d33489bb8efaf4d69ac1d8f6a23fc0c7b4b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 10 09:48:59 2011 +0200
+
+ manager: new ScanDevices() d-bus method to request a new device
+ scan loop
+
+ introspection/org.freedesktop.ModemManager.xml | 8 ++++++++
+ src/mm-manager.c | 14 ++++++++++++++
+ 2 files changed, 22 insertions(+)
+
+commit df0d9b480c0db825126c7ebbb36bdd958bf59761
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 5 13:19:32 2011 +0200
+
+ plugin base: let plugins decide if they should be sorted last
+
+ Note that even if a plugin says it wants to be sorted last, the
+ generic plugin
+ will always be the last one. Also, there is no order guaranteed
+ between two
+ plugins that request to be sorted last.
+
+ src/mm-manager.c | 37 +++++++++++++++++++++++++++++++++++--
+ src/mm-plugin-base.c | 25 +++++++++++++++++++++++++
+ src/mm-plugin-base.h | 3 ++-
+ src/mm-plugin.c | 12 ++++++++++--
+ src/mm-plugin.h | 9 ++++++++-
+ 5 files changed, 80 insertions(+), 6 deletions(-)
+
+commit 5a2078a2a5f012772612dea0921b147bf6d75d88
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu May 5 10:32:48 2011 +0200
+
+ plugin base: include vendor ID and product ID retrieval during AT
+ port probing
+
+ Port probing is extended to also query for Vendor ID and Product
+ ID. This allows
+ plugins to check whether the reported IDs are expected, and thus
+ we enable
+ plugins to handle modems connected via RS232 ports (where udev
+ doesn't give any
+ vendor ID) or modems connected via a USB adapter (where udev gives
+ the vendor ID
+ of the adapter).
+
+ Note that this effectively means that a plugin which expects these
+ kind of modem
+ connections will end up always launching port probing as they won't
+ only rely on
+ the vendor ID reported by udev.
+
+ src/mm-plugin-base.c | 371
+ ++++++++++++++++++++++++++++++++++++++-------------
+ src/mm-plugin-base.h | 12 +-
+ 2 files changed, 290 insertions(+), 93 deletions(-)
+
+commit 9578e1b9cab988b11bf9a4cd1af3842cdfb1eb28
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon May 16 16:12:12 2011 +0200
+
+ cinterion: override CMER enabling command
+
+ plugins/mm-modem-cinterion-gsm.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit de5eb41a705c7ece08a4f5f6fdee8c2e3cfcedc0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon May 16 15:50:37 2011 +0200
+
+ cinterion: override SMS indications setup commands
+
+ plugins/mm-modem-cinterion-gsm.c | 46
+ ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 0b8f86534acb3a6f1463fb9abe3059d032fb5f3b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed May 11 13:47:34 2011 +0200
+
+ cinterion: if modem removed don't process response
+
+ plugins/mm-modem-cinterion-gsm.c | 59
+ ++++++++++++++++++++++++++++++++++------
+ 1 file changed, 51 insertions(+), 8 deletions(-)
+
+commit 998b62261158cc8e7f39af5224410b8c2bfcb9f5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 14 19:49:30 2011 +0200
+
+ cinterion: set and get bands
+
+ plugins/mm-modem-cinterion-gsm.c | 422
+ ++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 421 insertions(+), 1 deletion(-)
+
+commit ade9fe8d30e30c95e56381a18b2131f28c2172b4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 25 13:58:26 2011 +0200
+
+ cinterion: set and get allowed mode
+
+ The 2G-preferred and 3G-preferred modes are not supported on dual
+ 2G/3G cinterion modems.
+
+ plugins/mm-modem-cinterion-gsm.c | 132
+ ++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 131 insertions(+), 1 deletion(-)
+
+commit 8d8888bc6309d5f6f36016e9afdec05b2a21c3b4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 25 12:42:12 2011 +0200
+
+ cinterion: query supported networks to detect if 2G or 3G device
+
+ plugins/mm-modem-cinterion-gsm.c | 97
+ ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 97 insertions(+)
+
+commit 795de120503af8474999f6ad0233a407e50ecf8d
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 14 15:46:11 2011 +0200
+
+ cinterion: query network technology capabilities
+
+ We try to look for 'psinfo' indication in AT^SIND? output (available
+ in 3G
+ devices from Cinterion), and if that is not available, we try to
+ use the
+ AT^SMONG GPRS monitor (available in 2G devices from Cinterion).
+
+ plugins/mm-modem-cinterion-gsm.c | 205
+ +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 205 insertions(+)
+
+commit c6060e8c0f4c384c49b1e0effb0e149ce9bf15c9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 13 16:26:51 2011 +0200
+
+ cinterion: add initial dummy plugin
+
+ plugins/Makefile.am | 21 ++++-
+ plugins/mm-modem-cinterion-gsm.c | 62 +++++++++++++++
+ plugins/mm-modem-cinterion-gsm.h | 44 +++++++++++
+ plugins/mm-plugin-cinterion.c | 164
+ +++++++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-cinterion.h | 47 +++++++++++
+ 5 files changed, 337 insertions(+), 1 deletion(-)
+
+commit 668726dbd7063ef8c17bd27054acfd37343b2f29
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 27 17:13:43 2011 +0200
+
+ charsets: new utf8_to_hex() method
+
+ src/mm-charsets.c | 31 +++++++++++++++++++++++++++++++
+ src/mm-charsets.h | 5 +++++
+ 2 files changed, 36 insertions(+)
+
+commit 1e507824c62b7c512f57109ff9b0d395f7d2429f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon May 16 16:07:49 2011 +0200
+
+ gsm: let plugins use their own command for CMER enabling
+
+ src/mm-generic-gsm.c | 29 ++++++++++++++++++++++++++---
+ src/mm-generic-gsm.h | 2 ++
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+commit 85569f77e9328d753ffe1cc9937ef063f6a92bd5
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon May 16 15:22:23 2011 +0200
+
+ gsm: let plugins use their own commands for SMS indications and
+ storage configuration
+
+ src/mm-generic-gsm.c | 39 ++++++++++++++++++++++++++++++++++++---
+ src/mm-generic-gsm.h | 18 +++++++++++-------
+ 2 files changed, 47 insertions(+), 10 deletions(-)
+
+commit 8c1430763f52b7b297291808452d1bc53d3b5be1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 10 12:13:06 2011 +0200
+
+ introspection: indentation fixes
+
+ introspection/mm-mobile-error.xml | 2 +-
+ introspection/mm-modem-connect-error.xml | 2 +-
+ introspection/mm-modem-error.xml | 2 +-
+ introspection/mm-serial-error.xml | 2 +-
+ introspection/org.freedesktop.DBus.Properties.xml | 40 +++---
+ .../org.freedesktop.ModemManager.Modem.Cdma.xml | 20 +--
+ ...org.freedesktop.ModemManager.Modem.Gsm.Card.xml | 80 ++++++------
+ ...freedesktop.ModemManager.Modem.Gsm.Contacts.xml | 72 +++++------
+ .../org.freedesktop.ModemManager.Modem.Gsm.Hso.xml | 6 +-
+ ....freedesktop.ModemManager.Modem.Gsm.Network.xml | 128
+ +++++++++---------
+ .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 52 ++++----
+ ...org.freedesktop.ModemManager.Modem.Gsm.Ussd.xml | 4 +-
+ .../org.freedesktop.ModemManager.Modem.Gsm.xml | 30 ++---
+ ...org.freedesktop.ModemManager.Modem.Location.xml | 144
+ ++++++++++-----------
+ .../org.freedesktop.ModemManager.Modem.Simple.xml | 66 +++++-----
+ .../org.freedesktop.ModemManager.Modem.xml | 78 +++++------
+ introspection/org.freedesktop.ModemManager.xml | 22 ++--
+ 17 files changed, 375 insertions(+), 375 deletions(-)
+
+commit c45df27ca0c6c2b6f626ef847f3164a8c23b5f17
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jun 5 20:57:15 2011 -0500
+
+ x22x: add support for the Alcatel X200
+
+ Same USB IDs as the X060s which is driven by Longcheer, but uses the
+ X22X command set so we have to do a little dance and make sure we
+ don't claim the X060s here.
+
+ plugins/77-mm-x22x-port-types.rules | 8 ++++++
+ plugins/mm-plugin-x22x.c | 54
+ +++++++++++++++++++++++++++++++++++--
+ 2 files changed, 60 insertions(+), 2 deletions(-)
+
+commit 1936979f112f81ca7acad1e1512ca940502d25b5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jun 5 20:23:51 2011 -0500
+
+ longcheer: ensure the Alcatel X200 is not claimed
+
+ The X200 shares the same USB VID and PID as the X060s but the X200
+ does not use the same AT command set; it uses the X22X plugin
+ instead. Since both modems also report the same +GMM and +GMI
+ responses, we have to fall back to using +GMR even though that's
+ a pretty sketchy way to tell them apart if the firmware ever changes.
+
+ plugins/mm-plugin-longcheer.c | 54
+ +++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 52 insertions(+), 2 deletions(-)
+
+commit b122938ab5fb6ff5be1d4575abb0ca81d2885ce3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jun 5 20:21:52 2011 -0500
+
+ core: allow plugins to stop probing and not support a modem
+
+ Previously plugins could only stop probing, *or* stop probing and
+ indicate support for a device. For the Alcatel X200/X060s debacle
+ we need to stop probing and indicate that the plugin does not
+ support the device at all.
+
+ plugins/mm-plugin-huawei.c | 4 ++--
+ plugins/mm-plugin-zte.c | 2 +-
+ src/mm-plugin-base.c | 13 +++----------
+ src/mm-plugin-base.h | 11 +++++------
+ 4 files changed, 11 insertions(+), 19 deletions(-)
+
+commit d81fa43c1d721ed123401f4a89fd7b3771ab4463
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jun 5 18:29:00 2011 -0500
+
+ x22x: support access technology reporting
+
+ plugins/mm-modem-x22x-gsm.c | 46
+ +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit da55d11e72d0f2d075aab57794cce47d0cb60655
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 17 09:35:23 2011 +0200
+
+ plugins: use MMCallbackInfo instead of custom DisableInfo
+
+ Implemented using a custom invoke method which doesn't call the
+ callback, and
+ instead calls parent disable passing the callback as argument.
+
+ This fix ensures that if a modem gets removed, no invalid modem
+ reference is
+ passed to the parent disable, as info->modem would be set to NULL
+ and we can
+ detect it in the custom invoke method.
+
+ plugins/mm-modem-huawei-gsm.c | 43
+ +++++++++++++++++++++++++---------------
+ plugins/mm-modem-mbm.c | 43
+ ++++++++++++++++++++++++++--------------
+ plugins/mm-modem-samsung-gsm.c | 43
+ ++++++++++++++++++++++++++--------------
+ plugins/mm-modem-simtech-gsm.c | 43
+ +++++++++++++++++++++++++---------------
+ plugins/mm-modem-zte.c | 45
+ ++++++++++++++++++++++++++----------------
+ 5 files changed, 138 insertions(+), 79 deletions(-)
+
+commit d37dbaca2ad66beeeae6e52db1293a3e8a60b7d7
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon May 16 18:58:43 2011 +0200
+
+ core: ensure ERROR_REMOVED error is used in MMCallbackInfo when
+ detecting modem removal
+
+ src/mm-callback-info.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit 9323daec015ecad65c39b6020b62e864c027d858
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon May 16 12:16:04 2011 +0200
+
+ core, plugins: if modem removed don't process response
+
+ We try to avoid a memory leak when info->error is reset, as well as
+ a second
+ re-schedule of the info.
+
+ plugins/mm-modem-anydata-cdma.c | 10 +
+ plugins/mm-modem-gobi-gsm.c | 5 +
+ plugins/mm-modem-hso.c | 66 ++++--
+ plugins/mm-modem-huawei-cdma.c | 5 +
+ plugins/mm-modem-huawei-gsm.c | 45 +++-
+ plugins/mm-modem-icera.c | 59 ++++-
+ plugins/mm-modem-linktop.c | 12 +-
+ plugins/mm-modem-longcheer-gsm.c | 20 +-
+ plugins/mm-modem-mbm.c | 70 +++++-
+ plugins/mm-modem-novatel-cdma.c | 19 +-
+ plugins/mm-modem-novatel-gsm.c | 20 +-
+ plugins/mm-modem-option-utils.c | 28 ++-
+ plugins/mm-modem-samsung-gsm.c | 42 +++-
+ plugins/mm-modem-sierra-cdma.c | 24 +-
+ plugins/mm-modem-sierra-gsm.c | 48 +++-
+ plugins/mm-modem-simtech-gsm.c | 43 +++-
+ plugins/mm-modem-wavecom-gsm.c | 89 ++++++-
+ plugins/mm-modem-x22x-gsm.c | 19 +-
+ plugins/mm-modem-zte.c | 46 +++-
+ src/mm-callback-info.c | 8 +
+ src/mm-callback-info.h | 2 +
+ src/mm-generic-cdma.c | 117 +++++++---
+ src/mm-generic-gsm.c | 490
+ +++++++++++++++++++++++++++------------
+ src/mm-modem-base.c | 20 +-
+ src/mm-modem.c | 19 --
+ src/mm-modem.h | 2 -
+ 26 files changed, 1029 insertions(+), 299 deletions(-)
+
+commit f7dff81eecd6694c2596200fc2c3226de0396b7d
+Author: Nathan Williams <njw@google.com>
+Date: Fri May 20 14:42:16 2011 -0400
+
+ gsm: free the string allocated by utils_hexstr2bin().
+
+ Change-Id: I1f7dabc8209d9757b573a59abb788a2346f72ad5
+
+ src/mm-generic-gsm.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit a1378ae8e82e4372ca2a7abf747ff5e418675907
+Author: Nathan Williams <njw@google.com>
+Date: Fri May 20 17:31:34 2011 -0400
+
+ Spec out and implement a command to get a GSM SIM SPN value.
+
+ Using a SIM with a SPN, run the following command:
+ dbus-send --system --dest=org.freedesktop.ModemManager
+ --print-reply /org/freedesktop/ModemManager/Modems/0
+ org.freedesktop.ModemManager.Modem.Gsm.Card.GetSpn
+
+ Change-Id: I8f36c8432f40fa4e3cb3f8c6ceef16b2bdadf2a1
+ Reviewed-on: http://gerrit.chromium.org/gerrit/1464
+ Reviewed-by: Nathan J. Williams <njw@chromium.org>
+ Tested-by: Nathan J. Williams <njw@chromium.org>
+
+ ...org.freedesktop.ModemManager.Modem.Gsm.Card.xml | 13 +++
+ src/mm-generic-gsm.c | 94
+ ++++++++++++++++++++++
+ src/mm-modem-gsm-card.c | 54 +++++++++++++
+ src/mm-modem-gsm-card.h | 8 ++
+ 4 files changed, 169 insertions(+)
+
+commit dfab00bf1ecc15d5df911496b375a77ecb7b7b79
+Author: Nathan Williams <njw@google.com>
+Date: Tue May 31 13:50:17 2011 -0400
+
+ sms_decode_address(): Add a leading "+" on international numbers.
+
+ BUG=chromium-os-partner:4278
+ TEST=Send SMS from phone (to get +... format) and from AIM-SMS gateway
+ (to get raw-digit format).
+
+ Change-Id: I36eb9f1432a432435578180dfdb315b0e7ee5744
+
+ src/mm-generic-gsm.c | 28 ++++++++++++++++++++++++----
+ 1 file changed, 24 insertions(+), 4 deletions(-)
+
+commit 6d69432a858abf5b2c2297891858aac9eff57943
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Jun 2 16:43:02 2011 +0200
+
+ serial-parser: allow 0 or more whitespaces before error code in
+ regular expresions
+
+ src/mm-serial-parsers.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit b8cb764d080ac385f93cf17b77a0d41861d9670d
+Author: Nathan Williams <njw@chromium.org>
+Date: Wed May 25 17:08:15 2011 -0400
+
+ sms: use correct start and length for alphanumeric data
+
+ sms_parse_pdu(): Protocol ID doesn't actually affect decoding, so
+ don't fret about its value.
+
+ ChromeOS:
+ Change-Id: Ia4cb20c415aed1026bb7b8dd4daa8ae53dd749e8
+
+ src/mm-generic-gsm.c | 12 ++----------
+ 1 file changed, 2 insertions(+), 10 deletions(-)
+
+commit 6e9b11a047b59e75a478113840e6705724759a30
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 27 09:57:47 2011 -0500
+
+ simtech: tag ports on Prolink PH-300
+
+ plugins/77-mm-simtech-port-types.rules | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 52bd7646e8d5ce12e1d77cb831c6bd87f1897dff
+Author: Nathan Williams <njw@chromium.org>
+Date: Wed May 18 20:37:49 2011 -0400
+
+ gsm: correctly set registration status when disabling
+
+ Chromium:
+ Change-Id: I0629706985f273832ac3662acb260388d0e6ed83
+
+ src/mm-generic-gsm.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit 97ea7dca8a319f287ed355d43f33581f69827ccc
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu May 12 15:23:33 2011 -0400
+
+ samsung: split initialization sequence to ensure echo is off
+
+ Split the Samsung initialization sequence from "ATZ E0 V1" to "ATZ"
+ and "ATE0 V1" - the modem is allowed to ignore the rest of the line
+ after Z, so echoing was not being turned off, leading to getting
+ "AT+CIMI\n\n" as part of the IMSI when it is retrieved at startup.
+
+ Chromium:
+ Change-Id: Icfd767174e779e472f8cde419acb163128e4715d
+
+ plugins/mm-modem-samsung-gsm.c | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit e28946841d150d3a7c58b24281bfdfe396d72fd8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu May 19 10:44:03 2011 -0500
+
+ ussd: formatting and spacing cleanups
+
+ src/mm-generic-gsm.c | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit 7c70ad55bb08b1d30c3600cf3075040bab09f4d1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 18 21:59:42 2011 -0500
+
+ api: proposed new interface for MM 0.6 and later
+
+ Main changes are cleaning up the API and allowing for multi-mode
+ devices that support two or more of CDMA/EVDO, GSM/UMTS, and LTE
+ at the same time. This provides a starting discussion point for
+ the new MM 0.6 API.
+
+ new/mm-mobile-error.xml | 318 +++++++++++
+ new/mm-modem-connect-error.xml | 30 +
+ new/mm-modem-error.xml | 36 ++
+ new/mm-serial-error.xml | 24 +
+ new/org.freedesktop.DBus.Properties.xml | 45 ++
+ ...g.freedesktop.ModemManager1.Modem.3gpp.Ussd.xml | 84 +++
+ new/org.freedesktop.ModemManager1.Modem.3gpp.xml | 140 +++++
+ new/org.freedesktop.ModemManager1.Modem.Bearer.xml | 137 +++++
+ new/org.freedesktop.ModemManager1.Modem.Cdma.xml | 184 +++++++
+ ...rg.freedesktop.ModemManager1.Modem.Contacts.xml | 139 +++++
+ ...rg.freedesktop.ModemManager1.Modem.Location.xml | 253 +++++++++
+ new/org.freedesktop.ModemManager1.Modem.Simple.xml | 116 ++++
+ new/org.freedesktop.ModemManager1.Modem.xml | 601
+ +++++++++++++++++++++
+ new/org.freedesktop.ModemManager1.Sim.xml | 113 ++++
+ new/org.freedesktop.ModemManager1.xml | 51 ++
+ 15 files changed, 2271 insertions(+)
+
+commit b3f0ca92335736e6ea66b8a9e4773e3837c20de8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon May 16 18:44:11 2011 -0500
+
+ qcdm: add some more CDMA band classes
+
+ libqcdm/src/commands.c | 14 ++++++++++++++
+ libqcdm/src/commands.h | 33 ++++++++++++++++++++-------------
+ libqcdm/src/dm-commands.h | 33 ++++++++++++++++++++-------------
+ 3 files changed, 54 insertions(+), 26 deletions(-)
+
+commit fa15c50b297f98fb18ece73f80409f3c7adb6948
+Author: Nathan Williams <njw@google.com>
+Date: Wed May 11 21:44:16 2011 -0500
+
+ sms: suppress duplicate SMS received notifications
+
+ If the modem sends the same notification on more than one port,
+ make sure we don't send a signal out to clients more than once.
+
+ src/mm-generic-gsm.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit d73673c265f1b920f743c3e1c1f3facd1a6b17f4
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue May 10 11:50:40 2011 +0200
+
+ build: add include dir to .gitignore
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 673005e6021d6960dcb338ea83d2a21aa8080117
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon May 9 18:21:46 2011 +0200
+
+ manager: avoid assertion warning when enumerating devices
+
+ src/mm-manager.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 1bc70be993a0f38bf8e4e7f6041927ad76316122
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon May 9 11:05:28 2011 -0500
+
+ gsm: whitespace fixes
+
+ src/mm-generic-gsm.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 00e00bf9e7ffd4b76adc3e30a6796e94da3ec1c9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 4 15:11:37 2011 -0500
+
+ longcheer: ensure the plugin on handles devices it's supposed to
+
+ Other devices from the same vendor (x220) need to be handled by
+ the x22x plugin, so Longcheer can't just rely on the vendor ID
+ match to know whether it should handle the modem.
+
+ plugins/mm-plugin-longcheer.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 1f86a85c1cf4d73571dd65f7029d503e0cce3315
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 4 11:33:36 2011 -0500
+
+ build: bump version to 0.5.999 for 0.6 development
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 868129e37cd78a05e1ed00f742ebf7ab8200afe5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 4 11:20:31 2011 -0500
+
+ build: build docs during distcheck and fix up udev rules install base
+
+ Makefile.am | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 82cee08875363ed58e6dc010dc4b190d063d7035
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon May 2 18:34:37 2011 -0500
+
+ samsung: lock plugin to Y3300 to exclude other Samsung USB modems
+
+ Like the SGH-Z810/SCH-U209 which are a different chipset, don't
+ have pseudo-ethernet ports, and just wouldn't work with this
+ plugin.
+
+ plugins/mm-plugin-samsung.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 863dbca63132b820fca6c48a9c212f852752ee16
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 28 12:54:17 2011 +0200
+
+ wavecom: enable usage of MM_MODEM_GSM_BAND_ANY in SetBand()
+
+ plugins/mm-modem-wavecom-gsm.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit fc1f35baf68742d187661d9d93deb17b5a1768ba
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 28 12:49:32 2011 +0200
+
+ samsung: allow getting more than one band
+
+ plugins/mm-modem-samsung-gsm.c | 49
+ +++++++++++++++++++++---------------------
+ 1 file changed, 24 insertions(+), 25 deletions(-)
+
+commit bb827c3ef7a57caa295eed92438e713f6f841dae
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 28 12:46:24 2011 +0200
+
+ samsung: allow setting a single band only
+
+ plugins/mm-modem-samsung-gsm.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit db7c11768a968913c783c05c27e06bcf249502c0
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 28 12:38:03 2011 +0200
+
+ utils: new utils_check_for_single_value() method
+
+ It was being used in several places with different static
+ implementations
+
+ src/mm-generic-gsm.c | 24 +++---------------------
+ src/mm-modem-gsm-network.c | 21 ++-------------------
+ src/mm-utils.c | 17 +++++++++++++++++
+ src/mm-utils.h | 2 ++
+ 4 files changed, 24 insertions(+), 40 deletions(-)
+
+commit a0c902bdb5f03fc4d4b58ffbfb8bb36c06bfa55f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 28 12:36:25 2011 +0200
+
+ huawei: enable getting and setting more than one band
+
+ plugins/mm-modem-huawei-gsm.c | 31 ++++++++++++++++---------------
+ 1 file changed, 16 insertions(+), 15 deletions(-)
+
+commit 466b6edbf72e95bdc5b563ab2ea90df79f3796ea
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 28 12:35:28 2011 +0200
+
+ gsm: allow setting more than one band
+
+ .../org.freedesktop.ModemManager.Modem.Gsm.Network.xml | 12
+ ++++++------
+ src/mm-modem-gsm-network.c |
+ 10 ----------
+ 2 files changed, 6 insertions(+), 16 deletions(-)
+
+commit 573dcd51c0dace9389f879a3cdd0230ec728dcb6
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 28 11:56:59 2011 +0200
+
+ introspection: add missing UMTS 2600 band reference
+
+ introspection/org.freedesktop.ModemManager.Modem.Gsm.xml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 0cce1f4e4c108429aadc9db35236abd07aea55d2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Apr 28 11:49:32 2011 +0200
+
+ build: remove unneeded message in configure build report
+
+ Location API is always built
+
+ configure.ac | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 83bbd0eb1159558bcd35d131c68c2559a9479daf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 27 14:54:41 2011 -0500
+
+ build: only require gettext if enabling polkit
+
+ configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit c96db0c91b8c86f1c60e463f1ae133bef5cc2103
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 27 14:47:00 2011 -0500
+
+ Revert "build: don't require intltool unless --with-polkit=yes"
+
+ This reverts commit 0299cf51c4cf587f79771fe219c6154bf0d0139e.
+
+ autogen.sh | 14 ++------------
+ configure.ac | 11 +++++++----
+ 2 files changed, 9 insertions(+), 16 deletions(-)
+
+commit 383bf8c9a3409fda655b18ba6ada503367b5d332
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 27 14:46:52 2011 -0500
+
+ Revert "build: po shouldn't be built unless --with-polkit=yes"
+
+ This reverts commit ba17060219f34b5bb8dbb965be9a5f224955777a.
+
+ Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit ba17060219f34b5bb8dbb965be9a5f224955777a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 27 13:25:10 2011 -0500
+
+ build: po shouldn't be built unless --with-polkit=yes
+
+ Since translations are only used with polkit.
+
+ Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 0299cf51c4cf587f79771fe219c6154bf0d0139e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 27 13:00:51 2011 -0500
+
+ build: don't require intltool unless --with-polkit=yes
+
+ autogen.sh | 14 ++++++++++++--
+ configure.ac | 11 ++++-------
+ 2 files changed, 16 insertions(+), 9 deletions(-)
+
+commit dc89c0a42d826fc3302b3d790d5161945ff7078f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 27 10:50:32 2011 -0500
+
+ huawei: rework probing and detection
+
+ Long ago there were problems where certain Huawei devices would
+ stop responding on various ports, and sometimes would crash
+ randomly. The theory at the time was that touching the secondary
+ ports made the device angry, thus the plugin simply opened the
+ ports and listened for unsolicited messages. But if the device
+ didn't send any during that 7 second period, MM would not detect
+ and secondary ports at all. Plus, it was always a hack.
+
+ Instead, the new theory is that the device crashes if unsolicited
+ messages are enabled (^CURC=1), the secondary port gets touched,
+ *and* then closed and left for a while. Fix that by turning
+ unsolicited messages off at probe time, on when the device is
+ enabled, and off again when the device is disabled like happens
+ for other modems. Thus when MM first detects the modem, it turns
+ off unsolicited messages and the serial buffer on the secondary
+ port doesn't fill up and crash the modem.
+
+ Second, this allows us to simplify the probing logic quite a bit
+ so that we can probe all ports we find, but we still wait to probe
+ the first port so we can turn off unsolicited messages and get
+ hints about what port is the secondary.
+
+ plugins/mm-modem-huawei-gsm.c | 67 ++++++++++++
+ plugins/mm-plugin-huawei.c | 230
+ +++++++++++++++++-------------------------
+ 2 files changed, 158 insertions(+), 139 deletions(-)
+
+commit 1cf7a4da4495fdd1d237b04bc35732a93f42fdf1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 26 23:44:56 2011 -0500
+
+ plugins: allow multiple custom init commands in sequence
+
+ Huawei will need this.
+
+ plugins/mm-plugin-zte.c | 2 +-
+ src/mm-plugin-base.c | 71
+ +++++++++++++++++++++++++++++++++----------------
+ src/mm-plugin-base.h | 2 +-
+ 3 files changed, 50 insertions(+), 25 deletions(-)
+
+commit 0befde3ce9bec9167a331e921da1f3e3dddda5af
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 26 19:41:30 2011 -0500
+
+ plugins: simplify custom init commands
+
+ Instead of having two places that custom init stuff got processed
+ (a hook in the MMPluginBase class itself and a callback too) just
+ use a callback, and simplify it somewhat so that the plugin tracks
+ how many tries it cares about and what to do based on the response
+ or error.
+
+ plugins/mm-plugin-zte.c | 22 +++++++++++++++-
+ src/mm-plugin-base.c | 70
+ ++++++++++++++++++++++---------------------------
+ src/mm-plugin-base.h | 28 +++++++++++++++-----
+ 3 files changed, 73 insertions(+), 47 deletions(-)
+
+commit 0b757465ffe6108066d32312ab4e895c372c8f72
+Author: Marius B. Kotsbak <marius@kotsbak.com>
+Date: Mon Apr 18 10:21:02 2011 +0200
+
+ mbm: add MBM device IDs for Lenovo F5521gw module
+
+ plugins/77-mm-ericsson-mbm.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 2a5cf2978b60cbcb98a79cb5b7c2da8159a27f2f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Apr 19 11:07:46 2011 -0500
+
+ zte: only dispose Icera data once
+
+ plugins/mm-modem-zte.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit 76bdc658d31c8c64dd74a120ec68d8126dd273cf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 18 22:48:05 2011 -0500
+
+ samsung: use common Icera code
+
+ Port the differences over to the common Icera code (there were only
+ two) and remove the duplicate code from the Samsung plugin. The
+ Icera NWSTATE regex had to be adjusted to capture "-1" in the first
+ element which wasn't handled before but which I've seen on the
+ Samsung Y3300 before the card has registered.
+
+ plugins/mm-modem-icera.c | 8 +-
+ plugins/mm-modem-samsung-gsm.c | 633
+ ++++-------------------------------------
+ 2 files changed, 67 insertions(+), 574 deletions(-)
+
+commit 8333fb657ab6e30e51aec8f4449dc4c505fea6f4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 18 22:08:19 2011 -0500
+
+ icera: fix abuse of GInterface
+
+ The GInterface structure for MMModemIcera isn't instance data, thus we
+ shouldn't be storing an instance pointer in it. Instead, make
+ implemtors
+ store the intstance data in their private structure, and have them
+ implement an accessor for the Icera-private data. This makes everone
+ (especially GObject) happy. It's a bit of additional indirection, but
+ we still get to use the MM_MODEM_ICERA_GET_PRIVATE() and we still
+ get to cast the passed-in GInterface MMModemIcera into the various
+ GSM MMModem subclasses, which is all we ever wanted anyway.
+
+ plugins/mm-modem-icera.c | 44
+ ++++++++++++++++++++++++--------------------
+ plugins/mm-modem-icera.h | 8 ++++++--
+ plugins/mm-modem-zte.c | 35 +++++++++++++++++++++++++----------
+ 3 files changed, 55 insertions(+), 32 deletions(-)
+
+commit 74b1503c602e1268b5199ef36c9611d7cb08adc1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 18 17:39:59 2011 -0500
+
+ core: tear down all pending work when closing a port
+
+ Make sure all pending work, if any, is torn down when closing
+ the port, since it's closed, and is likely going to get unreffed
+ soon and we don't want anything running after the port is dead.
+
+ src/mm-serial-port.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit fca4d3aa37e9a22921d1b7cfb93325bf6cc91f4e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 18 17:38:39 2011 -0500
+
+ gsm: return success if unlocked but doesn't allow subsequent CPIN
+ commands
+
+ If the modem for some reason returns ERROR for a +CPIN when it's
+ unlocked, and subsequent PIN post-unlock pin checks return READY,
+ just treat the modem as unlocked don't return the +CPIN error.
+
+ src/mm-generic-gsm.c | 19 +++++++++++++++----
+ 1 file changed, 15 insertions(+), 4 deletions(-)
+
+commit 5dadfa4c214be79e704eb61c135893f93a705d3a
+Merge: 487972c1 765da63a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 14 14:20:43 2011 -0500
+
+ Merge remote-tracking branch 'lanedo/plugin-wavecom'
+
+commit 487972c1ac40b057c35dac51958f04c13f6137d8
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu Apr 14 14:07:31 2011 -0500
+
+ gsm: implement basic SMS reception and PDU parsing
+
+ .../org.freedesktop.ModemManager.Modem.Gsm.SMS.xml | 1 +
+ src/mm-charsets.c | 6 +-
+ src/mm-charsets.h | 2 +-
+ src/mm-generic-gsm.c | 487
+ +++++++++++++++++++++
+ src/mm-modem-gsm-sms.c | 150 ++++++-
+ src/mm-modem-gsm-sms.h | 47 ++
+ src/mm-serial-parsers.c | 19 +
+ 7 files changed, 703 insertions(+), 9 deletions(-)
+
+commit 48c7dac00902ceab300bfaff82731bb2dadd77cc
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Tue Apr 12 16:32:11 2011 +0200
+
+ serial: ensure response array is empty before setting cached reply
+
+ src/mm-serial-port.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit d05c87e4c80f1a56a613241d14de4faeb0a8304a
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu Apr 14 13:30:15 2011 -0500
+
+ charset: change GSM unpack to take number of characters rather
+ than octets
+
+ Change interface to take the number of GSM characters
+ rather than the number of octets, so that it is possible to
+ distinguish the 7-character and 8-character cases.
+
+ src/mm-charsets.c | 5 ++---
+ src/mm-charsets.h | 2 +-
+ src/tests/test-charsets.c | 11 +++++------
+ 3 files changed, 8 insertions(+), 10 deletions(-)
+
+commit 0a06dd324dbcb255d28795eb78901fca21cc52c0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 14 13:26:16 2011 -0500
+
+ serial: ensure spew control can be changed after port is created
+
+ Since we don't allow properties to be passed into the serial port
+ create routines we don't want a construct-only property here.
+
+ src/mm-serial-port.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1c3101fbaf74cbb9d8d0eb52ad6f84dc01544cf0
+Author: Nathan Williams <njw@google.com>
+Date: Thu Apr 14 13:22:54 2011 -0500
+
+ serial: allow spew control to be turned off
+
+ It's only used during probing where some port types (Sierra CnS
+ and some Icera devices) may send streams of data that we can't
+ understand until we close the port. It interferes with some SMS
+ operations, so turn it off for ports opened after probing.
+
+ src/mm-plugin-base.c | 1 +
+ src/mm-serial-port.c | 18 +++++++++++++++++-
+ src/mm-serial-port.h | 13 +++++++------
+ 3 files changed, 25 insertions(+), 7 deletions(-)
+
+commit 765da63ad2ddb47d90ad8ffa5b2d0569301b2ba3
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 6 19:41:19 2011 +0200
+
+ wavecom: set and get bands
+
+ Use AT+WMBS for devices in 2G mode, and AT+WUBS for devices in
+ 3G mode.
+
+ plugins/mm-modem-wavecom-gsm.c | 339
+ ++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 334 insertions(+), 5 deletions(-)
+
+commit ade8c17f6a37d83cfa7cee5c1a6a370522a936ca
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 6 19:40:53 2011 +0200
+
+ gsm: handle UMTS 2600 internal band
+
+ src/mm-modem-gsm.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit d1453b0e199588db20f8fef92922bdccfed46c66
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 6 13:36:10 2011 +0200
+
+ wavecom: ensure full functionality status
+
+ Check the current functionality status with AT+CFUN? and make sure
+ its '1',
+ otherwise, RF may be switched off.
+
+ plugins/mm-modem-wavecom-gsm.c | 54
+ +++++++++++++++++++++++++++++++++---------
+ 1 file changed, 43 insertions(+), 11 deletions(-)
+
+commit e93f01f2017ad7e05c90d6ae18eaab49bbc17e7e
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 6 11:31:40 2011 +0200
+
+ wavecom: set and get allowed mode
+
+ For 3G devices in Class A, AT+WWSM can be used to get or set the
+ allowed mode:
+ * +WWSM: 0 (2G only)
+ * +WWSM: 1 (3G only)
+ * +WWSM: 2,0 (Any)
+ * +WWSM: 2,1 (2G preferred)
+ * +WWSM: 2,2 (3G preferred)
+
+ For 2G devices, there is no such command, so we will default to Any
+ and allow
+ 2G-only and 2G-preferred setups.
+
+ plugins/mm-modem-wavecom-gsm.c | 224
+ +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 224 insertions(+)
+
+commit c7119f0341670cc258292b5d39a9082485018fbf
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 6 11:21:45 2011 +0200
+
+ wavecom: ensure the modem uses the highest possible mobile class
+
+ These modems can be configured to use different mobile classes. For
+ each kind of
+ modem, the best mobile class is the highest one in the following
+ order:
+ - Class A (3G only mode)
+ - Class B (PS or CS, GPRS/EDGE or GSM)
+ - Class CG (PS only, GPRS/EDGE)
+ - Class CC (CS only, GSM)
+
+ plugins/mm-modem-wavecom-gsm.c | 273
+ +++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 273 insertions(+)
+
+commit acf65de3b844cd13c2128275daca67ac630146bb
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 4 13:09:14 2011 +0200
+
+ wavecom: query network technology capabilities
+
+ plugins/mm-modem-wavecom-gsm.c | 75
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 75 insertions(+)
+
+commit 23649549bb5a6f4848656bd1ea3423401f771383
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 31 10:45:09 2011 +0200
+
+ wavecom: enable RTS/CTS flow control instead of XOFF/XON
+
+ plugins/mm-modem-wavecom-gsm.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 1fb0b9d79b9fd2d2004653a316b2bbbcc0efcc1f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 31 09:23:29 2011 +0200
+
+ wavecom: disable default power up command
+
+ plugins/mm-modem-wavecom-gsm.c | 36 ++++++++++++++++++++++++++++++++++++
+ 1 file changed, 36 insertions(+)
+
+commit 262edb96d50138a724173840fc63ca93ede322c2
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 30 18:52:23 2011 +0200
+
+ wavecom: handle READY without OK in CPIN? reply
+
+ plugins/mm-modem-wavecom-gsm.c | 51
+ +++++++++++++++++++++++++++++++++++++-----
+ src/mm-serial-parsers.c | 3 ++-
+ 2 files changed, 48 insertions(+), 6 deletions(-)
+
+commit f91ee7af7d6a38eda226afb429b26ffe1408e08f
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 30 17:22:53 2011 +0200
+
+ wavecom: add initial dummy plugin
+
+ plugins/Makefile.am | 21 +++++-
+ plugins/mm-modem-wavecom-gsm.c | 74 +++++++++++++++++++
+ plugins/mm-modem-wavecom-gsm.h | 44 +++++++++++
+ plugins/mm-plugin-wavecom.c | 162
+ +++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-wavecom.h | 47 ++++++++++++
+ 5 files changed, 347 insertions(+), 1 deletion(-)
+
+commit f4a26ec2b6053c44f34f1ac5ee2a8645c4622cb7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 8 16:20:43 2011 -0500
+
+ hso: use zero send_delay since Option firmware is generally excellent
+
+ plugins/mm-modem-hso.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ed5aefb3cb1d7db3a0b19678d4568d813719eb01
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 8 16:19:36 2011 -0500
+
+ serial: allow plugins to specify probe-time send_delay
+
+ Let modems we know don't suck use a zero send-delay at probe time,
+ which greatly reduces time required to probe AT-compatible ports.
+
+ plugins/mm-plugin-anydata.c | 2 +-
+ plugins/mm-plugin-generic.c | 2 +-
+ plugins/mm-plugin-gobi.c | 2 +-
+ plugins/mm-plugin-hso.c | 2 +-
+ plugins/mm-plugin-huawei.c | 2 +-
+ plugins/mm-plugin-linktop.c | 2 +-
+ plugins/mm-plugin-longcheer.c | 2 +-
+ plugins/mm-plugin-mbm.c | 2 +-
+ plugins/mm-plugin-moto-c.c | 2 +-
+ plugins/mm-plugin-nokia.c | 2 +-
+ plugins/mm-plugin-novatel.c | 2 +-
+ plugins/mm-plugin-option.c | 2 +-
+ plugins/mm-plugin-samsung.c | 2 +-
+ plugins/mm-plugin-sierra.c | 2 +-
+ plugins/mm-plugin-simtech.c | 2 +-
+ plugins/mm-plugin-x22x.c | 2 +-
+ plugins/mm-plugin-zte.c | 2 +-
+ src/mm-plugin-base.c | 3 ++-
+ src/mm-plugin-base.h | 1 +
+ 19 files changed, 20 insertions(+), 18 deletions(-)
+
+commit 7d20acc5669ce9ecc0358d429c46f5928df95542
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 8 16:00:36 2011 -0500
+
+ gsm: make sure verbose error reporting is enabled before checking PIN
+
+ Otherwise we don't get the expected "Incorrect password" error if the
+ PIN is wrong, just a generic error.
+
+ src/mm-generic-gsm.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 273f4203d4eeda3614d76bcdbda537ed76feef35
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 8 15:42:28 2011 -0500
+
+ serial: send entire command in one write if send_delay is 0
+ (chromium:13506)
+
+ Avoids additional USB latency and groups the whole command into one
+ USB packet.
+
+ BUG=chromium-os:13506
+
+ plugins/mm-modem-samsung-gsm.c | 5 ++++-
+ src/mm-serial-port.c | 24 +++++++++++++++++-------
+ 2 files changed, 21 insertions(+), 8 deletions(-)
+
+commit 2640baefa417612cd26fe3c826634c91d50e0917
+Author: Elly Jones <ellyjones@google.com>
+Date: Thu Apr 7 12:54:02 2011 -0400
+
+ samsung: add Reset and UnlockRetries.
+
+ BUG=chromeos-partner:2999, chromeos-partner:3215
+ TEST=network_LockedSIM
+
+ Change-Id: I17c25c52fa5cf4cffa94e73bd827eaae9e687df0
+ Signed-off-by: Elly Jones <ellyjones@chromium.org>
+ Signed-off-by: Jason Glasgow <jglasgow@chromium.org>
+ Signed-off-by: Jun Woo Lee <jw86.lee@samsung.com>
+
+ plugins/mm-modem-samsung-gsm.c | 154
+ ++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 153 insertions(+), 1 deletion(-)
+
+commit dbf9e085d45c5135691a487cd947b9bd79195d86
+Author: Nathan Williams <njw@chromium.org>
+Date: Thu Apr 7 17:48:03 2011 -0500
+
+ sms: don't try to destroy NULL hash tables
+
+ src/mm-modem-gsm-sms.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 9435a937ced680fd2aaf3f19bfc8e7daaf579633
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Mar 30 18:29:15 2011 +0200
+
+ serial: allow user to provide custom regex for successful and
+ error replies
+
+ New mm_serial_parser_v1_set_custom_regex() method.
+
+ src/mm-serial-parsers.c | 67
+ +++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-serial-parsers.h | 16 ++++++------
+ 2 files changed, 70 insertions(+), 13 deletions(-)
+
+commit cc5fcd195a26b0b09be8e47d95e54a92f78c8806
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Wed Apr 6 17:08:06 2011 +0200
+
+ modem-base: allow NULL ports in get_card_info() if port_error given
+
+ So that cached values can be returned if querying while the port
+ is connected.
+
+ src/mm-modem-base.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 49150ca3a69d8a65c63fc691ffcaabd15f49818d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 6 13:00:55 2011 -0500
+
+ serial: don't let EAGAIN block sending commands until completion
+
+ If a port returns EAGAIN on write attempts, previously the code would
+ spin and attempt to resend the failed byte after send_delay
+ microseconds. This resulted in up to 3 second hard blocks in
+ the serial code when sending to ports that don't respond. While
+ in this blocking loop no other events or dbus commands could be
+ processed.
+
+ Instead, send each byte and reschedule sending the next byte in
+ send_delay microseconds, so that we can process other events in
+ between
+ attempts to write to stupid ports.
+
+ This doesn't hugely decrease the amount of time that probing
+ requires, since we still need to probe all ports of the device
+ before exporting the modem to D-Bus, but it does let MM find
+ responsive ports much more quickly, and ensures that MM doesn't
+ block any D-Bus requests.
+
+ src/mm-serial-port.c | 153
+ +++++++++++++++++++++++++++++----------------------
+ 1 file changed, 88 insertions(+), 65 deletions(-)
+
+commit e520c2d448eb44464e0c932ac71a4895f7c8ea32
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Thu Mar 31 10:39:43 2011 +0200
+
+ generic-gsm: make flow control setup command a property
+
+ src/mm-generic-gsm.c | 21 +++++++++++++++++++--
+ src/mm-generic-gsm.h | 2 ++
+ 2 files changed, 21 insertions(+), 2 deletions(-)
+
+commit 95b0863f8751fe4fc80782f8232bce7ef5d1ca0c
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 28 18:14:06 2011 +0200
+
+ build: use brackets in autoconf initialization macros
+
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 641ec51c8bef4d3a44a327b2ea95e9c99e3f7655
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 28 18:09:48 2011 +0200
+
+ build: use LT_INIT to initialize libtool, and require at least 2.2
+
+ configure.ac | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit e68bf52bc36be361d54ec72cfa9b841b86ae8cb9
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Mar 28 11:30:10 2011 +0200
+
+ build: require autoconf 2.60 and fix warnings
+
+ AC_GNU_SOURCE is deprecated, AC_USE_SYSTEM_EXTENSIONS (introduced in
+ autoconf 2.60) should be used instead.
+
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 10c981213c152e3c6f049bb9305d21ca09262bc1
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Mon Apr 4 21:36:34 2011 -0500
+
+ build: fix automake portability warnings
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2dbca0baf853bea1df0723d3c8fb2f94dadf3eb3
+Author: Jason Glasgow <jglasgow@google.com>
+Date: Thu Mar 31 15:29:12 2011 -0500
+
+ core: make modem StateChanged signal consistent with API documentation
+
+ The new and old state arguments were flipped.
+
+ src/mm-modem.c | 2 +-
+ src/mm-modem.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 68038cb92627f6ea012ffca6f11ce9279432af07
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 27 16:03:22 2011 -0500
+
+ samsung: fix style of samsung_call_control() name
+
+ plugins/mm-modem-samsung-gsm.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 29b7ac3ddb17619a101d8bdb989286e786c3b475
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 27 16:01:10 2011 -0500
+
+ samsung: fix up disconnect
+
+ Two issues here, first we dont' need to chain up to the parent
+ because it's not doing anything we need (it's mainly for PPP-based
+ devices) and second we need to wait a bit for the disconnect command
+ to complete by specifying a callback, otherwise the command may get
+ discarded when the port is shut down afterward.
+
+ plugins/mm-modem-samsung-gsm.c | 17 +++++++++++++----
+ 1 file changed, 13 insertions(+), 4 deletions(-)
+
+commit 4b15737f8d3e5f96bc6c59f3735754800bd8b246
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 27 15:59:27 2011 -0500
+
+ samsung: streamline enable/init process
+
+ Don't need init retries since the modem seems pretty sane, and we
+ also don't need to call AT+CFUN=1 twice. Just once should be
+ fine. We also don't need any "flashing" since the modem doesn't
+ really do PPP and thus shouldn't need any of the serial port
+ carrier stuff to get its attention, since we'll never be using
+ PPP on any of its ports.
+
+ plugins/mm-modem-samsung-gsm.c | 73
+ ++++++++++++++++++------------------------
+ 1 file changed, 31 insertions(+), 42 deletions(-)
+
+commit 3593094eb7cf84368abb30d72ab646e3b9018fd7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 27 15:47:08 2011 -0500
+
+ samsung: remove debug code
+
+ plugins/mm-modem-samsung-gsm.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 7daad80242ebd67667c13d7175aedc0bd65fd334
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 27 15:45:29 2011 -0500
+
+ samsung: fix access technology detection
+
+ Need to send the MM allowed mode back to the caller, not the
+ Icera mode. Simple typo in original plugin patch I think.
+
+ plugins/mm-modem-samsung-gsm.c | 27 +++++++++++++--------------
+ 1 file changed, 13 insertions(+), 14 deletions(-)
+
+commit 791677ca400bda6a5e76744ff2c05ebddf4d1641
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 27 15:41:47 2011 -0500
+
+ samsung: make a few local functions private
+
+ No need for them to be public as they aren't used anywhere else.
+
+ plugins/mm-modem-samsung-gsm.c | 76
+ +++++++++++++++++-------------------------
+ plugins/mm-modem-samsung-gsm.h | 18 +++-------
+ 2 files changed, 35 insertions(+), 59 deletions(-)
+
+commit 9d1c02f55399d2959e25b5f56d60f52a0d8c9545
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 27 15:26:55 2011 -0500
+
+ samsung: clean up modem detection
+
+ Use standard vendor/device id detection mechanisms and handle the
+ net port like other net ports are handled, by just claiming it. Also
+ reject CDMA modems for now.
+
+ plugins/mm-plugin-samsung.c | 77
+ ++++++++++++++++++++-------------------------
+ 1 file changed, 34 insertions(+), 43 deletions(-)
+
+commit 35b3e348e66842f02e065b0ccb9c8ef1fd1abb99
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 27 15:23:44 2011 -0500
+
+ samsung: drop PORT_TYPE_ECM
+
+ Isn't really needed since it's just the same as any other net
+ device port type.
+
+ plugins/mm-modem-samsung-gsm.c | 8 ++++----
+ src/mm-port.c | 2 --
+ src/mm-port.h | 1 -
+ 3 files changed, 4 insertions(+), 7 deletions(-)
+
+commit b76889c3585f43868e6de6f71bf6761543105a3f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 27 15:18:09 2011 -0500
+
+ samsung: spacing, style, and build fixes
+
+ Clean up the spacing and use more consistent styling.
+
+ plugins/mm-modem-samsung-gsm.c | 68
+ +++++++++++++-----------------------------
+ 1 file changed, 21 insertions(+), 47 deletions(-)
+
+commit d66bfc7b112e17aa4181f5c7471744c49103212b
+Author: Aleksander Morgado <aleksander@lanedo.com>
+Date: Sun Mar 27 15:15:58 2011 -0500
+
+ samsung: fix compilation
+
+ plugins/mm-plugin-samsung.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c38da2d2c1019b7130e50a5539a68df8a3e797f0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 26 12:28:29 2011 -0500
+
+ test: add test program to send SIM PIN
+
+ test/Makefile.am | 3 ++-
+ test/send-pin.py | 65
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 67 insertions(+), 1 deletion(-)
+
+commit 3568f534c8eb811d58728a6bbebf5644a0802ad5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 26 12:20:46 2011 -0500
+
+ api: clarify SendPin documentation
+
+ introspection/org.freedesktop.ModemManager.Modem.Gsm.Card.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 895aa99e6d34e5218281615726d0ef30f95b4d67
+Author: Elly Jones <ellyjones@chromium.org>
+Date: Thu Mar 24 12:22:51 2011 -0500
+
+ zte: fix build dependency race with Icera utils bits
+ (chromium-os:13398)
+
+ plugins/Makefile.am | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit d639155161549662ecd096513784f9b8d80bf7c4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 24 11:00:22 2011 -0500
+
+ qcdm: add standalone autogen and configure
+
+ For building libqcdm separately from ModemManager.
+
+ libqcdm/autogen.sh | 22 ++++++++++++++++++++++
+ libqcdm/configure.ac | 48
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 70 insertions(+)
+
+commit 4ad0c01be02029d8caf62e099ca34cb02e43b83e
+Author: Jun Woo Lee <jw86.lee@samsung.com>
+Date: Thu Mar 3 17:10:23 2011 -0500
+
+ modemmanager: Add support for Samsung Y3300 modem
+
+ BUG=chrome-os-partner:2394
+ TEST=gmerge modemmanager, watch logs, see detected as Samsung modem,
+ connect to AT&T network
+
+ Review URL: http://codereview.chromium.org/6614026
+ Patch from Jun Woo Lee <jw86.lee@samsung.com>.
+
+ Change-Id: I913628ff4a1cd16c8180e3c808644b0134e69e31
+
+ plugins/Makefile.am | 21 +-
+ plugins/mm-modem-samsung-gsm.c | 1076
+ ++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-samsung-gsm.h | 57 +++
+ plugins/mm-plugin-samsung.c | 166 +++++++
+ plugins/mm-plugin-samsung.h | 45 ++
+ src/mm-port.c | 2 +
+ src/mm-port.h | 1 +
+ 7 files changed, 1367 insertions(+), 1 deletion(-)
+
+commit 0c4b94458ac0a71d278ce1b711a022fdf96b3abf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 11 21:36:55 2011 -0600
+
+ gsm: fix for parsing malformed Gobi CREG response
+
+ From an HP un2400;
+
+ GMR: D1020-SUUAASFA-4352 1 [Apr 14 2008 18:00:00]
+ GMM: 88
+
+ src/mm-modem-helpers.c | 2 +-
+ src/tests/test-modem-helpers.c | 11 +++++++++++
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+commit b3b1d5309a4ead90e9a503586b9224d345680d7f
+Author: Thomas Bechtold <thomasbechtold@jpberlin.de>
+Date: Fri Mar 11 20:25:22 2011 -0600
+
+ core: allow plugins to handle custom init responses
+
+ plugins/mm-plugin-zte.c | 2 +-
+ src/mm-plugin-base.c | 28 +++++++++++++++++++++++++++-
+ src/mm-plugin-base.h | 10 +++++++++-
+ 3 files changed, 37 insertions(+), 3 deletions(-)
+
+commit 971600b9099e5d98c32b28cbb0a5305c48c76728
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 5 00:04:58 2011 -0600
+
+ policy: loosen permissions somewhat for reading device info (kde
+ #266807) (novell #674022)
+
+ policy/org.freedesktop.modem-manager.policy.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 871097327b4b302ce623a32d286fb44716ee4aad
+Author: Michael Biebl <biebl@debian.org>
+Date: Fri Feb 25 18:21:52 2011 -0600
+
+ logging: use glong for secs and usecs
+
+ src/mm-log.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit f340ce86cd92dd5a24fe3b91f6c135030899ee1b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 25 12:26:30 2011 -0600
+
+ cdma: ensure the ActivationStateChanged signal exists
+
+ It's part of the D-Bus API, so it needs to be implemented somewhere
+ even if it's not used yet.
+
+ marshallers/mm-marshal.list | 2 +-
+ src/mm-modem-cdma.c | 12 ++++++++++++
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+commit 7707117862cefc95edaf9010bd2dc0f571825e96
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 25 11:18:55 2011 -0600
+
+ log: fix spacing so messages line up
+
+ src/mm-log.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit b0b9ea95cfb582ca5297ec7371c3414c9ee0383d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 17 15:44:23 2011 -0600
+
+ simtech: add port tags for SCT U300 (Element Mobile)
+
+ plugins/77-mm-simtech-port-types.rules | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 92e4127c7dc3726e0bdb4beea64246bd7c420d9f
+Author: Tom Bechtold <toabctl@googlemail.com>
+Date: Thu Feb 10 12:07:54 2011 -0600
+
+ core: allow platform devices without a VID/PID
+
+ Since platform devices don't usually have them.
+
+ src/mm-plugin-base.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 8f223f45f9e0c81fc9267b830c7c05b9aa731f2a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 1 22:52:34 2011 -0600
+
+ zte: fix handling of Icera simple connect process
+
+ Yay for GInterface.
+
+ plugins/mm-modem-zte.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit d1f4b07e0effa7f203ea56bd8120839a9d39b992
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 1 22:48:55 2011 -0600
+
+ icera: fix username and password ordering for authentication
+
+ plugins/mm-modem-icera.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e208c5284672312c39adac70416b03b46a0b98ce
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 1 21:06:23 2011 -0600
+
+ api: don't install all.xml
+
+ It's not really part of the API.
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 00b6cce4df7d4acbf3e580a03c2f044e18589d2c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 24 14:36:24 2011 -0600
+
+ api: fix up StateChanged duplicate reason code
+
+ And add new reason codes to the C headers.
+
+ introspection/org.freedesktop.ModemManager.Modem.xml | 13 ++++---------
+ src/mm-modem.h | 4 +++-
+ 2 files changed, 7 insertions(+), 10 deletions(-)
+
+commit 245b893e98d0d572f4285ee82cc8e2cb80eddad7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 24 14:13:28 2011 -0600
+
+ logging: make gcc 4.4.3 happy about ignored unused results
+
+ src/mm-log.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+commit 98ec26283a7833affdb2c1ef84ec1697eff7610a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 24 14:05:07 2011 -0600
+
+ logging: shut up compiler warnings about unused result from write(2)
+
+ We actually don't care about the result here. But we do in other
+ places, so we want to keep the warning in general.
+
+ src/mm-log.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e3de8c4a1143815c021887cd825765d3fcbec4e5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 24 13:57:22 2011 -0600
+
+ api: fix up modem state changed reason enum description
+
+ introspection/org.freedesktop.ModemManager.Modem.xml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2b2ca316a1ef9c9b30e68b44446abfe76cb1bbce
+Merge: 12f1b351 f047ca66
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 24 13:56:40 2011 -0600
+
+ Merge remote branch 'chromium/to-upstream'
+
+commit 12f1b351e83730c7d5fa882f0fbbaf4b19816a00
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 24 12:39:13 2011 -0600
+
+ rules: blacklist some unlikely USB serial dongles (rh #544121)
+
+ src/77-mm-usb-device-blacklist.rules | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit d909c4876bc6cdc2d783b9641ac30025f89a01b4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 24 00:09:55 2011 -0600
+
+ core: minor code cleanups
+
+ src/mm-modem-base.c | 16 +++++++---------
+ 1 file changed, 7 insertions(+), 9 deletions(-)
+
+commit 3ee40ddbce7b0d5f5308b67b2d09f7d02c0e54ca
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 24 00:05:20 2011 -0600
+
+ core: add logging when ports get removed
+
+ src/mm-manager.c | 6 ++++--
+ src/mm-modem-base.c | 26 +++++++++++++++++++++++++-
+ 2 files changed, 29 insertions(+), 3 deletions(-)
+
+commit 44c11adadc8cb436c23eda67d2d2509550998487
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 24 00:05:08 2011 -0600
+
+ core: add mm_port_subsys_to_name()
+
+ src/mm-port.c | 14 ++++++++++++++
+ src/mm-port.h | 2 ++
+ 2 files changed, 16 insertions(+)
+
+commit 476cc44bc1c991b9ad940d1de9cb42baf93555ab
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 23 23:36:52 2011 -0600
+
+ gsm: enable unsolicited codes on secondary ports too (bgo #637140)
+
+ We want to enable unsolicited responses on secondary ports too,
+ so that if the modem only sends unsolicited responses on the ports
+ on which they were enabled, that we can get resposnes off the
+ secondary port when the primary port is connected. But we can't
+ always trust devices to actually send them on the secondary port,
+ so we enable the unsolicited responses on both the primary and
+ secondary ports just in case.
+
+ src/mm-generic-gsm.c | 106
+ +++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 95 insertions(+), 11 deletions(-)
+
+commit 6f08206ac88ccd760afff38f096b1f8a0d51270f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 23 23:21:58 2011 -0600
+
+ core: enable timestamps with legacy --debug option
+
+ src/main.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 16039244bb08cb4f62754c710be2052eaef32549
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 23 20:51:48 2011 -0600
+
+ core: rework logging
+
+ Make it more flexible, add logging to a file, and absolute and
+ relative timestamps.
+
+ plugins/mm-modem-anydata-cdma.c | 9 +-
+ plugins/mm-modem-huawei-cdma.c | 7 +-
+ plugins/mm-modem-huawei-gsm.c | 17 ++-
+ plugins/mm-modem-icera.c | 5 +-
+ plugins/mm-modem-mbm.c | 17 +--
+ plugins/mm-plugin-generic.c | 9 +-
+ plugins/mm-plugin-huawei.c | 9 +-
+ plugins/mm-plugin-mbm.c | 2 +-
+ src/Makefile.am | 4 +-
+ src/main.c | 118 ++++++++-----------
+ src/mm-at-serial-port.c | 10 +-
+ src/mm-generic-cdma.c | 7 +-
+ src/mm-generic-gsm.c | 86 +++++---------
+ src/mm-log.c | 227
+ +++++++++++++++++++++++++++++++++++++
+ src/mm-log.h | 61 ++++++++++
+ src/mm-manager.c | 82 +++++++-------
+ src/mm-modem-base.c | 35 +++---
+ src/mm-modem-helpers.c | 26 ++---
+ src/mm-modem-helpers.h | 3 +-
+ src/mm-modem.c | 22 +---
+ src/mm-options.c | 55 ---------
+ src/mm-options.h | 23 ----
+ src/mm-plugin-base.c | 7 +-
+ src/mm-port.c | 16 +--
+ src/mm-properties-changed-signal.c | 9 +-
+ src/mm-qcdm-serial-port.c | 10 +-
+ src/mm-serial-parsers.c | 5 +-
+ src/mm-serial-port.c | 50 +++-----
+ src/tests/test-modem-helpers.c | 13 ++-
+ src/tests/test-qcdm-serial-port.c | 11 +-
+ 30 files changed, 539 insertions(+), 416 deletions(-)
+
+commit f85b014d843ecb2259e9b2e21f44c24ff8ff5fdf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 23 20:42:32 2011 -0600
+
+ build: fix distcheck
+
+ plugins/Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit ef8d2263018c7f4ec5ee26a1f8d690d89443c9a6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 23 18:14:55 2011 -0600
+
+ qcdm: add some missing system modes
+
+ libqcdm/src/commands.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f69d888bae672d69b36f65d6c72397740dbd6ac8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 21 00:28:17 2011 -0600
+
+ qcdm: add call manager subsystem mode define for LTE
+
+ Seen on the Pantech UML290 and another Qualcomm-based LTE device.
+
+ libqcdm/src/commands.h | 3 ++-
+ libqcdm/tests/test-qcdm-com.c | 3 +++
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit 7613b46b5009b15efeeced5d0df043576beafbf8
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Fri Jan 14 12:56:24 2011 -0600
+
+ test: handle cancel and distinguish between initiate and respond
+ (bgo #638038)
+
+ test/ussd.py | 21 +++++++++++++++++++--
+ 1 file changed, 19 insertions(+), 2 deletions(-)
+
+commit d44ae44558b9d1da289372e8593263c7d2b025c8
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Fri Jan 14 12:25:05 2011 -0600
+
+ gsm: wire up USSD Respond function (bgo #638038)
+
+ src/mm-generic-gsm.c | 68 ++++++++++++++++++++++++++++++++++---------
+ src/mm-modem-gsm-ussd.c | 77
+ ++++++++++++++++++++++++++++++++++++++++++-------
+ src/mm-modem-gsm-ussd.h | 10 +++++++
+ 3 files changed, 132 insertions(+), 23 deletions(-)
+
+commit 807120996f2eb9e3ddcac5ba6f9826feac440175
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Fri Jan 14 12:22:57 2011 -0600
+
+ api: add reply parameter to USSD Respond method (bgo #638038)
+
+ The network will usually send back the new sub menu to pick from.
+
+ introspection/org.freedesktop.ModemManager.Modem.Gsm.Ussd.xml | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit d908389aff85a77757d3a86f0be6b47535991e3c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 14 12:17:02 2011 -0600
+
+ core: add modem reset/power-cycle command
+
+ Based on a patch by Elly Jones from Google.
+
+ .../org.freedesktop.ModemManager.Modem.xml | 13 +++++-
+ plugins/mm-modem-anydata-cdma.c | 19 ++++++++
+ plugins/mm-modem-mbm.c | 19 ++++++++
+ src/mm-modem.c | 51
+ ++++++++++++++++++++++
+ src/mm-modem.h | 8 ++++
+ 5 files changed, 109 insertions(+), 1 deletion(-)
+
+commit 12b144e120b7a275f4b1ffe5a51fc772304f4fa1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 12 15:30:23 2011 -0600
+
+ zte: add more ZTE port tags (LW272, others)
+
+ plugins/77-mm-zte-port-types.rules | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit f4d4569cdd4441ea210297cf1ed14b8e7e77fd34
+Author: Michał Sroczyński <msroczyn@gmail.com>
+Date: Tue Jan 11 13:41:53 2011 -0600
+
+ gsm: correctly parse Samsung S8500 Wave CREG response
+
+ (testcases by dcbw)
+
+ src/mm-modem-helpers.c | 14 +++++++++++++-
+ src/tests/test-modem-helpers.c | 11 +++++++++++
+ 2 files changed, 24 insertions(+), 1 deletion(-)
+
+commit 7a2031613aa2405c9414ff1f3a4d3d18362d4a52
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 6 22:01:45 2011 -0600
+
+ qcdm: add HDR revision preference
+
+ Not sure if that's exactly what the NV item is, but the UML290 uses
+ it for Rev0, RevA, and eHRPD preference.
+
+ libqcdm/src/commands.c | 101
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 28 ++++++++++++
+ libqcdm/src/nv-items.h | 20 +++++++--
+ libqcdm/tests/test-qcdm-com.c | 56 +++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 205 insertions(+), 3 deletions(-)
+
+commit d19e55bb8ff2b3eb2ff03f5a57b62ec32cbe53f7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jan 6 00:48:54 2011 -0600
+
+ qcdm: add NV mode pref values for 1X/HDR Only, LTE Only, and
+ 1X/HDR/LTE Only
+
+ Based on responses from Pantech UML290.
+
+ libqcdm/src/nv-items.h | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 794353ebccb04ec00d87820d68e2d25c04d45d3e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 5 11:12:08 2011 -0600
+
+ cdma: update reg state to HOME based on SPERI response
+
+ If the SPERI response indicates the home network, then set
+ CDMA registration to HOME if it was REGISTERED (which is
+ less specific).
+
+ src/mm-generic-cdma.c | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+commit 6c56db07fc3439f54ce6606e14be8963c62f12cc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 4 17:21:41 2011 -0600
+
+ cdma: fix segfault by handling MEID property
+
+ Also, MEID->Meid to follow standard D-Bus property semantics.
+
+ introspection/org.freedesktop.ModemManager.Modem.Cdma.xml | 2 +-
+ src/mm-generic-cdma.c | 9 +++++++++
+ src/mm-modem-cdma.c | 9 +++++++++
+ src/mm-modem-cdma.h | 8 ++++++++
+ 4 files changed, 27 insertions(+), 1 deletion(-)
+
+commit b0cd9288c260a821003a6259c78397d3ab7846a1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 4 14:06:03 2011 -0600
+
+ cdma: fix CDMA registration state retrieval on single AT port devices
+
+ If the device only has one AT port that's being used for data and
+ thus we can't do more specific registration checking in MMGenericCdma
+ using AT commands, but generic registration checking was successful,
+ just use the less specific state.
+
+ Previously, an error would be returned when no AT port was available
+ even though less specific QCDM registration checking worked. That
+ was just stupid.
+
+ src/mm-generic-cdma.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit 63cb7f29a97719acd0810b42b42e09dbab461284
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 3 14:42:44 2011 -0600
+
+ huawei: quiet annoying log message
+
+ plugins/mm-modem-huawei-gsm.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 9733746dc10e1cf5d4929258aae6ab405b2f79cd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 1 18:11:14 2011 -0600
+
+ icera: add complete support for generic Icera devices
+
+ Implement connect, disconnect, and IP4 config stuff.
+
+ Also fix handling of Icera private data. After creation we
+ need to use MM_MODEM_ICERA_GET_INTERFACE(m)->priv to get the
+ private data instead of just dereferencing the MMModemIcera,
+ for reasons that I don't know. If this isn't done, data
+ gets silently corrupted because writes to the private data
+ are going into a random location in the object. This a
+ side-effect of the slightly hack-ish way that MMModemIcera
+ is a GInterface with private data.
+
+ plugins/mm-modem-icera.c | 516
+ +++++++++++++++++++++++++++++++++++++++++++----
+ plugins/mm-modem-icera.h | 26 ++-
+ plugins/mm-modem-zte.c | 94 ++++++++-
+ 3 files changed, 595 insertions(+), 41 deletions(-)
+
+commit ceb5cc29d6be2133c5e6ff428477e8da0422e8a2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 1 17:47:40 2011 -0600
+
+ core: signal property changes for IpMethod
+
+ If the modem's IP Method changes after construction because the
+ modem's full capabilities were only discovered after it was created,
+ make sure the change notification gets emitted.
+
+ src/mm-modem-base.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit af9adab9cd6a4f8455d5a32fd232ede011a94713
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 1 14:12:07 2011 -0600
+
+ icera: convert to GInterface
+
+ We'll need to store some private data later for authentication, and
+ this makes it easier and clearer to access that private data.
+
+ plugins/Makefile.am | 4 +-
+ plugins/{mm-icera-utils.c => mm-modem-icera.c} | 119
+ +++++++++++++++++--------
+ plugins/{mm-icera-utils.h => mm-modem-icera.h} | 38 ++++++--
+ plugins/mm-modem-zte.c | 29 ++++--
+ 4 files changed, 134 insertions(+), 56 deletions(-)
+
+commit b8a74490b23ee51f17fc994b78650b4daea29ff7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 1 13:41:22 2011 -0600
+
+ zte: Icera devices use static IP configuration
+
+ plugins/mm-modem-zte.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 9d777763a28dad942d56127a5431b6f61cd4955d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 1 12:23:14 2011 -0600
+
+ icera: consolidate Icera check code into utility lib
+
+ plugins/mm-icera-utils.c | 33 +++++++++++++++++++++++++++++++++
+ plugins/mm-icera-utils.h | 4 ++++
+ plugins/mm-modem-zte.c | 13 +++++++------
+ 3 files changed, 44 insertions(+), 6 deletions(-)
+
+commit f84958933bb333394ff159778507cb53fb7f8c43
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 1 12:08:46 2011 -0600
+
+ icera: move Icera utils into standalone utility library
+
+ plugins/Makefile.am | 22 +++++++++++
+ .../{mm-modem-icera-utils.c => mm-icera-utils.c} | 43
+ +++++++++++++--------
+ plugins/mm-icera-utils.h | 45
+ ++++++++++++++++++++++
+ plugins/mm-modem-zte.c | 15 ++++----
+ 4 files changed, 100 insertions(+), 25 deletions(-)
+
+commit a502fd2b19551ce2c1e3cd82bca01de27f123ca5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 1 11:55:41 2011 -0600
+
+ gsm: add access technology support for HSPA+
+
+ .../org.freedesktop.ModemManager.Modem.Gsm.xml | 3 +
+ plugins/mm-modem-huawei-gsm.c | 68
+ ++++++++++++----------
+ src/mm-modem-gsm-network.c | 2 +
+ src/mm-modem-gsm.h | 3 +-
+ src/mm-modem-helpers.c | 4 +-
+ 5 files changed, 46 insertions(+), 34 deletions(-)
+
+commit 657e5ac7f6b84e0965f4a39c298daf3744368ee9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 31 00:30:47 2010 -0600
+
+ zte: partially support Icera-based devices like T-Mobile Rocket 2
+
+ plugins/Makefile.am | 3 +-
+ plugins/mm-modem-icera-utils.c | 256
+ +++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-zte.c | 89 ++++++++++++--
+ 3 files changed, 340 insertions(+), 8 deletions(-)
+
+commit adcc29fa6b62a86eb8d595a2836c3ea833b86af9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Dec 30 16:43:04 2010 -0600
+
+ zte: really shut the device up
+
+ The MF691 appears to ignore E0 on the same line as some other stuff,
+ so really shut it up by sending E0 by itself.
+
+ plugins/mm-modem-zte.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 05d4876b20a6fa03421c77de53b74d1b81e5ea5f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Dec 30 16:36:47 2010 -0600
+
+ zte: add support for pseudo-ethernet data ports
+
+ plugins/mm-plugin-zte.c | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+commit 36c87991c38188eefc184ee4780cac3517502840
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 21 11:55:25 2010 -0600
+
+ build: fix distcheck after introspection XML renames
+
+ Makefile.am | 1 +
+ introspection/Makefile.am | 26 +++++++++++++-------------
+ 2 files changed, 14 insertions(+), 13 deletions(-)
+
+commit 292c98029dd6107de2c5f592eac256c512764688
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 21 11:54:47 2010 -0600
+
+ test: fix CIND test index checking
+
+ CIND indexes returned from helper are 1-based, not 0-based, because
+ that makes it easier to match against the modem's unsolicited CIND
+ message.
+
+ src/tests/test-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f047ca66a4c58bdfa69ce70026fc840d58a80ebe
+Author: Elly Jones <ellyjones@google.com>
+Date: Wed Sep 15 13:22:25 2010 -0400
+
+ modemmanager: Add a reason to ConnectionStateChanged events.
+
+ This can be used by a connection manager to decide to respond in a
+ different way
+ to certain kinds of disconnects (e.g. intentional versus unintentional
+ versus
+ suspension).
+
+ TEST=None
+ This change introduces no additional code, so testing it in isolation
+ is not
+ possible.
+
+ BUG=chromium-os:6744
+
+ Change-Id: Ie371e20ec7a003333eba013af3ad61c0e494a4ad
+ Signed-Off-By: Elly Jones <ellyjones@chromium.org>
+
+ Review URL: http://codereview.chromium.org/3413011
+ (cherry picked from commit 29a9674b818fd64c19bad84f526f6fa68edec174)
+
+ .../org.freedesktop.ModemManager.Modem.xml | 24
+ ++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+commit d4b2be5f6b1a2e4e203dc6038bf31e63e4d80670
+Author: David Rochberg <rochberg@chromium.org>
+Date: Mon Oct 11 17:14:32 2010 -0400
+
+ Replace ActivationCompleted with ActivationStateChanged, add CDMA
+ error enums.
+
+ BUG=6885
+ TEST=mm-modem.h is correct, cromo compiles
+
+ Change-Id: I2b6a49bda5a6ff7bf6e4aac2e99914bf3c33c732
+
+ Review URL: http://codereview.chromium.org/3705001
+
+ Review URL: http://codereview.chromium.org/3702006
+
+ .../org.freedesktop.ModemManager.Modem.Cdma.xml | 79
+ +++++++++++++++++++++-
+ 1 file changed, 77 insertions(+), 2 deletions(-)
+
+commit eb90498efdcf1cbb9a8ebab606b945263f25b6ce
+Author: Elly Jones <ellyjones@google.com>
+Date: Mon Dec 20 14:51:39 2010 -0500
+
+ Add CDMA Activate and ActivateManual methods.
+
+ BUG=6885
+ TEST=built modemmanager and cromo
+
+ Change-Id: Ib73a093b13da05948a2f1da8f051fe7c55682584
+
+ Review URL: http://codereview.chromium.org/3517013
+ (cherry picked from commit f447c8e1a0062500e1171e031cf4c8fef76ffd59)
+
+ Conflicts:
+
+ src/mm-modem-cdma.c
+
+ .../org.freedesktop.ModemManager.Modem.Cdma.xml | 28 +++++++++++++++++
+ src/mm-modem-cdma.c | 35
+ ++++++++++++++++++++++
+ src/mm-modem-cdma.h | 18 +++++++++++
+ 3 files changed, 81 insertions(+)
+
+commit b19b25f324eff63e63638c26210d3108308bbaf9
+Author: David Rochberg <rochberg@chromium.org>
+Date: Mon Oct 4 09:35:25 2010 -0400
+
+ Add enums for activation state
+
+ BUG=6885
+ TEST=inspect mm-modem.h, build cromo et al against new mm-modem.h
+
+ Change-Id: Id8c849b6cffbadb9d5d2aa4109257eb747cf9bb5
+
+ Review URL: http://codereview.chromium.org/3616004
+ (cherry picked from commit 3a50b8c28d155060ce035a1c6d5eadf3d91297a5)
+
+ introspection/org.freedesktop.ModemManager.Modem.Cdma.xml | 14
+ ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 60725028affaa7405d022de8fe0dee7ad16f1a44
+Author: Elly Jones <ellyjones@google.com>
+Date: Mon Dec 20 14:40:35 2010 -0500
+
+ Add State property and StateChanged signal.
+
+ Change-Id: I74451404361aa8bcc33ad0e66cbd5c6208222496
+
+ .../org.freedesktop.ModemManager.Modem.xml | 30
+ ++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit 74b49b8b4d7d87a5fcd871662c600a7c4cc10620
+Author: Eric Shienbrood <ers@chromium.org>
+Date: Thu Aug 19 16:51:20 2010 -0400
+
+ Added MEID property to org.freedesktop.ModemManager.Cdma interface.
+
+ BUG=chromium-os:4560
+ TEST=tested using modified flimflam and cromo
+
+ Change-Id: I385abf8df340c26259810ea44c43680cc420c015
+
+ Review URL: http://codereview.chromium.org/3136020
+
+ introspection/org.freedesktop.ModemManager.Modem.Cdma.xml | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 12600464e3e77e2eba3ba6997bb41d3df5ff6bc5
+Author: Elly Jones <ellyjones@google.com>
+Date: Mon Dec 20 13:26:41 2010 -0500
+
+ Fix include paths in introspection XML.
+
+ Change-Id: I3af3ac8f60009f25b365c424d93258ded16f9212
+
+ introspection/all.xml | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit ac5f135a4ac9b0954d2142dd2f047bdcfe0fa8c9
+Author: Elly Jones <ellyjones@google.com>
+Date: Mon Dec 20 13:08:27 2010 -0500
+
+ Add org.freedesktop.ModemManager.Modem.Cdma.xml.
+
+ Mea culpa. I moved it with 'mv', not 'git mv', thus resulting in
+ total loss.
+
+ Change-Id: I94edfb9ca3b09d7956eea08971090ee022700d4d
+
+ .../org.freedesktop.ModemManager.Modem.Cdma.xml | 97
+ ++++++++++++++++++++++
+ 1 file changed, 97 insertions(+)
+
+commit 6c758103200c7a7c7634c637e516a2d4af766a3a
+Author: Eric Shienbrood <ers@google.com>
+Date: Thu Jun 17 10:28:02 2010 -0400
+
+ Clean up white space in the generated header file.
+
+ Also, include the interface name in the method and signal names, to
+ avoid name collisions. I have corresponding changes in the flimflam
+ modemmgr plugin to accomodate the new names.
+
+ For a sample of the output, see ~ers/mm-modem.h
+
+ Review URL: http://codereview.chromium.org/2852010
+ (cherry picked from commit f9dbea25b8ba4414c77d6dfc94545bf7b5c26e68)
+
+ header-generator.xsl | 96
+ ++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 63 insertions(+), 33 deletions(-)
+
+commit 48169926f47377c2a9a2201cd77294dff4876e28
+Author: Elly Jones <ellyjones@google.com>
+Date: Mon Dec 20 12:41:03 2010 -0500
+
+ Don't probe virtual devices before they exist
+
+ Prevent ModemManager from probing virtual devices before their
+ associated files exist in /dev tree.
+
+ Contributed by Nasser Grainawi <nasser@codeaurora.org>
+
+ Review URL: http://codereview.chromium.org/2118005
+ (cherry picked from commit 617660e3572a7b79ed83f9fc0fda89b7efcb2d4d)
+
+ Conflicts:
+
+ src/mm-plugin-base.c
+
+ Change-Id: Ie5e8b98fb6b6c69e294175523ef99c934092433b
+
+ src/mm-plugin-base.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+commit 575ba873380af798225d732779ca581936b8adeb
+Author: Jason Glasgow <jglasgow@chromium.org>
+Date: Wed Apr 14 15:54:22 2010 -0400
+
+ Add signals to generated header file
+
+ Review URL: http://codereview.chromium.org/1508036
+ (cherry picked from commit f3432ada6bf8cd55f9dbdf050d510c53ce9f6687)
+
+ header-generator.xsl | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 245818de331608a10c2279a56c5feba86aa1a1ea
+Author: Elly Jones <ellyjones@google.com>
+Date: Mon Dec 20 12:23:41 2010 -0500
+
+ Install xml files so they can be used by cromo (chromeos modem
+ manager)
+
+ Amended: Install the files under their proper DBus names.
+
+ Review URL: http://codereview.chromium.org/1618004
+ (cherry picked from commit 89f7f05f1294485fa8b44cfdd3c9b0d924d45ac1)
+
+ Conflicts:
+
+ Makefile.am
+
+ Change-Id: I65b2b0c1b5e579bb5b1d5d5b390c3be2ae49543c
+
+ introspection/all.xml | 26 +++---
+ introspection/mm-modem-cdma.xml | 97
+ ----------------------
+ ...ged.xml => org.freedesktop.DBus.Properties.xml} | 0
+ ...rg.freedesktop.ModemManager.Modem.Gsm.Card.xml} | 0
+ ...reedesktop.ModemManager.Modem.Gsm.Contacts.xml} | 0
+ ...org.freedesktop.ModemManager.Modem.Gsm.Hso.xml} | 0
+ ...freedesktop.ModemManager.Modem.Gsm.Network.xml} | 0
+ ...org.freedesktop.ModemManager.Modem.Gsm.SMS.xml} | 0
+ ...rg.freedesktop.ModemManager.Modem.Gsm.Ussd.xml} | 0
+ ... => org.freedesktop.ModemManager.Modem.Gsm.xml} | 0
+ ...rg.freedesktop.ModemManager.Modem.Location.xml} | 0
+ ... org.freedesktop.ModemManager.Modem.Simple.xml} | 0
+ ....xml => org.freedesktop.ModemManager.Modem.xml} | 0
+ ...anager.xml => org.freedesktop.ModemManager.xml} | 0
+ plugins/Makefile.am | 2 +-
+ src/Makefile.am | 20 ++---
+ 16 files changed, 24 insertions(+), 121 deletions(-)
+
+commit 241bef544d45eded170ce8bfb94923bab9993720
+Author: Jason Glasgow <jglasgow@chromium.org>
+Date: Wed Apr 7 18:24:01 2010 -0400
+
+ Install xml introspection files for DBus interfaces.
+
+ Review URL: http://codereview.chromium.org/1618004
+
+ Change-Id: Ib362c3dcdeb91472a64cf9edb6b4e0ddbcffe93a
+
+ Makefile.am | 5 ++++-
+ introspection/mm-modem-cdma.xml | 4 ++--
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+commit 33c991f3adb1e4ad8339371331f8adbefe0c8521
+Author: Jason Glasgow <jglasgow@chromium.org>
+Date: Fri Mar 26 13:25:01 2010 -0400
+
+ Generate a header file for ModemManager
+
+ Generate a header file for ModemManager with service names and paths,
+ method names and enums.
+
+ Review URL: http://codereview.chromium.org/1409001
+
+ Makefile.am | 15 +++-
+ header-generator.xsl | 204
+ +++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 216 insertions(+), 3 deletions(-)
+
+commit d32eeec9eaeddb1e560499a1a1afda956b3a1114
+Author: Elly Jones <ellyjones@google.com>
+Date: Mon Dec 20 11:05:49 2010 -0500
+
+ Update from Qualcomm to support smd devices in Modem Manager
+
+ Review URL: http://codereview.chromium.org/661471
+ (cherry picked from commit 8475eb44b7ea41afa823919b017a39d82b07a5a2)
+
+ Conflicts:
+
+ src/mm-plugin-base.c
+
+ Change-Id: I825886cad62a27acb39dfe74da7028d83adf692a
+
+ src/mm-plugin-base.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 00b0b70f5dd7e6896cc533e7ac3e9584467858e6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Dec 19 15:18:12 2010 -0600
+
+ bluetooth: tag 'moved' bluetooth ttys as candidates
+
+ The kernel appears to add the device first without any parents,
+ then to move it to the correct place in the hierarchy, with its
+ immediate parent being the device's HCI controller. So we need
+ to capture the 'move' event too since that's when the rfcomm
+ device is finally usable.
+
+ src/80-mm-candidate.rules | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit a4e620aca0a13b6630b587bc6ed21ec2454e86ec
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Dec 19 15:07:56 2010 -0600
+
+ bluetooth: ensure bluetooth rfcomm devices get tagged as candidates
+
+ src/80-mm-candidate.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d2ce75b57a27a9feaddb25558e62ae7162ef7f9f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 17 16:27:55 2010 -0600
+
+ core: separate PropertiesChanged signal XML
+
+ Which requires that we turn it into a GInterface that MMModemBase
+ can implement, because dbus-glib does not allow attaching more
+ than one introspection glue structure to an object at a time.
+
+ Also implement the standard D-Bus properties changed signal.
+
+ introspection/Makefile.am | 3 +-
+ introspection/all.xml | 1 +
+ introspection/mm-modem.xml | 18 -------
+ introspection/mm-properties-changed.xml | 45 +++++++++++++++++
+ marshallers/mm-marshal.list | 1 +
+ src/Makefile.am | 6 ++-
+ src/mm-modem-base.c | 11 ++++-
+ src/mm-properties-changed-signal.c | 86
+ ++++++++++++++++++++++++++-------
+ src/mm-properties-changed-signal.h | 13 ++++-
+ 9 files changed, 144 insertions(+), 40 deletions(-)
+
+commit 592d71ff76318b6389f6866d5394a844c7e35513
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 8 17:04:59 2010 -0600
+
+ core: work around udev parallel startup race
+
+ Ignore devices that aren't completely configured by udev yet. If
+ ModemManager is started in parallel with udev, explicitly requesting
+ devices may return devices for which not all udev rules have yet been
+ applied (a bug in udev/gudev). Since we often need those rules
+ to match
+ the device to a specific ModemManager driver, we need to ensure
+ that all
+ rules have been processed before handling a device.
+
+ Do this by adding an item to the environment of each device that MM
+ might possibly be interested in, and ignoring devices that don't
+ have that. When the device is fully processed by udev, MM will get
+ an 'add' event and the device will have all rules applied.
+
+ src/80-mm-candidate.rules | 16 ++++++++++++++++
+ src/Makefile.am | 3 ++-
+ src/mm-manager.c | 13 ++++++++++++-
+ 3 files changed, 30 insertions(+), 2 deletions(-)
+
+commit 067490960a65781029e5c931a28d1f7497cc9b1e
+Author: Amit Mendapara <mendapara.amit@gmail.com>
+Date: Wed Dec 8 11:05:28 2010 -0600
+
+ linktop: add plugin for Linktop/Teracom LW273 (bgo #636438)
+
+ plugins/Makefile.am | 20 ++++-
+ plugins/mm-modem-linktop.c | 208
+ ++++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-linktop.h | 45 ++++++++++
+ plugins/mm-plugin-linktop.c | 164 ++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-linktop.h | 41 +++++++++
+ 5 files changed, 477 insertions(+), 1 deletion(-)
+
+commit 26b96c515db5f8c65bd396785f3742465518b3cb
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Mon Dec 6 12:42:05 2010 -0600
+
+ mbm: add more MBM device IDs
+
+ plugins/77-mm-ericsson-mbm.rules | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+commit b1e1668119905e077f82a1aa4346f69db4d41268
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Dec 2 11:31:09 2010 -0600
+
+ mbm: add tags for SonyEricsson MD400G
+
+ Thanks to Niall Parker
+
+ plugins/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit ea0797cbec7cae4d93807e8ac3a796650ff209a9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 29 16:49:30 2010 -0600
+
+ gsm: prefer AT+CIND signal quality for modems that support it
+ (lp:682282) (bgo #636040)
+
+ Some devices always reply with 99 for AT+CSQ when in UMTS mode
+ (Linktop LW273)
+ so if the modem supports it, use CIND/CIEV instead.
+
+ src/mm-generic-gsm.c | 112
+ ++++++++++++-----------------------------
+ src/mm-modem-helpers.c | 80 ++++++++++++++++++++++++++---
+ src/mm-modem-helpers.h | 12 +++--
+ src/tests/test-modem-helpers.c | 2 +-
+ 4 files changed, 115 insertions(+), 91 deletions(-)
+
+commit 586c9ec2c5ab66c16b934ef5f0b9b6803904ea84
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 29 12:01:42 2010 -0600
+
+ gsm: don't poll signal quality if it was recently updated
+
+ src/mm-generic-gsm.c | 20 +++++++++++++-------
+ 1 file changed, 13 insertions(+), 7 deletions(-)
+
+commit a00966d4aa0973aef9a520b966d6c5a93d094053
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 29 11:50:55 2010 -0600
+
+ huawei: don't spam syslog with tx/rx stats (lp:673457)
+
+ plugins/mm-modem-huawei-gsm.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 1df1ff38b0ad93d80647895115251033ffc38e65
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 29 00:45:58 2010 -0600
+
+ sierra: support pseduo-ethernet interface on GSM devices
+
+ Requires the sierra_net driver, which is included in the
+ 2.6.34 and later kernels.
+
+ NEWS | 1 +
+ plugins/mm-modem-sierra-gsm.c | 182
+ +++++++++++++++++++++++++++++++++++++++---
+ plugins/mm-plugin-sierra.c | 36 ++++++---
+ 3 files changed, 196 insertions(+), 23 deletions(-)
+
+commit 5419f1f1954a371e030a3e146628cf501a0ed64e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 29 00:21:44 2010 -0600
+
+ core: allow setting IP method after construction
+
+ Some modems might not know their IP method until after the
+ modem object has been created.
+
+ src/mm-modem.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c1232e2534334cacc929733e4d206f3deba5c545
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 28 23:10:27 2010 -0600
+
+ serial: print debug data unsigned
+
+ src/mm-at-serial-port.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 888351f2a6f496cfb42c14184ded0adbae246ffb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 28 22:50:22 2010 -0600
+
+ release: update NEWS file
+
+ NEWS | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit dc95f531adc38166cb4ec0ec08e40527dd04385a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 28 22:46:03 2010 -0600
+
+ gsm: query signal strength with +CIND if modem does not support +CSQ
+ (lp:682282)
+
+ plugins/mm-modem-mbm.c | 32 +--------
+ src/mm-generic-gsm.c | 188
+ ++++++++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 186 insertions(+), 34 deletions(-)
+
+commit 6d37c9b471a0813d18fec69f2c090434238a480e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 28 21:46:27 2010 -0600
+
+ core: +CIND indexes start at 1
+
+ src/mm-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2dd59c3dddb21eb5ca882735c5df6fce79802c4f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 28 21:34:00 2010 -0600
+
+ core: add index to CIND helper
+
+ src/mm-modem-helpers.c | 20 ++++++++++++++++----
+ src/mm-modem-helpers.h | 9 +++++----
+ src/tests/test-modem-helpers.c | 8 ++++----
+ 3 files changed, 25 insertions(+), 12 deletions(-)
+
+commit 9479c04aec1504f775d7a940698fcaf4eb78b8b9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 28 19:45:53 2010 -0600
+
+ core: add +CIND parsing helpers
+
+ src/mm-modem-helpers.c | 123
+ +++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 6 ++
+ src/tests/test-modem-helpers.c | 75 +++++++++++++++++++++++++
+ 3 files changed, 204 insertions(+)
+
+commit 5b34f40d1da7eeb1fcb3662a0c0d039a835204be
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 23 16:17:12 2010 -0600
+
+ docs: bump doc version to current MM prerelease version
+
+ introspection/all.xml | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 71eeae01a76e0a2b45eb2e1bdc3639900021c7f3
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Fri Nov 19 16:20:27 2010 -0600
+
+ mbm: add USB IDs for F5521gw
+
+ plugins/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 802a6f3a564d981f06042af0a3f36212805f599f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 10 13:16:19 2010 -0600
+
+ gsm: fix up CID signed/unsigned confusion
+
+ -1 = no APN set, so use modem default. We'll have to fix a few
+ more things up for modems like hso/mbm that don't use ATDT and
+ require CIDs, but this gets us halfway there for other devices.
+
+ plugins/mm-modem-hso.c | 2 +-
+ plugins/mm-modem-mbm.c | 5 +----
+ src/mm-generic-gsm.c | 2 +-
+ 3 files changed, 3 insertions(+), 6 deletions(-)
+
+commit bda86f553aefadb18a3dfa5795f1345c40a19738
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 9 08:46:27 2010 -0600
+
+ mbm: fix handling of unsolicited CIEV response
+
+ Rob McQueen saw a 10 here, which means SMS full. Handle that.
+
+ plugins/mm-modem-mbm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d2ab1d7f781acaa542cd763215be5bcf752be1eb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 8 10:24:26 2010 -0600
+
+ gsm: fix up USSD property exports
+
+ If the base class advertises that it implements an interface, it
+ really does need to implement all that interface's properties too.
+ Otherwise dbus-glib gets mad and can't look up the property
+ information
+ for D-Bus Introspection.
+
+ src/mm-generic-gsm.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 3c13d9aec86a310f7ac9ed2fef58500d5a3a720a
+Author: Guido Günther <agx@sigxcpu.org>
+Date: Fri Nov 5 14:50:50 2010 -0500
+
+ gsm: add preliminary USSD support (bgo #590798)
+
+ We currently convert to and from the modem's set charset and
+ always pass
+ '15' as the data coding scheme. Passing the correct data coding scheme
+ as third argument to CUSD only upsets the network. This contradicts
+ 3GPP
+ TS 23.038. Other tools like gsm-ussd handle it the same way.
+
+ Network responses that require further actions are not yet
+ implemented.
+
+ (some fixes and cleanups by Dan Williams)
+
+ policy/org.freedesktop.modem-manager.policy.in | 9 +
+ src/Makefile.am | 8 +-
+ src/mm-auth-provider.h | 1 +
+ src/mm-generic-gsm.c | 233 +++++++++++++++++-
+ src/mm-generic-gsm.h | 3 +
+ src/mm-modem-gsm-ussd.c | 321
+ +++++++++++++++++++++++++
+ src/mm-modem-gsm-ussd.h | 65 +++++
+ test/ussd.py | 27 +++
+ 8 files changed, 665 insertions(+), 2 deletions(-)
+
+commit 2a98b2ae2d2541e78fad4d931a84094f3b00773a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Nov 5 14:44:20 2010 -0500
+
+ core: add bin -> hex string converter
+
+ src/mm-utils.c | 14 ++++++++++++++
+ src/mm-utils.h | 2 ++
+ 2 files changed, 16 insertions(+)
+
+commit 6921a9f71d7d6b4cc60f7fa776d62ef8f814ec76
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Nov 5 14:03:44 2010 -0500
+
+ core: unconditionally enable the Location Services API
+
+ This required dbus-glib 0.86 or later, which was released 2010-03-24.
+
+ configure.ac | 14 +-------------
+ src/Makefile.am | 12 +++---------
+ src/mm-generic-gsm.c | 33 ---------------------------------
+ src/mm-generic-gsm.h | 2 --
+ 4 files changed, 4 insertions(+), 57 deletions(-)
+
+commit a2d54b1437ae3374b7c046d28186831051e44652
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Nov 3 10:03:51 2010 -0500
+
+ trivial: avoid build warning by using g_message() correctly
+
+ src/tests/test-modem-helpers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d63dcd682d3449b021f205af67dd0071e91cc56f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Oct 30 12:31:08 2010 -0500
+
+ sierra: check for PS attach before dialing
+
+ Some devices (8775 specifically) get angry if you don't check for
+ a PS attach before dialing. The next time they try to connect,
+ they'll continuously report "searching" as the registration status
+ and return CME ERROR 30 (No Network Service) for lots of requests.
+ So initiate a PS attach (which should return OK if the modem is
+ already attached) before dialing, and if that fails cancel the
+ dial attempt.
+
+ See
+ http://mail.gnome.org/archives/networkmanager-list/2010-October/msg00072.html
+
+ "I talked about this problem with a contact at SierraWireless. He
+ said that
+ a firmware upgrade will not help in this case. But what can help
+ is checking
+ for PS attach and dial only if PS attach status is attached. Dialing
+ without
+ PS attach can bring modem into unwanted condition that sometimes
+ restart is
+ needed to recover."
+
+ plugins/mm-modem-sierra-gsm.c | 59
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 59 insertions(+)
+
+commit 7f7f03a662946a10b45e5ab3c3eae2568fcb01f9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Oct 27 10:02:23 2010 -0500
+
+ release: update NEWS with changed stuff since 0.4
+
+ NEWS | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit 610a907d5cf222fc69476f1cd059eb22e1c1a32a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 25 21:18:10 2010 -0500
+
+ gsm: retry SIM ID if we didn't get it before card was enabled
+
+ src/mm-generic-gsm.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 6f809b589bd8619bf2d0659581389ac3c135d08b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 25 21:02:43 2010 -0500
+
+ gsm: request ICCID after checking the PIN status
+
+ Checking PIN status makes sure the SIM is initialized, and
+ that has to happen before we try to read the SIM for the
+ ICCID. So move PIN checking before getting the ICCID, and
+ retry the ICCID at least once for odd cards like Gobi 1K
+ that seems to need one more try right after it's done
+ booting up.
+
+ src/mm-generic-gsm.c | 309
+ +++++++++++++++++++++++++++------------------------
+ 1 file changed, 166 insertions(+), 143 deletions(-)
+
+commit f93e24dda3fa790ca9dd9a0471aa5fc26495a04c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 25 21:00:26 2010 -0500
+
+ sierra: fix ICCID requests
+
+ Depending on when the core requested the ICCID, the port may or may
+ not be open. Stuff that needs an open serial port needs to make sure
+ that the port gets opened itself.
+
+ plugins/mm-modem-sierra-gsm.c | 21 ++++++++++++++-------
+ 1 file changed, 14 insertions(+), 7 deletions(-)
+
+commit 1684d8b1734be69700a93a9995b99fac6ffb9763
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 25 17:41:08 2010 -0500
+
+ gsm: add SimIdentifier property
+
+ An obfuscated SimIdentifier that may be available before the PIN has
+ been entered, for use in auto-unlocking a device. If this value is
+ present, it should be used in preference to DeviceIdentifier as it
+ is SIM-specific like the PIN code.
+
+ introspection/mm-modem-gsm-card.xml | 8 ++
+ plugins/mm-modem-sierra-gsm.c | 74 ++++++++++++++
+ src/mm-generic-gsm.c | 198
+ +++++++++++++++++++++++++++++++++++-
+ src/mm-generic-gsm.h | 6 ++
+ src/mm-modem-gsm-card.c | 8 ++
+ src/mm-modem-gsm-card.h | 1 +
+ src/mm-serial-parsers.c | 7 ++
+ test/info.py | 15 ++-
+ 8 files changed, 312 insertions(+), 5 deletions(-)
+
+commit 46106660fe6aae1018f6f6c45281ccef837e78f8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 22 11:34:55 2010 -0500
+
+ core: print out modem hardware VID/PID and subsystem
+
+ src/mm-manager.c | 20 ++++++++++++++++++--
+ 1 file changed, 18 insertions(+), 2 deletions(-)
+
+commit 0ec4dbcc1aa5fdcfedb74619fab0fc93dc4c2f1d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 22 11:25:03 2010 -0500
+
+ trivial: fix formatting
+
+ src/tests/test-modem-helpers.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 91a58bbe3d6194abb3a92ba2e936c405ddc4ecdc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 22 11:20:16 2010 -0500
+
+ core: detect PCMCIA manfid and cardid
+
+ These aren't added to the udev device database by anything yet
+ (though they should be) so grab them manually.
+
+ src/mm-plugin-base.c | 33 ++++++++++++++++++++++++---------
+ 1 file changed, 24 insertions(+), 9 deletions(-)
+
+commit 7c410a8d08f146d983d360f7048f113aa8680cca
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 22 11:14:34 2010 -0500
+
+ core: strip "0x" off udev ID_VENDOR_ID and ID_MODEL_ID strings
+
+ src/mm-plugin-base.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit 7ae8ffe21b9e3bb350dac2f2d34d0711b3255d26
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 22 11:06:48 2010 -0500
+
+ core: use hardware IDs as part of DeviceIdentifier
+
+ Pass the device's hardware IDs through modem creation and use them
+ when calculating the device's identifier. Add a bunch of testcases
+ for real hardware to ensure we don't break the device ID in the
+ future unless we really want to.
+
+ plugins/mm-modem-anydata-cdma.c | 6 +-
+ plugins/mm-modem-anydata-cdma.h | 4 +-
+ plugins/mm-modem-gobi-gsm.c | 6 +-
+ plugins/mm-modem-gobi-gsm.h | 4 +-
+ plugins/mm-modem-hso.c | 6 +-
+ plugins/mm-modem-hso.h | 4 +-
+ plugins/mm-modem-huawei-cdma.c | 6 +-
+ plugins/mm-modem-huawei-cdma.h | 4 +-
+ plugins/mm-modem-huawei-gsm.c | 6 +-
+ plugins/mm-modem-huawei-gsm.h | 4 +-
+ plugins/mm-modem-longcheer-gsm.c | 6 +-
+ plugins/mm-modem-longcheer-gsm.h | 4 +-
+ plugins/mm-modem-mbm.c | 6 +-
+ plugins/mm-modem-mbm.h | 4 +-
+ plugins/mm-modem-moto-c-gsm.c | 6 +-
+ plugins/mm-modem-moto-c-gsm.h | 4 +-
+ plugins/mm-modem-nokia.c | 6 +-
+ plugins/mm-modem-nokia.h | 4 +-
+ plugins/mm-modem-novatel-cdma.c | 4 +-
+ plugins/mm-modem-novatel-cdma.h | 4 +-
+ plugins/mm-modem-novatel-gsm.c | 6 +-
+ plugins/mm-modem-novatel-gsm.h | 4 +-
+ plugins/mm-modem-option.c | 6 +-
+ plugins/mm-modem-option.h | 4 +-
+ plugins/mm-modem-sierra-cdma.c | 6 +-
+ plugins/mm-modem-sierra-cdma.h | 4 +-
+ plugins/mm-modem-sierra-gsm.c | 6 +-
+ plugins/mm-modem-sierra-gsm.h | 4 +-
+ plugins/mm-modem-simtech-gsm.c | 6 +-
+ plugins/mm-modem-simtech-gsm.h | 4 +-
+ plugins/mm-modem-x22x-gsm.c | 6 +-
+ plugins/mm-modem-x22x-gsm.h | 4 +-
+ plugins/mm-modem-zte.c | 6 +-
+ plugins/mm-modem-zte.h | 4 +-
+ plugins/mm-plugin-anydata.c | 10 +-
+ plugins/mm-plugin-generic.c | 14 +-
+ plugins/mm-plugin-gobi.c | 14 +-
+ plugins/mm-plugin-hso.c | 10 +-
+ plugins/mm-plugin-huawei.c | 14 +-
+ plugins/mm-plugin-longcheer.c | 14 +-
+ plugins/mm-plugin-mbm.c | 10 +-
+ plugins/mm-plugin-moto-c.c | 10 +-
+ plugins/mm-plugin-nokia.c | 14 +-
+ plugins/mm-plugin-novatel.c | 14 +-
+ plugins/mm-plugin-option.c | 10 +-
+ plugins/mm-plugin-sierra.c | 14 +-
+ plugins/mm-plugin-simtech.c | 14 +-
+ plugins/mm-plugin-x22x.c | 10 +-
+ plugins/mm-plugin-zte.c | 14 +-
+ src/mm-generic-cdma.c | 6 +-
+ src/mm-generic-cdma.h | 4 +-
+ src/mm-generic-gsm.c | 6 +-
+ src/mm-generic-gsm.h | 4 +-
+ src/mm-modem-base.c | 57 ++++++--
+ src/mm-modem-helpers.c | 32 +++--
+ src/mm-modem-helpers.h | 4 +-
+ src/mm-modem.c | 16 +++
+ src/mm-modem.h | 8 +-
+ src/mm-plugin-base.c | 18 ++-
+ src/tests/test-modem-helpers.c | 301
+ +++++++++++++++++++++++++++++++++++++++
+ 60 files changed, 716 insertions(+), 94 deletions(-)
+
+commit 328d2369a9dadfae786e4c524b5ff2fd0d1a9e17
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 21 16:57:37 2010 -0500
+
+ core: add DeviceIdentifier property
+
+ This is computed before any PIN is entered, and thus before we can
+ usually get IMEI or MEID/ESN out of the device in many cases. It's
+ therefore not the same as EquipmentIdentifier.
+
+ This is intended to be used by UI programs for matching devices with
+ PIN numbers for automatic unlocking. While the PIN number is actually
+ *SIM* specific, no modems allow access to the IMSI before the PIN is
+ entered, and thus we cannot actually match the PIN with the SIM. The
+ device ID is the next best thing we can use and should allow auto
+ unlocking in most cases.
+
+ introspection/mm-modem.xml | 12 +++++++
+ src/mm-generic-cdma.c | 44 ++++++++++++++++++++++++
+ src/mm-generic-gsm.c | 62 +++++++++++++++++++++++++---------
+ src/mm-modem-base.c | 83
+ +++++++++++++++++++++++++++++++++++++---------
+ src/mm-modem-helpers.c | 65 ++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 10 ++++++
+ src/mm-modem.c | 8 +++++
+ src/mm-modem.h | 4 ++-
+ test/info.py | 1 +
+ 9 files changed, 257 insertions(+), 32 deletions(-)
+
+commit 9fa20cd018ddbbcc95fd600ca140ac85661567bd
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Thu Oct 14 17:15:14 2010 -0500
+
+ mbm: add HP branded f3607gw and f3307 devices
+
+ plugins/77-mm-ericsson-mbm.rules | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 4cdaba31618bcfefa7fc184a90155ebe8f57a893
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 14 14:00:42 2010 -0500
+
+ cdma: clear error when getting state if no AT port is available
+
+ We don't care about the error if we have a QCDM port.
+
+ src/mm-generic-cdma.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit dd8a061d28ecaf286bfba3bdbd2a495c45cfb4a4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 14 10:22:59 2010 -0500
+
+ serial: make QCDM frame parsing more robust
+
+ Ensure that valid HDLC frames that are not valid QCDM frames
+ are correctly rejected, and that their data is correctly
+ discarded.
+
+ The core bug was that Sierra CnS frames have leading and trailing
+ HDLC frame terminator bytes (0x7E), and the code was incorrectly
+ treating the leading terminator as the end of a frame, not the
+ beginning. Thus it would consider the outstanding serial request
+ finished without actually parsing the response packet.
+
+ Now, we make sure we don't tell the serial receive code that
+ we have a full QCDM frame until we actually do have one, which is
+ at least 3 bytes + 0x7E.
+
+ src/mm-qcdm-serial-port.c | 107
+ ++++++++++++++++++++++++++++------------------
+ 1 file changed, 66 insertions(+), 41 deletions(-)
+
+commit 8a4f621245c7b5a1a06471260f5f75422e9098cc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 14 10:22:41 2010 -0500
+
+ core: add more QCDM frame marker testcases
+
+ src/tests/test-qcdm-serial-port.c | 157
+ +++++++++++++++++++++++++++-----------
+ 1 file changed, 112 insertions(+), 45 deletions(-)
+
+commit e16a58e54b18ac287d6e0596aff11386f02cb23b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 14 00:10:46 2010 -0500
+
+ core: add basic QCDM serial port unit tests
+
+ Test that a Version Info request/response works as expected, and
+ add a testcase for a bug where specific Sierra CnS responses to
+ the Version Info request do not properly return an error when
+ attempting to parse the response as a QCDM packet. Fix for the
+ second thing forthcoming.
+
+ .gitignore | 1 +
+ src/tests/Makefile.am | 20 +-
+ src/tests/test-qcdm-serial-port.c | 410
+ ++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 430 insertions(+), 1 deletion(-)
+
+commit 1dae1034849bd7a5110966f54e85f33383561161
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 14 00:10:18 2010 -0500
+
+ build: create convenience serial library
+
+ For better unit testing.
+
+ src/Makefile.am | 29 ++++++++++++++++++-----------
+ 1 file changed, 18 insertions(+), 11 deletions(-)
+
+commit 9956b06a4467a784f16a60b6fcfd5130e09591e6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 14 00:09:22 2010 -0500
+
+ core: add helper to create QCDM serial ports from a file descriptor
+
+ Aids in unit testing
+
+ src/mm-qcdm-serial-port.c | 17 +++++++++++++++++
+ src/mm-qcdm-serial-port.h | 2 ++
+ 2 files changed, 19 insertions(+)
+
+commit ad4e2fc65608d4f7d0bf829e5e618e4eb6f4ba01
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 14 00:08:14 2010 -0500
+
+ serial: allow creating serial ports with a given file descriptor
+
+ To enable better unit testing of MMSerialPort and subclasses
+ behavior.
+
+ src/mm-serial-port.c | 26 ++++++++++++++++++++++----
+ src/mm-serial-port.h | 1 +
+ 2 files changed, 23 insertions(+), 4 deletions(-)
+
+commit add7fa705caeba743742dbc0717dadaaf1274f73
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 14 00:07:25 2010 -0500
+
+ build: enable tests for 'make distcheck'
+
+ No idea why this wasn't done before...
+
+ Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 79ae78a740dd3c41bd0e71984acceb9bdb1be2b2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 14 00:00:44 2010 -0500
+
+ qcdm: add testcase to ensure that parsing Sierra CnS fails
+
+ Because CnS uses HDLC framing, but doesn't use CRC16, and thus
+ the decapsulation should fail because the CRC check fails.
+
+ libqcdm/tests/test-qcdm-utils.c | 20 ++++++++++++++++++++
+ libqcdm/tests/test-qcdm-utils.h | 2 ++
+ libqcdm/tests/test-qcdm.c | 1 +
+ 3 files changed, 23 insertions(+)
+
+commit a9152f21ff40f4515237c40c691e2b87511b0c41
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Oct 6 23:09:06 2010 -0500
+
+ huawei: fix potential double-free on error (rh #632516)
+
+ plugins/mm-plugin-huawei.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit acc4541ab31196fa2b6bbc60997c6b0d7e93392e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Oct 6 22:55:12 2010 -0500
+
+ zte: add more port tags
+
+ plugins/77-mm-zte-port-types.rules | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+commit 8935812da4bb468992876586215b68b159fcfdd4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Sep 28 10:20:11 2010 -0500
+
+ serial: kill serial port closing wait
+
+ This is the real fix for 81d0fd148f8c72a2e50b4e6fe82496daa28a91cc.
+
+ Some devices don't interact well with the option driver or the
+ usb-serial
+ layer; they don't respond to the USB data requests and thus data never
+ gets written to that port. When close(2) is called, that data
+ is still
+ pending and so the tty layer waits 30 seconds before returning from
+ the close. This is the 'closing_wait' value, which unfortunately is
+ not able to be modified by ModemManager because most serial drivers
+ for 3G devices don't implement the .ioctl handler or its TCIOSSERIAL
+ option to change closing_wait.
+
+ This goes along with a kernel patch to various drivers to enable
+ the TIOCSSERIAL ioctl to modify closing_wait which will be posted
+ soon.
+
+ src/mm-serial-port.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 81d0fd148f8c72a2e50b4e6fe82496daa28a91cc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 27 15:52:29 2010 -0500
+
+ core: better debugging of serial port open/close
+
+ Some devices don't interact well with the option drivr or the
+ usb-serial
+ layer; they don't respond to the USB data requests and thus data never
+ gets written to that port. When close(2) is called, that data
+ is still
+ pending and so the tty layer waits 30 seconds before returning from
+ the close. This is the 'closing_wait' value, which unfortunately is
+ not able to be modified by ModemManager because most serial drivers
+ for 3G devices don't implement the .ioctl handler or its TCIOSSERIAL
+ option to change closing_wait.
+
+ Print out open/close timestamps to help debug this issue and get a
+ list of modems that have this problem.
+
+ src/mm-serial-port.c | 38 ++++++++++++++++++++++++++++++++------
+ 1 file changed, 32 insertions(+), 6 deletions(-)
+
+commit 3c8c3f742525e045fee728a469c4da405f291f08
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 27 14:48:46 2010 -0500
+
+ test: add CGREG repsonse test for X220D
+
+ To test spaces between some members of the response.
+
+ src/tests/test-modem-helpers.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 618dc063101370205097f19ae47f730499b8431b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 22 16:07:58 2010 -0500
+
+ qcdm: remove shared-library-specific bits that aren't applicable
+
+ Since at this time libqcdm is statically linked into ModemManager.
+
+ libqcdm/src/Makefile.am | 3 ---
+ libqcdm/src/libqcdm.ver | 6 ------
+ 2 files changed, 9 deletions(-)
+
+commit 79f05cbceca5638dbfef48e5a50bc406ecca5074
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 22 16:04:25 2010 -0500
+
+ x22x: add simple plugin for Alcatel X220D
+
+ And possibly the X225 as well. Can't tell much about the modem and
+ what commands it supports other than AT+SYSSEL for mode selection.
+ The driver software and connection manager for Windows/Mac OS X are
+ written by JRD Communication in China, which is a subsidiary of
+ TCT, which makes Alcatel-branded phones and data sticks. But it
+ doesn't appear to be the same firmware as other Alcatel/T&A modems
+ like X060S and such which are supported by the Longcheer plugin.
+
+ plugins/77-mm-x22x-port-types.rules | 30 ++++++
+ plugins/Makefile.am | 24 ++++-
+ plugins/mm-modem-x22x-gsm.c | 205
+ ++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-x22x-gsm.h | 43 ++++++++
+ plugins/mm-plugin-x22x.c | 184
+ ++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-x22x.h | 41 ++++++++
+ 6 files changed, 525 insertions(+), 2 deletions(-)
+
+commit 49097b6de5daa63de84f16386825de5b17590fcc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Sep 21 14:56:47 2010 -0500
+
+ core: prefer CDMA capabilities over GSM for dual-mode devices
+ (bgo #621815)
+
+ For devices like the UMW190 that appear to be dual-mode without
+ needing a
+ firmware reload (unlike Gobis, which are dual-mode but require a
+ reboot with
+ different firwmare) prefer CDMA capabilities since that's where
+ these devices
+ will most likely be used more often. In the end we'll need to change
+ MM to
+ advertise a "capabilities" attribute on the modem class and modify
+ devices
+ such that they can implement both GSM and CDMA semantics at the
+ same time.
+
+ plugins/mm-plugin-generic.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 674a9412fe634a0417328fd66d0803f80441264b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Sep 20 15:40:20 2010 -0500
+
+ gsm: allow use of GSM 03.38 character set (bgo #627935)
+
+ It's only really used for phonebook and SMS PDU mode in the specs,
+ which we don't do yet, so if this is the only charset the device
+ supports we'll try to use it.
+
+ src/mm-generic-gsm.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 85f827ddffab7b320effdb02572e1751b62e2e60
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Sep 4 00:15:02 2010 -0500
+
+ trivial: remove unused code
+
+ src/tests/test-charsets.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 34709e0c7b8a1e7db4221343091bb8662d9814a3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Sep 4 00:07:09 2010 -0500
+
+ trivial: whitespace fixup
+
+ src/tests/test-charsets.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit ee4166f66fe2516cd5a92181f5f0e5618a862ee3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Sep 4 00:06:36 2010 -0500
+
+ gsm: add GSM 03.38 pack/unpack functions and testcases
+
+ src/mm-charsets.c | 77 +++++++++++++++++
+ src/mm-charsets.h | 10 +++
+ src/tests/test-charsets.c | 205
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 292 insertions(+)
+
+commit 9e94dd5b6124d00cf10d6296c7c9aa80f8f68d80
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Sep 2 19:29:05 2010 -0500
+
+ gsm: add GSM 03.38 encoding/decoding functions and testcases
+
+ .gitignore | 1 +
+ src/mm-charsets.c | 262
+ ++++++++++++++++++++++++++++++++++++++++++++--
+ src/mm-charsets.h | 6 +-
+ src/tests/Makefile.am | 13 ++-
+ src/tests/test-charsets.c | 119 +++++++++++++++++++++
+ 5 files changed, 389 insertions(+), 12 deletions(-)
+
+commit 85ce5446759092968c6540b9d842c5bc777abb74
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 1 17:31:49 2010 -0500
+
+ cdma: consolidate some code by ignoring +CMEE result
+
+ Most modems don't support it and we're ignoring the error message
+ anyway, so don't bother with a callback for its result.
+
+ src/mm-generic-cdma.c | 36 +++++++++++-------------------------
+ 1 file changed, 11 insertions(+), 25 deletions(-)
+
+commit 67d936e46cedfa3f9621946ac02156e8c15990e3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 1 17:20:57 2010 -0500
+
+ polkit: fix for polkit >= 0.97 (bgo #628105)
+
+ configure.ac | 4 ++++
+ src/mm-auth-provider-polkit.c | 27 ++++++++++++++++++++++++---
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+commit f3024b46b495ea81563d712059ca6fc0c40ea7c8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 1 10:51:22 2010 -0500
+
+ qcdm: add event reporting on/off command
+
+ Doesn't parse any events yet since we don't know what any events
+ are. We also need to fix up ModemManager to handle unsolicited
+ responses in the QcdmSerialPort class.
+
+ libqcdm/src/commands.c | 29 +++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 11 +++++++++++
+ libqcdm/src/dm-commands.h | 14 ++++++++++++++
+ libqcdm/tests/test-qcdm-com.c | 43
+ +++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 ++
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 100 insertions(+)
+
+commit 48aabcb60be8aed9822de373c14df01fead62ee3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 30 14:39:25 2010 -0500
+
+ test: add scan helper/tester
+
+ test/scan.py | 101
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 101 insertions(+)
+
+commit 37e4a0b1a88911ad21a792cda663a3e16cc855ee
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Aug 26 12:35:23 2010 -0500
+
+ gsm: ensure unlock retries is updated on incorrect PIN entry
+
+ If the modem returns an error (like "+CME ERROR: incorrect password"
+ or even just ERROR) make sure we recheck PIN status and thus also
+ recheck the number of unlock retries instead of just returning the
+ error to the caller.
+
+ src/mm-generic-gsm.c | 41 +++++++++++++++++++++++++++++++++--------
+ 1 file changed, 33 insertions(+), 8 deletions(-)
+
+commit 7657f138b3e635b0850e051064fd0323836dd7ec
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Aug 26 12:34:57 2010 -0500
+
+ core: clean up unlock retries info message
+
+ src/mm-modem-base.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit ee53c3c3c43f8af867808b39dd0ae44215535748
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 25 19:57:58 2010 -0500
+
+ qcdm: add bits for getting/setting the log mask
+
+ No code to actually start logging yet, just sets the mask.
+
+ libqcdm/src/commands.c | 102
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 19 ++++++++
+ libqcdm/src/dm-commands.h | 9 ++++
+ libqcdm/tests/test-qcdm-com.c | 59 ++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 192 insertions(+)
+
+commit 319424ccb39680a8d67869cadd5d54cf96ed1d86
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 18 16:12:53 2010 -0500
+
+ gsm: recognize Motorola EZX errors
+
+ Nobody seems to know what the number means, but at least recognize
+ them as errors.
+
+ src/mm-serial-parsers.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+commit d65c0269943a88821f0b57b03214efbe66923744
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 18 15:37:45 2010 -0500
+
+ gsm: Motorola EZX models quote CPIN response
+
+ src/mm-generic-gsm.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 48b8826cbd31ae5103b6ccfa194061650de368b8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 16 12:12:41 2010 -0500
+
+ qcdm: add Status Snapshot enum
+
+ libqcdm/src/commands.c | 8 +++++++
+ libqcdm/src/commands.h | 26 ++++++++++++++++++++++
+ libqcdm/src/dm-commands.h | 22 ++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.c | 52
+ +++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 108 insertions(+)
+
+commit 5388cf396e768e7c7d1b57f2c4fe67dc448d536f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 11 15:59:35 2010 -0500
+
+ core: work around dbus-glib property access bug (CVE-2010-1172)
+ (rh #585394)
+
+ More info:
+ https://bugzilla.redhat.com/show_bug.cgi?id=585394
+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1172
+
+ dbus-glib was not properly enforcing the 'access' permissions on
+ object properties exported using its API. There were 2 specific bugs:
+
+ 1) dbus-glib did not enforce the introspection read/write property
+ permissions, so if the GObject property definition allowed write
+ access (which is sometimes desirable), D-Bus clients could modify
+ that value even if the introspection said it was read-only
+
+ 2) dbus-glib was not filtering out GObject properties that were
+ not listed in the introspection XML. Thus, if the GObject defined
+ more properties than were listed in the introspection XML (which is
+ also often useful, and MM uses this quite a bit) those properties
+ would also be exposed to D-Bus clients.
+
+ To fix this completely, you need to:
+
+ 1) get dbus-glib master when the patch is commited, OR grab the
+ patch from https://bugzilla.redhat.com/show_bug.cgi?id=585394 and
+ build a new dbus-glib
+
+ 2) rebuild ModemManager against the new dbus-glib
+
+ configure.ac | 6 ++++++
+ src/main.c | 11 +++++++++++
+ 2 files changed, 17 insertions(+)
+
+commit be28089dc4c1b07d9def45a3c763f432ae8322c4
+Author: Vincent Untz <vuntz@gnome.org>
+Date: Mon Aug 9 10:31:45 2010 -0500
+
+ build: fix build with glib >= 2.25.12 (bgo #626421)
+
+ Work around an API break in glib.
+
+ libqcdm/tests/test-qcdm.c | 4 ++++
+ src/tests/test-modem-helpers.c | 4 ++++
+ 2 files changed, 8 insertions(+)
+
+commit ed9e056987a0d786178571aa859964badc043453
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Aug 6 01:32:03 2010 -0500
+
+ cdma: determine EVDO registration even when in 1X mode
+
+ Sometimes the primary mode will be 1X (and thus the Call Manager
+ will report 1X system mode) but the HDR subsystem will be registered
+ and idle. Figure that out and report that EVDO is registered too
+ in that case, since the modem will just flip over to EVDO when
+ the data call starts.
+
+ src/mm-generic-cdma.c | 149
+ ++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 109 insertions(+), 40 deletions(-)
+
+commit a96e53368dfabf20f1bc3b8aecba2a64d60e198b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Aug 6 01:16:11 2010 -0500
+
+ tests: handle random failures of some tests more gracefully
+
+ Not all devices support everything; a Huawei EC168C fails to
+ read the mode preference, and a Pantech PX-500 fails to read
+ the roam preference NV item.
+
+ libqcdm/tests/test-qcdm-com.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit dbbac27f1ef518fca0b7aefe9c73cace82c3a5a4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Aug 5 22:50:32 2010 -0500
+
+ qcdm: add generic status snapshot command support
+
+ libqcdm/src/commands.c | 38 +++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 22 ++++++++++++++++
+ libqcdm/src/dm-commands.h | 23 ++++++++++++++++
+ libqcdm/tests/test-qcdm-com.c | 61
+ ++++++++++++++++++++++++++++++++++++++-----
+ libqcdm/tests/test-qcdm-com.h | 2 ++
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 140 insertions(+), 7 deletions(-)
+
+commit 52f9c721d3f7201ca2f8ad6461cbb5fd8e50d822
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Aug 5 22:13:51 2010 -0500
+
+ core: add SPC lock error
+
+ libqcdm/src/commands.c | 7 +++++++
+ libqcdm/src/error.c | 1 +
+ libqcdm/src/error.h | 1 +
+ 3 files changed, 9 insertions(+)
+
+commit b4d3ab014d5587b80858f314e53e596ed70ebdbf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Aug 5 22:10:33 2010 -0500
+
+ build: use automake silent rules
+
+ configure.ac | 1 +
+ marshallers/Makefile.am | 4 ++--
+ plugins/Makefile.am | 2 +-
+ src/Makefile.am | 16 ++++++++--------
+ 4 files changed, 12 insertions(+), 11 deletions(-)
+
+commit 7e2d63d2c20a6ad540d4bb1e404f001b9f47a360
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 4 02:18:37 2010 -0500
+
+ zte: add more port tags
+
+ plugins/77-mm-zte-port-types.rules | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit 15a4592ef94ffd279282c7dc892cf4c49e170223
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 20 12:53:05 2010 -0700
+
+ novatel: fix distcheck
+
+ plugins/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit d18fbaa1c73a88b6f36437fbf712134c8aad5238
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 20 12:30:38 2010 -0700
+
+ gsm: ensure invalid operator names don't get used (rh #597088)
+
+ Apparently g_convert() can still return garbage that's not valid in
+ the character set you're converting to (???). But even if we don't
+ need to convert the operator name, make sure it's valid UTF-8 before
+ we go shoving it through D-Bus.
+
+ src/mm-charsets.c | 14 ++++++++++++--
+ src/mm-generic-gsm.c | 22 ++++++++++++++++------
+ 2 files changed, 28 insertions(+), 8 deletions(-)
+
+commit e239bf15bb9787d15c429824b1e1176c35e978b6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 19 16:19:59 2010 -0700
+
+ core: handle shadow properties on the MmPropertiesChanged interface
+
+ Need to emit the D-Bus API property name, not the GObject property
+ name for a few things on the Location interface.
+
+ src/mm-generic-gsm.c | 6 +++++
+ src/mm-modem-base.c | 4 +++
+ src/mm-properties-changed-signal.c | 55
+ +++++++++++++++++++++++++++-----------
+ src/mm-properties-changed-signal.h | 5 ++--
+ 4 files changed, 52 insertions(+), 18 deletions(-)
+
+commit 56665c19af431234ebe1b22cff9f0f9b9fb3d02f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jul 9 12:35:36 2010 -0700
+
+ nokia: N900 appears to need a longer port delay (rh #583691)
+
+ plugins/mm-modem-nokia.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit fe2145ddc407a81a0282e5729fd806ca8f80a735
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jul 9 15:24:42 2010 -0700
+
+ test: add modem info helper
+
+ test/Makefile.am | 8 +-
+ test/info.py | 248
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 255 insertions(+), 1 deletion(-)
+
+commit 6f40ecbed52645915f458dc0b2b3a5e8779d9b22
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jul 2 16:57:28 2010 -0700
+
+ novatel: detect CDMA home/roaming status
+
+ plugins/mm-modem-novatel-cdma.c | 115
+ ++++++++++++++++++++++++++++++++++++++++
+ src/mm-generic-cdma.c | 9 ++++
+ src/mm-generic-cdma.h | 4 ++
+ 3 files changed, 128 insertions(+)
+
+commit dbc7f3d2976cca680183aa4d6163b06445f07502
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jul 2 15:34:05 2010 -0700
+
+ novatel: fix S720 signal quality reporting
+
+ plugins/mm-modem-novatel-cdma.c | 29 +++++++++++++++++++++--------
+ 1 file changed, 21 insertions(+), 8 deletions(-)
+
+commit 88ee478bb659e6660b3bca1e8f2bd45b667a603b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 29 22:47:40 2010 -0700
+
+ gsm: implement location API
+
+ Depends on dbus-glib 0.86 + this patch:
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=28835
+
+ Still have to do the bits that allow plugins to add other
+ location capabilities, but that can come later.
+
+ src/mm-generic-gsm.c | 347
+ +++++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-generic-gsm.h | 20 ++-
+ src/mm-modem-location.c | 5 +-
+ src/mm-modem-location.h | 7 +-
+ test/location.py | 57 ++++++++
+ 5 files changed, 400 insertions(+), 36 deletions(-)
+
+commit 655bf7a9faf6125760bc109d9f4f38ce9143a82b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 29 22:36:11 2010 -0700
+
+ api: fix up location method flag name
+
+ introspection/mm-modem-location.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1c2df96f8d5f768db3c63d70778be0f2da8f2ac0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 29 22:24:00 2010 -0700
+
+ test: add some simple testing utilities
+
+ test/disable.py | 27 +++++++++++++++++++++++++++
+ test/enable.py | 27 +++++++++++++++++++++++++++
+ test/list-modems.py | 54
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 108 insertions(+)
+
+commit 6e79d153efc30fb2030536f7f795c19ad4a0661a
+Merge: 72a1a6ca 5fc9f259
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 24 11:09:33 2010 -0700
+
+ Merge remote branch 'origin/master' into creg
+
+commit 5fc9f259e253fc32510eca8fbd42416706fe0db6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 24 09:19:55 2010 -0700
+
+ trivial: print out useful debugging info before asserting
+
+ src/mm-manager.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+commit 48dbece33cb187196e69f4ff058c93a43a071ac4
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Wed Jun 23 16:39:13 2010 -0700
+
+ mbm: add factory reset support
+
+ plugins/mm-modem-mbm.c | 54
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 54 insertions(+)
+
+commit 89c572e59d736e273576987ccde91f62ce6f4ce5
+Author: David Rochberg <rochberg@google.com>
+Date: Tue Jun 22 17:47:07 2010 -0700
+
+ core: add FactoryReset method
+
+ Cleanups and authorization checks by me (dcbw).
+
+ introspection/mm-modem.xml | 11 +++++++++
+ src/mm-modem.c | 57
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem.h | 10 ++++++++
+ 3 files changed, 78 insertions(+)
+
+commit 88c538314aab99775c4b496170785d588e60ac6f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 22 17:14:13 2010 -0700
+
+ core: EquipmentIdentity -> EquipmentIdentifier
+
+ introspection/mm-modem.xml | 4 ++--
+ src/mm-generic-cdma.c | 2 +-
+ src/mm-generic-gsm.c | 2 +-
+ src/mm-modem-base.c | 40 +++++++++++++++++++---------------------
+ src/mm-modem-base.h | 6 +++---
+ src/mm-modem.c | 6 +++---
+ src/mm-modem.h | 4 ++--
+ 7 files changed, 31 insertions(+), 33 deletions(-)
+
+commit 8873c0a7dc6cd02fa487092aeb889464b4dc752d
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Tue Jun 22 16:50:21 2010 -0700
+
+ gsm: add GetOperatorID method
+
+ Returns the ID of the operator that issued the SIM card.
+
+ Cleanups and get_mnc_length_done() by me (dcbw).
+
+ introspection/mm-modem-gsm-card.xml | 14 +++++
+ src/Makefile.am | 4 +-
+ src/mm-charsets.c | 57 +----------------
+ src/mm-generic-gsm.c | 122
+ +++++++++++++++++++++++++++++++++++-
+ src/mm-modem-gsm-card.c | 54 ++++++++++++++++
+ src/mm-modem-gsm-card.h | 8 +++
+ src/mm-plugin-base.c | 36 ++---------
+ src/mm-utils.c | 78 +++++++++++++++++++++++
+ src/mm-utils.h | 24 +++++++
+ 9 files changed, 309 insertions(+), 88 deletions(-)
+
+commit e442b3b7f13c7a7277b15f0b0cdf5175f4da22f6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 22 14:37:20 2010 -0700
+
+ cdma: implement EquipmentIdentity for CDMA devices
+
+ src/mm-generic-cdma.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 42 insertions(+), 1 deletion(-)
+
+commit 52929a2c926eee99e401765446c8f7a9168b38db
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Tue Jun 22 14:36:49 2010 -0700
+
+ core: add modem EquipmentIdentity property to report IMEI/ESN/MEID
+
+ introspection/mm-modem.xml | 7 ++++++
+ src/mm-generic-gsm.c | 43 ++++++++++++++++++++++++++++++++++++
+ src/mm-modem-base.c | 54
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-base.h | 5 +++++
+ src/mm-modem.c | 8 +++++++
+ src/mm-modem.h | 4 +++-
+ 6 files changed, 120 insertions(+), 1 deletion(-)
+
+commit c95216e575b1740bf8e28005b36d327da578c44d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 22 14:06:13 2010 -0700
+
+ huawei: add support for UnlockRetries
+
+ plugins/mm-modem-huawei-gsm.c | 147
+ +++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 146 insertions(+), 1 deletion(-)
+
+commit f179a56908f62f59f5e1419d562e5b9219cfbe7d
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Tue Jun 22 14:05:09 2010 -0700
+
+ gsm: add UnlockRetries property
+
+ Which reports the # of attempts remaining for the current PIN required
+ by the device or SIM.
+
+ Some modifications/cleanups by dcbw.
+
+ introspection/mm-modem.xml | 7 ++++
+ plugins/mm-modem-mbm.c | 96
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-generic-gsm.c | 38 ++++++++++++++++++
+ src/mm-modem-base.c | 47 +++++++++++++++++++++++
+ src/mm-modem-base.h | 6 +++
+ src/mm-modem-gsm-card.c | 28 ++++++++++++++
+ src/mm-modem-gsm-card.h | 17 ++++++++
+ src/mm-modem.c | 8 ++++
+ src/mm-modem.h | 4 +-
+ 9 files changed, 249 insertions(+), 2 deletions(-)
+
+commit adfe264b67ba28effd3fb8378cbcbe2081f6ed49
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 22 01:58:54 2010 -0700
+
+ core: ensure claimed ports don't fall back to Generic (rh #597296)
+
+ Found by jklimes. If some plugin already supports this port, it's
+ pointless to let Generic figure out if it supports the port since
+ we're just going to hand it to the other plugin anyway.
+
+ src/mm-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a60216f5f44d4ead2fd36a129dee789d2941b02e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 22 01:58:41 2010 -0700
+
+ huawei: use g_timeout_add_seconds()
+
+ plugins/mm-plugin-huawei.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 597f691eb8b12450d8f895f7a25d724eeba6c277
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jun 22 00:55:47 2010 -0700
+
+ gsm: fix handling of SMS options
+
+ src/mm-modem-gsm-sms.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ea955f64c5ce562a1a73e05d227113e7383c8f58
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jun 16 10:33:09 2010 -0700
+
+ release: bump version to 0.4
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 962a6b0939cd4b3ea7306492cb25f88b77668ef5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 10 10:41:10 2010 -0700
+
+ core: return errors to outstanding requests when serial ports
+ are closed
+
+ Prevents crashes when the callback info completes when the modem is
+ removed, plus it's the right thing to do anyway...
+
+ src/mm-serial-port.c | 19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+commit 164e5dfd498d2e746014cacbd3cc1a5bbf8528d1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 7 22:26:20 2010 -0700
+
+ release: bump version to 0.3.998 (0.4-beta2)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 72a1a6caf67a15655ade8dc5eed4f94f86107171
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 7 22:21:01 2010 -0700
+
+ gsm: use PS registration status if CS isn't available
+
+ Some devices (Blackberries) always respond to AT+CREG with ERROR,
+ but will respond to AT+CGREG normally. Ugh. Handle that by
+ using the PS registration status from AT+CGREG if we don't have
+ a valid CS registration status at all.
+
+ src/mm-generic-gsm.c | 160
+ ++++++++++++++++++++++++++++++++++++---------------
+ src/mm-generic-gsm.h | 6 ++
+ 2 files changed, 120 insertions(+), 46 deletions(-)
+
+commit f4bfd9410680f268bc739f46020a0adb5c41c8e3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 4 19:07:39 2010 -0700
+
+ api: fix U1900 flag description
+
+ From David Rochberg <rochberg@google.com>
+
+ introspection/mm-modem-gsm.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d5b8019d66870ed98d58095fa6b173a880fd3966
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 26 11:43:06 2010 -0700
+
+ serial: fix cleanup of flash function (rh #591728)
+
+ The flash function could be called when the port was closed, and since
+ the flash function would only be canceled when the port was open,
+ it could trigger after the port object was destroyed.
+
+ src/mm-errors.c | 1 +
+ src/mm-errors.h | 1 +
+ src/mm-serial-port.c | 16 ++++++++++++----
+ 3 files changed, 14 insertions(+), 4 deletions(-)
+
+commit 6c3ae7d8fd3665eab02aab014c5ea46809312a29
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 25 15:24:47 2010 -0700
+
+ gsm: print simple connect state when debugging
+
+ src/mm-generic-gsm.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit 437c4ea8d97157ab704befef223db2d5921e92df
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 25 15:24:27 2010 -0700
+
+ test: add a few more CREG/CGREG responses
+
+ src/tests/test-modem-helpers.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+commit ccd2b7241cfc923fe90bb6e32bf6daf2137c50d7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 25 14:33:27 2010 -0700
+
+ gsm: list simple-connect properties when debugging
+
+ src/mm-generic-gsm.c | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+commit d960a8677894355df0a40848878f8f45bbec362b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 21 09:47:54 2010 -0700
+
+ release: bump version to 0.3.997 (0.4-beta1)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit afebde48683392ccf54f9bd901ab5ac471e94dcb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 21 09:43:47 2010 -0700
+
+ build: print version on startup and add dist-version
+
+ Distributions should set dist-version at build time with the
+ package version and revision, so for RPM-based distros you'd
+
+ --with-dist-version=%{version}-%{release}
+
+ which will be printed out on MM startup to help debugging.
+
+ configure.ac | 8 ++++++++
+ src/main.c | 9 +++++++--
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+commit c311c3419cce6cd6c9ce87fd321b4fbbe6666e6d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu May 20 12:05:50 2010 -0700
+
+ simtech: fix unsolicited access technology parsing
+
+ plugins/mm-modem-simtech-gsm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 481b6539b46d9d96cb0bf7f59c1238c4cb9f9620
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 19 23:33:33 2010 -0700
+
+ api: revise and simplify Location spec
+
+ Simplify the NMEA type and add GPS raw for generic GPS data.
+
+ introspection/mm-modem-location.xml | 89
+ +++++++++++++++++++++++++++----------
+ 1 file changed, 65 insertions(+), 24 deletions(-)
+
+commit ef747c63855be5df3648057ad5fc161e9554bdba
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 18 13:17:49 2010 -0700
+
+ sierra: rework CDMA roaming and registration parsing
+
+ There were a few problems:
+
+ 1) If SysMode is present, the registration state it reports should
+ be authoritative, but if there was a valid SID the plugin would
+ report 'registered' even if SysMode was NO SRV
+
+ 2) Turns out that some devices report the roaming values as ERIs,
+ not plain yes/no as we thought; reported ERI was being mis-parsed
+ as a boolean value.
+
+ plugins/mm-modem-sierra-cdma.c | 102
+ +++++++++++++++++++++++++----------------
+ 1 file changed, 62 insertions(+), 40 deletions(-)
+
+commit 9cbd68e96ccd9bdb32d28548ec34027d3add88c5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 18 13:04:43 2010 -0700
+
+ cdma: return numeric ERI too
+
+ src/mm-generic-cdma.c | 2 +-
+ src/mm-modem-helpers.c | 4 ++++
+ src/mm-modem-helpers.h | 1 +
+ 3 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 533ffaddc4f09ae2d75a7b092ffe0dd7f8151487
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 18 12:24:42 2010 -0700
+
+ cdma: make ERI parsing generic
+
+ src/mm-generic-cdma.c | 4 +++-
+ src/mm-modem-helpers.c | 10 ++++------
+ src/mm-modem-helpers.h | 6 +++---
+ 3 files changed, 10 insertions(+), 10 deletions(-)
+
+commit 40a4a1d774fc62a43d3b49bbaec728caf0ebba37
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 18 10:13:04 2010 -0700
+
+ simtech: fix plugin build
+
+ plugins/Makefile.am | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit bb4fdef18c1a016734208279895f651c06d11a38
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 18 10:09:13 2010 -0700
+
+ build: default to ppp 2.4.5 headers
+
+ 2.4.5 has been out for a long time and fixes a number of bugs
+ including
+ the DNS bug. Use it.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 4fd85c14a12d08bac03c7955e70e904760a1348c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon May 17 23:18:09 2010 -0700
+
+ simtech: add plugin for Simtech-based modems (like A-Link 3GU)
+
+ plugins/77-mm-simtech-port-types.rules | 29 ++
+ plugins/Makefile.am | 21 +-
+ plugins/mm-modem-simtech-gsm.c | 471
+ +++++++++++++++++++++++++++++++++
+ plugins/mm-modem-simtech-gsm.h | 43 +++
+ plugins/mm-plugin-simtech.c | 189 +++++++++++++
+ plugins/mm-plugin-simtech.h | 41 +++
+ 6 files changed, 793 insertions(+), 1 deletion(-)
+
+commit 6a663c3a48ee3ce12cda2fa9ceeb1e15a90ae745
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Mon May 17 21:59:58 2010 -0700
+
+ mbm: catch *E2NAP error codes too
+
+ plugins/mm-modem-mbm.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 15962279a333d60e3eda6001fb8c836eadd9f542
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon May 17 21:56:45 2010 -0700
+
+ mbm: (trivial) line ending change?
+
+ No idea what git thinks is different about these two lines, they
+ strcmp() the same.
+
+ plugins/mm-modem-mbm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 03ae419b003f35eb1b4f4ba0955eb6586009ecd7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 12 12:48:02 2010 -0700
+
+ gsm: more leniency in +CGDCONT parsing (bgo #617873)
+
+ See also d5ca82eade4c341a18a72e6f16c9db4ee34be4d5
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 52f8ead7c08e95498096591800eab7558fe3353e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 11 12:22:47 2010 -0700
+
+ trivial: fix comment
+
+ plugins/mm-modem-longcheer-gsm.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b8f0f403499b185c7bd37a19e8bbf907344ac904
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 7 13:56:23 2010 -0700
+
+ core: fix memory leaks
+
+ Since MMModem is an interface and doesn't store stuff like the
+ modem's physdev internally (since it's an interface) these things
+ are handled via GObject properties. And since g_object_get()
+ returns allocated values, we need to free the returned value
+ from mm_modem_get_device() after we're done with it.
+
+ src/mm-manager.c | 36 +++++++++++++++++++++---------------
+ src/mm-modem-base.c | 7 +++++--
+ src/mm-modem.c | 5 ++++-
+ 3 files changed, 30 insertions(+), 18 deletions(-)
+
+commit e855922b4b6f9f712e91732db1104dbb22faa0e8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 7 13:50:16 2010 -0700
+
+ cdma: fix handling of empty QCDM frames
+
+ src/mm-qcdm-serial-port.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d0d847c65a7073ecdced95b69548bf97c7af14f6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 7 13:36:56 2010 -0700
+
+ gsm: try PDP context deactivation on the second port first
+
+ There are some cases where flashing the primary port doesn't work
+ either due to stupid modem firmware or crappy kernel drivers. So
+ if we have a secondary port, try sending the PDP deactivation
+ command to the secondary port first, and if that fails send it
+ to the primary port after the primary port gets flashed. This
+ increases the chances that the +CGACT request will be successful.
+
+ Some modems (Huawei, ZTE) don't like +CGACT on the secondary port,
+ but when that fails, the code falls back to previous behavior of
+ flashing and sending CGACT to the primary port.
+
+ src/mm-generic-gsm.c | 106
+ +++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 86 insertions(+), 20 deletions(-)
+
+commit 0f6f381e87f81fca3e9808a1fbdfbdbe2fea42e0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 7 11:16:57 2010 -0700
+
+ qcdm: generic functions for band_class/prev conversion
+
+ libqcdm/src/commands.c | 137
+ ++++++++++++++++++++++++-------------------------
+ 1 file changed, 67 insertions(+), 70 deletions(-)
+
+commit d5ca82eade4c341a18a72e6f16c9db4ee34be4d5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu May 6 16:04:15 2010 -0700
+
+ gsm: be more lenient in +CGDCONT parsing (bgo #617873)
+
+ Some phones like the T630 don't put a space after the ':'.
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fb965695eca76594b1717c2a25c66d456594509e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 7 04:58:22 2010 -0700
+
+ qcdm: add Novatel Modem Snapshot command support
+
+ libqcdm/src/commands.c | 154
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 68 +++++++++++++++++++
+ libqcdm/src/dm-commands.h | 84 +++++++++++++++++++++--
+ libqcdm/tests/test-qcdm-com.c | 138 ++++++++++++++++++++++++++++++++++++-
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 438 insertions(+), 9 deletions(-)
+
+commit 14442c1a5b00906986a8f703dda9eee8c6947514
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri May 7 02:06:48 2010 -0700
+
+ qcdm: add comment
+
+ libqcdm/src/dm-commands.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 425c28dfc1d24126feab432609f2c525069d577e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu May 6 15:28:43 2010 -0700
+
+ longcheer: handle TAMobile/Alcatel X060s vendor ID too
+
+ These are Longcheer-based devices, but the vendor ID is different.
+ We had tagged the X060s' ports in the rules but never updated the
+ plugin to handle the different vendor ID.
+
+ plugins/mm-plugin-longcheer.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 246817fe546490df8e6f5e4e85cc93e01927bda4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 5 15:49:33 2010 -0700
+
+ serial: fix possible segfault handing port-full signals
+
+ The argument passed to the handler is a GByteArray, not a
+ GString. Encountered with Option iCON Icera-based devices,
+ but could also be possible with Sierra devices.
+
+ src/mm-plugin-base.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9a6aa0c10d8354a646daf49db4ec2b99383839aa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 5 15:47:14 2010 -0700
+
+ option/hso: eat +PACSP0 unsolicited response
+
+ Interfered with initial PIN checking in some cases.
+
+ plugins/mm-modem-hso.c | 4 ++++
+ plugins/mm-modem-option.c | 10 +++++++++-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+commit f63188eb261e631f929a6c47feb85b8ed9985856
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed May 5 01:04:20 2010 -0700
+
+ core: log modem data port
+
+ src/mm-manager.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 885bc90be91f44f4e2aeb837f40aafcce3089789
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 4 17:33:04 2010 -0700
+
+ gsm/cdma: fix data port assignment (rh #587400)
+
+ QCDM ports should never be the data port; 'net' ports take precedence
+ over AT ports too. Clarify that.
+
+ src/mm-generic-cdma.c | 14 ++++++++++----
+ src/mm-generic-gsm.c | 16 +++++++++++-----
+ 2 files changed, 21 insertions(+), 9 deletions(-)
+
+commit 26a3fe3f53b4a053035ea4f1c1a67eed7fe2761f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 4 17:31:22 2010 -0700
+
+ trivial: use property name constant
+
+ src/mm-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 13b82e5d1c4d456fa1a0a4f6ee8f9adb0abb8a17
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 4 17:31:01 2010 -0700
+
+ trivial: tweak debug message
+
+ src/mm-modem-base.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 565d9343f6705b34d9f53c4a2404f681553dce19
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 4 16:58:44 2010 -0700
+
+ core: print out port type when port is claimed
+
+ src/mm-modem-base.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 0c3961441b0f7820a928e24c4063110494bdab9f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue May 4 16:58:18 2010 -0700
+
+ core: add port type -> string conversion helper for debuggin messages
+
+ src/mm-port.c | 20 ++++++++++++++++++++
+ src/mm-port.h | 2 ++
+ 2 files changed, 22 insertions(+)
+
+commit f0e0861aa4d823418695dc8096dffebb26c29849
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat May 1 22:44:00 2010 -0700
+
+ longcheer: add support for access technology and allowed modes
+
+ plugins/Makefile.am | 4 +-
+ plugins/mm-modem-longcheer-gsm.c | 222
+ +++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-longcheer-gsm.h | 43 ++++++++
+ plugins/mm-plugin-longcheer.c | 9 +-
+ 4 files changed, 273 insertions(+), 5 deletions(-)
+
+commit da8cf4a7c2931eee9c0ff44b07e4044bb796600b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat May 1 22:42:58 2010 -0700
+
+ gsm: use generic string -> access technology helper
+
+ plugins/mm-modem-novatel-gsm.c | 29 ++++++-----------------------
+ plugins/mm-modem-sierra-gsm.c | 29 ++++++-----------------------
+ plugins/mm-modem-zte.c | 30 ++----------------------------
+ 3 files changed, 14 insertions(+), 74 deletions(-)
+
+commit 576992966857091c86d58a542dc991d1a44d7769
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat May 1 22:41:33 2010 -0700
+
+ helpers: add generic helper for string -> access technology
+
+ src/mm-modem-helpers.c | 31 +++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 3 +++
+ 2 files changed, 34 insertions(+)
+
+commit de5f1bd4e99549e95b449c3e058a3db4808e31a7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat May 1 22:34:59 2010 -0700
+
+ core: clear error before use
+
+ src/mm-serial-port.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4c3eedd955e3389b5636243d0ca3d85e7aeb1273
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat May 1 11:15:49 2010 -0700
+
+ longcheer: add more Zoom product tags (4595, 4596, etc)
+
+ plugins/77-mm-longcheer-port-types.rules | 35
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit c6cb5acfe172a9111d6ef111052e496a1f97d073
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 30 00:44:24 2010 -0700
+
+ gsm: periodically poll access technology too
+
+ Not all devices support unsolicited responses for access technology,
+ so lets poll it periodically along with registration state and
+ signal quality.
+
+ src/mm-generic-gsm.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit de86b71b3d0376d7483dff2ac21cfe701f35ac42
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 30 00:35:30 2010 -0700
+
+ zte: fix getting GSM allowed mode
+
+ plugins/mm-modem-zte.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 30473ce7c9868528faf05923b676e23da9c19137
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 30 00:32:54 2010 -0700
+
+ novatel: implement allowed modes and access technology
+
+ plugins/mm-modem-novatel-gsm.c | 216
+ ++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 215 insertions(+), 1 deletion(-)
+
+commit bfe3dd49edb2c89fee01c141c8c7eec490b665d5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 29 21:15:17 2010 -0700
+
+ core: refcount serial port open/close
+
+ This specifically fixes a regression with Novatel GSM secondary
+ AT port enablement, where the inital pin check closed the port
+ before the Novatel plugin could send the command to flip secondary
+ ports to AT mode.
+
+ But it's useful elsewhere too, and simplifies a bunch of the PIN
+ checking code which had to use various ugly methods to track whether
+ to close the port or not after checking the PIN.
+
+ plugins/mm-modem-novatel-gsm.c | 5 +--
+ src/mm-generic-cdma.c | 6 ++--
+ src/mm-generic-gsm.c | 80
+ ++++++++++++++++-------------------------
+ src/mm-serial-port.c | 82
+ +++++++++++++++++++++++++++++++-----------
+ src/mm-serial-port.h | 8 ++++-
+ 5 files changed, 106 insertions(+), 75 deletions(-)
+
+commit 26a51d6ab9a7bc70840e8a1d30f5e3bb777d9f25
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 29 19:40:41 2010 -0700
+
+ gsm: try both CREG and CGREG during initial registration checking
+
+ Some devices (Blackberries via DUN) appear to always return an error
+ for AT+CREG, which is valid in some cases. If that happens lets also
+ try AT+CGREG too, which on these devices responds with the correct
+ packet data registration state.
+
+ src/mm-generic-gsm.c | 19 +++++++++++++++++--
+ 1 file changed, 17 insertions(+), 2 deletions(-)
+
+commit a13becc225c8ed0347f00447d937804a6666f0bc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 29 18:59:11 2010 -0700
+
+ core: timestamp debug statements
+
+ src/mm-at-serial-port.c | 8 +++++++-
+ src/mm-modem.c | 21 +++++++++++++++++----
+ src/mm-port.c | 11 +++++++++++
+ src/mm-qcdm-serial-port.c | 8 +++++++-
+ 4 files changed, 42 insertions(+), 6 deletions(-)
+
+commit fbfb7f895362331532e9cc4d7f02c8ffcf6b061e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 29 18:57:49 2010 -0700
+
+ novatel: let generic CDMA class handle signal strength while connected
+
+ Instead of returning an unhelpful error when there isn't a second
+ AT port (which there never will be for Novatel CDMA devices) we should
+ let the superclass handle the request.
+
+ plugins/mm-modem-novatel-cdma.c | 11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+commit 1864d8da0766e615c37a13f30bcacb72d381aa69
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Apr 29 12:17:56 2010 -0700
+
+ core: add platform device support and whitelist
+
+ src/77-mm-platform-serial-whitelist.rules | 14 ++++++++++++++
+ src/Makefile.am | 3 ++-
+ src/mm-manager.c | 18 ++++++++++++++++--
+ 3 files changed, 32 insertions(+), 3 deletions(-)
+
+commit 921048b12e1e8203cbff6dfbe43e833ea6bb8232
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Thu Apr 29 11:28:19 2010 -0700
+
+ mbm: add Dell 5541 and 5542
+
+ plugins/77-mm-ericsson-mbm.rules | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit a4c094c340e0c93149a4e9042db4a88f9800467f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Apr 24 23:44:35 2010 -0700
+
+ core: fix serial error #defines
+
+ Should have ERROR in them.
+
+ plugins/mm-modem-hso.c | 2 +-
+ plugins/mm-modem-mbm.c | 6 ++----
+ plugins/mm-modem-zte.c | 2 +-
+ src/mm-errors.c | 10 +++++-----
+ src/mm-errors.h | 8 ++++----
+ src/mm-plugin-base.c | 6 +++---
+ src/mm-serial-port.c | 16 ++++++++--------
+ 7 files changed, 24 insertions(+), 26 deletions(-)
+
+commit b9bb12a01e0fd0251475622cf2adc3ca04ba7bd0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Apr 24 23:40:24 2010 -0700
+
+ core: flash failure on disconnect shouldn't be a hard error (rh
+ #578280)
+
+ plugins/mm-modem-zte.c | 2 +-
+ src/mm-errors.c | 1 +
+ src/mm-errors.h | 3 ++-
+ src/mm-generic-cdma.c | 6 +++---
+ src/mm-generic-gsm.c | 6 +++---
+ src/mm-plugin-base.c | 2 +-
+ src/mm-serial-port.c | 18 ++++++++++++++----
+ src/mm-serial-port.h | 1 +
+ 8 files changed, 26 insertions(+), 13 deletions(-)
+
+commit 411051b1f37d16d8fa0866e7a1bee0a553029956
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Apr 24 23:16:45 2010 -0700
+
+ mbm: add Sony Ericsson MD400 device IDs
+
+ plugins/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 01cb6360f8bdf9b7d844257938f7bb2a016f404c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Apr 24 23:12:16 2010 -0700
+
+ cdma: prevent crash on modem removal (rh #571921)
+
+ src/mm-generic-cdma.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 44deca2c5a9b7414d2e65fc62f87f67df3066810
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 9 19:38:22 2010 -0700
+
+ core: blacklist Gemplus smarcard reader (bgo #608022)
+
+ src/77-mm-pcmcia-device-blacklist.rules | 10 ++++++++++
+ src/Makefile.am | 3 ++-
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+commit 78c232c2d1901aee15a2d304e838443c9b1d37ba
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 9 19:32:47 2010 -0700
+
+ core: actually ignore blacklisted devices
+
+ src/mm-manager.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 387b64a92bc480f949e647509772644a72e93e5a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 9 19:22:19 2010 -0700
+
+ core: allow blacklisting various devices (rh #544121) (bgo #608022)
+
+ src/77-mm-usb-device-blacklist.rules | 66
+ ++++++++++++++++++++++++++++++++++++
+ src/Makefile.am | 9 ++++-
+ 2 files changed, 74 insertions(+), 1 deletion(-)
+
+commit c96e7367001032b83a1f8313bf88c76623b68fc9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 9 19:03:03 2010 -0700
+
+ test: fix lsudev crash
+
+ test/lsudev.c | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+commit 41ca10e92d08c06602ae08790329878c2152b9b3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 9 17:33:22 2010 -0700
+
+ core: get correct PCMCIA master device
+
+ The master device of PCMCIA-provided ports is typically the
+ last device in the PCMCIA subsystem, because the PCMCIA
+ controller is usually a PCI device or some other subsystem.
+
+ src/mm-manager.c | 22 +++++++++++++++++++++-
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+
+commit da74f6d8ec1c6dbec227f3c0679eb3e25a510277
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 9 17:10:57 2010 -0700
+
+ gsm: recheck modem lock status a few times after sending unlock
+ request (bgo #613490)
+
+ Some devices (ZTE MF110 for example) respond immediately to the unlock
+ request, but in reality take a bit of time before they are actually
+ unlocked. Check PIN status a few times after sending the unlock.
+
+ src/mm-generic-gsm.c | 54
+ +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 53 insertions(+), 1 deletion(-)
+
+commit 0d381e2f11cbc3bdb7c7e69bc4c7169a9d247d3c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Apr 9 13:50:45 2010 -0700
+
+ gsm: fix CSCS=? parsing and add testcases
+
+ Some devices (at least one Blackberry we know about) don't include
+ the () around the response. Handle that and add testcases for it.
+
+ src/Makefile.am | 6 ++--
+ src/mm-charsets.c | 21 ++++++------
+ src/mm-generic-gsm.c | 37 ++--------------------
+ src/mm-modem-helpers.c | 72
+ ++++++++++++++++++++++++++++++++++++------
+ src/mm-modem-helpers.h | 4 +++
+ src/tests/test-modem-helpers.c | 66
+ ++++++++++++++++++++++++++++++++++++++
+ 6 files changed, 151 insertions(+), 55 deletions(-)
+
+commit b51a9d27e5a793b4e33bfdd7999e7204c408f154
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 7 15:11:32 2010 -0700
+
+ gsm: don't require +CMEE=1 success
+
+ Some devices apparently don't like it (even though it's required
+ in the standards) and since we can deal without it, don't require
+ +CMEE=1 to complete successfully.
+
+ src/mm-generic-gsm.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit 7aeac2f64628cb99ad35e113c36cc69df6aa9a07
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 7 15:04:32 2010 -0700
+
+ mbm: fix getting current allowed mode
+
+ plugins/mm-modem-mbm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f3dd034aadd16d42f93a682b15a7801537e89d7d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 5 18:46:53 2010 -0700
+
+ cdma: fix subclass registration state checking in error paths
+ (rh #569067)
+
+ The generic CDMA superclass already checks minimal registration state,
+ and when some of the additional query_registration_state() subclass
+ checks
+ were being performed, if the device returned an error (if it didn't
+ support
+ the subclass' specific registration command like *STATE or ^SYSINFO)
+ the
+ superclass' registration state checks would be thrown away.
+
+ Fix that by specifying the behavior of the subclass'
+ query_registration_state() methods to ignore most errors and leave the
+ superclass' registration state intact if a non-critical error occurs.
+
+ plugins/mm-modem-anydata-cdma.c | 45 +++--------
+ plugins/mm-modem-huawei-cdma.c | 26 +++----
+ plugins/mm-modem-sierra-cdma.c | 8 +-
+ src/mm-generic-cdma.c | 168
+ ++++++++++++++++++++++++----------------
+ src/mm-generic-cdma.h | 26 +++++++
+ 5 files changed, 153 insertions(+), 120 deletions(-)
+
+commit 49c363d83af84021f74f04c8141313d21e75821b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 5 12:26:12 2010 -0700
+
+ core: fix handling of deferred ports during probe
+
+ The next plugin logic was wrong when a previous plugin had already
+ claimed support for the port and the Generic plugin was next. In
+ that case, the code failed to call the functions to actually grab
+ the port.
+
+ src/mm-manager.c | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+commit 0108a36d27b84dee2bf1934f6d5403b7d683099a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 5 12:01:54 2010 -0700
+
+ serial: let port subclasses handle their own debug logging
+
+ We want to print out QCDM messages as hex, not ASCII. So let
+ each port type print out it's own communication as it wants to.
+
+ src/mm-at-serial-port.c | 32 ++++++++++++++++++++++++++++++++
+ src/mm-qcdm-serial-port.c | 19 +++++++++++++++++++
+ src/mm-serial-port.c | 36 ++++--------------------------------
+ src/mm-serial-port.h | 5 +++++
+ 4 files changed, 60 insertions(+), 32 deletions(-)
+
+commit bac945a8e4c1176d75f6c7d6622a516f673aaf65
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 5 11:15:09 2010 -0700
+
+ core: fix supports check for last plugin (rh #579247)
+
+ Since Generic is always last, it was getting ignored by this
+ off-by-one bug caused by a previous patch.
+
+ src/mm-manager.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit a55265f03a378dd34df1e509b76888a18e0b434f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 5 10:47:14 2010 -0700
+
+ gsm: clean up periodic poll start/stop and poll signal strength
+
+ src/mm-generic-gsm.c | 41 +++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 37 insertions(+), 4 deletions(-)
+
+commit 7da2b5cb6aa16531f1d6b9ea905442338c858ebd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 5 10:38:39 2010 -0700
+
+ cdma: clean up periodic poll start/stop
+
+ And fix a small bug where polling wasn't started for the ENABLED
+ state.
+
+ src/mm-generic-cdma.c | 27 +++++----------------------
+ 1 file changed, 5 insertions(+), 22 deletions(-)
+
+commit 9112180f8ad36ee7da5eeb6012709c278a4e113b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Apr 5 09:58:12 2010 -0700
+
+ cdma: periodically poll registration state and quality
+
+ src/mm-generic-cdma.c | 70
+ +++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 62 insertions(+), 8 deletions(-)
+
+commit 2f1fbfb52039813283add147f79f287d6dc3f3df
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Apr 4 09:17:08 2010 -0700
+
+ core: only enable location API for dbus-glib >= 0.86
+
+ configure.ac | 15 +++++++++++++++
+ src/Makefile.am | 23 ++++++++++++++++-------
+ src/mm-modem-location.c | 10 ++++++++++
+ 3 files changed, 41 insertions(+), 7 deletions(-)
+
+commit f39afdd5f7c5d6ed56dd7a00ddb13de12dcda5b8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 31 20:24:12 2010 -0700
+
+ qcdm: fix endian issues for BE platforms
+
+ And add a testcase for packet encapsulation to ensure we don't
+ have further endian issues in the future.
+
+ libqcdm/src/utils.c | 8 +++++---
+ libqcdm/tests/test-qcdm-utils.c | 27 +++++++++++++++++++++++++--
+ libqcdm/tests/test-qcdm-utils.h | 2 ++
+ libqcdm/tests/test-qcdm.c | 1 +
+ 4 files changed, 33 insertions(+), 5 deletions(-)
+
+commit 4d89b519b4c889859a84780a18dbb2f12c9a9438
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 31 03:05:22 2010 -0700
+
+ core: don't advance to next plugin until needed
+
+ Otherwise info->cur_plugin is wrong (and therefore we left uncleared
+ supports tasks in MMPluginBase) when the port isn't supported by
+ the plugin, but it's parent modem device was supported by the plugin.
+ Like when all probing of the port fails but one of it's siblings has
+ already been claimed by a modem; in this case we just drop the port
+ (so that no other plugin could try to claim it, because only one
+ plugin is allowed to handle all a modem's ports) but we still need
+ to tell the parent modem's plugin to clean up the supports task.
+
+ src/mm-manager.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit 40a713be6f8e8a40be7a72f674db5f105c59e8a2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 23:36:08 2010 -0700
+
+ core: pass try_supports_port() the existing modem
+
+ src/mm-manager.c | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+commit 4753f7360b7809e4efc62bcff6d5d1194524b83f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 23:28:26 2010 -0700
+
+ core: don't re-export modems after
+ db413acc4e9d364e1c4ecdde0da3fade012912ab
+
+ If a port is found by the kernel after the modem is already exported,
+ make sure we don't re-export the modem after the tardy port is
+ handled.
+
+ src/mm-manager.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit d2e12742c4bbeb093634f8257f7c009722e633cf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 17:28:13 2010 -0700
+
+ cdma: use best active pilot EC/IO for signal strength when connected
+
+ If the modem doesn't have two AT ports (so one can be used for AT+CSQ
+ while connected) get the 1x active pilot's EC/IO and use that for
+ signal strength.
+
+ src/mm-generic-cdma.c | 81
+ ++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 77 insertions(+), 4 deletions(-)
+
+commit db413acc4e9d364e1c4ecdde0da3fade012912ab
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 16:06:55 2010 -0700
+
+ core: only export modems when all ports are handled
+
+ A modem is now only exported to D-Bus when both of the following
+ are true:
+
+ 1) the modem is valid
+ 2) all ports the modem provides have been handled by appropriate
+ plugins
+
+ This ensures that all the modem's ports are completely ready before
+ any clients can do anything with it. In the case of CDMA modems with
+ QCDM ports, this allows the QCDM ports to be detected before exporting
+ the modem. Since the QCDM detection comes after AT probing,
+ previously
+ this resulted in a CDMA modem getting exported to clients before
+ we had
+ a QCDM port to query for registration status.
+
+ src/mm-manager.c | 196
+ ++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 152 insertions(+), 44 deletions(-)
+
+commit df08f6a43ff8acc617f7330d25450a3a62809ffb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 15:03:35 2010 -0700
+
+ core: find the existing modem for a port in the manager
+
+ src/mm-manager.c | 10 +++++++++-
+ src/mm-plugin-base.c | 50
+ ++++----------------------------------------------
+ src/mm-plugin-base.h | 3 ---
+ src/mm-plugin.c | 5 ++++-
+ src/mm-plugin.h | 4 ++++
+ 5 files changed, 21 insertions(+), 51 deletions(-)
+
+commit 720e38aec0a50aa2136f01b7f3620a4e261c0406
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 14:50:40 2010 -0700
+
+ core: move physical device checking into the manager
+
+ It turns out that the manager needs to know about the physical
+ device so we can prevent multiple plugins from claiming ports on
+ the same modem.
+
+ plugins/mm-plugin-anydata.c | 11 +----
+ plugins/mm-plugin-generic.c | 11 +----
+ plugins/mm-plugin-gobi.c | 11 +----
+ plugins/mm-plugin-hso.c | 11 +----
+ plugins/mm-plugin-huawei.c | 11 +----
+ plugins/mm-plugin-longcheer.c | 11 +----
+ plugins/mm-plugin-mbm.c | 34 ++++++++-----
+ plugins/mm-plugin-moto-c.c | 11 +----
+ plugins/mm-plugin-nokia.c | 11 +----
+ plugins/mm-plugin-novatel.c | 11 +----
+ plugins/mm-plugin-option.c | 11 +----
+ plugins/mm-plugin-sierra.c | 11 +----
+ plugins/mm-plugin-zte.c | 11 +----
+ src/mm-manager.c | 109
+ +++++++++++++++++++++++++++++++++++-------
+ src/mm-plugin-base.c | 77 +++++++----------------------
+ src/mm-plugin-base.h | 9 +---
+ src/mm-plugin.c | 9 +++-
+ src/mm-plugin.h | 2 +
+ 18 files changed, 164 insertions(+), 208 deletions(-)
+
+commit 39326f249105b7d71c63125f29e3bee2143a82d2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 01:01:53 2010 -0700
+
+ cdma: use DM for serving system if possible
+
+ src/mm-generic-cdma.c | 85
+ +++++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 72 insertions(+), 13 deletions(-)
+
+commit a7e7854171e5029e43b2442c9e25814b59cd7c67
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 00:57:15 2010 -0700
+
+ qcdm: don't fail testcase on unknown mode pref values
+
+ EC168C has a value of 0x16 for mode pref, which is unknown. But
+ that shouldn't fail the testcases.
+
+ libqcdm/tests/test-qcdm-com.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 41c2e0a946f6d0d14805cdea60d5d03ec67f3fb2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 00:48:55 2010 -0700
+
+ qcdm: add CM subsystem digital only mode preference
+
+ Found on the Huawei EC121.
+
+ libqcdm/src/commands.h | 1 +
+ libqcdm/tests/test-qcdm-com.c | 3 +++
+ 2 files changed, 4 insertions(+)
+
+commit fc33616ae2101f679f9be6c58e0a8e620d63d8f3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 00:38:14 2010 -0700
+
+ qcdm: fix testcases for various devices
+
+ Huawei EC121 doesn't implement the MDN NV item, and we're also missing
+ some values for the CM subsystem mode pref enum.
+
+ libqcdm/tests/test-qcdm-com.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 0ae176c63c8686cd3a86b7933be5ae3546782475
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 00:32:05 2010 -0700
+
+ qcdm: add Pilot Set retrieval for signal strength calculations
+
+ Determined from various sources including RTManager and
+ "Technical Introduction to CDMA" (Course RF100 Chapter 7).
+
+ libqcdm/src/commands.c | 122
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 28 ++++++++++
+ libqcdm/src/dm-commands.h | 16 ++++++
+ libqcdm/tests/test-qcdm-com.c | 54 +++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 223 insertions(+)
+
+commit cff40ac4724780e73f47af4f17cba952ab1ed680
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 30 00:29:31 2010 -0700
+
+ qcdm: allow result objects to hold boxed types
+
+ libqcdm/src/result-private.h | 10 ++++++++++
+ libqcdm/src/result.c | 44
+ +++++++++++++++++++++++++++++++++++++++++++-
+ 2 files changed, 53 insertions(+), 1 deletion(-)
+
+commit 71c6fa79f77a5475d03e276ddd782decf1f00fa4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 29 16:42:53 2010 -0700
+
+ qcdm: fix CRC checking on some packets
+
+ Should be pointing to the CRC location in the *unescaped* packet
+ buffer since the CRC is subject to escaping/unescaping. Previous
+ code pointed to the wrong location in the escaped packet buffer,
+ which was often pointing to the write place if there weren't many
+ escaped bytes in the input buffer, but was still wrong.
+
+ libqcdm/src/utils.c | 2 +-
+ libqcdm/tests/Makefile.am | 2 ++
+ libqcdm/tests/test-qcdm-utils.c | 63
+ +++++++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-utils.h | 24 ++++++++++++++++
+ libqcdm/tests/test-qcdm.c | 2 ++
+ 5 files changed, 92 insertions(+), 1 deletion(-)
+
+commit 2f099e2964040e5499f332a892352f148f5b0177
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 29 00:23:07 2010 -0700
+
+ qcdm: complete Version Info command fields
+
+ Found in RTManager
+
+ libqcdm/src/dm-commands.h | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit a98fa8a4b3419a233b80ff88da40b515afa9cb1c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 29 00:08:46 2010 -0700
+
+ qcdm: fix up CDMA Status command fields and values
+
+ Found in two sources:
+ a) Руководство пользования тестером
+ CDMA-450
+ b) RTManager
+
+ libqcdm/src/commands.c | 3 +++
+ libqcdm/src/commands.h | 22 +++++++++++++----
+ libqcdm/src/dm-commands.h | 18 ++++++++++----
+ libqcdm/tests/test-qcdm-com.c | 56
+ +++++++++++++++++++++++++++++++++++++++++--
+ 4 files changed, 87 insertions(+), 12 deletions(-)
+
+commit 98e8108ac2a2fe4d5fab254b07170ae3ffeb0ad4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 28 23:39:19 2010 -0700
+
+ qcdm: update CM subsys system modes
+
+ libqcdm/src/commands.h | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 4d426ebbbd210795e31869225f895257c3546112
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 28 09:30:16 2010 -0700
+
+ gsm: only set auto registration if the modem isn't idle (related:
+ bgo #591047)
+
+ Some modems (Huawei E1552) appear to have problems with auto
+ registration
+ in some circumstances that we don't yet fully understand, such
+ that when
+ AT+COPS=0 is sent they never end up registering with the correct
+ network.
+ As a minor workaround, if the modem is already registered with
+ a provider
+ and the user hasn't specified manual registration, don't set auto
+ registration but let the modem figure it out itself.
+
+ See (bgo #591047) for more details.
+
+ src/mm-generic-gsm.c | 33 ++++++++++++++++++++++++++++-----
+ 1 file changed, 28 insertions(+), 5 deletions(-)
+
+commit fe69ab4210bfacda97257b6a08e85f6ce433f7d0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 28 09:12:17 2010 -0700
+
+ huawei: ensure modem ports get claimed even if probe fails
+
+ Previously there was an issue where if the probe failed, because
+ we can't really probe huawei secondary ports for various reasons,
+ the Generic plugin would eventually come around and try actively
+ probing the secondary port after the Huawei plugin said "I don't
+ support this port". Which resulted (potentially) in two MMModem
+ objects for the same device (one driven by Huawei, the other by
+ Generic).
+
+ plugins/mm-plugin-huawei.c | 24 ++++++++++++++++++------
+ 1 file changed, 18 insertions(+), 6 deletions(-)
+
+commit b876182fe60401eae86267f8cf1c6726a7a0eddc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 26 01:27:49 2010 -0700
+
+ zte: implement GSM solicited access technology request
+
+ plugins/mm-modem-zte.c | 97
+ +++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 77 insertions(+), 20 deletions(-)
+
+commit 23986f8b0e8ff10ac2946e30290b79f3b4e4af8e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 26 01:15:20 2010 -0700
+
+ huawei: implement GSM solicited access technology request
+
+ plugins/mm-modem-huawei-gsm.c | 91
+ +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 91 insertions(+)
+
+commit a50708dbeaea06e71ac96d2cc9d48257ed12f993
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 26 00:27:30 2010 -0700
+
+ sierra: implement GSM solicited access technology request
+
+ plugins/mm-modem-sierra-gsm.c | 64
+ ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 63 insertions(+), 1 deletion(-)
+
+commit 3d12055818d31b0fa08425d33cf43f50e0439333
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 26 00:16:24 2010 -0700
+
+ gsm: ensure solicited access technology is valid before using it
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 843a772b4c1f65f4c04d1382a4b1ee69e8fcf22c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 26 00:14:47 2010 -0700
+
+ option/hso: implement solicited access technology request
+
+ plugins/mm-modem-hso.c | 9 +++
+ plugins/mm-modem-option-utils.c | 130
+ ++++++++++++++++++++++++++++++++--------
+ plugins/mm-modem-option.c | 9 +++
+ 3 files changed, 124 insertions(+), 24 deletions(-)
+
+commit a83dcdba8a154e32e7112434a96f588dac3303f1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 26 00:14:23 2010 -0700
+
+ gsm: update access technology on successful registration
+
+ src/mm-generic-gsm.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 4dbc2f2e9b840e34c23a56ab698799a9b9c3195b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 25 13:47:30 2010 -0700
+
+ gsm: fix wrong comparison
+
+ Bug didn't have much of an effect, but should be fixed anyway.
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0b9c173fe97cca9f57ef9fe3b9fcbd08e10becbc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 23 14:37:01 2010 -0700
+
+ core: assume +CPIN "READY" response indicates GSM capability
+ (rh #573510)
+
+ Assume (for now) that devices that respond to AT+CPIN without an
+ error are GSM devices. This may not be 100% true as some devices
+ in Asia (where CDMA devices use RUIMs which are basically SIMs)
+ support
+ +CPIN for unlocking the RUIM, but since CDMA devices more consistently
+ implement AT+GCAP and ATI than we should be safe for a while.
+
+ src/mm-plugin-base.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit e7d1e4adb9bf984736ae2bfadbdd616ebc6ade80
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 23 02:10:58 2010 -0700
+
+ cdma: use DM Call Manager for registration status if available
+
+ This should solve problems with users who's providers are EVDO
+ only and thus the device isn't in 1X mode, but who's modems
+ don't set anything meaningful for CAD or CSS when the 1X radio
+ isn't registered. Previously, MM would just spin thinking it
+ wasn't registered when trying to connect.
+
+ This was mostly found with AnyDATA, Huawei, and some ZTE devices
+ from Russia and India.
+
+ src/mm-generic-cdma.c | 84
+ +++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 82 insertions(+), 2 deletions(-)
+
+commit bcfb75d88de4679d1ca2dfc65395c49315534ec0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 23 01:36:00 2010 -0700
+
+ core: grab probed QCDM ports for plugins where they are useful
+
+ plugins/mm-plugin-anydata.c | 19 ++++++++++++-------
+ plugins/mm-plugin-generic.c | 17 +++++++++++------
+ plugins/mm-plugin-gobi.c | 10 ++++------
+ plugins/mm-plugin-huawei.c | 4 ++++
+ plugins/mm-plugin-longcheer.c | 15 +++++++++------
+ plugins/mm-plugin-moto-c.c | 20 ++++++++++++--------
+ plugins/mm-plugin-nokia.c | 10 ++++------
+ plugins/mm-plugin-novatel.c | 17 +++++++++++------
+ plugins/mm-plugin-option.c | 13 +++++++------
+ plugins/mm-plugin-sierra.c | 11 ++++-------
+ plugins/mm-plugin-zte.c | 17 ++++++++++-------
+ src/mm-generic-cdma.c | 26 +++++++++++++++++++++++---
+ src/mm-generic-gsm.c | 13 +++++++++++--
+ src/mm-modem-base.c | 10 +++++++---
+ src/mm-plugin-base.c | 4 ++--
+ src/mm-port.h | 3 ++-
+ 16 files changed, 133 insertions(+), 76 deletions(-)
+
+commit c36aacee0a287f1d9b7365fd79a48555b92e1356
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 22 22:28:36 2010 -0700
+
+ qcdm: use tcsetattr/tcgetattr for better compatibility
+
+ With Alpha, mainly.
+
+ libqcdm/src/com.c | 17 ++++++++---------
+ 1 file changed, 8 insertions(+), 9 deletions(-)
+
+commit 76130862ed0aefce244e98a740c826a3452857e6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 22 15:41:14 2010 -0700
+
+ core: cleanly disable modems on shutdown
+
+ src/main.c | 10 +++++++++
+ src/mm-manager.c | 65
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-manager.h | 4 ++++
+ 3 files changed, 79 insertions(+)
+
+commit 9e8a0fda9fb63e7db824e5d86fd3b99d52974327
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 22 15:05:45 2010 -0700
+
+ option/hso: ensure unsolicited messages get turned off on disable
+
+ plugins/mm-modem-hso.c | 42 +++++++++++++++++++++++++---------
+ plugins/mm-modem-option-utils.c | 31 ++++++++++++++++++++-----
+ plugins/mm-modem-option.c | 50
+ ++++++++++++++++++++++++++++++++++++-----
+ 3 files changed, 102 insertions(+), 21 deletions(-)
+
+commit 7a5ba2e0990753b3e41a9fc3a95f743dec4f7160
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 22 15:03:58 2010 -0700
+
+ option/hso: make use of unsolicited access technology signals
+
+ plugins/mm-modem-option-utils.c | 141
+ +++++++++++++++++++++++++++-------------
+ 1 file changed, 96 insertions(+), 45 deletions(-)
+
+commit 282ba6561e078b533ed4a38b77a36e23181c04ca
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 22 14:56:47 2010 -0700
+
+ gsm: fix argument validation in SetAllowedMode
+
+ src/mm-modem-gsm-network.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 6ab36bacf3a940beb9c452197726650f53842329
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 22 13:03:53 2010 -0700
+
+ qcdm: add ZTE signal strength request
+
+ libqcdm/src/commands.c | 37 +++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 12 ++++++++++++
+ libqcdm/src/dm-commands.h | 15 +++++++++++++++
+ libqcdm/tests/test-qcdm-com.c | 36 ++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 ++
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 103 insertions(+)
+
+commit 7fbe4d83830ded45d7e2c2d71f22fa78e221226c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 22 00:28:21 2010 -0700
+
+ cdma: check SPSERVICE and SPERI when getting registration state
+
+ src/mm-generic-cdma.c | 130 +++++++++++++++++++++------
+ src/mm-modem-helpers.c | 233
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 4 +
+ 3 files changed, 342 insertions(+), 25 deletions(-)
+
+commit 3b32e2a679f37b3913a12097581b065013d91f47
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 21 17:50:45 2010 -0700
+
+ cdma: check for +SPSERVICE and $SPERI
+
+ Which are Sprint-specific commands which appear to be implemented by
+ various phones for getting access technology and roaming status.
+
+ src/mm-generic-cdma.c | 26 ++++++++++++++++++++++++++
+ src/mm-modem-helpers.c | 37 +++++++++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 6 ++++++
+ 3 files changed, 69 insertions(+)
+
+commit 6598d2ef7f501feb799652db0ebaf25e4cba1a45
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 21 17:48:19 2010 -0700
+
+ core: parse the right thing on QCDM version info response
+
+ src/mm-plugin-base.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 96f5400cc92589f6419b9dc961d7c3cff97f7f2a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 21 17:47:15 2010 -0700
+
+ core: fix error when unescaping QCDM packet fails
+
+ src/mm-qcdm-serial-port.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit f3e660444c70ea35bdb7f6358301450ec15d0140
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 20 00:58:14 2010 -0700
+
+ core: fix 64-bit build error in QCDM packet decapsulation
+
+ src/mm-qcdm-serial-port.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 88c1423838938397d983823b57b614b386d0b5b3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 20 03:53:44 2010 -0700
+
+ qcdm: clarify note about CM state vs. roam/mode pref values
+
+ libqcdm/src/commands.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit c03556f820797584a4657e7c214afa0b7762bd7d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 20 03:53:31 2010 -0700
+
+ qcdm: fix up testcase output
+
+ libqcdm/tests/test-qcdm-com.c | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+commit 2e62a2e0a61d3de8ce809203c98b3890f627b9b9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 20 03:39:10 2010 -0700
+
+ core: probe ports for QCDM capability too
+
+ src/mm-plugin-base.c | 141
+ +++++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-plugin-base.h | 1 +
+ 2 files changed, 131 insertions(+), 11 deletions(-)
+
+commit 418ba174dc4aa1a3b34d191684cf04dbe9d45b2f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 20 03:38:54 2010 -0700
+
+ qcdm: fix decapsulation buffer size calculation
+
+ src/mm-qcdm-serial-port.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ff2182fe1d1fdc6817835839c062129d1adb629d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 20 02:57:33 2010 -0700
+
+ core: let partial serial responses be consumed by the handlers
+
+ src/mm-at-serial-port.c | 4 +++-
+ src/mm-qcdm-serial-port.c | 32 +++++++++++++++++++++++++-------
+ src/mm-serial-port.c | 18 ++++++++++--------
+ src/mm-serial-port.h | 5 +++--
+ 4 files changed, 41 insertions(+), 18 deletions(-)
+
+commit 4006ca4decaec051aa4449977d92f96545b3aa88
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 20 02:28:01 2010 -0700
+
+ qcdm: better checking of NV read/write command results
+
+ libqcdm/src/commands.c | 51
+ +++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 40 insertions(+), 11 deletions(-)
+
+commit c4a1a78c43a1c207f1b2d38411912fe4883025e1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 20 00:09:38 2010 -0700
+
+ qcdm: complete mode preference implementation
+
+ libqcdm/src/commands.c | 102
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 33 ++++++++++++++
+ libqcdm/src/nv-items.h | 1 -
+ libqcdm/tests/test-qcdm-com.c | 56 +++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 194 insertions(+), 1 deletion(-)
+
+commit 26c1402aaee740cd27bd477d2ecf10ee3e8377b7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 19 19:18:02 2010 -0700
+
+ qcdm: add initial roaming and mode preference bits
+
+ libqcdm/src/commands.c | 127
+ +++++++++++++++++++++++++++++++++++++++++-
+ libqcdm/src/commands.h | 43 ++++++++++++++
+ libqcdm/src/error.c | 1 +
+ libqcdm/src/error.h | 3 +-
+ libqcdm/src/nv-items.h | 30 ++++++++++
+ libqcdm/tests/test-qcdm-com.c | 74 +++++++++++++++++++++++-
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 8 files changed, 276 insertions(+), 5 deletions(-)
+
+commit 5897d8f27516ba7510c3828eab9a9374fac9020f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 19 11:09:43 2010 -0700
+
+ gsm: PIN2 doesn't block enabling either
+
+ Again, only required for various dialing features we don't deal with
+ yet.
+
+ src/mm-generic-gsm.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit f5f388c7fd6d41a03447b710fc644d98efcabb0a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 19 11:05:05 2010 -0700
+
+ gsm: use new callback info chain functions for simple status
+
+ src/mm-generic-gsm.c | 27 ++++-----------------------
+ 1 file changed, 4 insertions(+), 23 deletions(-)
+
+commit 85fc71818e3f3058cf256aaab1ba269a424a27f8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 19 11:01:19 2010 -0700
+
+ core: have modem base class handle card information
+
+ src/mm-generic-cdma.c | 115 +++++----------------------
+ src/mm-generic-gsm.c | 103 +++++--------------------
+ src/mm-modem-base.c | 209
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-base.h | 17 ++++
+ 4 files changed, 266 insertions(+), 178 deletions(-)
+
+commit 4558df894bb20a121ee1d2942c206b5bfde2c030
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 19 10:57:01 2010 -0700
+
+ helpers: add generic response stripping function
+
+ src/mm-modem-helpers.c | 16 ++++++++++++++++
+ src/mm-modem-helpers.h | 2 ++
+ 2 files changed, 18 insertions(+)
+
+commit 6ca5765eb63e1cb0374489607b255feeca8e2ba7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 19 10:54:10 2010 -0700
+
+ core: add chaining helper functions to callback info
+
+ Helpful when chaining a number of commands together when you want
+ to schedule the callback info only after all of them complete.
+
+ src/mm-callback-info.c | 23 +++++++++++++++++++++++
+ src/mm-callback-info.h | 6 ++++++
+ 2 files changed, 29 insertions(+)
+
+commit bb62cfe07a47189645da985cc02b47549611aa01
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 18 18:08:23 2010 -0700
+
+ core: add base location API implementation
+
+ policy/org.freedesktop.modem-manager.policy.in | 9 +
+ src/Makefile.am | 7 +-
+ src/mm-auth-provider.h | 1 +
+ src/mm-modem-location.c | 320
+ +++++++++++++++++++++++++
+ src/mm-modem-location.h | 73 ++++++
+ 5 files changed, 409 insertions(+), 1 deletion(-)
+
+commit 1df244f3079548d371a10c5d35b6ad00d04d8701
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 18 08:47:14 2010 -0700
+
+ api: fix syntax error
+
+ introspection/mm-modem-location.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fb2b80f11a081128ecf966eae5454534fbacc89c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 17 12:05:31 2010 -0700
+
+ serial: flush I/O right after open
+
+ We don't really care about anything that came before.
+
+ src/mm-serial-port.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 857dcd7bcfd909a9c4dad8dcbe562e75c8a66116
+Author: Michael Biebl <biebl@debian.org>
+Date: Wed Mar 17 11:59:29 2010 -0700
+
+ serial: use termios instead of old terminal ioctls
+
+ Makes sure we build on Alpha, plus the right thing to do.
+
+ src/mm-serial-port.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit 0815597d8db7f59ed6030ff11ce070b2a8eb4f11
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 17 00:40:13 2010 -0700
+
+ qcdm: fix command buffer initialization
+
+ Use the right buffer size to initialize.
+
+ libqcdm/src/commands.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit d7a0ad768682c5fe9d4b014578f4eaea85f91a63
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 22:44:09 2010 -0700
+
+ gsm: implement roaming triggers
+
+ src/mm-generic-gsm.c | 101
+ ++++++++++++++++++++++++++++++++++++++++-----------
+ 1 file changed, 79 insertions(+), 22 deletions(-)
+
+commit 2c65e0ceaa40f103d9176f483469e38455bdba1c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 17:19:21 2010 -0700
+
+ gsm: ignore SIM-PUK2 unlock required
+
+ Device is functional without it; it's only required for stuff
+ we don't do yet.
+
+ src/mm-generic-gsm.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit 79bca53f21abcb4ec22e41e0f21b2af2df9d830a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 17:03:55 2010 -0700
+
+ cdma: simplify finding the right serial port for commands
+
+ plugins/mm-modem-anydata-cdma.c | 19 ++----
+ plugins/mm-modem-huawei-cdma.c | 19 ++----
+ plugins/mm-modem-novatel-cdma.c | 20 ++-----
+ plugins/mm-modem-sierra-cdma.c | 18 ++----
+ src/mm-generic-cdma.c | 129
+ ++++++++++++++++++++--------------------
+ src/mm-generic-cdma.h | 3 +
+ 6 files changed, 87 insertions(+), 121 deletions(-)
+
+commit 6266f949ba5e745c385d674b2aa934f42b0fb17c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 16:45:32 2010 -0700
+
+ gsm: fix operator name on Option devices with UCS2 charset
+
+ src/mm-charsets.c | 92
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-charsets.h | 5 +++
+ src/mm-generic-gsm.c | 43 ++++++++++++++++++++++--
+ 3 files changed, 137 insertions(+), 3 deletions(-)
+
+commit c18dfa67d81d5a16acf78c2267bccae352fe06c6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 15:53:09 2010 -0700
+
+ gsm: turn off unsolicited messages on disable
+
+ src/mm-generic-gsm.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit bdefdac2dce29361c584098ae457f5d8a92ed8dc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 15:51:27 2010 -0700
+
+ hso: add allowed mode and unsolicited response handling
+
+ plugins/mm-modem-hso.c | 51
+ ++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 49 insertions(+), 2 deletions(-)
+
+commit ad9fe9da28ef5a924e66a834b8601eb87cb2aa52
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 15:50:58 2010 -0700
+
+ option: generalize common Option/HSO mode and unsolicited response
+ handling
+
+ plugins/Makefile.am | 3 +-
+ plugins/mm-modem-option-utils.c | 297
+ ++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-option.c | 151 +++++++-------------
+ 3 files changed, 348 insertions(+), 103 deletions(-)
+
+commit 4d5f4f9a827e48ae2f2b29b97b8f719bb1b6fde6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 15:16:01 2010 -0700
+
+ gsm: only change allowed mode during Simple.Connect when needed
+
+ src/mm-generic-gsm.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 6744e08104708ccc97fbab787629685f0d28689e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 13:17:14 2010 -0700
+
+ gsm: simplify finding the right serial port for commands
+
+ plugins/mm-modem-gobi-gsm.c | 11 +--
+ plugins/mm-modem-huawei-gsm.c | 76 +++++++++-----------
+ plugins/mm-modem-mbm.c | 29 ++++----
+ plugins/mm-modem-option.c | 24 ++++---
+ plugins/mm-modem-sierra-gsm.c | 21 +++++-
+ plugins/mm-modem-zte.c | 36 ++++++----
+ src/mm-generic-gsm.c | 161
+ +++++++++++++++++++++---------------------
+ src/mm-generic-gsm.h | 3 +
+ 8 files changed, 197 insertions(+), 164 deletions(-)
+
+commit b002e54cf4c6edf1858eb82de7cf41a5c9a9d29b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 13:03:13 2010 -0700
+
+ core: immediately reject Sierra CnS ports during probe
+
+ For now; until Sierra releases their CnS documentation.
+
+ src/mm-plugin-base.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 882a86040ed611377191ddb4510ffb1bcf60e0e2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 11:52:01 2010 -0700
+
+ gsm: make mm_generic_gsm_check_pin() static
+
+ No more external users of it.
+
+ src/mm-generic-gsm.c | 16 ++++++++--------
+ src/mm-generic-gsm.h | 4 ----
+ 2 files changed, 8 insertions(+), 12 deletions(-)
+
+commit eff1bcc7f34cbc8d215941625b24eda18343f4f4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 11:42:57 2010 -0700
+
+ huawei: simplify setting allowed mode
+
+ plugins/mm-modem-huawei-gsm.c | 104
+ ++++++++++++++++++------------------------
+ 1 file changed, 44 insertions(+), 60 deletions(-)
+
+commit 8af469ccad79a2d27bf445c35b235af3a62d89b2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 11:38:34 2010 -0700
+
+ huawei: clean up and simplify band handling
+
+ plugins/mm-modem-huawei-gsm.c | 174
+ +++++++++++++++++++++++-------------------
+ 1 file changed, 95 insertions(+), 79 deletions(-)
+
+commit e3aa8d50085f0d7d2667170326c7897995ed7466
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 11:04:12 2010 -0700
+
+ api: add UMTS 1900MHz (Class II) band
+
+ introspection/mm-modem-gsm.xml | 3 +++
+ src/mm-modem-gsm.h | 3 ++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+commit 19257f540c0de61043492af5bec94e5319749b3e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 11:02:35 2010 -0700
+
+ gsm: handle allowed mode during Simple.Connect()
+
+ plugins/mm-modem-mbm.c | 82 +++++++++---------------------------
+ src/mm-generic-gsm.c | 111
+ +++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-modem-gsm.h | 4 +-
+ 3 files changed, 124 insertions(+), 73 deletions(-)
+
+commit e0c3052b0ff274d055a7bd3a380dca7da5eabb8c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 16 10:29:47 2010 -0700
+
+ huawei: handle unsolicited unregistered mode change
+
+ plugins/mm-modem-huawei-gsm.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 70d9d60d0c3cb3a9d60c1c501f9053a1a7485c99
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 15 14:52:21 2010 -0700
+
+ mbm: send internet account username/password in modem character set
+
+ Apparently at least the F3507g wants the username and password in
+ the modem's current character set, otherwise it sends the wrong
+ thing over-the-air.
+
+ plugins/mm-modem-mbm.c | 53
+ +++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 39 insertions(+), 14 deletions(-)
+
+commit d9a47ef2e81fe0b7c3aa9f05af3233181e5a73a1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 15 14:51:18 2010 -0700
+
+ core: fix serial port base class callback types
+
+ src/mm-at-serial-port.c | 4 ++--
+ src/mm-qcdm-serial-port.c | 4 ++--
+ src/mm-serial-port.c | 22 ++++++++++++++++++----
+ src/mm-serial-port.h | 10 ++++++++--
+ 4 files changed, 30 insertions(+), 10 deletions(-)
+
+commit 3151e0e2987d8505a56c5a6a0f486e3a7e8ada71
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 15 14:25:49 2010 -0700
+
+ core: add command helper that handles character set conversion
+
+ src/mm-charsets.c | 90
+ ++++++++++++++++++++++++++++++++++++++++++++++---------
+ src/mm-charsets.h | 9 ++++++
+ 2 files changed, 85 insertions(+), 14 deletions(-)
+
+commit 2dd7e12f721215e6cc3a809542408bd65c1fbd04
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 15 14:24:59 2010 -0700
+
+ gsm: allow subclasses to retrieve current character set
+
+ src/mm-generic-gsm.c | 9 +++++++++
+ src/mm-generic-gsm.h | 3 +++
+ 2 files changed, 12 insertions(+)
+
+commit a872107cfcb497dabcd48186ca860dae60c370b3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 15 11:57:01 2010 -0700
+
+ api: better define Scan() command results
+
+ introspection/mm-modem-gsm-network.xml | 33
+ ++++++++++++++++++++++++++++++++-
+ 1 file changed, 32 insertions(+), 1 deletion(-)
+
+commit 2a94d38edcc476022333a93dc979cc2bcf9ba5a2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 13 16:37:24 2010 -0800
+
+ core: move charset enum/string conversion to it's own file
+
+ src/Makefile.am | 2 ++
+ src/mm-charsets.c | 71
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-charsets.h | 38 +++++++++++++++++++++++++++++
+ src/mm-modem.c | 48 -------------------------------------
+ src/mm-modem.h | 17 +------------
+ 5 files changed, 112 insertions(+), 64 deletions(-)
+
+commit ac7310ab1050701c07705e548c408d97aea76636
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 13 16:26:46 2010 -0800
+
+ gsm: add character set get/set support
+
+ configure.ac | 3 +
+ src/mm-errors.c | 1 +
+ src/mm-errors.h | 3 +-
+ src/mm-generic-gsm.c | 354
+ ++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-modem.c | 93 ++++++++++++++
+ src/mm-modem.h | 35 +++++
+ 6 files changed, 469 insertions(+), 20 deletions(-)
+
+commit 429c7cc661780d2848a97b092e1a0023e8c4d603
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 17:06:04 2010 -0800
+
+ sierra: implement GSM mode preference handling
+
+ plugins/mm-modem-sierra-gsm.c | 132
+ ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 132 insertions(+)
+
+commit 2777f9f4884f04e0abc23e4df62391c3f0a3e0bd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 16:59:39 2010 -0800
+
+ trivial: spacing fixes
+
+ plugins/mm-modem-zte.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 4202bfb86e2ff6986d3aebdc38946367f09c2a9f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 16:49:22 2010 -0800
+
+ zte: implement GSM mode preference handling
+
+ plugins/mm-modem-zte.c | 140
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 140 insertions(+)
+
+commit c11c0431ff3bc39a0d7f2d74727a4cafbede096e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 15:34:27 2010 -0800
+
+ trivial: gitignore updates
+
+ .gitignore | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 179604d6cb0d5b78dfd8907bad4f64d8045958a8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 15:33:46 2010 -0800
+
+ build: another distcheck fix
+
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit ef749399fd25be858ad64a65815b5f4525b603b3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 15:31:29 2010 -0800
+
+ build: fix distcheck error
+
+ src/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 936533cfcc34b1bba797688049316bb8994443bd
+Merge: 9d915013 3e760488
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 12:40:00 2010 -0800
+
+ Merge remote branch 'origin/master' into qcdm
+
+commit 3e760488b60bc8511cad97c90ae358ba626604cb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 12:38:53 2010 -0800
+
+ cdma: make previous state tag private
+
+ src/mm-generic-cdma.c | 2 ++
+ src/mm-generic-cdma.h | 2 --
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 9d91501330514d8bbd83c8f729ec5231e862e226
+Merge: 4d1e00c4 7aa6d03d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 12:21:29 2010 -0800
+
+ Merge remote branch 'origin/master' into qcdm
+
+commit 7aa6d03d95dcf7677a576ac5c562c04d75cffa06
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 12:13:21 2010 -0800
+
+ novatel: add CDMA plugin for signal quality parsing
+
+ Some Novatel devices reply with the normal units to +CSQ and it
+ doesn't look quite like the +CSQ reply is in dBm either; so
+ use the custom Novatel command for RSSI.
+
+ plugins/Makefile.am | 4 +-
+ plugins/mm-modem-novatel-cdma.c | 190
+ ++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-novatel-cdma.h | 45 ++++++++++
+ plugins/mm-plugin-novatel.c | 12 +--
+ 4 files changed, 244 insertions(+), 7 deletions(-)
+
+commit cda38d390adbb78fb9fc644a205278747aa27818
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 12:07:08 2010 -0800
+
+ cdma: fix Simple.GetStatus to actually work
+
+ src/mm-generic-cdma.c | 24 +++++++++++++++++-------
+ 1 file changed, 17 insertions(+), 7 deletions(-)
+
+commit 7a0c5030364689620d0ef03573f3ab53e0727be3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 10:16:24 2010 -0800
+
+ cdma: use E1 parser to ignore re-echoed commands
+
+ Some modems turn E1 on and off random (Huawei EC168C) and sometimes
+ the echoed command confuses things. We have a parser just for that,
+ so let's use it. It should be safe to use with devices that repect
+ E0 too.
+
+ src/mm-generic-cdma.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit e055bd72db9430a389ce91931f740ebc6dbe863d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 12 08:57:55 2010 -0800
+
+ hso: fix connections with username/password after
+ e3c87e4e1418a25bb8da9e64eba882d8fa335265
+
+ e3c87e4e1418a25bb8da9e64eba882d8fa335265 introduced a use-after-free
+ bug that causes passwords and usernames to be corrupted.
+
+ plugins/mm-modem-hso.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+commit 4d1e00c49610b69b2446562880bef4f82b18d546
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 11 16:02:12 2010 -0800
+
+ core: fix merge damage
+
+ src/mm-generic-gsm.c | 8 ++++----
+ src/mm-plugin-base.c | 4 ++--
+ src/mm-serial-port.h | 1 -
+ 3 files changed, 6 insertions(+), 7 deletions(-)
+
+commit 3ec7e89f112cb65a584de84b76e207d7a804bd6f
+Merge: 479937cb 749f9c0e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 11 13:43:06 2010 -0800
+
+ Merge remote branch 'origin/master' into qcdm
+
+commit 749f9c0eb569b29772dde9561b9856e4f878d9ef
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 11 13:20:43 2010 -0800
+
+ core: stop probing known-unusable ports early
+
+ Some ports we know we shouldn't use when we get certain responses
+ from them. Reading from these ports triggers kernel bugs (at least
+ on 2.6.31 and 2.6.32) relating to flow control in some drivers
+ (*cough* hso *cough*), so lets try not to aggravate the kernel too
+ much. This happens on Icera-based Option devices like the GI0322
+ (AT&T Quicksilver) for example.
+
+ (note: AFAICT this doesn't have any relation to the recent XON/XOFF
+ patch, since I get this problem without the XON/XOFF patch on both
+ 2.6.31 and 2.6.32 as well)
+
+ ---
+
+ BUG: sleeping function called from invalid context at
+ kernel/mutex.c:94
+ in_atomic(): 1, irqs_disabled(): 1, pid: 9295, name: modem-manager
+ Pid: 9295, comm: modem-manager Not tainted 2.6.32.9-67.fc12.x86_64 #1
+ Call Trace:
+ <IRQ> [<ffffffff81045d41>] __might_sleep+0xed/0xef
+ [<ffffffff81454dd0>] mutex_lock+0x24/0x50
+ [<ffffffff8104811e>] ? enqueue_task_fair+0x2a/0x6d
+ [<ffffffff812af79f>] tty_throttle+0x1b/0x49
+ [<ffffffff812af0d9>] n_tty_receive_buf+0xdbb/0xe12
+ [<ffffffff810459fd>] ? task_rq_unlock+0x11/0x13
+ [<ffffffff81050c5c>] ? try_to_wake_up+0x2f3/0x305
+ [<ffffffff8110de0c>] ? __kmalloc+0x37/0x15e
+ [<ffffffff8110de42>] ? __kmalloc+0x6d/0x15e
+ [<ffffffff812b12c9>] flush_to_ldisc+0xf8/0x18d
+ [<ffffffff812b13ae>] tty_flip_buffer_push+0x50/0x61
+ [<ffffffffa040ccd5>] put_rxbuf_data+0xea/0x124 [hso]
+ [<ffffffffa040cd97>] put_rxbuf_data_and_resubmit_bulk_urb+0x21/0x6b
+ [hso]
+ [<ffffffffa040d0b1>] hso_std_serial_read_bulk_callback+0x14d/0x15f
+ [hso]
+ [<ffffffff8132edf7>] ? dma_unmap_single_attrs.clone.0+0x38/0x3a
+ [<ffffffff8132ef74>] usb_hcd_giveback_urb+0x91/0xc5
+ [<ffffffff813417c8>] ehci_urb_done+0x7b/0x90
+ [<ffffffff81050c5c>] ? try_to_wake_up+0x2f3/0x305
+ [<ffffffff81341b45>] qh_completions+0x368/0x4b9
+ [<ffffffff8103e7a0>] ? __wake_up_common+0x4e/0x84
+ [<ffffffff81343f70>] ehci_work+0x95/0x732
+ [<ffffffff81045b53>] ? __wake_up+0x44/0x4d
+ [<ffffffff81070490>] ? insert_work+0x8e/0x9b
+ [<ffffffff81345f01>] ehci_irq+0x2be/0x420
+ [<ffffffff8107071a>] ? __queue_work+0x3a/0x41
+ [<ffffffff81049e43>] ? resched_cpu+0x6e/0x77
+ [<ffffffff8107075d>] ? delayed_work_timer_fn+0x3c/0x3e
+ [<ffffffff810b0e44>] ? __rcu_process_callbacks+0x7d/0x28a
+ [<ffffffff8132e846>] usb_hcd_irq+0x3f/0x7b
+ [<ffffffff810acd61>] handle_IRQ_event+0x60/0x121
+ [<ffffffff810aeb8e>] handle_fasteoi_irq+0x8b/0xc7
+ [<ffffffff81014625>] handle_irq+0x8b/0x96
+ [<ffffffff81459c14>] do_IRQ+0x5c/0xbc
+ [<ffffffff81012693>] ret_from_intr+0x0/0x11
+
+ src/mm-plugin-base.c | 55
+ +++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-serial-port.c | 29 ++++++++++++++++++++-------
+ src/mm-serial-port.h | 3 +++
+ 3 files changed, 79 insertions(+), 8 deletions(-)
+
+commit c7739979ed4a8be97d03ab7ed0087d63dc218cf4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 11 13:15:33 2010 -0800
+
+ api: update and clarify Location API
+
+ introspection/mm-modem-location.xml | 112
+ ++++++++++++++++++++++++++++++++----
+ 1 file changed, 101 insertions(+), 11 deletions(-)
+
+commit 79aef47b25dcf33ff9ff49d6f0962a8ee32d73d4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 11 10:22:37 2010 -0800
+
+ api: clarify registration info items
+
+ introspection/mm-modem-gsm-network.xml | 47
+ +++++++++++++++++++++++++++++-----
+ 1 file changed, 40 insertions(+), 7 deletions(-)
+
+commit 13bc593a291a5bb5ff004b553268443b5d2c83aa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 16:30:58 2010 -0800
+
+ gsm: ensure PDP context deactivation happens on disconnect
+
+ The port is still connected until disconnect_done() runs, but by
+ this point we already know it's been disconnected so it's safe to
+ run the CGACT commands.
+
+ src/mm-generic-gsm.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+commit 8f50dd319189c0a9aef4d41957450096029f4b60
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 15:56:27 2010 -0800
+
+ gsm: close open ports on Enable errors
+
+ src/mm-generic-gsm.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+commit c0c8954828788033ad43f07d7915101378ee2605
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 15:45:50 2010 -0800
+
+ gsm: fix PUK2 and other PIN unlock code recognition
+
+ Longer entries first so we catch them before matching shorter
+ substrings. Previously, the strcmp() would have treated
+ PUK2 and PUK unlocks the same.
+
+ src/mm-generic-gsm.c | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit 479937cbbba560c77ec37ebf6468fe0e568986bd
+Merge: 6a32d374 e3c87e4e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 15:04:49 2010 -0800
+
+ Merge remote branch 'origin/master' into qcdm
+
+commit 6a32d374cd7d0fb23785c974bf8d8b1ba64e97b5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 14:57:23 2010 -0800
+
+ serial: not all commands have response callbacks
+
+ So don't crash if they don't.
+
+ src/mm-serial-port.c | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+commit 1979512d8dfb6428353e6bf358f908973a318095
+Merge: 8dde6bb8 b7858ba2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 14:50:41 2010 -0800
+
+ Merge remote branch 'origin/master' into qcdm
+
+commit e3c87e4e1418a25bb8da9e64eba882d8fa335265
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 14:42:53 2010 -0800
+
+ hso: clean up connect and disconnect
+
+ Disconnect didn't actually work for HSO since it overrode the parent
+ class's connect handler and thus didn't set the right state after
+ the connection was made. It turns out we can use the same logic
+ that 'mbm' does for connection and not have to override quite so
+ much of the parent class.
+
+ This also splits the authentication and connection parts into two
+ distinct stages, which wasn't the case before but was what was
+ intended.
+
+ plugins/mm-modem-hso.c | 470
+ ++++++++++++++++++++++++++-----------------------
+ 1 file changed, 253 insertions(+), 217 deletions(-)
+
+commit 461de7ea0eeab4dfa5827dcce490eded3d729f6e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 14:42:34 2010 -0800
+
+ mbm: use new disconnect handling helper
+
+ plugins/mm-modem-mbm.c | 19 +++++++------------
+ 1 file changed, 7 insertions(+), 12 deletions(-)
+
+commit 59b75b5194c6f2a649ca2a4bd6747f74b220d773
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 14:39:10 2010 -0800
+
+ gsm: clean up disconnect handling
+
+ Allow subclasses to override disconnect more cleanly so that
+ modem state gets handled correctly when the disconnect is complete.
+ Also fix up PDP Context ID handle (cid) so that subclasses can
+ get the previously-activated context ID when disconnecting, and let
+ the cid be an int since '0' is a valid context number.
+
+ For the generic devices, this also attempts to actually deactivate
+ the PDP context to ensure that the data session is terminated.
+
+ src/mm-generic-gsm.c | 118
+ +++++++++++++++++++++++++++++++++++++--------------
+ src/mm-generic-gsm.h | 12 ++++--
+ 2 files changed, 94 insertions(+), 36 deletions(-)
+
+commit b7858ba235c046a514fbc79e18ac9faa75982032
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 10:58:27 2010 -0800
+
+ novatel: fix GSM secondary port enabling after PIN changes
+
+ With the PIN changes, the primary port would already be closed
+ by the time the Novatel modem class was able to send the DMAT
+ command to enable the secondary ports. Just try again later.
+
+ plugins/mm-modem-novatel-gsm.c | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+commit 611e832d0ed509f862c8ab047cd8faca98f5aec9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 10:17:26 2010 -0800
+
+ api: add 'reply' parameter to USSD Initiate() command
+
+ introspection/mm-modem-gsm-ussd.xml | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 05dde9a3152368d40f1a82ece9d296e2ccbac428
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 00:15:53 2010 -0800
+
+ gsm: revert part of d2e69d34f86e8994f74fb209082fcfb7573b2ea2
+
+ Reg status returned here is cached reg status, so it's pointless to
+ set it here again.
+
+ src/mm-generic-gsm.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit d2e69d34f86e8994f74fb209082fcfb7573b2ea2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Mar 10 00:02:56 2010 -0800
+
+ gsm: make registration status change handling consistent
+
+ Ensure we send out signals when anything changes.
+
+ src/mm-generic-gsm.c | 118
+ +++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 82 insertions(+), 36 deletions(-)
+
+commit 46ec3bdb47cbc0c40f39bb139783dedc5d3c9986
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 23:34:19 2010 -0800
+
+ gsm: fix CREG/CGREG parsing with multiple responses
+
+ When a modem sends both CREG and CGREG in the same response packet,
+ the parser was failing to correctly distinguish which response
+ was being parsed, since the string passed to g_regex_match() is
+ the whole response including both CREG + CGREG.
+
+ src/mm-modem-helpers.c | 67
+ +++++++++++++++++++++---------------------
+ src/mm-modem-helpers.h | 2 +-
+ src/tests/test-modem-helpers.c | 22 ++++++++++++++
+ 3 files changed, 57 insertions(+), 34 deletions(-)
+
+commit 658d3d572dc5313d815d9b8ab09c6b563fcbc8bf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 22:12:46 2010 -0800
+
+ zte: handle access technology changes
+
+ plugins/mm-modem-zte.c | 37 +++++++++++++++++++++++++++++++++++--
+ 1 file changed, 35 insertions(+), 2 deletions(-)
+
+commit b0598738f1e99d3902a2aa79d5c3f74b686310f1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 22:12:21 2010 -0800
+
+ gsm: only update access technology when enabled
+
+ src/mm-generic-gsm.c | 24 +++++++++++++++++++-----
+ 1 file changed, 19 insertions(+), 5 deletions(-)
+
+commit ce1c72152b3488c06e5f01aa6b0dbd9ffcb918a4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 21:56:57 2010 -0800
+
+ mbm: fix memory leak in connection state processing
+
+ plugins/mm-modem-mbm.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 82abd5595e41f8a2739590bfa52e687de98d9808
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 21:55:51 2010 -0800
+
+ mbm: fix memory leak in unsolicited signal strength processing
+
+ plugins/mm-modem-mbm.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 59605936d0e7d5947d1b888778fd993454db3b07
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 21:55:19 2010 -0800
+
+ mbm: use unsolicited access technology updates
+
+ plugins/mm-modem-mbm.c | 110
+ ++++++++++++++++++++++---------------------------
+ 1 file changed, 50 insertions(+), 60 deletions(-)
+
+commit 38514db896ea8706375c222e1262fa10b830c4c6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 21:31:57 2010 -0800
+
+ gsm: let generic class handle signal quality caching and updates
+
+ plugins/mm-modem-huawei-gsm.c | 39 +++-----------
+ plugins/mm-modem-mbm.c | 14 ++---
+ src/mm-generic-gsm.c | 123
+ ++++++++++++++++++++++++++++++++++--------
+ src/mm-generic-gsm.h | 5 ++
+ 4 files changed, 121 insertions(+), 60 deletions(-)
+
+commit 07fc116d5a16b1f168c120c298b747b9d9bbe8d8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 18:10:34 2010 -0800
+
+ api: add USSD API proposal
+
+ Loosely based on oFono, from Pablo Marti.
+
+ introspection/Makefile.am | 3 +-
+ introspection/all.xml | 1 +
+ introspection/mm-modem-gsm-ussd.xml | 73
+ +++++++++++++++++++++++++++++++++++++
+ 3 files changed, 76 insertions(+), 1 deletion(-)
+
+commit d01a3ae328afe22552933b1d297b3cf92475b9de
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 11:47:13 2010 -0800
+
+ cdma: tell the modem we're using XON/XOFF too
+
+ src/mm-generic-cdma.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 81dc2dde459ca91a8fce3c19a3aec79734179dfa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 11:44:25 2010 -0800
+
+ serial: default to XON/XOFF flow control
+
+ This seems to help with Huawei and ZTE devices which often
+ appeared to stop responding on either primary or secondary ports
+ at various times. We had this problem a long time ago, but it was
+ fixed then by always picking the right serial port via the USB
+ interface number (Huawei) or udev rules files (ZTE). Now that we're
+ using the second serial port more extensively the problem came
+ up again, so lets try to fix it for real.
+
+ src/mm-generic-gsm.c | 3 +++
+ src/mm-serial-port.c | 10 ++++++++--
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit fbf3efc1e3feac3acb340bbd70617a702b33a42c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 11:43:30 2010 -0800
+
+ gsm: only use CREG responses for authoritative registration state
+
+ For now...
+
+ src/mm-generic-gsm.c | 23 +++++++++++++++--------
+ 1 file changed, 15 insertions(+), 8 deletions(-)
+
+commit 076b5df1bcc880555606375ac2af9db488bfda3d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 11:29:04 2010 -0800
+
+ gsm: fix inifinite in ETSI tech -> MM tech conversion function
+
+ src/mm-generic-gsm.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 2f925599c089484286a08ce84885b0385bcd64d2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 10:20:32 2010 -0800
+
+ gsm: fix crash in Simple API's GetStatus handling
+
+ Can't schedule the info completion until we're sure all the
+ requests have completed. They won't necessarily be completed
+ in the same order they were issued since some of the data the
+ requests pull from could be cached and thus we don't have to
+ wait in the queue to hit up the modem.
+
+ src/mm-generic-gsm.c | 71
+ ++++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 49 insertions(+), 22 deletions(-)
+
+commit 783de3bc10ba8b6fe934887efaeb229da6ad9d06
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Mar 9 09:55:04 2010 -0800
+
+ core: fix SIGTERM before mainloop has started
+
+ src/main.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 8dde6bb8dd2c063f5740ae78b980343be8e5d669
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 20:01:42 2010 -0800
+
+ core: don't try to remove 0 characters after matching responses
+
+ src/mm-at-serial-port.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit f3721a5674ef7899d9a6ef0f4c5b356720bb9833
+Merge: f6c51489 9e231c3d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 20:01:22 2010 -0800
+
+ Merge remote branch 'origin/master' into qcdm
+
+commit 9e231c3d4b463c32e17c7d2b1c50cea4e19d03ac
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 18:06:10 2010 -0800
+
+ huawei: attach unsolicited message handlers to the primary port too
+
+ plugins/mm-modem-huawei-gsm.c | 29 ++++++++++++++---------------
+ 1 file changed, 14 insertions(+), 15 deletions(-)
+
+commit 29a67e9d89f2f4538ae9b0e3e09db6d087b84f61
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 18:04:14 2010 -0800
+
+ huawei: unify GSM device probing
+
+ Using the USB product ID to direct certain modems to the generic
+ driver is wrong since even new modems like the E1550 are 0x1001
+ after the modeswitch. Instead, lets assume that most current modes
+ use the Huawei-specific AT command set.
+
+ plugins/mm-plugin-huawei.c | 15 ++++-----------
+ 1 file changed, 4 insertions(+), 11 deletions(-)
+
+commit cdf9279ee8cb52d13242dbfad0e8c07c6d7270f3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 18:02:14 2010 -0800
+
+ api+gsm: split out access technology
+
+ As with allowed modes, make things clearer and simpler by giving
+ access technology it's own values.
+
+ introspection/mm-modem-gsm-network.xml | 10 ++--
+ introspection/mm-modem-gsm.xml | 34 ++++++++++++
+ plugins/mm-modem-huawei-gsm.c | 36 +++++++------
+ src/mm-generic-gsm.c | 96
+ +++++++++++++---------------------
+ src/mm-generic-gsm.h | 2 +-
+ src/mm-modem-gsm-network.c | 36 ++++++-------
+ src/mm-modem-gsm-network.h | 2 +-
+ src/mm-modem-gsm.h | 39 +++++++++-----
+ 8 files changed, 140 insertions(+), 115 deletions(-)
+
+commit c5a897d0ae1e4609cc2f9d3e127c1e50be9a84c1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 17:27:56 2010 -0800
+
+ api+gsm: clean up AllowedMode values
+
+ Instead of trying to stuff everything into the mode bitfield it
+ turns out it's just easier, clearer, and simpler to use different
+ values for each of the following:
+
+ 1) the device's supported access technologies and allowed modes
+ 2) the device's current access technology
+ 3) the device's allowed mode preference
+
+ Since none of the AccessTechnology or AllowedMode stuff has hit a
+ release yet, let's make sure we're doing it the right way early on.
+
+ introspection/mm-modem-gsm-network.xml | 16 ++++------
+ introspection/mm-modem-gsm.xml | 29 +++++++++++++++--
+ plugins/mm-modem-huawei-gsm.c | 58
+ ++++++++++++++--------------------
+ plugins/mm-modem-mbm.c | 39 ++++++++++++++++-------
+ plugins/mm-modem-option.c | 22 ++++++-------
+ src/mm-generic-gsm.c | 42 ++++++++++++++----------
+ src/mm-generic-gsm.h | 4 +--
+ src/mm-modem-gsm-network.c | 46 ++++++++++-----------------
+ src/mm-modem-gsm-network.h | 17 +++-------
+ src/mm-modem-gsm.h | 10 ++++++
+ 10 files changed, 153 insertions(+), 130 deletions(-)
+
+commit aeac17a81edfb3304de405127bb06d100c8a5522
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 15:13:14 2010 -0800
+
+ gsm: implement allowed mode
+
+ plugins/mm-modem-huawei-gsm.c | 101
+ ++++++++++++++++------------------------
+ plugins/mm-modem-mbm.c | 65 +++++++++++++++++++-------
+ plugins/mm-modem-option.c | 46 +++++++-----------
+ src/mm-generic-gsm.c | 106
+ ++++++++++++++++++++++++++++++++++++++----
+ src/mm-generic-gsm.h | 21 +++++++++
+ src/mm-modem-gsm-network.c | 92 +++++++++++++++++++-----------------
+ src/mm-modem-gsm-network.h | 22 ++++-----
+ src/mm-modem-gsm.h | 2 -
+ 8 files changed, 283 insertions(+), 172 deletions(-)
+
+commit d298885faa72398368a67a7738a6208dae0c6f0a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 14:50:07 2010 -0800
+
+ gsm: fix GObject property maximums for SupportedModes and
+ SupportedBands
+
+ Since the values they carry are bitfields, using the highest value
+ as the maximum isn't the right thing to do.
+
+ src/mm-modem-gsm-card.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e2c487472e52bc14acd04e93a6d5b7d54a2bcfa5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 14:34:30 2010 -0800
+
+ api: s/AllowedModes/AllowedMode in Gsm.Network
+
+ Only one mode is going to be stored here so it shouldn't be plural.
+
+ introspection/mm-modem-gsm-network.xml | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 5e2983484e4ab3a594e63b03d34804d57c0dc292
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 14:15:25 2010 -0800
+
+ api: make HSPA a standalone network mode again
+
+ It's just easier this way. It makes little sense to allow
+ selecting mode combinations for anything other than
+ (HSDPA | HSUPA). Most radios don't allow fine-grained control
+ of the different technologies within each 2G or 3G class anyway
+ thus combinations like (GPRS | UMTS) are pointless since the
+ device wouldn't be able to use GPRS but not use EDGE.
+
+ introspection/mm-modem-gsm.xml | 7 +++++--
+ src/mm-modem-gsm.h | 6 +++---
+ 2 files changed, 8 insertions(+), 5 deletions(-)
+
+commit 343245fc2179a6d05ba131771def84c84b1be639
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 8 11:40:54 2010 -0800
+
+ gsm: add AccessTechnology property and associated infrastructure
+
+ AccessTechnology takes over half of what NetworkMode was supposed to
+ do, but we'll keep NetworkMode around for a while for compatibility
+ anyway. Create async updaters that subclasses can use to update
+ the access tech when they get unsolicited messages.
+
+ plugins/mm-modem-huawei-gsm.c | 20 +++---
+ src/mm-generic-gsm.c | 144
+ +++++++++++++++++++++++++++++++++++-------
+ src/mm-generic-gsm.h | 19 +++++-
+ src/mm-modem-gsm-network.c | 85 +++++++++++++++++++++++++
+ src/mm-modem-gsm-network.h | 16 ++++-
+ src/mm-modem-gsm.h | 15 +++++
+ 6 files changed, 263 insertions(+), 36 deletions(-)
+
+commit 82d7c8342d749c827161fbcbc5db670b671282d9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 7 14:46:38 2010 -0800
+
+ gsm: fix crash getting initial registration state
+
+ src/mm-generic-gsm.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 74ed9baefa0e1b10d1bec184e2dcfca4dc718eff
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 7 11:01:08 2010 -0800
+
+ gsm: add missing 27.007 access technologies
+
+ src/mm-modem-gsm.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 45fd96132f4568c97a85524b530c2b682fa07c14
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 7 09:58:30 2010 -0800
+
+ api: add new AllowedModes and AccessTechnology API
+
+ This adds split properties and functions for the allowed modes and the
+ current access technology used by the device when connected to the
+ mobile network.
+
+ introspection/mm-modem-gsm-network.xml | 38
+ +++++++++++++++++++++++++++++++++-
+ 1 file changed, 37 insertions(+), 1 deletion(-)
+
+commit 8fcc5b7fe2458eee7b1ca0a7a39cbc710ea48b60
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 7 09:53:28 2010 -0800
+
+ api: more clearly document modes and bands
+
+ introspection/mm-modem-gsm.xml | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit e7dd2926a3ba1cf6129996ec63accee7fa1ad155
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 7 09:53:03 2010 -0800
+
+ api: revert parts of 2d194a5798fb06f41b018c2d8c2216f45bfc41a4
+
+ MM hadn't implemented it yet, but Wader already implemented an earlier
+ version that didn't use a bitfield but an enum. Unfortunately the
+ network mode stuff doesn't allow for distinguishing between the
+ device's
+ mode preference and the current access technology. So deprecate the
+ current network mode stuff in the API in preparation for improved API.
+
+ introspection/mm-modem-gsm-network.xml | 56
+ ++++++++++++++++++++++++++++------
+ 1 file changed, 47 insertions(+), 9 deletions(-)
+
+commit ba977cd52966a15b74b261bf6cf370f535ed8d29
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 7 09:52:48 2010 -0800
+
+ api: readability fixes
+
+ introspection/mm-modem-gsm-card.xml | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 547a9eb9c016dd528a4a275a52da39a24f775a13
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 7 07:35:11 2010 -0800
+
+ introspection: add missing 27.007 access technologies
+
+ introspection/mm-modem-gsm.xml | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+commit 7701478703d6c119c13d544bd594a6ff7b7100d1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Mar 7 07:13:43 2010 -0800
+
+ gsm: simplify registration state polling code
+
+ src/mm-generic-gsm.c | 94
+ ++++++++++++++++++++--------------------------------
+ 1 file changed, 36 insertions(+), 58 deletions(-)
+
+commit 201295b65e4e9cf3686ee29673f7738d2810dd16
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 6 10:43:54 2010 -0800
+
+ gsm: use secondary serial port while connected
+
+ For registration updates and signal strength.
+
+ src/mm-generic-gsm.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
+
+commit 54c1d069eb688f60cc721fb435953dfaebcfa6d7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 6 10:28:11 2010 -0800
+
+ gsm: rework registration handling
+
+ First, generically handle registration polling if the device does
+ not support unsolicited registration. Second, using the new
+ creg/cgreg parsing functions from mm-modem-helpers.c, handle
+ CREG=2 unsolicited registration replies to capture the GSM LAC/CI
+ for the location information API.
+
+ Because of these changes we can simplify the registration polling
+ during connection as well by using the common registration parsing
+ code and the cached registration state.
+
+ plugins/mm-modem-hso.c | 2 -
+ plugins/mm-modem-huawei-gsm.c | 2 -
+ plugins/mm-modem-mbm.c | 2 -
+ plugins/mm-modem-zte.c | 1 -
+ src/mm-generic-gsm.c | 428
+ ++++++++++++++++++++++++++++++++----------
+ src/mm-generic-gsm.h | 5 +-
+ 6 files changed, 334 insertions(+), 106 deletions(-)
+
+commit 31fb97919cd7d95d1f9b23bd0c2428d8a19dc3e4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Mar 6 00:26:54 2010 -0800
+
+ gsm: fix simple state machine network registration after
+ 407abc65c6ccd802ce8456e5a63e68fab1c7d0a1
+
+ Got the logic wrong in that commit. Fix it. Network registration
+ should always be run since it handles polling for registration
+ state if needed before continuing.
+
+ src/mm-generic-gsm.c | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
+
+commit 3232a3f7d6d01400c4ed9acb6692fa119b7720b2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 5 18:17:51 2010 -0800
+
+ api: better handling of Location API security issues
+
+ Since D-Bus signals cannot by nature be restricted to authenticated
+ clients (unless using private D-Bus connections) we can handle the
+ security a bit differently here. Since the Enable() call can be
+ authenticated, we'll trust the client to say whether higher
+ security should be used by disallowing location update signals. This
+ does mean the client will have to poll for location updates, but at
+ least then clients requesting location information can be
+ authenticated.
+
+ introspection/mm-modem-location.xml | 58
+ +++++++++++++++++++++++++++++++++++--
+ 1 file changed, 55 insertions(+), 3 deletions(-)
+
+commit 2950f3106859fb8bb90f6eab8a8de5298fd5d297
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 5 17:55:48 2010 -0800
+
+ api: clarify some Location API bits
+
+ introspection/mm-modem-location.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 12a8a63fc1510d1af79581dc66e2b48a8eefcdb6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 5 17:52:55 2010 -0800
+
+ api: first draft of Location information API
+
+ NOT FINAL; need to discuss with Pablo and others and actually
+ implement
+ it before declaring it final.
+
+ introspection/Makefile.am | 3 +-
+ introspection/all.xml | 1 +
+ introspection/mm-modem-location.xml | 70
+ +++++++++++++++++++++++++++++++++++++
+ 3 files changed, 73 insertions(+), 1 deletion(-)
+
+commit ad7bbb2f160d52ff581c334ac85c29d10b3e4451
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 5 14:08:40 2010 -0800
+
+ gsm: indicate CREG vs. CGREG
+
+ src/mm-modem-helpers.c | 6 +++++
+ src/mm-modem-helpers.h | 1 +
+ src/tests/test-modem-helpers.c | 55
+ ++++++++++++++++++++++++++++++------------
+ 3 files changed, 47 insertions(+), 15 deletions(-)
+
+commit e4350152c86099e908921df64ba2e16f81ade5cb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Mar 5 11:47:23 2010 -0800
+
+ gsm: common CREG/CGREG parsing function and testcases
+
+ src/mm-modem-helpers.c | 222 ++++++++++++++++++++++++++++++
+ src/mm-modem-helpers.h | 11 ++
+ src/tests/test-modem-helpers.c | 298
+ ++++++++++++++++++++++++++++++++++++-----
+ 3 files changed, 500 insertions(+), 31 deletions(-)
+
+commit e6e3784c028f8d55bc9d2bd3fd207d958eba5ff4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 20:45:30 2010 -0800
+
+ hso: remove PIN checking code
+
+ This is handled by the generic class before the modem is even exported
+ over D-Bus.
+
+ plugins/mm-modem-hso.c | 35 -----------------------------------
+ 1 file changed, 35 deletions(-)
+
+commit 6c760464d4545d5bedaef01dbbdd8fba5617aa26
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 20:43:22 2010 -0800
+
+ zte: remove PIN checking code
+
+ This is handled by the generic class before the modem is even exported
+ over D-Bus.
+
+ plugins/mm-modem-zte.c | 22 ++--------------------
+ 1 file changed, 2 insertions(+), 20 deletions(-)
+
+commit c02835722fda93e3f796d183b2994c89dc817baf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 20:37:36 2010 -0800
+
+ novatel: remove PIN checking code
+
+ This is handled by the generic class before the modem is even exported
+ over D-Bus.
+
+ plugins/mm-modem-novatel-gsm.c | 76
+ ------------------------------------------
+ 1 file changed, 76 deletions(-)
+
+commit a40d3dbead026db43b62d8e859b29f6e564d24f9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 20:27:44 2010 -0800
+
+ option: fix power-on delay
+
+ Since the modem states patch the delay for power-on wasn't honored
+ for Option devices. Fix that using the new power-on-done handler
+ and also fix the bug where if the modem was removed, the plugin
+ would crash because it wasn't handling the timeout removal.
+
+ Also remove the explicit PIN check since that's now handled by the
+ generic GSM code before the modem is even exported over DBus.
+
+ plugins/mm-modem-option.c | 86
+ ++++++++++++++++++++++++-----------------------
+ 1 file changed, 44 insertions(+), 42 deletions(-)
+
+commit d94ca3d310f11d98589a76a3d864efe613f4d515
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 20:09:54 2010 -0800
+
+ sierra: fix power-on delay
+
+ Since the modem states patch the delay for power-on wasn't honored
+ for Sierra devices. Fix that using the new power-on-done handler
+ and also fix the bug where if the modem was removed, the plugin
+ would crash because it wasn't handling the timeout removal.
+
+ Also remove the explicit PIN check since that's now handled by the
+ generic GSM code before the modem is even exported over DBus.
+
+ plugins/mm-modem-sierra-gsm.c | 73
+ +++++++++++++++++++++++++------------------
+ 1 file changed, 42 insertions(+), 31 deletions(-)
+
+commit c915de5512f69678d0062ceec4cc69fefcdf8fd3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 20:06:17 2010 -0800
+
+ gsm: add ability for subclasses to handle power-on response
+
+ This lets subclasses handle errors when they know the device supports
+ the power-up command. Also will let us simplify a number of plugins.
+
+ src/mm-generic-gsm.c | 28 +++++++++++++++++++---------
+ src/mm-generic-gsm.h | 11 +++++++++++
+ 2 files changed, 30 insertions(+), 9 deletions(-)
+
+commit 3f7b173932bfb23ce83bfab8a74490f7dc85a7f7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 19:40:33 2010 -0800
+
+ sierra: fix comment about CFUN=1 delay
+
+ plugins/mm-modem-sierra-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 407abc65c6ccd802ce8456e5a63e68fab1c7d0a1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 19:30:54 2010 -0800
+
+ gsm: handle PINs better during modem enable and simple state machine
+
+ First, short-circuit the Enable process if the device requires a PIN
+ or PUK since for many devices the enable is going to fail anyway
+ until the PIN is sent.
+
+ Second, send the PIN first during the simple state machine for the
+ same reason; we need the device unlocked before we want to try
+ to enable it. This also reworks the simple state machine to be a
+ bit clearer and make each state step correspond to the action it's
+ actually doing instead of being off-by-one visually (but not
+ logically).
+
+ src/mm-generic-gsm.c | 159
+ ++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 99 insertions(+), 60 deletions(-)
+
+commit 021ca1244e2be8afcf6bdb552866263dc20c9285
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 19:01:13 2010 -0800
+
+ gsm: postpone PIN/PUK success reply until we know updated unlock
+ status
+
+ Don't return until we know what the updated lock status is. Fixes an
+ issue where callers that send the PIN before the modem is enabled
+ (remember, some modems can't be enabled until the PIN is entered, so
+ sometimes we have to send the PIN before it's enabled) would get
+ the reply too early and get failures from other operations.
+
+ src/mm-generic-gsm.c | 45 ++++++++++++++++++++++++---------------------
+ 1 file changed, 24 insertions(+), 21 deletions(-)
+
+commit 3457adefefa8bedd0349e6ac3d5cebcacf958000
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 17:28:36 2010 -0800
+
+ gsm: clarify generic GSM subclass API a bit
+
+ src/mm-generic-gsm.h | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 6dd751bf3f7bf515767ac6864b7eaf126e01fb3d
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Thu Mar 4 17:19:28 2010 -0800
+
+ mbm: handle E2NAP disconnect notification during connection attempt
+
+ If E2NAP:0 is received during a connection attempt the connection
+ attempt has failed or will fail. So stop polling for connection
+ success for another 50 seconds and abort the connection attempt
+ immediately. Also moves the E2NAP request call a bit earlier to
+ ensure that no E2NAP unsolicited messages are lost.
+
+ plugins/mm-modem-mbm.c | 36 ++++++++++++++++++++++++------------
+ 1 file changed, 24 insertions(+), 12 deletions(-)
+
+commit 3b9b7920f5157c62715f7450574335b3c1ca4d64
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Mar 4 10:29:42 2010 -0800
+
+ core: register Modem UnlockRequired property for changed signals too
+
+ src/mm-modem-base.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit a9ef8cb1759f25ee26f8015aa2e45a2bd3cd2da7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 1 09:15:01 2010 -0800
+
+ policy: split Device into Info and Control
+
+ It's useful to let distros and admins set policy differently for
+ device
+ information (for support, inventory, etc) than for actually
+ controlling
+ the device like PIN/PUK unlocks.
+
+ policy/org.freedesktop.modem-manager.policy.in | 15 ++++++++++++---
+ src/mm-auth-provider.h | 7 ++++---
+ src/mm-modem-cdma.c | 2 +-
+ src/mm-modem-gsm-card.c | 12 ++++++------
+ src/mm-modem-gsm-network.c | 2 +-
+ 5 files changed, 24 insertions(+), 14 deletions(-)
+
+commit f6c514897e40e768b180963f2782ed60527ffaa6
+Merge: 7a0373af 9d7cb0dd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Mar 1 09:07:05 2010 -0800
+
+ Merge remote branch 'origin/master' into qcdm
+
+commit 9d7cb0ddcf69993903c5bc51bbbfbd3a57f55413
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Feb 28 22:11:47 2010 -0800
+
+ gsm: fix direct registration info requests
+
+ src/mm-generic-gsm.c | 58
+ +++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 39 insertions(+), 19 deletions(-)
+
+commit 27ede83bd33f570504d25d370422e23034c8f529
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Feb 28 21:15:22 2010 -0800
+
+ trivial: rearrange some code
+
+ src/mm-generic-gsm.c | 67
+ ++++++++++++++++++++++++++--------------------------
+ 1 file changed, 34 insertions(+), 33 deletions(-)
+
+commit 28d065c1f15a7ebf9109abbdca2ba8e831291f13
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 27 12:51:13 2010 -0800
+
+ core: implement optional PolicyKit-based authentication
+
+ org.freedesktop.ModemManager.conf.polkit | 7 ++
+ src/Makefile.am | 29 ++---
+ src/mm-auth-provider-polkit.c | 153
+ +++++++++++++++++++++++++++
+ src/mm-auth-provider-polkit.h | 43 ++++++++
+ src/mm-auth-provider.c | 133 ++++++++++++-----------
+ src/mm-auth-provider.h | 10 +-
+ src/mm-auth-request-polkit.c | 175
+ +++++++++++++++++++++++++++++++
+ src/mm-auth-request-polkit.h | 53 ++++++++++
+ src/mm-modem-base.c | 2 +
+ src/mm-modem-cdma.c | 9 +-
+ src/mm-modem-gsm-card.c | 71 ++++++++-----
+ src/mm-modem-gsm-network.c | 9 +-
+ src/mm-modem-gsm-sms.c | 131 +++++++++++++----------
+ src/mm-modem.c | 3 +
+ src/mm-modem.h | 3 +
+ 15 files changed, 664 insertions(+), 167 deletions(-)
+
+commit aed5f3765d4b8e421888f6cc87800d76853b67d4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 27 12:51:03 2010 -0800
+
+ core: add missing MMAuthRequest class
+
+ src/mm-auth-request.c | 182
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-auth-request.h | 72 ++++++++++++++++++++
+ 2 files changed, 254 insertions(+)
+
+commit 588bb65ea654371cabab1cfd6770d845e961f097
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 27 12:49:07 2010 -0800
+
+ trivial: add policy file to gitignore
+
+ .gitignore | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 3b6a58145ff29d28bc026d4cec59aec076a99aba
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 27 10:29:34 2010 -0800
+
+ core: simply authentication request objects
+
+ src/Makefile.am | 12 ++-
+ src/mm-auth-provider.c | 254
+ +++++++++++++--------------------------------
+ src/mm-auth-provider.h | 65 +++++-------
+ src/mm-modem-base.c | 72 +------------
+ src/mm-modem-cdma.c | 9 +-
+ src/mm-modem-gsm-card.c | 54 ++++------
+ src/mm-modem-gsm-network.c | 9 +-
+ src/mm-modem-gsm-sms.c | 72 +++++--------
+ src/mm-modem.c | 7 +-
+ src/mm-modem.h | 6 +-
+ 10 files changed, 159 insertions(+), 401 deletions(-)
+
+commit 20796148cee8021766dacf519bd3953fe8d8416c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 27 07:49:57 2010 -0800
+
+ build: fix build after bffb332481e2fd665a686e46419e2ddfb28529f1
+
+ Makefile.am | 1 +
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit 27ffa6b272132c6c92c07cb99e0f213521874475
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 27 07:19:37 2010 -0800
+
+ core: authenticate SMS operations
+
+ org.freedesktop.ModemManager.conf.polkit | 8 +
+ src/mm-modem-gsm-sms.c | 388
+ +++++++++++++++++++++++++++++--
+ 2 files changed, 376 insertions(+), 20 deletions(-)
+
+commit bffb332481e2fd665a686e46419e2ddfb28529f1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 27 06:25:45 2010 -0800
+
+ core: install correct dbus permissions for with-polkit/without-polkit
+
+ .gitignore | 1 +
+ Makefile.am | 14
+ ++++++++++++--
+ org.freedesktop.ModemManager.conf.nopolkit | 17
+ +++++++++++++++++
+ ...ger.conf => org.freedesktop.ModemManager.conf.polkit | 0
+ 4 files changed, 30 insertions(+), 2 deletions(-)
+
+commit 438a047935f941e8f7d8df27a0069c70e4b4ea05
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 26 18:01:55 2010 -0800
+
+ core: add authorization providers and optional PolicyKit support
+
+ When the support is complete, use --with-polkit to enable
+ PolicyKit support. It's not there yet, but this commit adds an
+ authorization provider framework which will be extended to allow
+ hooking into PolicyKit.
+
+ Makefile.am | 6 +-
+ configure.ac | 18 ++
+ marshallers/mm-marshal.list | 1 +
+ org.freedesktop.ModemManager.conf | 127 +++++++++++-
+ src/Makefile.am | 19 +-
+ src/mm-auth-provider-factory.c | 45 +++++
+ src/mm-auth-provider.c | 405
+ ++++++++++++++++++++++++++++++++++++++
+ src/mm-auth-provider.h | 99 ++++++++++
+ src/mm-errors.c | 1 +
+ src/mm-errors.h | 3 +-
+ src/mm-modem-base.c | 108 ++++++++++
+ src/mm-modem-cdma.c | 35 +++-
+ src/mm-modem-gsm-card.c | 262 ++++++++++++++++++++++--
+ src/mm-modem-gsm-network.c | 32 ++-
+ src/mm-modem.c | 46 +++++
+ src/mm-modem.h | 32 +++
+ 16 files changed, 1218 insertions(+), 21 deletions(-)
+
+commit 7a0373afee63eeb9e677f61ccd19fd4aed549ac9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 23 11:41:40 2010 -0800
+
+ qcdm: add serial port subclass skeleton
+
+ src/Makefile.am | 4 ++
+ src/mm-qcdm-serial-port.c | 176
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-qcdm-serial-port.h | 66 +++++++++++++++++
+ 3 files changed, 246 insertions(+)
+
+commit bc3ac7bae507f2b264a5f616613c051fa0378d8b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 21:43:42 2010 -0800
+
+ qcdm: testcase output cleanup
+
+ libqcdm/tests/test-qcdm-com.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+commit d694cebdfe374ae8fbc01d2b787430585e8485e1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 19:00:31 2010 -0800
+
+ qcdm: add more HDR subsystem protocol enums
+
+ Found in TIA-856-A section 9. Assuming that the modem firmware just
+ passes the protocol states right through.
+
+ libqcdm/src/commands.h | 39 ++++++++++++++++++-
+ libqcdm/tests/test-qcdm-com.c | 91
+ ++++++++++++++++++++++++++++++++++++++++---
+ 2 files changed, 124 insertions(+), 6 deletions(-)
+
+commit 06415201cb8ece13760e98e07fe496ec2415e3ad
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 18:34:12 2010 -0800
+
+ qcdm: add HDR State Info command
+
+ libqcdm/src/commands.c | 45 ++++++++++++++
+ libqcdm/src/commands.h | 50 ++++++++++++++-
+ libqcdm/src/dm-commands.h | 15 +++++
+ libqcdm/tests/test-qcdm-com.c | 138
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 249 insertions(+), 2 deletions(-)
+
+commit 928f8a9ff20934ad1e4383c5db6cb0b610a9fa4d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 17:35:28 2010 -0800
+
+ qcdm: add Call Manager subsystem STATE_INFO command
+
+ libqcdm/src/commands.c | 68 +++++++++++++++++++++++++++-
+ libqcdm/src/commands.h | 37 ++++++++++++++++
+ libqcdm/src/dm-commands.h | 16 +++++++
+ libqcdm/tests/test-qcdm-com.c | 100
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 +
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 223 insertions(+), 1 deletion(-)
+
+commit bf0157162240134dbe18ad4ac70c842ca952483d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 16:45:50 2010 -0800
+
+ qcdm: add enums for STATUS rx_state values
+
+ libqcdm/src/commands.h | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit c937d1399bd5185c813ef02109834fcac2dc2898
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 16:15:19 2010 -0800
+
+ qcdm: add SW_VERSION command
+
+ libqcdm/src/commands.c | 49
+ +++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 18 ++++++++++++++++
+ libqcdm/src/dm-commands.h | 8 +++++++
+ libqcdm/tests/test-qcdm-com.c | 46
+ ++++++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 2 ++
+ libqcdm/tests/test-qcdm.c | 1 +
+ 6 files changed, 124 insertions(+)
+
+commit b50638dcbe7dda084b542cf47c652e95c97aa037
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 15:53:19 2010 -0800
+
+ qcdm: fix up DIAG_CMD_STATUS structure
+
+ There's some junk in between the fields, apparently.
+
+ libqcdm/src/dm-commands.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit bdfddd57e772fa86825661b6074f7909106c1569
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 15:53:06 2010 -0800
+
+ qcdm: fix STATUS command SID & NID reporting
+
+ libqcdm/src/commands.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 98ec1bdfea443c58e938a0adf435f396212cc092
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 15:23:34 2010 -0800
+
+ qcdm: add testcases for QCDMResult objects
+
+ libqcdm/src/result.c | 2 ++
+ libqcdm/tests/Makefile.am | 2 ++
+ libqcdm/tests/test-qcdm-result.c | 71
+ ++++++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-result.h | 26 +++++++++++++++
+ libqcdm/tests/test-qcdm.c | 4 +++
+ 5 files changed, 105 insertions(+)
+
+commit c0e227a16bb320790e0cd10683abb3262f87d04f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 13:27:25 2010 -0800
+
+ qcdm: add status command and rework testcases a bit
+
+ Status command not completely working yet.
+
+ libqcdm/src/commands.c | 68 +++++++++++++++++++++++++
+ libqcdm/src/commands.h | 19 +++++++
+ libqcdm/src/dm-commands.h | 16 ++++++
+ libqcdm/tests/test-qcdm-com.c | 112
+ +++++++++++++++++++++++++++++++++++++-----
+ libqcdm/tests/test-qcdm-com.h | 10 +++-
+ libqcdm/tests/test-qcdm.c | 9 +++-
+ 6 files changed, 220 insertions(+), 14 deletions(-)
+
+commit cb59d2e64d8bb79cb7147e7ce2128c83ec66ef1c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 13:08:19 2010 -0800
+
+ qcdm: fix guint8 result member retrieval
+
+ libqcdm/src/result.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 3d617b7bf62bd35811cd7be6cbd7848e1835ec5e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 12:17:27 2010 -0800
+
+ qcdm: add command to get MDN (ie, phone number)
+
+ libqcdm/src/Makefile.am | 1 +
+ libqcdm/src/commands.c | 53
+ +++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 14 ++++++++++++
+ libqcdm/src/nv-items.h | 35 ++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.c | 29 +++++++++++++++++++++--
+ 5 files changed, 130 insertions(+), 2 deletions(-)
+
+commit 7d151e6ae005cdac451b3e24697c7dc1e2c1e462
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 11:33:44 2010 -0800
+
+ qcdm: add DIAG_CMD_ESN
+
+ libqcdm/src/commands.c | 79
+ +++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/src/commands.h | 22 ++++++++++--
+ libqcdm/src/dm-commands.h | 7 ++++
+ libqcdm/tests/test-qcdm-com.c | 24 +++++++++++++
+ 4 files changed, 129 insertions(+), 3 deletions(-)
+
+commit 4c297935efcceb2d764077144757da57a48bd725
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 11:21:48 2010 -0800
+
+ qcdm: fix unref-ing result objects
+
+ libqcdm/src/result.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 10e5e6561f0d0cef5dfa52744fe3ca3abf062684
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 11:06:50 2010 -0800
+
+ qcdm: handle more command error responses
+
+ libqcdm/src/commands.c | 32 +++++++++++++++++++++++++++++++-
+ libqcdm/src/error.c | 4 ++++
+ libqcdm/src/error.h | 4 ++++
+ 3 files changed, 39 insertions(+), 1 deletion(-)
+
+commit 0f9d4d2a1ac3414b25c71f736c5b1293e1595721
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 22 10:52:59 2010 -0800
+
+ qcdm: fix QCDM packet decapsulation
+
+ Rename and document the encapsulate/decapsulate functions, CRC-check
+ the incoming packet, and make callers aware of the difference in how
+ big the decapsulated packet is versus how many bytes they should
+ discard from the buffer (since the decapsulated packet is at least
+ 3 bytes shorter than the incoming packet due to the CRC + framing).
+
+ libqcdm/src/commands.c | 2 +-
+ libqcdm/src/utils.c | 125
+ ++++++++++++++++++++++++++++++++++++++++--
+ libqcdm/src/utils.h | 18 ++++--
+ libqcdm/tests/test-qcdm-com.c | 33 ++++++++---
+ 4 files changed, 158 insertions(+), 20 deletions(-)
+
+commit f5d1a9b40038c4c81b361a089b0753d149b3107c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Feb 21 11:22:16 2010 -0800
+
+ serial: allow file descriptor configuration to be handled by
+ subclasses
+
+ src/mm-serial-port.c | 11 +++++++----
+ src/mm-serial-port.h | 5 +++++
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+commit 2cdefeb6dafa9d8405ddd1247967ca6e3267b1a7
+Merge: a8c7bba1 b9958e6e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 20 14:58:04 2010 -0800
+
+ Merge remote branch 'origin/master' into qcdm
+
+commit b9958e6ec5115822b1c2112da5ef2652aa847a51
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 20 14:56:37 2010 -0800
+
+ policy: add missing Makefile.am and icon
+
+ policy/Makefile.am | 15 +++++++++++++++
+ policy/modem-manager.png | Bin 0 -> 817 bytes
+ 2 files changed, 15 insertions(+)
+
+commit a8c7bba19ea486bd21f4fd1f2050bf899478fdaa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 20 14:55:10 2010 -0800
+
+ serial: refactor MMSerialPort into a base class and an AT-capable
+ serial port
+
+ For QCDM devices we want most of what MMSerialPort does, but not
+ the AT command handling stuff since the commands and responses
+ aren't AT commands nor are they even strings. So convert everything
+ that MMSerialPort does into a GByteArray, and let MMAtSerialPort
+ handle the conversion to strings when necessary.
+
+ plugins/mm-modem-anydata-cdma.c | 28 ++--
+ plugins/mm-modem-gobi-gsm.c | 9 +-
+ plugins/mm-modem-hso.c | 36 ++---
+ plugins/mm-modem-huawei-cdma.c | 24 +--
+ plugins/mm-modem-huawei-gsm.c | 62 ++++----
+ plugins/mm-modem-mbm.c | 113 +++++++-------
+ plugins/mm-modem-nokia.c | 14 +-
+ plugins/mm-modem-novatel-gsm.c | 30 ++--
+ plugins/mm-modem-option.c | 16 +-
+ plugins/mm-modem-sierra-cdma.c | 26 ++--
+ plugins/mm-modem-sierra-gsm.c | 8 +-
+ plugins/mm-modem-zte.c | 48 +++---
+ plugins/mm-plugin-huawei.c | 21 +--
+ src/Makefile.am | 6 +-
+ src/mm-at-serial-port.c | 323
+ ++++++++++++++++++++++++++++++++++++++
+ src/mm-at-serial-port.h | 85 ++++++++++
+ src/mm-generic-cdma.c | 94 ++++++------
+ src/mm-generic-cdma.h | 4 +-
+ src/mm-generic-gsm.c | 182 +++++++++++-----------
+ src/mm-generic-gsm.h | 6 +-
+ src/mm-modem-base.c | 4 +-
+ src/mm-plugin-base.c | 54 +++----
+ src/mm-serial-port.c | 333
+ +++++++++++++++++-----------------------
+ src/mm-serial-port.h | 73 +++++----
+ 24 files changed, 982 insertions(+), 617 deletions(-)
+
+commit a431455059414b4a1cad854776c7fc0572e8c7fc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 20 14:53:43 2010 -0800
+
+ core: fix memory leak on startup
+
+ src/mm-manager.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+commit 9d8e892ffe602a123697a5f65393b5752129de09
+Merge: c916ea7b 9185ce98
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Feb 20 12:49:22 2010 -0800
+
+ Merge remote branch 'origin/master' into qcdm
+
+commit 9185ce987d254aab07b0e8439a2788ce0670e59d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 19 18:23:19 2010 -0800
+
+ po: add translatable
+
+ po/POTFILES.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 16b2f40f1cd83ab37eb079b41a0f35bbcf877c93
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 19 18:21:07 2010 -0800
+
+ policy: add basic PolicyKit authorizations
+
+ Makefile.am | 2 +-
+ configure.ac | 1 +
+ policy/org.freedesktop.modem-manager.policy.in | 39
+ ++++++++++++++++++++++++++
+ 3 files changed, 41 insertions(+), 1 deletion(-)
+
+commit dcedb5273c059476813dc68d0617210d0835710b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Feb 19 11:34:47 2010 -0800
+
+ mbm: add new C3607w device ID
+
+ plugins/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 9c958c99bc7621fc800617246e5a9fa4bc4d48c8
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 16 11:03:16 2010 -0800
+
+ build: add intltool support for PolicyKit policy translations
+
+ .gitignore | 5 +++++
+ Makefile.am | 17 +++++++++++++----
+ autogen.sh | 1 +
+ configure.ac | 10 ++++++++++
+ po/LINGUAS | 0
+ po/POTFILES.in | 4 ++++
+ 6 files changed, 33 insertions(+), 4 deletions(-)
+
+commit c916ea7b4b0bb56820a08b7d51f46f5357b27bfe
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 16 10:04:26 2010 -0800
+
+ qcdm: whitespace fixes
+
+ libqcdm/src/result.c | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+commit 6239d2e3510bc136a14fdcf7d87e6d85c344bf5a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 16 09:58:47 2010 -0800
+
+ qcdm: implement command handling and minimal infrastructure
+
+ libqcdm/src/Makefile.am | 10 ++
+ libqcdm/src/com.c | 62 +++++++++++
+ libqcdm/src/com.h | 25 +++++
+ libqcdm/src/commands.c | 108 +++++++++++++++++++
+ libqcdm/src/commands.h | 39 +++++++
+ libqcdm/src/dm-commands.h | 187 ++++++++++++++++++++++++++++++++
+ libqcdm/src/error.c | 82 ++++++++++++++
+ libqcdm/src/error.h | 48 +++++++++
+ libqcdm/src/result-private.h | 41 +++++++
+ libqcdm/src/result.c | 204 +++++++++++++++++++++++++++++++++++
+ libqcdm/src/result.h | 42 ++++++++
+ libqcdm/src/utils.c | 27 ++++-
+ libqcdm/src/utils.h | 9 ++
+ libqcdm/tests/Makefile.am | 2 +
+ libqcdm/tests/test-qcdm-com.c | 241
+ ++++++++++++++++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-com.h | 27 +++++
+ libqcdm/tests/test-qcdm.c | 53 +++++++++-
+ 17 files changed, 1205 insertions(+), 2 deletions(-)
+
+commit 1a7be4a379e95a0ceb5ed1d30540eaf75354f27f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Feb 11 08:12:41 2010 -0800
+
+ huawei: ignore CSS on EVDO-capable modems (rh #553199)
+
+ Since CSS doesn't reliably determine EVDO-only registration state.
+
+ plugins/mm-modem-huawei-cdma.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit d8ea5ea003f6e06520ec1254d89ec5fec5438d18
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 9 23:44:23 2010 -0800
+
+ gsm: fix initial PIN checking for devices that echo by default
+
+ If the modem echoed commands by default (since we may not have
+ initialized the modem yet), the echoed command would confuse
+ the PIN check reply parser.
+
+ src/mm-generic-gsm.c | 8 +++++---
+ src/mm-modem-base.c | 12 +++++++++++-
+ src/mm-modem-base.h | 2 ++
+ 3 files changed, 18 insertions(+), 4 deletions(-)
+
+commit 95dd4b5be1ebb0408be6e282eb20e2c45df1f253
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 9 22:58:44 2010 -0800
+
+ gsm: try initial PIN check a few times in case SIM is busy
+
+ src/mm-generic-gsm.c | 33 ++++++++++++++++++++++++++++++---
+ 1 file changed, 30 insertions(+), 3 deletions(-)
+
+commit 953095466d210b76d785175957af0cb686fc5c04
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 9 22:14:06 2010 -0800
+
+ sierra: ignore +PACSP0 on GSM devices
+
+ plugins/mm-modem-sierra-gsm.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit 33c63a6681f439012524e5a68f6aa7220f38d120
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 8 12:37:06 2010 -0800
+
+ zte: quite ZUSIMR messages for PIN-enabled devices too
+
+ Normally this would get done by the prober, but if the device
+ has a PIN enabled it'll reject almost all commands so the +CPMS?
+ in the prober will fail. Thus we have to do it after we've unlocked
+ the device.
+
+ plugins/mm-modem-zte.c | 66
+ +++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 65 insertions(+), 1 deletion(-)
+
+commit 7fdacfc89bb233ee0018a9ae64ce1ffa5a23f5d3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 8 11:45:50 2010 -0800
+
+ test: add SE K600i COPS response testcase
+
+ src/tests/test-modem-helpers.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+commit 626f2953bf394eff4361a6d06a608349605fb5aa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 8 09:25:58 2010 -0800
+
+ qcdm: fix licensing of testcases
+
+ libqcdm/tests/test-qcdm-crc.c | 17 ++++++-----------
+ libqcdm/tests/test-qcdm-escaping.c | 17 ++++++-----------
+ libqcdm/tests/test-qcdm.c | 17 ++++++-----------
+ 3 files changed, 18 insertions(+), 33 deletions(-)
+
+commit 704d6e90b635305510673dcf5e9933a65376986e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Feb 8 09:13:17 2010 -0800
+
+ qcdm: add DM protocol utilities and testcases
+
+ Bits for CRC calculation and frame escaping/unescaping.
+
+ .gitignore | 2 +
+ Makefile.am | 2 +-
+ configure.ac | 3 +
+ libqcdm/Makefile.am | 2 +
+ libqcdm/src/Makefile.am | 31 +++++++
+ libqcdm/src/libqcdm.ver | 6 ++
+ libqcdm/src/utils.c | 169
+ +++++++++++++++++++++++++++++++++++++
+ libqcdm/src/utils.h | 37 ++++++++
+ libqcdm/tests/Makefile.am | 26 ++++++
+ libqcdm/tests/test-qcdm-crc.c | 70 +++++++++++++++
+ libqcdm/tests/test-qcdm-crc.h | 25 ++++++
+ libqcdm/tests/test-qcdm-escaping.c | 129 ++++++++++++++++++++++++++++
+ libqcdm/tests/test-qcdm-escaping.h | 26 ++++++
+ libqcdm/tests/test-qcdm.c | 49 +++++++++++
+ 14 files changed, 576 insertions(+), 1 deletion(-)
+
+commit 9eb376d782e1f40d430807794c5b0f60a91e058b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 3 18:37:24 2010 -0800
+
+ longcheer: add more port tags
+
+ plugins/77-mm-longcheer-port-types.rules | 94
+ ++++++++++++++++++++++++++++++++
+ 1 file changed, 94 insertions(+)
+
+commit 8e3406bf740144ac657d13c69bff0f3407311b14
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Feb 3 15:19:36 2010 -0800
+
+ longcheer: tag ChinaBird PL68 (pid 0x9000) ports (bgo #608668)
+
+ plugins/77-mm-longcheer-port-types.rules | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit a9918d59427eae2b00da8fbe92c556a90db38b43
+Author: Martin Pitt <martin.pitt@ubuntu.com>
+Date: Tue Feb 2 10:02:53 2010 -0800
+
+ core: ignore VTs
+
+ Even just walking sysfs for driver and parent devices takes
+ time for ports we know we'll never use, so take a short-cut
+ and save some startup time. This reduces the startup
+ overhead to some 15%.
+
+ src/mm-manager.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 469e54c364de5776b1b41db0f5eaa9cb3f34f6b0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 31 22:33:38 2010 -0800
+
+ gsm: update UnlockRequired status on PIN/PUK entry result
+
+ src/mm-generic-gsm.c | 82
+ ++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 80 insertions(+), 2 deletions(-)
+
+commit c85e61753000514ae140cf745e47e835edb934cb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 31 22:32:33 2010 -0800
+
+ serial: handle string CME error codes too
+
+ Some devices won't get to the initialization stage where we send
+ CMEE=1 (for numeric error codes) before they return some errors,
+ so handle the string representation of CME error codes too.
+
+ src/mm-serial-parsers.c | 102
+ ++++++++++++++++++++++++++++--------------------
+ 1 file changed, 60 insertions(+), 42 deletions(-)
+
+commit 27d1c8f936379ec88a0098388067d02571a6974d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 31 21:52:29 2010 -0800
+
+ errors: rework error conversion
+
+ Use the same error structure for parsing numeric and string-based
+ errors.
+
+ src/mm-errors.c | 173
+ ++++++++++++++++++++++++++++++++++++++------------------
+ src/mm-errors.h | 4 +-
+ 2 files changed, 120 insertions(+), 57 deletions(-)
+
+commit ba9634ae4fe0a3685cb9ccbc1d68fd05e0ebc1ac
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 31 12:04:53 2010 -0800
+
+ serial: add mm_serial_port_is_open()
+
+ src/mm-serial-port.c | 9 +++++++++
+ src/mm-serial-port.h | 2 ++
+ 2 files changed, 11 insertions(+)
+
+commit 765920803744c6b1326ed44894f73cb9b7481e38
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 31 12:00:26 2010 -0800
+
+ core: log when unlock state changes
+
+ src/mm-modem-base.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit 42a20ab1872ad8b570ddf97a920d83bc63defd9e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 31 11:57:05 2010 -0800
+
+ core: whitespace fixup
+
+ src/mm-modem-base.c | 25 +++++++++++++------------
+ 1 file changed, 13 insertions(+), 12 deletions(-)
+
+commit 1561436788fc26b82f803ca818ec025253ca9d63
+Author: Norbert Frese <nf2.email@gmail.com>
+Date: Sun Jan 31 11:43:52 2010 -0800
+
+ core: check modem PIN state before exporting it (bgo #604551)
+
+ And set UnlockRequired accordingly. Large cleanups and rework by
+ dcbw.
+
+ src/mm-generic-gsm.c | 109
+ +++++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 84 insertions(+), 25 deletions(-)
+
+commit 3d0f2ecf126734e96ad1f18d7e069ded3711b9f8
+Author: Norbert Frese <nf2.email@gmail.com>
+Date: Sun Jan 31 11:06:55 2010 -0800
+
+ core: add an UnlockRequired property that provides lock status
+ (bgo #604551)
+
+ Clients can check the property to determine lock/unlock status
+ and thus
+ unlock the modem before trying to connect if required.
+
+ Bits of the patch by dcbw (see the bug).
+
+ introspection/mm-modem.xml | 12 ++++++++++++
+ src/mm-modem-base.c | 30 ++++++++++++++++++++++++++++++
+ src/mm-modem-base.h | 3 +++
+ src/mm-modem.c | 9 +++++++++
+ src/mm-modem.h | 4 +++-
+ 5 files changed, 57 insertions(+), 1 deletion(-)
+
+commit 649b7e25a038cd6df735b2558bf22ee9d379924b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jan 27 15:50:53 2010 -0800
+
+ build: update .gitignore
+
+ .gitignore | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit aab913049b3f297397901ad1259c321975675666
+Author: Michael Biebl <biebl@debian.org>
+Date: Wed Jan 27 15:49:28 2010 -0800
+
+ build: update .gitignore file for m4 macros
+
+ .gitignore | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 22e687833cda89855e6dba9b3771ab403771738d
+Author: Michael Biebl <biebl@debian.org>
+Date: Wed Jan 27 15:48:55 2010 -0800
+
+ build: unify compiler warnings
+
+ configure.ac | 31 ++-----------------------------
+ m4/compiler_warnings.m4 | 31 +++++++++++++++++++++++++++++++
+ 2 files changed, 33 insertions(+), 29 deletions(-)
+
+commit 22f6ab4dc604eba85271a10cdb5a1b987db6490f
+Author: Michael Biebl <biebl@debian.org>
+Date: Wed Jan 27 15:48:10 2010 -0800
+
+ build: use separate directory for m4 macros
+
+ Makefile.am | 2 ++
+ configure.ac | 2 ++
+ 2 files changed, 4 insertions(+)
+
+commit 053db1d27ca5147e7d434ce660fa26ef83d3ed11
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 22 14:11:24 2010 -0800
+
+ misc: fix FSF address in license headers
+
+ plugins/mm-modem-mbm.c | 4 ----
+ plugins/mm-modem-mbm.h | 4 ----
+ plugins/mm-plugin-mbm.c | 4 ----
+ plugins/mm-plugin-mbm.h | 4 ----
+ 4 files changed, 16 deletions(-)
+
+commit ed885b7595294115b5cde8755c754515294f27cc
+Merge: a919c835 e9840144
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 15:07:03 2010 -0800
+
+ Merge commit 'origin/anydata'
+
+commit a919c8358284e948717c83d9d6c143281295390b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 15:03:20 2010 -0800
+
+ release: bump version to 0.3
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fabc1eba2339d28b74747e397ec2e9cad9dc34d2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 15:02:30 2010 -0800
+
+ doc: build and completeness fixes
+
+ introspection/Makefile.am | 1 +
+ introspection/all.xml | 1 +
+ 2 files changed, 2 insertions(+)
+
+commit 564d054e8e52e154dbf9996d5efc53260d4f3e09
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 14:35:48 2010 -0800
+
+ cdma: increase data call initiation timeout
+
+ Some cards (Novatel S720 for example) can take a long time to start
+ a data call if the device isn't activated on the network or the
+ signal strength is low.
+
+ src/mm-generic-cdma.c | 2 +-
+ test/mm-test.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit c6694a06b546d04a528a3e97c7d1ff696a3c2756
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 14:23:05 2010 -0800
+
+ core: fix mm_modem_check_removed() to return errors correctly
+
+ Make sure all errors actually get returned, not just removal errors.
+
+ src/mm-modem.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+commit e98401440475a1a82486fcb9ce4d02f092e627c5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 13:56:53 2010 -0800
+
+ anydata: whitespace cleanup
+
+ plugins/mm-modem-anydata-cdma.c | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+commit e4439d399a055055b01306457b4541103d5c9b92
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 13:56:07 2010 -0800
+
+ anydata: capture some unsolicited messages
+
+ plugins/mm-modem-anydata-cdma.c | 68
+ ++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 67 insertions(+), 1 deletion(-)
+
+commit 7fc53d29cce23347b12d9c3be7a753a506a88c11
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 13:48:21 2010 -0800
+
+ anydata: remove unused code
+
+ plugins/mm-modem-anydata-cdma.c | 19 -------------------
+ 1 file changed, 19 deletions(-)
+
+commit f6a09050af45a0bdbf3ddcd27e8e6197040671f3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 13:46:07 2010 -0800
+
+ cdma: allow plugins to override AT+CSS? during registration checking
+ (rh #547294)
+
+ Some modems key the AT+CSS? response off their 1X state, so if the
+ modem has EVDO service but no 1X service, AT+CSS? will provide
+ incorrect
+ registration state information and the registration checking will
+ end too early. Allow modems that can handle more specific
+ registration
+ checking to skip the AT+CSS? part.
+
+ plugins/mm-modem-anydata-cdma.c | 1 +
+ src/mm-generic-cdma.c | 73
+ +++++++++++++++++++++++++++++++----------
+ src/mm-generic-cdma.h | 6 ++--
+ 3 files changed, 61 insertions(+), 19 deletions(-)
+
+commit 19c988d92b67b56d7c87993f7a8efd984124df39
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 13:19:55 2010 -0800
+
+ anydata: add plugin for AnyData CDMA devices (rh #547294)
+
+ plugins/Makefile.am | 21 ++-
+ plugins/mm-modem-anydata-cdma.c | 336
+ ++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-anydata-cdma.h | 45 ++++++
+ plugins/mm-plugin-anydata.c | 179 +++++++++++++++++++++
+ plugins/mm-plugin-anydata.h | 41 +++++
+ 5 files changed, 621 insertions(+), 1 deletion(-)
+
+commit f4d2e30525055591d0f3bddd99936be4a5e3d444
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 12:27:54 2010 -0800
+
+ huawei-cdma: robustify SYSINFO parsing
+
+ Shouldn't happen since the number of matches was already
+ verified, but doesn't hurt to make sure we don't pass NULL
+ to strtol().
+
+ plugins/mm-modem-huawei-cdma.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 82eecfca923a3b4dec6c363e756516f6aaa47486
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 11:53:45 2010 -0800
+
+ sierra: prefer primary port for status
+
+ plugins/mm-modem-sierra-cdma.c | 22 +++++++++++++---------
+ 1 file changed, 13 insertions(+), 9 deletions(-)
+
+commit 28eca600f7f1a0387a99c51d35179d81dc3fec59
+Merge: 50ad39b2 b1992f90
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 00:21:10 2010 -0800
+
+ Merge commit 'origin/probe-cpin'
+
+commit 50ad39b28e61adb3d9da178c47e41100f554adeb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 19 03:16:34 2010 -0800
+
+ core: protect against modem removal in critical callbacks (rh #553953)
+
+ There are more places to handle, but these are the most critical. If
+ the modem is removed while a command is in-progress, the
+ mm-callback-info
+ code will set info->modem to NULL. Make sure we check for that in
+ callbacks and return a reasonable error. Previous code would just
+ blindly forge ahead and die on a null dereference.
+
+ src/mm-callback-info.c | 5 ++--
+ src/mm-errors.c | 3 +-
+ src/mm-errors.h | 3 +-
+ src/mm-generic-cdma.c | 77
+ +++++++++++++++++++++++++++-----------------------
+ src/mm-generic-gsm.c | 69 +++++++++++++++++++++++---------------------
+ src/mm-modem.c | 46 +++++++++++++++++++++++++++---
+ src/mm-modem.h | 2 ++
+ 7 files changed, 129 insertions(+), 76 deletions(-)
+
+commit 73e10c77d37791ed4a1f51ee8c1007600ef24bde
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 18 23:59:54 2010 -0800
+
+ cdma: prefer primary port unless it's connected
+
+ plugins/mm-modem-huawei-cdma.c | 23 ++++----
+ src/mm-generic-cdma.c | 119
+ ++++++++++++++++++++++-------------------
+ 2 files changed, 78 insertions(+), 64 deletions(-)
+
+commit b1992f903b27f2a0b8190daaedcbe76790180c3c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 18 23:22:02 2010 -0800
+
+ probe: add note about Onda MT503HS (rh #551376)
+
+ src/mm-plugin-base.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit a1520465fd5b5ad6a75508f5b776a77404425daa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jan 18 15:37:06 2010 -0800
+
+ build: fix 'make clean'
+
+ Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 0cc9c1731ce6250a5538b1f24ddce5dc4298f717
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jan 17 17:37:41 2010 -0800
+
+ probe: add CPIN request during the probing process (bgo #604369)
+
+ Some devices (ZTE MF628) respond to everything except CPIN? with
+ ERROR unless the PIN has been sent. Since no known CDMA devices
+ support AT+CPIN, assume that devices that return a CPIN response
+ are GSM devices.
+
+ src/mm-plugin-base.c | 99
+ ++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 73 insertions(+), 26 deletions(-)
+
+commit 4cb58b8f5f373f5717005a5216d1b4ee8802839c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jan 16 15:59:29 2010 -0800
+
+ zte: ignore SIM Build Main Menu requests (rh #551376)
+
+ plugins/mm-modem-zte.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 23727a5b106abfef53ccb5929bf2353adf474889
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 15 11:48:35 2010 -0800
+
+ longcheer: install udev rules
+
+ plugins/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 621d9e8751dca6d93bf50e5a8c86dab686bf57d4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 15 11:45:43 2010 -0800
+
+ longcheer: don't try to use untagged ports on known devices
+
+ plugins/77-mm-longcheer-port-types.rules | 3 +++
+ plugins/mm-plugin-longcheer.c | 13 ++++++++++++-
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+commit 471d8a70a931bd4571ca025dbe0481510d619f2c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 15 01:37:26 2010 -0800
+
+ longcheer: new plugin for Longcheer (Alcatel etc) devices (bgo
+ #606550)
+
+ Anything with vendor ID 0x1c9e really; like Alcatel X020, X030,
+ X060s, etc. Longcheer appears to make the actual hardware that all
+ the devices with vendor ID 0x1c9e use. You'll see it in .INF files
+ with "CMLONG" as part of the USB interface definition.
+
+ If the ports are not correctly detected, we need to get the driver's
+ .INF files to determine what the ports should be, and add them to
+ the udev rules file.
+
+ plugins/77-mm-longcheer-port-types.rules | 42 ++++++++
+ plugins/Makefile.am | 19 +++-
+ plugins/mm-plugin-longcheer.c | 180
+ +++++++++++++++++++++++++++++++
+ plugins/mm-plugin-longcheer.h | 41 +++++++
+ 4 files changed, 281 insertions(+), 1 deletion(-)
+
+commit a4fee864c21a0c12d391e764f648bae1c38a22e7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 12 09:29:36 2010 -0800
+
+ release: bump version to 0.2.998 (0.3-rc2)
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit eeb780704455003ec233714ad346963f8ed26b7d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 5 23:24:59 2010 -0600
+
+ test: add Gobi COPS response testcase
+
+ src/tests/test-modem-helpers.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit d3b5688d4374a9ca39a11453a7b2d143274b2725
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 5 21:54:05 2010 -0600
+
+ test: add Nokia 2720 COPS response testcase
+
+ src/tests/test-modem-helpers.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 008c7e322d91ebe7995b57e77ac48162655556e1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 5 21:47:40 2010 -0600
+
+ test: add Novatel XU870 and Option GT Ultra Express COPS response
+ testcases
+
+ src/tests/test-modem-helpers.c | 29 +++++++++++++++++++++++++++++
+ 1 file changed, 29 insertions(+)
+
+commit f444533a74884dcd545591035b1c58ec2708be9a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 5 18:07:29 2010 -0600
+
+ test: add +COPS response testcases for E1550, MF622, and E226
+
+ src/tests/test-modem-helpers.c | 40
+ ++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 40 insertions(+)
+
+commit 1faead71aa79c148288470b9837e50a36746d6bf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 5 18:07:12 2010 -0600
+
+ test: handle various missing operator strings if the modem doesn't
+ report them
+
+ test/mm-test.py | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit c30f23e02c0759ddd333699c7d39fe53bdf159ac
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 5 15:03:06 2010 -0600
+
+ gsm: add testcase for invalid +COPS response
+
+ src/mm-modem-helpers.c | 3 +++
+ src/tests/test-modem-helpers.c | 26 ++++++++++++++++++++++++++
+ 2 files changed, 29 insertions(+)
+
+commit 3988f53d2e9b9aae7eb4f6fb8c46dca55373ba6f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 5 14:57:30 2010 -0600
+
+ gsm: correctly parse Nokia N80 +COPS response
+
+ src/mm-modem-helpers.c | 108
+ ++++++++++++++++++++++++++++++++---------
+ src/tests/test-modem-helpers.c | 46 ++++++------------
+ 2 files changed, 100 insertions(+), 54 deletions(-)
+
+commit 216e49f8d8bbfbc0b7d2fbd00ac712a2de41b33a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jan 5 14:29:19 2010 -0600
+
+ gsm: split out +COPS response parsing and add testcases
+
+ configure.ac | 15 ++
+ src/Makefile.am | 18 +-
+ src/mm-generic-gsm.c | 113 +------------
+ src/mm-modem-helpers.c | 140 ++++++++++++++++
+ src/mm-modem-helpers.h | 31 ++++
+ src/tests/Makefile.am | 22 +++
+ src/tests/test-modem-helpers.c | 371
+ +++++++++++++++++++++++++++++++++++++++++
+ 7 files changed, 601 insertions(+), 109 deletions(-)
+
+commit a06b3f20cafab2ff2d1de16553f7ff578a9b761b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jan 1 20:52:15 2010 -0600
+
+ serial: prevent "hangs" by limiting EAGAIN retries on serial writes
+
+ MM would appear to hang sometimes when writing to serial devices but
+ in reality was just retrying the write too many times. Make the
+ retry limit time-based so MM doesn't hang but times the attempt out
+ instead.
+
+ src/mm-serial-port.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 5eed83cd753679acae1070893052243299330200
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 23 02:19:26 2009 -0800
+
+ gsm: ensure registration state is reset when disabling the modem
+
+ src/mm-generic-gsm.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit b94627572fa09ed71bfcc633e9b5a40f5e49c596
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 22 16:58:23 2009 -0800
+
+ core: implement a PropertiesChanged signal for the MMModem class
+
+ At the moment only the Enabled property is exported.
+
+ introspection/mm-modem.xml | 19 +++
+ marshallers/mm-marshal.list | 1 +
+ src/Makefile.am | 4 +-
+ src/mm-modem-base.c | 20 ++-
+ src/mm-modem.h | 2 +
+ src/mm-properties-changed-signal.c | 276
+ +++++++++++++++++++++++++++++++++++++
+ src/mm-properties-changed-signal.h | 28 ++++
+ 7 files changed, 348 insertions(+), 2 deletions(-)
+
+commit 710986bd4b630095eff7b53bc5d46d0bed94495e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 21 11:37:36 2009 -0800
+
+ core: add Enabled property to org.freedesktop.ModemManager.Modem
+ interface
+
+ introspection/mm-modem.xml | 6 ++++++
+ src/mm-modem-base.c | 8 ++++++++
+ src/mm-modem.c | 8 ++++++++
+ src/mm-modem.h | 2 ++
+ 4 files changed, 24 insertions(+)
+
+commit 71cbcb834c77025d82d91dadcb2c19bd58dd7b85
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 21 11:18:38 2009 -0800
+
+ build: don't require pppd headers to build
+
+ If they're not there, just ignore them and don't build the PPP-enabled
+ bits of the test tool.
+
+ configure.ac | 25 ++++++++++++++++++++++++-
+ test/Makefile.am | 4 ++++
+ 2 files changed, 28 insertions(+), 1 deletion(-)
+
+commit 791faca8fa1174020052b4dea05b7063946f8c79
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 21 11:17:59 2009 -0800
+
+ introspection: add missing mm-modem-gsm.xml
+
+ introspection/all.xml | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 36d8d328c73bfcfb4d52bfcaa3b8c334da952d0e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 21 10:02:57 2009 -0800
+
+ test: add support for static IP configured devices (ie, 'hso')
+
+ test/mm-test.py | 126
+ +++++++++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 98 insertions(+), 28 deletions(-)
+
+commit a8fc7ecd77cc5e2bf63d457fa30cca605ff63a8c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Dec 20 00:17:12 2009 -0800
+
+ test: add ability to drive ppp for connection tests
+
+ configure.ac | 7 ++
+ test/Makefile.am | 16 +++
+ test/mm-test-pppd-plugin.c | 264
+ +++++++++++++++++++++++++++++++++++++++++++++
+ test/mm-test.py | 154 ++++++++++++++++++++++++--
+ 4 files changed, 432 insertions(+), 9 deletions(-)
+
+commit 87ee623923ec527aa1158387901aab19e64dc22b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Dec 20 00:16:45 2009 -0800
+
+ test: fix build warning
+
+ test/lsudev.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit db7214c202b7ed9d9cf12f49ff70ceba020f6f33
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 18 19:44:48 2009 -0800
+
+ sierra: fix CDMA registration detection in some cases
+
+ It turns out that "Modem is [NOT] registered" is not a good indicator
+ of whether the card has service or not; instead some of the AT!STATUS
+ response is needed to really determine registration state or not.
+
+ plugins/mm-modem-sierra-cdma.c | 72
+ ++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 59 insertions(+), 13 deletions(-)
+
+commit 8d42094608e68eccbcf5838d87fd59aa605a18be
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 16 15:26:05 2009 -0800
+
+ zte: handle unsolicited messages during probe
+
+ This implements the same fixes that NetworkManager's 0.7 branch
+ implemented in commits f38ad328acfdc6ce29dd1380602c546b064161ae and
+ 1235f71b20c92cded4abd976ccc5010649aae1a0. Many ZTE devices will
+ spam the port with messages about waiting voicemail/SMS which buffer
+ up and cause the device to eventually crash if not suppressed.
+
+ plugins/mm-plugin-zte.c | 9 ++++++
+ src/mm-plugin-base.c | 76
+ ++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-plugin-base.h | 5 ++++
+ 3 files changed, 89 insertions(+), 1 deletion(-)
+
+commit 3ad172d1504b20949049cf47783e1fe7287c9b95
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 16 14:34:29 2009 -0800
+
+ cdma: fix quality parsing if modem doesn't prepend +CSQ:
+
+ Which some Huawei modems (EC168C) don't do.
+
+ src/mm-generic-cdma.c | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+commit 30a2a202073bb7c9ac56326fff01517850894774
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 16 14:20:24 2009 -0800
+
+ sierra: use at!pcstate on CDMA modems for power control
+
+ at!pcstate is what Sierra CDMA modems use instead of AT+CFUN for
+ powering the radio on and off. It doesn't turn the modem off
+ completely
+ like AT+CFUN=0 does for many GSM devices though, so it's quite a
+ lot nicer.
+
+ plugins/mm-modem-sierra-cdma.c | 46 +++++++++++++++++++
+ src/mm-generic-cdma.c | 100
+ ++++++++++++++++++++++++++++++-----------
+ src/mm-generic-cdma.h | 14 ++++++
+ 3 files changed, 133 insertions(+), 27 deletions(-)
+
+commit 2fc0c039e65173123a39a0fb6c8f44804cbd773a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 11 16:30:25 2009 -0800
+
+ option: always pick the right data port
+
+ This is the MM equivalent of NM commit
+ 9d7f5b3d084eee2ccfff721c4beca3e3f34bdc50;
+ Genuine Option NV devices are always supposed to use USB interface
+ 0 as
+ the modem/data port, per mail with Option engineers. Only this port
+ will emit responses to dialing commands.
+
+ plugins/mm-plugin-option.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit 488baa13302c6d1e839db6afc9fed088e9d5dbba
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 11 13:19:21 2009 -0800
+
+ mbm: ensure various unsolicited responses are turned off when
+ disabling
+
+ If the modem wasn't connected when disable is called, the generic GSM
+ code doesn't need to shut anything down and thus closes the serial
+ port immediately. That means the mbm plugin's CREG=0 and CMER=0 won't
+ get sent because the port is closed. mbm needs to ensure that it's
+ commands actually get sent to the modem by really sending them and
+ waiting for the response before chaining up to the parent's disable.
+
+ plugins/mm-modem-mbm.c | 36 +++++++++++++++++++++++++++++-------
+ 1 file changed, 29 insertions(+), 7 deletions(-)
+
+commit eaf167bebdc24c992b0a7b130432064eb5c537b7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 11 12:53:50 2009 -0800
+
+ test: argument parsing and connect improvements
+
+ test/mm-test.py | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 41ea9a0e4bc3817fa060d54c7c7df7a8606eb9d1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 11 10:48:23 2009 -0800
+
+ cdma: try +CSQ? if CSQ fails
+
+ Some modems want one, some modems want the other. Try both.
+
+ src/mm-generic-cdma.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+commit 3d852435c6032cdae09659e103561a0ecac62b7e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Dec 11 09:30:51 2009 -0800
+
+ cdma: accept SID 0 in some cases
+
+ Most AT command references allow modems to report SID 0, even though
+ SID 0 is not a valid SID and is not assigned to any CDMA network.
+ Some Sierra 5725 cards have been seen to report valid class and band
+ from the +CSS response but a SID 0. Accept SID 0 when at least one
+ other element of the +CSS response indicates that the modem has
+ service.
+ Otherwise, report "no service" as before.
+
+ src/mm-generic-cdma.c | 32 +++++++++++++++++++++++++++-----
+ 1 file changed, 27 insertions(+), 5 deletions(-)
+
+commit 07114d4f43c6e724d22294108b1e73785e7aab2a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 7 22:07:58 2009 -0800
+
+ release: bump version to 0.2.997
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit dd057d28e4ab3812eebd41a7df1c2f80d90d8600
+Merge: f715e0d4 a9e06244
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 7 22:04:28 2009 -0800
+
+ Merge commit 'origin/states'
+
+commit a9e0624426632a38c2d208e7a28fac3bca51d857
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 7 18:40:04 2009 -0800
+
+ gsm: handle different +COPS response behavior
+
+ Some modems delay the +COPS response until registration is complete,
+ others return right away. Make sure that both behaviors work
+ correctly.
+
+ src/mm-generic-gsm.c | 61
+ +++++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 53 insertions(+), 8 deletions(-)
+
+commit 5a4a9a6239ac771e8ddc343d041f643d848a7ad2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Dec 7 18:39:18 2009 -0800
+
+ core: add refcounts to MMCallbackInfo
+
+ src/mm-callback-info.c | 39 +++++++++++++++++++++++++++++++--------
+ src/mm-callback-info.h | 6 ++++++
+ 2 files changed, 37 insertions(+), 8 deletions(-)
+
+commit 1157b59a18ee4e5da109977947181f8596f100ff
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 2 14:59:26 2009 -0800
+
+ core: pretty-print state changes
+
+ src/mm-manager.c | 2 --
+ src/mm-modem.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem.h | 2 ++
+ 3 files changed, 44 insertions(+), 3 deletions(-)
+
+commit 5bdabaabec5ecb64986036bf783196eeee3756e7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 2 14:43:09 2009 -0800
+
+ gsm: implement enable/connecting/disconnecting state handling
+
+ And consolidate generic port enable code in one place since pretty
+ much every modem needs that.
+
+ plugins/mm-modem-hso.c | 33 ++++----
+ plugins/mm-modem-mbm.c | 165
+ +++++++++++++++++++--------------------
+ plugins/mm-modem-novatel-gsm.c | 67 +++++++---------
+ plugins/mm-modem-option.c | 21 +++--
+ plugins/mm-modem-sierra-gsm.c | 25 +++---
+ plugins/mm-modem-zte.c | 58 +++++---------
+ src/mm-generic-gsm.c | 170
+ ++++++++++++++++++++++++++++-------------
+ src/mm-generic-gsm.h | 28 +++++++
+ 8 files changed, 309 insertions(+), 258 deletions(-)
+
+commit 872fe9bf6bb0555f7e4df85fc06314a013404428
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Dec 2 14:42:58 2009 -0800
+
+ test: give some time before disconnecting
+
+ test/mm-test.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit bb6f997fb8b6acad6af62cae081b55e6d94cc1b6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 16:46:23 2009 -0800
+
+ gsm: update for new states and state flow fixes
+
+ plugins/mm-modem-mbm.c | 1 +
+ src/mm-generic-gsm.c | 74
+ ++++++++++++++++++++++++++++++++++++++++++++++----
+ src/mm-generic-gsm.h | 10 +++++++
+ 3 files changed, 80 insertions(+), 5 deletions(-)
+
+commit 7f1951fec867de5553b130c21df4eb5f447889a1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 16:44:07 2009 -0800
+
+ core: fix ordering of DISABLING and DISABLED states
+
+ src/mm-modem.c | 2 +-
+ src/mm-modem.h | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit bf13b4698f8d94119f42e5cdf5df6a3dbfe354fd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 16:33:44 2009 -0800
+
+ cdma: reset previous state if disconnect failed
+
+ src/mm-generic-cdma.c | 20 ++++++++++++++++++--
+ 1 file changed, 18 insertions(+), 2 deletions(-)
+
+commit c169396c1bbb1238e3c405bb9c53eb12712acb9b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 16:19:27 2009 -0800
+
+ cdma: correctly handle state update after disconnection
+
+ We only want to ignore connected/connecting/disconnecting states
+ and update the state based on registration for unsolicited
+ registration changes. Basically, when disconnecting, the modem
+ will be in DISCONNECTING state, but after the disconnect has finished
+ we want to update the modem's state based on the current
+ registration status. But the previous check for >= DISCONNECTING
+ would prevent that from happening, so we need a slightly more specific
+ check in update_enabled_state().
+
+ src/mm-generic-cdma.c | 29 +++++++++++++++++++----------
+ 1 file changed, 19 insertions(+), 10 deletions(-)
+
+commit d438012f63dac7e4819f09b520658abb42234082
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 16:01:20 2009 -0800
+
+ cdma: s/GSM/CDMA
+
+ Oops.
+
+ src/mm-generic-cdma.c | 4 ++--
+ src/mm-generic-cdma.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 02c7db7fcfc7af226c2677793685528928d6f7f5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 15:58:11 2009 -0800
+
+ cdma: handle interim enabling/disabling states better
+
+ Have to fall back to the previous state if the enable/disable
+ operation fails since we cannot assume anything about the new
+ modem state when a failure occurs.
+
+ src/mm-generic-cdma.c | 36 ++++++++++++++++++++++++++++++++++--
+ src/mm-generic-cdma.h | 2 ++
+ 2 files changed, 36 insertions(+), 2 deletions(-)
+
+commit a295afdd2ddd99dea8435d95a72f02d0ade2b2b7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 15:39:06 2009 -0800
+
+ cdma: update for new modem states and make connect actually work
+
+ src/mm-generic-cdma.c | 41 ++++++++++++++++++++++++++---------------
+ 1 file changed, 26 insertions(+), 15 deletions(-)
+
+commit e9964231e931f283ecf232f23f45282a22e3471a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 15:38:11 2009 -0800
+
+ core: use modem states to protect against double operations
+
+ src/mm-modem.c | 111
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 105 insertions(+), 6 deletions(-)
+
+commit 0f19bbff0f7b29c5922307526c3a7770fe8718e1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 15:37:37 2009 -0800
+
+ core: add a few more interim modem states
+
+ src/mm-modem.h | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+commit 015da49d06fd7f19c444ba7b9e98baeb31c72c4d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 14:19:25 2009 -0800
+
+ core: set modem state before potentially destroying the modem
+
+ src/mm-modem-base.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit d269a9a278687c82e5a6ec3f1bba0f91161a05c7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 12:58:57 2009 -0800
+
+ core: state should always be reset to DISABLED when validity changes
+
+ When the modem becomes valid, it should initially be in disabled
+ state,
+ and when it becomes invalid, it should also go to disabled.
+
+ src/mm-modem-base.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 76facd689188029cd9fe01be837f86b895231ded
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 12:58:25 2009 -0800
+
+ mbm: update state after enabling the device
+
+ plugins/mm-modem-mbm.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit 231d2ca90b6d197d4594407fc3e6b6ee2c7fb850
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 12:57:39 2009 -0800
+
+ core: schedule enabled/disabled callbacks to avoid infinite recursion
+
+ src/mm-modem.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 3350a3aeea6ceeb959d7622b62f53ab86bb2ab48
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 12:57:18 2009 -0800
+
+ cdma: set correct modem state on connect failure
+
+ src/mm-generic-cdma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f715e0d498930409d97a8097b37731aadbc11a72
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 11:25:28 2009 -0800
+
+ build: require glib-2.0 >= 2.6.18 for g_set_error_literal()
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 881a725ea47e059023a268404368346d232dd15a
+Merge: 909b8b7c b46ac89f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 11:22:00 2009 -0800
+
+ Merge commit 'origin/master' into states
+
+commit b46ac89ff68d1e1211f7aa21ca816c23eed6316e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Dec 1 10:02:47 2009 -0800
+
+ zte: add missing ZTE device aux port tags
+
+ plugins/77-mm-zte-port-types.rules | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 35daaff983ec4c0435066bc5776b664a91359909
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 30 20:17:43 2009 -0800
+
+ gsm: more complete parsing of PIN responses
+
+ Need to handle ex PH-NET PIN from a subsidy-locked device for
+ example.
+
+ src/mm-generic-gsm.c | 50
+ ++++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 42 insertions(+), 8 deletions(-)
+
+commit c87b4dcc7796f9c8b0980c47796b3f2fad8477ec
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 30 17:42:37 2009 -0800
+
+ zte: add additional device port tags
+
+ Don't know the aux port yet but we'll figure that out;
+ and in the mean time the autoprobing should tag the
+ port as a secondary port anyway.
+
+ plugins/77-mm-zte-port-types.rules | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+commit 909b8b7c8dbe2de97d9550004641c70411d92c56
+Merge: c463b5a4 0f595adb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 30 15:44:20 2009 -0800
+
+ Merge commit 'origin/master' into states
+
+commit 0f595adb7f07f575627667480f23775b21f9efb2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 30 15:41:09 2009 -0800
+
+ gsm: fix unsolicited registration segfaults
+
+ By decoupling the solicited registration callback from unsolicited
+ replies, we can be sure of the call flow and avoid issues where
+ unsolicited registration will be processed when an explicit
+ registration request is no longer in progress.
+
+ Also ups the timeout on CREG=0,, to 120 seconds because that
+ appears to trigger an internal scan on some of the 'hso' devices
+ that I have, and can take up to 60 or more seconds to complete
+ or fail.
+
+ src/mm-generic-gsm.c | 124
+ ++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 83 insertions(+), 41 deletions(-)
+
+commit f205c814b58d37b3865c42e7f8b5112ce0f78aa0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 30 09:47:39 2009 -0800
+
+ hso: ensure authentication works again after auth errors
+
+ plugins/mm-modem-hso.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit d06f8f46c68bd561b349f2db78d3caca531d3a4f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 29 22:46:48 2009 -0800
+
+ serial: don't run commands when there's already one in-progress
+
+ If there's already a command in-progress don't try to send
+ another until the previous one has timed out. Also use
+ g_timeout_add_seconds() since precision doesn't really matter for
+ command timeouts.
+
+ src/mm-serial-port.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+commit 028c6a5e4eaf487bbb18debacbc0c56c32f8f52b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 29 22:45:28 2009 -0800
+
+ hso: fix up connection issues and error ignorance
+
+ Should have ignored errors when cleaning up old contexts that
+ may or may not exist. Rename hso_disable() to something more
+ appropriate since it's actually part of the enable/connect path,
+ not the disable path.
+
+ plugins/mm-modem-hso.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+commit 3890009bcc15a9524fdd17cdb6c8ec7f1b879f31
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 29 22:45:03 2009 -0800
+
+ test: actually send username and password when connecting
+
+ test/mm-test.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 01db3f1c2fad716088563fb7e91720691fd962d4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 29 21:49:46 2009 -0800
+
+ test: give connect a bit more time
+
+ Registration can be part of the connect process, which can take
+ quite a while.
+
+ test/mm-test.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c8fdb592e3500177c3267b9eefd4afebed58bb64
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 29 18:58:56 2009 -0800
+
+ hso: send authentication info correctly for Icera-based Option modems
+
+ Icera-based modems use AT_OPDPP instead of AT$QCPDPP.
+
+ plugins/mm-modem-hso.c | 86
+ ++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 63 insertions(+), 23 deletions(-)
+
+commit 9dbf8f22c06a204dd3cd9521c52cc5afafe8d278
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 29 18:58:21 2009 -0800
+
+ gsm: allow unsolicted registration updates to actually update
+ reg state
+
+ src/mm-generic-gsm.c | 21 ++++++++++++---------
+ 1 file changed, 12 insertions(+), 9 deletions(-)
+
+commit d5b0574f587ddab904d3a1f1af3cb2c354486f66
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Nov 29 18:56:29 2009 -0800
+
+ test: handle scan errors more gracefully
+
+ test/mm-test.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit aea0be5b9a02926a1f8f72104ce32c7dabae3f84
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Nov 26 13:54:47 2009 -0800
+
+ nozomi: fix detection (lp:425312)
+
+ Nozomi devices aren't quite ready when the ports show up, so
+ we have to keep trying to open the port for a few seconds and
+ eventually it'll succeed. Should really be fixed in the driver
+ (ie, don't create the ttys until they can actually be used) but
+ whatever.
+
+ src/mm-errors.c | 1 +
+ src/mm-errors.h | 3 ++-
+ src/mm-plugin-base.c | 67
+ ++++++++++++++++++++++++++++++++++++++++++++--------
+ src/mm-serial-port.c | 9 ++++++-
+ 4 files changed, 68 insertions(+), 12 deletions(-)
+
+commit 15595b33dc88724253a147b7894c953a5d3110e6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Nov 26 13:52:50 2009 -0800
+
+ gsm: CGDCONT parsing fixes (bgo #602552)
+
+ Ignore spaces and account for random parentheses in the CGDCONT
+ response. Also fixes parsing CGDCONT=? on nozomi.
+
+ src/mm-generic-gsm.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8dd2421e9c7c2d8afa5af4080eabed41c5689d81
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Nov 26 13:40:32 2009 -0800
+
+ core: don't allow double-scheduled callbacks
+
+ If the modem becomes invalid (it crashes and resets, for example)
+ the callback-info's modem_destroyed_cb() function will handle
+ cleanup. Buf if the callback-info's callback does more work than
+ just returning the result (like simple_state_machine) it could
+ double-schedule the callback. Don't let that happen.
+
+ We need better modem-removal handling, but this fixes a crash for
+ now.
+
+ src/mm-callback-info.c | 2 ++
+ src/mm-callback-info.h | 1 +
+ 2 files changed, 3 insertions(+)
+
+commit 19e9c0cb480851a6e64ff9b5ce33861765a6e6ee
+Author: Jeroen Elebaut <J.Elebaut@option.com>
+Date: Tue Nov 24 15:36:32 2009 -0800
+
+ serial: handle arbitrary amounts of <CR><LF> padding in responses
+
+ Firmware on some Option devices (iCON 505) likes to spray newlines
+ all over the place. Some fixes and boundary checks by me (dcbw).
+
+ src/mm-serial-parsers.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+commit 50412ba3f9fe6b3ee33a83d452155b7f224ff719
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 24 15:16:58 2009 -0800
+
+ test: handle signal quality exceptions
+
+ test/mm-test.py | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+commit 8bd10ebda2a29614319a14344294f495fede0baa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 24 13:04:21 2009 -0800
+
+ huawei: sometimes reports BOOT with two LFs, not LF+CR
+
+ plugins/mm-plugin-huawei.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 3218b94376de9598ef4530800584c30acf350810
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 24 12:57:44 2009 -0800
+
+ cdma: handle 1x and EVDO quality separately
+
+ plugins/mm-modem-huawei-cdma.c | 67
+ ++++++++++++++++++++++++++++++++++--------
+ src/mm-generic-cdma.c | 39 +++++++++++++++++++-----
+ src/mm-generic-cdma.h | 3 +-
+ 3 files changed, 88 insertions(+), 21 deletions(-)
+
+commit ac9cae2bc8bc0c7ae7ae0d0cf08d4872dcd9fb60
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 24 12:16:14 2009 -0800
+
+ zte: retry init strings once on timeout
+
+ Some ZTE devices (MF626 for example) will emit the ZPASR unsolicited
+ response right after MM opens the port, and they will just throw the
+ init string away. So retry the init string once; the ZTE devices will
+ see it the second time and continue as normal.
+
+ This is the MM version of NM commit
+ 861e9689c513cbd61fa75205a681a69d4ba8236c
+
+ plugins/mm-modem-zte.c | 44 ++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 42 insertions(+), 2 deletions(-)
+
+commit 5175c2accb5bff5e2c78e906d00658bd9b70c07e
+Author: Jeroen Elebaut <J.Elebaut@option.com>
+Date: Tue Nov 24 11:31:22 2009 -0800
+
+ gsm: some modems dislike spaces in AT+CGDCONT
+
+ 0.7 hasn't used spaces for over a year, so this is a pretty safe
+ change. Some modems just don't like it.
+
+ 0.7 commit to remove spaces:
+
+ commit 0265bfe52dcc93372aff6064e849044ccb72aa1e
+ Author: Dan Williams <dcbw@redhat.com>
+ Date: Fri Oct 24 15:15:06 2008 +0000
+
+ 2008-10-24 Dan Williams <dcbw@redhat.com>
+
+ * src/nm-gsm-device.c
+ - (set_apn): remove erroneous spaces in AT+CGDCONT
+ command (Jerone Young)
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5ceb3a2106612ededa481c4e723626d00722d8da
+Author: Jeroen Elebaut <J.Elebaut@option.com>
+Date: Tue Nov 24 00:43:20 2009 -0800
+
+ gsm: allow longer timeout for registration
+
+ Often modems will scan before registering with +COPS.
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c463b5a4005b9e55d0faeb887debe327118ef230
+Merge: 3be4a151 9e92bceb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 24 00:20:52 2009 -0800
+
+ Merge commit 'origin/master' into states
+
+commit 9e92bceb0750752bf4761d55a1538d20dc017bea
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 24 00:19:27 2009 -0800
+
+ hso: consolidate PDP context activate/deactivate operations
+
+ And rename the function to make it clearer. disable() wasn't using
+ the common activate/deactivate code so switch it to do so.
+
+ plugins/mm-modem-hso.c | 52
+ +++++++++++++++++++-------------------------------
+ 1 file changed, 20 insertions(+), 32 deletions(-)
+
+commit 3be4a15189aef361187b86df64f62ca70284dee3
+Merge: d8ff5f74 e5b5c833
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 23 23:48:26 2009 -0800
+
+ Merge commit 'origin/master' into states
+
+commit e5b5c8339472a37d3a44ac6239fc3d9bdb9ce5cc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 23 23:32:01 2009 -0800
+
+ hso: disconnect the PDP context that was active (if any)
+
+ Instead of always disconnecting context #1.
+
+ plugins/mm-modem-hso.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit d8ff5f74e008289ad512bb15f2c4cb1576752221
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 23 23:30:30 2009 -0800
+
+ core: state -> DISABLED when the modem becomes invalid
+
+ src/mm-modem-base.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 500fb5f29aebb583f2f8c27fed11a5cd394c9958
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Nov 23 23:30:04 2009 -0800
+
+ gsm: don't regress states on registration change if still registered
+
+ src/mm-generic-gsm.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 1fe9150f5c9187d5f53db076ab2224bc9dcf7d45
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 17 15:24:52 2009 -0800
+
+ test: add lsudev.c since I don't know where else to put it
+
+ A helpful little tool to debug udev device relationships.
+
+ test/lsudev.c | 180
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 180 insertions(+)
+
+commit 3193e97bb809d10367ece12e91245eeecca711b9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Nov 17 14:16:24 2009 -0800
+
+ probe: fix probing on PPC due to missing cast
+
+ gcc will interpret the constant value as a uint32 but
+ the port's set_property() was taking it as a uint64. Thus
+ the top 32 bits were probably garbage, and messed up
+ on big-endian architectures leading to random large
+ probe delays.
+
+ src/mm-plugin-base.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3c6e4056e7cded28e612a76d9321f54fb1b51ce2
+Merge: 9bbc6ab5 74f679ac
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Nov 6 15:11:01 2009 -0800
+
+ Merge commit 'origin/master' into states
+
+commit 74f679acdb8caa15c59b6b84b6a117a144426720
+Author: Torgny Johansson <torgny.johansson@gmail.com>
+Date: Wed Nov 4 13:11:23 2009 -0800
+
+ mbm: add USB IDs for C3607w
+
+ plugins/77-mm-ericsson-mbm.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 107f950a9e93735fa3ef03f7a522f08f56570f19
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 30 17:11:31 2009 -0700
+
+ gsm: tighter signal strength validation
+
+ The standard dictates CSQ response strength value to be [0 - 31]
+ inclusive, and 99 means "unknown" or "no service". Make that
+ apparent and don't treat 99 as 99% which it clearly isn't. Also,
+ allow spaces in the CSQ response.
+
+ src/mm-generic-gsm.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit 122aa62afabab2636691ba338508c9ab7da2ff2b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 30 17:11:22 2009 -0700
+
+ trivial: spacing fix
+
+ src/mm-generic-cdma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 07cf870937c981e9c7ac8e9937839a103c1c951e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 30 16:55:56 2009 -0700
+
+ gsm: give a network scan 2 minutes instead of 1
+
+ On many modems that support 7 or more bands (quad-band 2G, tri-band
+ or more for 3G) scans take quite a while.
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 54901933fea26d17ec7fac5e326f6478770b059d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 30 16:55:04 2009 -0700
+
+ gsm: make "X4 &C1" init arguments optional (lp:455031)
+
+ At least don't error out of the fail since they aren't really
+ necessary, just nice to have.
+
+ src/mm-generic-gsm.c | 18 +++++++++++++++++-
+ src/mm-generic-gsm.h | 10 +++++-----
+ 2 files changed, 22 insertions(+), 6 deletions(-)
+
+commit 678f07a1e28e0b7bb74319418c215e9e5ed9b8bb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 30 16:16:36 2009 -0700
+
+ gobi: don't override generic init commands
+
+ The default ones seem to work just fine.
+
+ plugins/mm-modem-gobi-gsm.c | 32 --------------------------------
+ 1 file changed, 32 deletions(-)
+
+commit 9bbc6ab53b14097c510548dde4818a596e551617
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 27 15:01:00 2009 -0700
+
+ core: initial implementation of modem states
+
+ Needs more work for GSM, but should be reasonably complete for CDMA.
+
+ marshallers/mm-marshal.list | 2 ++
+ src/mm-generic-cdma.c | 50 +++++++++++++++++++++++++++-------
+ src/mm-generic-gsm.c | 35 +++++++++++++++++++++++-
+ src/mm-generic-gsm.h | 3 +++
+ src/mm-modem-base.c | 11 ++++++++
+ src/mm-modem.c | 65
+ +++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-modem.h | 30 +++++++++++++++++++++
+ 7 files changed, 186 insertions(+), 10 deletions(-)
+
+commit 4e74953b9159de688a05bd8abcb90204d08aaff2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 26 17:59:33 2009 -0700
+
+ cdma: return registration state, not error, when unregistered
+
+ src/mm-generic-cdma.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 49b5ffd076001ad56647d3357f2d3cb94c1abb8b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 26 17:56:48 2009 -0700
+
+ core: use G_DEFINE_TYPE_* instead of rolling our own
+
+ Use the macro; save some trees.
+
+ plugins/mm-modem-gobi-gsm.c | 43 ++-----------
+ plugins/mm-modem-hso.c | 43 ++-----------
+ plugins/mm-modem-huawei-cdma.c | 37 +----------
+ plugins/mm-modem-huawei-gsm.c | 41 ++----------
+ plugins/mm-modem-mbm.c | 50 +++------------
+ plugins/mm-modem-moto-c-gsm.c | 43 ++-----------
+ plugins/mm-modem-nokia.c | 35 ++--------
+ plugins/mm-modem-novatel-gsm.c | 36 ++---------
+ plugins/mm-modem-option.c | 42 ++----------
+ plugins/mm-modem-sierra-cdma.c | 25 +-------
+ plugins/mm-modem-sierra-gsm.c | 34 ++--------
+ plugins/mm-modem-zte.c | 33 ++--------
+ src/mm-generic-cdma.c | 118 +++-------------------------------
+ src/mm-generic-gsm.c | 124 ++++-------------------------------
+ src/mm-modem-base.c | 142
+ ++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-base.h | 5 ++
+ 16 files changed, 234 insertions(+), 617 deletions(-)
+
+commit 2887a50b232714702c0eb9009c32d9a6b850888b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 26 15:39:34 2009 -0700
+
+ gsm: ignore errors from power-on command
+
+ Phones especially don't seem to consistently implement this. For now,
+ we'll hack it out, but later, we'll want to have a class method for
+ power-on instead of just a property so that subclasses can decided for
+ themselves (since they know their hardware better) whether failure
+ of the power-on command is fatal or not.
+
+ src/mm-generic-gsm.c | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+commit 6bc4f0ae8cad621e11d882d2b3813765c86156c2
+Author: Jeroen Elebaut <J.Elebaut@option.com>
+Date: Fri Oct 16 14:41:12 2009 -0700
+
+ hso: handle OWANCALL response better
+
+ plugins/mm-modem-hso.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 16f3e00f3438507aee06ffcaee560e337b8e8279
+Author: Alexander Sack <asac@ubuntu.com>
+Date: Wed Oct 14 23:33:52 2009 +0200
+
+ gsm: fix unsolicited registration by calling the statemachine callback
+ info - lp:416893
+
+ src/mm-generic-gsm.c | 77
+ ++++++++++++++++++++++++++++------------------------
+ 1 file changed, 42 insertions(+), 35 deletions(-)
+
+commit acd785bfa40245879c7c90f8a0209141202fb44f
+Author: Alexander Sack <asac@ubuntu.com>
+Date: Wed Oct 14 21:58:30 2009 +0200
+
+ mbm: use generic get_signal_quality implementation rather than our
+ own CIND based one
+
+ plugins/mm-modem-mbm.c | 35 -----------------------------------
+ 1 file changed, 35 deletions(-)
+
+commit 139741d140b18938a14075e22368364dd8b4168f
+Author: Alexander Sack <asac@ubuntu.com>
+Date: Wed Oct 14 21:07:36 2009 +0200
+
+ mbm: implement AT*ENAP polling
+
+ plugins/mm-modem-mbm.c | 46
+ +++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 45 insertions(+), 1 deletion(-)
+
+commit 6885505deac1390694b00f3207801f4cb8a0eaa9
+Author: Alexander Sack <asac@ubuntu.com>
+Date: Wed Oct 14 18:41:25 2009 +0200
+
+ mbm: flip order in which we send enap/e2nap to modem to make f3507g
+ happier
+
+ plugins/mm-modem-mbm.c | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+commit 6ddd97e81cc2a9412ccc464ba062ec49a258e06c
+Author: Alexander Sack <asac@ubuntu.com>
+Date: Wed Oct 14 11:32:55 2009 +0200
+
+ mbm: send ENAP=0 on init to set modem back to sane state and ignore
+ CIND errors
+
+ plugins/mm-modem-mbm.c | 32 +++++++++++++++++++++++---------
+ 1 file changed, 23 insertions(+), 9 deletions(-)
+
+commit 3d86a3e89a18ccd98b9f65b389f70ba19f100004
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Oct 14 13:47:21 2009 -0700
+
+ gsm: don't issue CFUN=0 by default
+
+ Let plugins do it when they know it's OK.
+
+ src/mm-generic-gsm.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit ea29dc8044e649f59f47442a40b999f7998994ab
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Oct 14 13:36:59 2009 -0700
+
+ mbm: fix disable after 3b19a85727458821f5df20153f8c04bc7717ba30
+
+ C & P error in enable/disable split.
+
+ plugins/mm-modem-mbm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c77dbb7a947f776f2dbb0ee800fb4a1cbac75fe0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 13 16:05:02 2009 -0700
+
+ cdma: give cards more time to register
+
+ 5 was left-over from debugging unplug-while-registering issues,
+ was meant to be 15 (ie, 60 seconds) anyway.
+
+ src/mm-generic-cdma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0bcdf6a7c105471b195203a4a9f065c3f7fbbc7e
+Author: Alexander Sack <asac@jwsdot.com>
+Date: Tue Oct 13 15:14:14 2009 +0200
+
+ nokia: fix class property overrides to stop modemmanager from sending
+ AT+CFUN (lp:450256)
+
+ plugins/mm-modem-nokia.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit f4ada20709904ac563457bf0e155ab83958975bf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 12 22:44:03 2009 -0700
+
+ cdma: implement registration in Simple.Connect path
+
+ Wait a bit for the modem to register before trying to dial.
+
+ src/mm-generic-cdma.c | 229
+ ++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 214 insertions(+), 15 deletions(-)
+
+commit f916d939f3a7e201ef0d99e8eb155e31c7e1e1f5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 12 22:43:46 2009 -0700
+
+ test: add connect ability
+
+ test/mm-test.py | 53
+ +++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 47 insertions(+), 6 deletions(-)
+
+commit c0253c7c293148a0bdb6c20d4b38a08401d8e34d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 12 19:51:10 2009 -0700
+
+ core: convert MMCallbackInfo modem refs to weak refs
+
+ Full references prevented destruction of the modem object if
+ it was unplugged or somehow removed. To fix that using full
+ references on the modems would require that all usage of
+ MMCallbackInfo to be aware of the validity of the modem and to
+ ensure the callback was called whenever the modem became invalid.
+ That, needless to say, would suck. Since any in-progress calls
+ can't complete when the modem is invalid anyway, just have the
+ MMCallbackInfo object return a generic error when the modem goes
+ away and the call is still in-progress.
+
+ src/mm-callback-info.c | 23 +++++++++++++++++++++--
+ 1 file changed, 21 insertions(+), 2 deletions(-)
+
+commit 6f65ad768238395a3bfc3e02fd946843282492d2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 12 11:45:20 2009 -0700
+
+ sierra: handle non-EVDO roaming indication for older cards
+
+ Like the AC580
+
+ plugins/mm-modem-sierra-cdma.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 942b5ff826d5d0a4ce7c6923e92206467736f9af
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 12 10:56:53 2009 -0700
+
+ sierra: add CDMA device subclass and implement registration state
+ handling
+
+ plugins/Makefile.am | 4 +-
+ plugins/mm-modem-sierra-cdma.c | 298
+ +++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-sierra-cdma.h | 45 +++++++
+ plugins/mm-plugin-sierra.c | 12 +-
+ 4 files changed, 352 insertions(+), 7 deletions(-)
+
+commit 3245ea319369d3198582ad1ee54c0b862447215a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 12 10:56:11 2009 -0700
+
+ huawei: don't need AT prefix
+
+ plugins/mm-modem-huawei-cdma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 958b9048a38cdb21063c8333748041131ba98396
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 12 10:05:27 2009 -0700
+
+ cdma: split 1x and EVDO registration states
+
+ Like UMTS vs. GSM, EVDO and 1x are separate networks and technologies
+ and have separate registration state. You can even be roaming on
+ EVDO while in your home 1x network. Handle that.
+
+ introspection/mm-modem-cdma.xml | 14 ++-
+ marshallers/mm-marshal.list | 1 +
+ plugins/mm-modem-huawei-cdma.c | 37 +++++--
+ plugins/mm-modem-huawei-cdma.h | 4 +-
+ plugins/mm-plugin-generic.c | 4 +-
+ plugins/mm-plugin-gobi.c | 4 +-
+ plugins/mm-plugin-huawei.c | 4 +-
+ plugins/mm-plugin-nokia.c | 4 +-
+ plugins/mm-plugin-novatel.c | 4 +-
+ plugins/mm-plugin-sierra.c | 4 +-
+ plugins/mm-plugin-zte.c | 4 +-
+ src/mm-generic-cdma.c | 238
+ +++++++++++++++++++++++++++++++++++-----
+ src/mm-generic-cdma.h | 36 +++++-
+ src/mm-modem-cdma.c | 48 ++++++--
+ src/mm-modem-cdma.h | 16 ++-
+ test/mm-test.py | 5 +-
+ 16 files changed, 355 insertions(+), 72 deletions(-)
+
+commit 3f51cf421ee19804503d5636b7399cfad4fa05ef
+Author: Alexander Sack <asac@jwsdot.com>
+Date: Mon Oct 12 12:19:12 2009 +0200
+
+ huawei: adjust printf-style format to fix 32-bit gcc-4.4 builds
+
+ plugins/mm-modem-huawei-cdma.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1f0be4a2e96dc4b5d5eb45f8a29fd78314f073b5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:44:34 2009 -0700
+
+ huawei: remove debugging stuff
+
+ plugins/mm-modem-huawei-cdma.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit f0dc449c502cd1009a4f1930624be9a730dfdcf1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:39:18 2009 -0700
+
+ sierra: rename MMModemSierra -> MMModemSierraGsm
+
+ plugins/Makefile.am | 4 +-
+ .../{mm-modem-sierra.c => mm-modem-sierra-gsm.c} | 40
+ ++++++++++----------
+ plugins/mm-modem-sierra-gsm.h | 43
+ ++++++++++++++++++++++
+ plugins/mm-modem-sierra.h | 43
+ ----------------------
+ plugins/mm-plugin-sierra.c | 8 ++--
+ 5 files changed, 69 insertions(+), 69 deletions(-)
+
+commit bdd60a4941b5e8948dd6397208f1ac4cfee61907
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:31:23 2009 -0700
+
+ cdma: fix memory leak parsing serving system results
+
+ src/mm-generic-cdma.c | 20 +++++++++++++++++---
+ 1 file changed, 17 insertions(+), 3 deletions(-)
+
+commit 81163b3032e623e46ef2f60f661ef0306680c241
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:27:29 2009 -0700
+
+ huawei: add CDMA device subclass and implement registration state
+ handling
+
+ plugins/Makefile.am | 4 +-
+ plugins/mm-modem-huawei-cdma.c | 288
+ +++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-huawei-cdma.h | 43 ++++++
+ plugins/mm-plugin-huawei.c | 7 +-
+ 4 files changed, 338 insertions(+), 4 deletions(-)
+
+commit 0c5c94b6912024efd80b8ce546e8dee99a72f25a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:25:43 2009 -0700
+
+ cdma: add signal quality update helper for subclasses
+
+ src/mm-generic-cdma.c | 10 ++++++++++
+ src/mm-generic-cdma.h | 2 ++
+ 2 files changed, 12 insertions(+)
+
+commit 19b7c8fef19747ece136681237eb48833076f8e2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:24:41 2009 -0700
+
+ cdma: use consistent terminology for registration
+
+ src/mm-generic-cdma.c | 12 ++++++------
+ src/mm-generic-cdma.h | 6 +++---
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+commit 665d1847a8917a94b4260f211e391fc67b62e53a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:23:50 2009 -0700
+
+ cdma: add port accessors for subclasses
+
+ src/mm-generic-cdma.c | 43 ++++++++++++++++++++++++++++++++++---------
+ src/mm-generic-cdma.h | 11 +++++++++++
+ 2 files changed, 45 insertions(+), 9 deletions(-)
+
+commit b7dc5f00da4a5bdcd0f70d5d5177a01197958706
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:20:36 2009 -0700
+
+ mm-test: fix cdma registration state parsing
+
+ test/mm-test.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 21391286fc166901041de09abcb317dda2efc5e4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:19:00 2009 -0700
+
+ huawei: rename MMModemHuawei -> MMModemHuaweiGsm
+
+ plugins/Makefile.am | 4 +-
+ .../{mm-modem-huawei.c => mm-modem-huawei-gsm.c} | 86
+ +++++++++++-----------
+ plugins/mm-modem-huawei-gsm.h | 43 +++++++++++
+ plugins/mm-modem-huawei.h | 43 -----------
+ plugins/mm-plugin-huawei.c | 8 +-
+ 5 files changed, 92 insertions(+), 92 deletions(-)
+
+commit e1d757ea763ebb72ea8d7ff979ef0041181d7bd1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Oct 11 11:15:46 2009 -0700
+
+ cdma: use secondary port more aggressively where one exists
+
+ Like on the Huawei EC121 and EC168C (Reliance India).
+
+ src/mm-generic-cdma.c | 33 ++++++++++++++++++++++++++-------
+ 1 file changed, 26 insertions(+), 7 deletions(-)
+
+commit 91171cdae295352011252d28d3d777960d0d876a
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 9 16:17:13 2009 -0700
+
+ cdma: implement generic registration state handling
+
+ introspection/mm-modem-cdma.xml | 34 +++++++
+ src/mm-generic-cdma.c | 194
+ ++++++++++++++++++++++++++++++++++++----
+ src/mm-generic-cdma.h | 11 +++
+ src/mm-modem-cdma.c | 46 +++++++++-
+ src/mm-modem-cdma.h | 34 +++++--
+ test/mm-test.py | 18 +++-
+ 6 files changed, 308 insertions(+), 29 deletions(-)
+
+commit a088f12956763eb99a8f8b37934cf038a0b14cc0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Oct 8 10:16:25 2009 -0700
+
+ cdma: better CSS response parsing
+
+ src/mm-generic-cdma.c | 100
+ ++++++++++++++++++++++++++++++++++++++++++++++----
+ 1 file changed, 93 insertions(+), 7 deletions(-)
+
+commit 01100c1008ffe6b74cf0fdb9cc646503f8c39b1c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 6 12:38:21 2009 -0700
+
+ gsm: strip command response bits from mfg/model/revision responses
+
+ src/mm-generic-gsm.c | 25 ++++++++++++++++++++++---
+ 1 file changed, 22 insertions(+), 3 deletions(-)
+
+commit 5079b32a09acba15cb0107bbb64c51a16f11b658
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 6 11:45:07 2009 -0700
+
+ hso: fix disable
+
+ plugins/mm-modem-hso.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d867b1fe6a11302c0efcd40bba2a898bc9080b1c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Oct 6 11:39:40 2009 -0700
+
+ gsm: add cell access technology reporting to Scan()
+
+ introspection/mm-modem-gsm-network.xml | 2 +-
+ src/mm-generic-gsm.c | 62
+ +++++++++++++++++++++++++++++-----
+ test/mm-test.py | 26 ++++++++++++--
+ 3 files changed, 77 insertions(+), 13 deletions(-)
+
+commit 912b98723b2965b9aaf1f0328781a2730d7cc178
+Merge: 3b19a857 aa78b5f5
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Oct 5 09:52:01 2009 -0700
+
+ Merge commit 'origin/master' into enable-split
+
+commit aa78b5f5e5319e04f5b57f928bfab69dd4b93d88
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 2 23:33:18 2009 -0700
+
+ bluetooth: handle rfcomm device moves
+
+ rfcomm devices seem to be created as 'virtual' devices first, without
+ any parents, then moved to the right place in the device tree. So
+ handle moves too; if the modem was already found in the 'add' phase
+ it'll be ignored in the move phase.
+
+ src/mm-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ed059286c5361bf4dfa849088ee16c04cd075e51
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 2 23:32:57 2009 -0700
+
+ bluetooth: physical device is a bit higher up the tree
+
+ src/mm-plugin-base.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit e5441115a2dda5d81de2e9a336fc34e23d20b309
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Oct 2 22:31:16 2009 -0700
+
+ bluetooth: recognize rfcomm devices
+
+ Two hacks here:
+ 1) rfcomm ports don't have an easily accessible driver name, so
+ we just
+ match the parent's subsystem to 'bluetooth' and use that
+
+ 2) libgudev doesn't seem be be able to get the rfcomm device's
+ device file,
+ which would normally be /dev/rfcommX. Oh well, we don't use the
+ device file
+ yet anyway
+
+ plugins/mm-plugin-generic.c | 20 ++++++++++++++------
+ src/mm-plugin-base.c | 11 ++++++++++-
+ 2 files changed, 24 insertions(+), 7 deletions(-)
+
+commit 3b19a85727458821f5df20153f8c04bc7717ba30
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 23 16:04:25 2009 -0700
+
+ core: split generic modem enable/disable operations
+
+ plugins/mm-modem-hso.c | 52 +++++++++++++++------------
+ plugins/mm-modem-mbm.c | 79
+ +++++++++++++++++-------------------------
+ plugins/mm-modem-novatel-gsm.c | 44 ++++-------------------
+ plugins/mm-modem-option.c | 13 +++----
+ plugins/mm-modem-sierra.c | 62 +++------------------------------
+ plugins/mm-modem-zte.c | 44 ++++-------------------
+ src/mm-generic-cdma.c | 41 +++++++++++++++++-----
+ src/mm-generic-gsm.c | 55 +++++++++++++++++------------
+ src/mm-modem.c | 22 ++++++++++--
+ src/mm-modem.h | 10 ++++--
+ 10 files changed, 175 insertions(+), 247 deletions(-)
+
+commit f2a3825f9d10ecebc63ce3c8602473cbbb6ab72c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 23 01:38:42 2009 -0700
+
+ generic: match CONNECT even if we get PPP spew
+
+ Found by Eugene Crosser <crosser@average.org>
+
+ src/mm-serial-parsers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2bad09403aae95dd25ce03790fce45a85578f677
+Author: Eugene Crosser <crosser@average.org>
+Date: Tue Sep 22 22:56:58 2009 -0700
+
+ nokia: don't use CFUN at all (lp430576)
+
+ CFUN=0 actually powers off the phone; CFUN=1 isn't really supported
+ on some phones either. So just don't use CFUN at all.
+
+ plugins/mm-modem-nokia.c | 37 +++++++++++++++++++++++++++++++++++++
+ 1 file changed, 37 insertions(+)
+
+commit feb00e455337850aa77c1014d4e73fef51953636
+Author: Alexander Sack <asac@ubuntu.com>
+Date: Mon Sep 21 15:42:30 2009 -0700
+
+ mbm: more permissive ESTKSMENU regexp
+
+ plugins/mm-modem-mbm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3d178fafcf3e0fc0dbe852d0c6f2d2184f7afae7
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Sat Sep 19 11:42:10 2009 -0700
+
+ mbm: handle *EMWI unsolicited responses
+
+ plugins/mm-modem-mbm.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 1f7bb908ebc40d42f5e83d6cf5671e168577b87e
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Sat Sep 19 11:37:16 2009 -0700
+
+ mbm: fix up +PACSP0 unsolicited response matching
+
+ plugins/mm-modem-mbm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 64b7be7460c3a9dbb3c9981de5754b330a8d2cdd
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Sep 9 07:28:54 2009 -0700
+
+ serial: use connected notifier only when needed
+
+ It's only relevant when the port is open anyway, and marking the port
+ disconnected in nm_serial_port_close(), which used to be called from
+ the finalize() function, would trigger the notifier when stuff was
+ already cleaned up. So move the nm_serial_port_close() call to
+ dispose() and remove the connected notifier before we clean the
+ port up.
+
+ src/mm-serial-port.c | 86
+ ++++++++++++++++++++++++++++++----------------------
+ 1 file changed, 50 insertions(+), 36 deletions(-)
+
+commit c02adee8023a023c6f0fd9777d0908e17eb9d89c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Sep 8 17:41:25 2009 -0700
+
+ serial: mark port disconnected on close
+
+ Otherwise it could still be connected when the port was opened again,
+ and subsequent calls for stuff could fail.
+
+ src/mm-serial-port.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 14e5c52f78e7ad23b18b111e3271cbecad6acf3f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Sep 8 17:31:54 2009 -0700
+
+ core: don't allow concurrent flashes on the same device
+
+ Previously, a few operations (like disable) could trigger a modem
+ flash in parallel with another flash. That's wrong, don't allow
+ that. At the same time, add in finer-grained error checking on
+ serial port speed operations, and fix a GSM generic bug that would
+ send the POWER_UP string on disable.
+
+ introspection/mm-modem-error.xml | 18 +++
+ plugins/mm-modem-mbm.c | 30 +++--
+ plugins/mm-modem-novatel-gsm.c | 32 +++--
+ plugins/mm-modem-sierra.c | 34 ++++--
+ plugins/mm-modem-zte.c | 32 +++--
+ src/mm-errors.c | 2 +
+ src/mm-errors.h | 4 +-
+ src/mm-generic-cdma.c | 34 ++++--
+ src/mm-generic-gsm.c | 42 +++++--
+ src/mm-plugin-base.c | 11 +-
+ src/mm-serial-port.c | 252
+ +++++++++++++++++++++++++++++++++------
+ src/mm-serial-port.h | 4 +-
+ 12 files changed, 403 insertions(+), 92 deletions(-)
+
+commit 6cf01d2ab698d05eb58bffa7e85f41024f5c0546
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Sep 8 16:43:20 2009 -0700
+
+ test: allow up to 60 seconds for Scan to complete
+
+ test/mm-test.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 53af144f49b0d81bd4dc1f5ee9eea6d61ccae992
+Author: Noel J. Bergman <noel@devtech.com>
+Date: Wed Sep 9 01:17:20 2009 +0200
+
+ udev: handle removal of parent usb devices
+
+ fix device removal event handling to remove modems
+ if the associated parent usb device is removed
+
+ src/mm-manager.c | 57
+ +++++++++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 50 insertions(+), 7 deletions(-)
+
+commit d317254a3b47350332563c9cf7d97b0a47d12794
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Sep 4 14:26:53 2009 -0500
+
+ patches: rename directory to avoid conflicts with .deb build mechanism
+
+ .../NetworkManager-r4359-use-modem-manager.patch
+ | 0
+ {patches => obsolete-patches}/nm-applet-r1053-use-modem-manager.patch
+ | 0
+ 2 files changed, 0 insertions(+), 0 deletions(-)
+
+commit 63dcc3e189025b463f35d047a1b87cf9060641db
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 31 14:30:23 2009 -0500
+
+ cdma: handle older AT+CSS response format
+
+ src/mm-generic-cdma.c | 34 ++++++++++++++++++++++++----------
+ 1 file changed, 24 insertions(+), 10 deletions(-)
+
+commit a479b58f50f65a736e05e5abe7278b6feb6be899
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 31 14:30:06 2009 -0500
+
+ test: don't bail out on errors parsing CDMA serving system results
+
+ test/mm-test.py | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit 09fc288f2bec6f54d300a916a6238c1533e0daa7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 31 14:07:10 2009 -0500
+
+ test: make mm-test executable again
+
+ test/mm-test.py | 0
+ 1 file changed, 0 insertions(+), 0 deletions(-)
+
+commit 8a6cbdfb88f8925261b08030830a38557c92e5ff
+Author: Bryan Duff <duff0097@gmail.com>
+Date: Wed Aug 26 11:28:14 2009 -0500
+
+ core: fix uninitialized variable
+
+ src/mm-plugin-base.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 180ad403b8773607bd3edf624983196cc47db755
+Author: Alexander Sack <asac@ubuntu.com>
+Date: Fri Aug 21 21:41:48 2009 +0200
+
+ mbm: parse and ignore unsolicited *ESTKSMENU message - lp:416418
+
+ plugins/mm-modem-mbm.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+commit cd750230687177b45c2b8e507a0f0b22095aeb02
+Author: Alexander Sack <asac@ubuntu.com>
+Date: Thu Aug 20 20:32:37 2009 +0200
+
+ gsm: handle "net" device removal properly in release_port
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9e106eae1a01cfe15343d407b2282666d623076d
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Thu Aug 20 20:27:32 2009 +0200
+
+ mbm: add more USB IDs
+
+ plugins/77-mm-ericsson-mbm.rules | 12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+commit 1a75d8d010e76efb44af6e1d2d26f5a2d7808647
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 19 17:08:13 2009 -0500
+
+ moto-c: claim Motorola C380 too (bgo #591978)
+
+ plugins/mm-plugin-moto-c.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ca767e4037ce08ab23d188341ed31139dee0bd09
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 17 13:16:41 2009 -0500
+
+ gsm: update for D-Bus interface specification changes
+
+ Specifically, SupportedModes, SupportedBands, and SMS completeness
+ changes.
+
+ marshallers/mm-marshal.list | 1 +
+ src/mm-generic-gsm.c | 16 ++++++++++++++++
+ src/mm-generic-gsm.h | 2 ++
+ src/mm-modem-gsm-card.c | 29 ++++++++++++++++++++++++++++-
+ src/mm-modem-gsm-card.h | 3 +++
+ src/mm-modem-gsm-sms.c | 15 ++++++++++++---
+ src/mm-modem-gsm-sms.h | 6 +++++-
+ 7 files changed, 67 insertions(+), 5 deletions(-)
+
+commit dc7bdd0494a80d6474fc61864a93251aa2d41eb3
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Aug 17 13:15:59 2009 -0500
+
+ test: obscure IMSI/IMEI/ESN by default
+
+ Pass --private to see these values if required.
+
+ test/mm-test.py | 100
+ ++++++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 69 insertions(+), 31 deletions(-)
+
+commit 354a4cb07fde0a6604086bf705d94b042a735cbd
+Author: Alexander Sack <asac@jwsdot.com>
+Date: Thu Aug 6 12:59:32 2009 +0200
+
+ license: use GPLv2 as top level COPYING for now to reflect the
+ license actually used by source files
+
+ COPYING | 666
+ ++++++++++++++++++++++++----------------------------------------
+ 1 file changed, 251 insertions(+), 415 deletions(-)
+
+commit 12ac98e9f61186a6b5c52409e3fac7d2bcb002f7
+Author: Alexander Sack <asac@ubuntu.com>
+Date: Wed Jul 22 14:52:44 2009 +0200
+
+ license: add license header to all files and set copyright based on
+ git log
+
+ plugins/mm-plugin-generic.h | 13 +++++++++++++
+ src/mm-callback-info.c | 13 +++++++++++++
+ src/mm-callback-info.h | 13 +++++++++++++
+ src/mm-errors.c | 14 ++++++++++++++
+ src/mm-errors.h | 14 ++++++++++++++
+ src/mm-generic-cdma.c | 14 ++++++++++++++
+ src/mm-generic-cdma.h | 14 ++++++++++++++
+ src/mm-generic-gsm.c | 15 +++++++++++++++
+ src/mm-generic-gsm.h | 14 ++++++++++++++
+ src/mm-manager.c | 14 ++++++++++++++
+ src/mm-manager.h | 14 ++++++++++++++
+ src/mm-modem-cdma.c | 14 ++++++++++++++
+ src/mm-modem-cdma.h | 14 ++++++++++++++
+ src/mm-modem-gsm-card.c | 14 ++++++++++++++
+ src/mm-modem-gsm-card.h | 14 ++++++++++++++
+ src/mm-modem-gsm-network.c | 13 +++++++++++++
+ src/mm-modem-gsm-network.h | 14 ++++++++++++++
+ src/mm-modem-gsm-sms.c | 13 +++++++++++++
+ src/mm-modem-gsm-sms.h | 13 +++++++++++++
+ src/mm-modem-simple.c | 14 ++++++++++++++
+ src/mm-modem-simple.h | 13 +++++++++++++
+ src/mm-modem.c | 14 ++++++++++++++
+ src/mm-modem.h | 14 ++++++++++++++
+ src/mm-options.c | 13 +++++++++++++
+ src/mm-options.h | 13 +++++++++++++
+ src/mm-plugin.c | 14 ++++++++++++++
+ src/mm-plugin.h | 14 ++++++++++++++
+ src/mm-serial-parsers.c | 14 ++++++++++++++
+ src/mm-serial-parsers.h | 13 +++++++++++++
+ test/mm-send-sms.py | 13 +++++++++++++
+ test/mm-test.py | 14 ++++++++++++++
+ 31 files changed, 424 insertions(+)
+
+commit 2d194a5798fb06f41b018c2d8c2216f45bfc41a4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Aug 5 13:03:59 2009 -0400
+
+ gsm: harmonize band/mode enums
+
+ Use the same enum for set/get of band and mode, as for exposing the
+ device's capabilities.
+
+ introspection/Makefile.am | 1 +
+ introspection/mm-modem-gsm-card.xml | 48 +---------
+ introspection/mm-modem-gsm-network.xml | 163
+ +++++----------------------------
+ introspection/mm-modem-gsm.xml | 86 +++++++++++++++++
+ plugins/mm-modem-huawei.c | 115 ++++++++++++-----------
+ plugins/mm-modem-mbm.c | 32 ++++---
+ plugins/mm-modem-option.c | 34 +++----
+ src/Makefile.am | 1 +
+ src/mm-generic-gsm.h | 1 +
+ src/mm-modem-gsm-network.c | 52 +++++++++--
+ src/mm-modem-gsm-network.h | 46 ++--------
+ src/mm-modem-gsm.h | 57 ++++++++++++
+ 12 files changed, 320 insertions(+), 316 deletions(-)
+
+commit 356f8f097e5fe012ac762157c903bd9b51fa982d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 23 14:25:48 2009 -0400
+
+ gsm: add SupportedBands property
+
+ introspection/mm-modem-gsm-card.xml | 46
+ +++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit 71e2e930fd230f9f8567b2028387197d69e688fb
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 23 13:52:57 2009 -0400
+
+ sms: add additional API for multi-part SMS
+
+ introspection/mm-modem-gsm-sms.xml | 43
+ ++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 41 insertions(+), 2 deletions(-)
+
+commit c307606e747faf1c736eade8c839a7a3ca7fa213
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 22 07:42:05 2009 -0400
+
+ cdma: fix serving-system parsing for oddly-placed spaces
+
+ Sierra 580 returns "+CSS: 0, Z , 0" when not associated. Handle that.
+
+ src/mm-generic-cdma.c | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+commit 354785f440e3b9939606710264c552fb99b3637f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jul 17 23:03:16 2009 -0400
+
+ cdma: handle devices that don't prefix CSS result with +CSS:
+
+ Like the Sanyo SCP-3800 (Sprint Katana LX). Make up your freakin'
+ mind people, either prefix *all* responses with the command stem,
+ or don't. But just pick one dammit.
+
+ src/mm-generic-cdma.c | 14 ++++----------
+ 1 file changed, 4 insertions(+), 10 deletions(-)
+
+commit 482053ce76335b5fadb6a9c0f56e21ec7690b2bc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Jul 15 22:00:36 2009 -0400
+
+ zte: fix udev rules
+
+ plugins/77-mm-zte-port-types.rules | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit d105ac8fd6fed33cfbe3f6e828224e42f29a7411
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 14 08:47:13 2009 -0400
+
+ mbm: fix brand of some 'mbm' devices in udev rules
+
+ Should be just Ericsson, not Sony-Ericsson. The MD300 is SE though.
+
+ plugins/77-mm-ericsson-mbm.rules | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 6610ded40711ea88266beb68d40b00f00933a630
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jul 10 12:19:20 2009 -0400
+
+ mbm: add more USB IDs
+
+ plugins/77-mm-ericsson-mbm.rules | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 3cdfba2bad6efc736d6a74b520601edd30f4b2e2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 9 11:22:10 2009 -0400
+
+ build: sane automake options
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 50105ae28883f21761887beed180ce9ad0755016
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Jul 7 10:45:44 2009 -0400
+
+ build: make distcheck actually work
+
+ Makefile.am | 2 ++
+ autogen.sh | 2 +-
+ configure.in => configure.ac | 9 +++++++++
+ 3 files changed, 12 insertions(+), 1 deletion(-)
+
+commit 34f3117a829d7575f5a748455d5105a219d1c7d7
+Author: Dan Williams <dcbw@d410.(none)>
+Date: Tue Jul 7 17:34:04 2009 -0400
+
+ cdma: fix 32-bit compile issues
+
+ src/mm-generic-cdma.c | 6 +++---
+ src/mm-modem-cdma.c | 2 +-
+ src/mm-modem-cdma.h | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 5f25d3a60bbe4b03b5a412443271e6e094e546f1
+Author: Dan Williams <dcbw@d410.(none)>
+Date: Tue Jul 7 17:30:17 2009 -0400
+
+ remove old pre-udev bits
+
+ configure.in | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 736aa0d2d63cf62e7e2fe3c6e25ddf6b57f6ff05
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jul 6 11:40:22 2009 -0400
+
+ serial: rework 'connected' logic
+
+ So many modems just don't implement carrier detect that it makes
+ the previous 'connected' logic useless, so base it off
+ connect/disconnect
+ and fix up a few places that didn't check connect status before
+ trying to send commands. Also ensure the serial port is unlocked
+ for PPP to use when connected.
+
+ plugins/mm-modem-mbm.c | 2 +-
+ plugins/mm-modem-novatel-gsm.c | 2 +-
+ plugins/mm-modem-sierra.c | 2 +-
+ plugins/mm-modem-zte.c | 2 +-
+ src/mm-errors.c | 1 +
+ src/mm-errors.h | 3 ++-
+ src/mm-generic-cdma.c | 46
+ ++++++++++++++++++++++++++++++++++++++++-
+ src/mm-generic-gsm.c | 22 ++++++++++++--------
+ src/mm-port.c | 40 +++++++++++++++++++++++++++++++++++
+ src/mm-port.h | 5 +++++
+ src/mm-serial-port.c | 47
+ +++++++++++++++++++++++++++---------------
+ src/mm-serial-port.h | 2 --
+ 12 files changed, 140 insertions(+), 34 deletions(-)
+
+commit 869c69e223208564302ba3be074dafbdf1b02cc2
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 2 16:08:54 2009 -0400
+
+ zte: fix port tagging rules to actually work
+
+ plugins/77-mm-zte-port-types.rules | 100
+ +++++++++++++++++++------------------
+ 1 file changed, 52 insertions(+), 48 deletions(-)
+
+commit 52da9990eef279bbc349685a7558d26cf4b7893b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jul 2 13:48:30 2009 -0400
+
+ plugins: allow plugins to more easily suggest port types
+
+ ZTE modems need to use udev rules to assign port type hints,
+ so generalize that and port all the plugins over to suggested
+ port types in the MMModem interface's grab_port() function.
+
+ plugins/77-mm-zte-port-types.rules | 75
+ ++++++++++++++++++++++++++++++++++++++
+ plugins/Makefile.am | 4 +-
+ plugins/mm-modem-hso.c | 3 +-
+ plugins/mm-modem-huawei.c | 8 ++--
+ plugins/mm-modem-mbm.c | 17 +++++----
+ plugins/mm-modem-nokia.c | 12 ++++--
+ plugins/mm-modem-novatel-gsm.c | 17 +++++----
+ plugins/mm-modem-sierra.c | 12 +++---
+ plugins/mm-modem-zte.c | 12 ++++--
+ plugins/mm-plugin-generic.c | 4 +-
+ plugins/mm-plugin-gobi.c | 4 +-
+ plugins/mm-plugin-hso.c | 4 +-
+ plugins/mm-plugin-huawei.c | 10 ++---
+ plugins/mm-plugin-mbm.c | 4 +-
+ plugins/mm-plugin-moto-c.c | 4 +-
+ plugins/mm-plugin-nokia.c | 4 +-
+ plugins/mm-plugin-novatel.c | 4 +-
+ plugins/mm-plugin-option.c | 4 +-
+ plugins/mm-plugin-sierra.c | 13 ++++---
+ plugins/mm-plugin-zte.c | 11 +++++-
+ src/mm-generic-cdma.c | 19 ++++++----
+ src/mm-generic-gsm.c | 18 ++++++---
+ src/mm-modem.c | 3 +-
+ src/mm-modem.h | 4 ++
+ 24 files changed, 191 insertions(+), 79 deletions(-)
+
+commit 4e7548e496d580f26a763bcdaeca7e7af75d5141
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 23:11:43 2009 -0400
+
+ gsm: fix init for modems for which ATZ does not play well with others
+
+ src/mm-generic-gsm.c | 5 +++++
+ src/mm-generic-gsm.h | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+commit 5298be26ddf580681a4a506cf0379996d7eb9d4d
+Merge: 5a563d56 8e3da635
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 22:54:32 2009 -0400
+
+ Merge branch 'master' into udev
+
+commit 8e3da63599020a8ec9e4b8be6451a5e333a8056c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 22:53:20 2009 -0400
+
+ gsm: increase COPS manual registration timeout; it just takes longer
+ sometimes
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5a563d56d125d28a021442bec967575310819d0e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 22:50:58 2009 -0400
+
+ sierra: handle APP[x] ports being recognized before the master port
+
+ plugins/mm-plugin-sierra.c | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+commit 2730fe4539b3ecde797078ba2dae6745a371a9e7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 22:50:37 2009 -0400
+
+ moto-c: fix port grabbing; remove dead code
+
+ plugins/mm-plugin-moto-c.c | 11 +++--------
+ 1 file changed, 3 insertions(+), 8 deletions(-)
+
+commit 36ee982b61e5350d643cd7d8701d8f719b89509f
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 22:50:16 2009 -0400
+
+ sierra: ensure port is valid before doing stuff to it
+
+ plugins/mm-modem-sierra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 78633192d2a02693f17df162eba0a73478ebbcaa
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 22:49:19 2009 -0400
+
+ plugin-base: better Huawei detection; don't drop BUSlink response
+
+ src/mm-plugin-base.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit d929eb859b99f750e174358e5e39bd561af28265
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 17:35:15 2009 -0400
+
+ errors: fix typo
+
+ src/mm-errors.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit b38c3160ae80381b81641776c0d36ca10e084340
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 16:53:23 2009 -0400
+
+ plugin-base: don't scribble on memory when looking up cached
+ capabilities
+
+ src/mm-plugin-base.c | 14 ++++++--------
+ 1 file changed, 6 insertions(+), 8 deletions(-)
+
+commit 7b7df91eb879b1070ed7fe99b5e201835eff53f6
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 16:51:25 2009 -0400
+
+ manager: do modem creation from an idle handler
+
+ It helps make the supports/grab callchain less crappy to look at
+ in gdb by ensuring that the supports chain unwinds before the grab
+ happens, and also ensures that we use the right subsys/name variables
+ rather than depending on ones the plugin provided to
+ supports_callback,
+ that may go be freed by the plugin somewhere in grab_port().
+
+ src/mm-manager.c | 86
+ ++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 50 insertions(+), 36 deletions(-)
+
+commit e3eef316a570e36d45ca582bf54aef4db9c2eb8d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 16:51:06 2009 -0400
+
+ generic: remove unused code
+
+ plugins/mm-plugin-generic.c | 8 --------
+ 1 file changed, 8 deletions(-)
+
+commit ef1e709c126d30d22e26135bba3b05d0339c2238
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 16:50:50 2009 -0400
+
+ serial-port: shut valgrind up
+
+ src/mm-serial-port.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 853af00142256d2eeae7039a1b7e8dd64cf9105e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 14:24:43 2009 -0400
+
+ plugin-base: fix finding the physical device again
+
+ Don't mis-use udev's ID_BUS key.
+
+ src/mm-plugin-base.c | 53
+ +++++++++++++++++++++-------------------------------
+ src/mm-plugin-base.h | 4 ++++
+ 2 files changed, 25 insertions(+), 32 deletions(-)
+
+commit c106368ce7c06e0ae5b64cc6146ad05c3b9fa819
+Merge: ff58936f c397247c
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 13:14:11 2009 -0400
+
+ Merge commit 'origin/master' into udev
+
+commit c397247c05dbefb33edccc0987734eb715312b85
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 13:00:58 2009 -0400
+
+ gsm: attempt to fix registration crashes due to mishandled timeouts
+
+ src/mm-generic-gsm.c | 137
+ +++++++++++++++++++++++++--------------------------
+ 1 file changed, 67 insertions(+), 70 deletions(-)
+
+commit 04540bddb4d9345a2c480d5abfe87fb96317d170
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 12:59:59 2009 -0400
+
+ mbm: remove dead code
+
+ plugins/mm-modem-mbm.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 3f5501906ba61f55948c912617e75cf91560a3cf
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Mon Jun 29 10:34:33 2009 -0400
+
+ mbm: fix +CIND quality parsing
+
+ Broken by Dan with ef0a604dc2fb6c6fe3e9231a8ee85890c6ef6e85
+
+ plugins/mm-modem-mbm.c | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+commit ff58936f1f7ef1645be9062095c35de2b03c0cc1
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 10:15:52 2009 -0400
+
+ mbm: port to udev and new plugin API
+
+ plugins/77-mm-ericsson-mbm.rules | 22 +++
+ plugins/Makefile.am | 19 ++-
+ plugins/mm-modem-mbm.c | 343
+ +++++++++++++++++++--------------------
+ plugins/mm-modem-mbm.h | 8 +-
+ plugins/mm-plugin-mbm.c | 278 ++++++++++++-------------------
+ plugins/mm-plugin-mbm.h | 10 +-
+ 6 files changed, 309 insertions(+), 371 deletions(-)
+
+commit b79ebbac352e581c5a9d6eea2a5000f4cdc62188
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 10:15:14 2009 -0400
+
+ gsm/cdma: mark netdev as data device if it was found first
+
+ src/mm-generic-cdma.c | 2 +-
+ src/mm-generic-gsm.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 8ae41eeee3cdafaebc9eca7f5e8f0d8415a5a76d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 10:09:26 2009 -0400
+
+ hso: always mark netdev as supported
+
+ plugins/mm-plugin-hso.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit fe7acaf45750d4f801acbfee98048453c10c7308
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 10:08:56 2009 -0400
+
+ plugin-base: better detection of physical device
+
+ src/mm-plugin-base.c | 43 +++++++++++++++++++++++++++++--------------
+ 1 file changed, 29 insertions(+), 14 deletions(-)
+
+commit c6d0174b41524c84ba756472e47c810239be0886
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 09:00:25 2009 -0400
+
+ hso: fix grab of netdev port
+
+ plugins/mm-plugin-hso.c | 20 +++++++++-----------
+ 1 file changed, 9 insertions(+), 11 deletions(-)
+
+commit 504b4991cd3aecd358d92a9c39233e6ca09036fa
+Merge: 6077763d ef0a604d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon Jun 29 07:29:57 2009 -0400
+
+ Merge commit 'origin/master' into udev
+
+commit ef0a604dc2fb6c6fe3e9231a8ee85890c6ef6e85
+Author: Torgny Johansson <torgny.johansson@ericsson.com>
+Date: Mon Jun 29 07:26:20 2009 -0400
+
+ mbm: merge updated Ericsson 'mbm' driver from
+ git://gitorious.org/~torgny_j/modemmanager/mbm-mainline.git
+
+ And other cleanups by Dan.
+
+ plugins/mm-modem-mbm.c | 795
+ +++++++++++++++++++++++++++++++++---------------
+ plugins/mm-modem-mbm.h | 46 +--
+ plugins/mm-plugin-mbm.c | 42 ++-
+ plugins/mm-plugin-mbm.h | 40 ++-
+ src/mm-generic-gsm.c | 2 +-
+ 5 files changed, 610 insertions(+), 315 deletions(-)
+
+commit 6077763d90b69cfc60b23f383c4529f966facaaf
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sun Jun 28 14:05:05 2009 -0400
+
+ asynchronous and deferred port detection
+
+ Allow plugins to perform asynchronous port detection, and to defer
+ port detection
+ until later. This moves the prober bits into MMPluginBase so that
+ all plugins
+ can take adavantage of it only when needed; the probing is not done
+ at udev time.
+ Furthermore, plugins like Novatel can flip the secondary ports over
+ the AT mode
+ through deferred detection, by deferring the secondary ports until
+ the main port
+ has been detected and AT$NWDMAT has been sent.
+
+ This commit also finishes the port of the rest of the plugins
+ (except mbm) over
+ to the new port detection methods and plugin API.
+
+ Makefile.am | 2 +-
+ callouts/77-mm-modem-probe-capabilities.rules | 23 -
+ callouts/Makefile.am | 13 -
+ callouts/mm-modem-probe.c | 639 ---------------------
+ marshallers/mm-marshal.list | 1 +
+ plugins/Makefile.am | 66 ++-
+ plugins/mm-modem-hso.c | 1 +
+ plugins/mm-modem-huawei.c | 6 +-
+ plugins/mm-modem-nokia.c | 69 ++-
+ plugins/mm-modem-nokia.h | 19 +-
+ plugins/mm-modem-novatel-cdma.c | 73 ---
+ plugins/mm-modem-novatel-cdma.h | 28 -
+ plugins/mm-modem-novatel-gsm.c | 103 +++-
+ plugins/mm-modem-novatel-gsm.h | 19 +-
+ plugins/mm-modem-option.c | 42 +-
+ plugins/mm-modem-option.h | 19 +-
+ plugins/mm-modem-sierra.c | 80 ++-
+ plugins/mm-modem-sierra.h | 19 +-
+ plugins/mm-modem-zte.c | 129 +++--
+ plugins/mm-modem-zte.h | 19 +-
+ plugins/mm-plugin-generic.c | 288 +++-------
+ plugins/mm-plugin-gobi.c | 298 +++-------
+ plugins/mm-plugin-hso.c | 240 +++-----
+ plugins/mm-plugin-huawei.c | 405 +++++++------
+ plugins/mm-plugin-moto-c.c | 241 +++-----
+ plugins/mm-plugin-nokia.c | 223 ++++----
+ plugins/mm-plugin-nokia.h | 21 +-
+ plugins/mm-plugin-novatel.c | 253 ++++----
+ plugins/mm-plugin-novatel.h | 20 +-
+ plugins/mm-plugin-option.c | 219 +++----
+ plugins/mm-plugin-option.h | 20 +-
+ plugins/mm-plugin-sierra.c | 246 ++++----
+ plugins/mm-plugin-sierra.h | 20 +-
+ plugins/mm-plugin-zte.c | 219 +++----
+ plugins/mm-plugin-zte.h | 20 +-
+ src/mm-generic-cdma.c | 1 +
+ src/mm-generic-gsm.c | 1 +
+ src/mm-manager.c | 313 ++++++++--
+ src/mm-modem-base.c | 2 +-
+ src/mm-modem.c | 3 +-
+ src/mm-modem.h | 2 +
+ src/mm-plugin-base.c | 796
+ ++++++++++++++++++++++++--
+ src/mm-plugin-base.h | 89 ++-
+ src/mm-plugin.c | 21 +-
+ src/mm-plugin.h | 61 +-
+ src/mm-serial-parsers.c | 8 +-
+ src/mm-serial-port.c | 1 +
+ 47 files changed, 2888 insertions(+), 2513 deletions(-)
+
+commit 112f2da19dbe8dcd8f32b998459298e7c1884c67
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 25 16:45:49 2009 -0400
+
+ serial-port: open port exclusively
+
+ src/mm-serial-port.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit bb50295e5efabf3f8dcbee1102bf3856343f04d9
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 25 14:14:10 2009 -0400
+
+ serial-port: if 0 bytes are read, just return
+
+ Otherwise, if something else is mistakenly holding the serial port
+ open at
+ the same time as this MMSerialPort, you get a stream of reads of
+ size 0 and
+ effectively hang modem-manager.
+
+ src/mm-serial-port.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 742bf7d17cef714a7fa456061b80e239761c4fed
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 25 06:14:11 2009 -0400
+
+ serial-port: print port name in debug messages
+
+ src/mm-serial-port.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 05ab7b2a7c647777231e8b92bcf4ec51036702e4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jun 20 18:18:08 2009 -0400
+
+ plugins: implement mm_plugin_base_get_device_ids()
+
+ We'll need it in more than one place, so make it generic.
+
+ plugins/mm-plugin-huawei.c | 86
+ +++-----------------------------------------
+ src/mm-plugin-base.c | 89
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-plugin-base.h | 6 ++++
+ 3 files changed, 99 insertions(+), 82 deletions(-)
+
+commit d5a43aa862cc527c5d3a86ba6ec9401c029547c0
+Author: Dan Williams <dcbw@redhat.com>
+Date: Sat Jun 20 10:49:09 2009 -0400
+
+ udev: modem port refactor; convert 'hso' to udev
+
+ Create a base MMPort class to handle both tty and net ports
+ generically,
+ and move plugins over to that. Also port the 'hso' plugin to udev.
+
+ plugins/Makefile.am | 12 +-
+ plugins/mm-modem-gobi-gsm.c | 13 +-
+ plugins/mm-modem-hso.c | 212 ++++++++++++++++---------
+ plugins/mm-modem-hso.h | 32 ++--
+ plugins/mm-modem-huawei.c | 57 +++----
+ plugins/mm-plugin-gobi.c | 2 +-
+ plugins/mm-plugin-hso.c | 365
+ ++++++++++++++++++++++++--------------------
+ plugins/mm-plugin-hso.h | 31 +++-
+ plugins/mm-plugin-huawei.c | 2 +-
+ plugins/mm-plugin-moto-c.c | 2 +-
+ src/Makefile.am | 6 +-
+ src/mm-generic-cdma.c | 103 +++++++------
+ src/mm-generic-cdma.h | 6 +-
+ src/mm-generic-gsm.c | 109 +++++++------
+ src/mm-generic-gsm.h | 19 +--
+ src/mm-modem-base.c | 156 +++++++++++++++++++
+ src/mm-modem-base.h | 59 +++++++
+ src/mm-port.c | 238 +++++++++++++++++++++++++++++
+ src/mm-port.h | 74 +++++++++
+ src/mm-serial-port.c | 99 +++---------
+ src/mm-serial-port.h | 17 +--
+ src/mm-serial.c | 154 -------------------
+ src/mm-serial.h | 57 -------
+ 23 files changed, 1121 insertions(+), 704 deletions(-)
+
+commit 73e536c3c35de6020b6b6a1aeb9deac522e21cb4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 19 22:59:43 2009 -0400
+
+ huawei: convert to udev and new API
+
+ plugins/Makefile.am | 12 +-
+ plugins/mm-modem-huawei.c | 230 ++++++++++++++++++++--------
+ plugins/mm-modem-huawei.h | 32 ++--
+ plugins/mm-plugin-huawei.c | 371
+ +++++++++++++++++++++++++++++++--------------
+ plugins/mm-plugin-huawei.h | 32 ++--
+ src/mm-generic-gsm.c | 43 ++++--
+ src/mm-generic-gsm.h | 6 +
+ 7 files changed, 514 insertions(+), 212 deletions(-)
+
+commit c3dd2eb070ce1fc37863d4eda5e318c9cc44116d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 19 14:33:24 2009 -0400
+
+ moto-c: rebase onto MMPluginBase
+
+ plugins/mm-plugin-moto-c.c | 41 ++++-------------------------------------
+ plugins/mm-plugin-moto-c.h | 5 +++--
+ 2 files changed, 7 insertions(+), 39 deletions(-)
+
+commit af4ecc3e6dce5a3ad6bad3f6276151a2d783f1ac
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 19 13:55:00 2009 -0400
+
+ cdma: implement GetServingSystem
+
+ introspection/mm-modem-cdma.xml | 13 ++++++
+ src/mm-generic-cdma.c | 84
+ +++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-cdma.c | 88
+ ++++++++++++++++++++++++++++++++++++++++-
+ src/mm-modem-cdma.h | 15 +++++++
+ test/mm-test.py | 14 ++++++-
+ 5 files changed, 212 insertions(+), 2 deletions(-)
+
+commit f50a762763f7060cdd1c3417a4e68918bfef101b
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 19 13:02:16 2009 -0400
+
+ cdma: fix up quality reporting
+
+ src/mm-generic-cdma.c | 16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+commit 9be1d66ef01123e5d74a12e20f6c71e670a59831
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 19 12:54:07 2009 -0400
+
+ cdma: implement GetEsn()
+
+ introspection/mm-modem-cdma.xml | 13 +++++++++
+ src/mm-generic-cdma.c | 64
+ +++++++++++++++++++++++++++++++----------
+ src/mm-modem-cdma.c | 48 +++++++++++++++++++++++++++++++
+ src/mm-modem-cdma.h | 8 ++++++
+ test/mm-test.py | 6 ++++
+ 5 files changed, 124 insertions(+), 15 deletions(-)
+
+commit 6d4616c1d3641d5074e3df6b04c99a593bbfe2bc
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 19 12:43:37 2009 -0400
+
+ modem: move GetInfo from GsmCard -> Modem interface
+
+ It's generic, everything implements some variant of +GMM, +GMR,
+ and +GMI.
+
+ introspection/mm-modem-gsm-card.xml | 13 -----
+ introspection/mm-modem.xml | 13 +++++
+ src/mm-generic-cdma.c | 95
+ +++++++++++++++++++++++++++++++++++++
+ src/mm-generic-gsm.c | 14 +++---
+ src/mm-modem-gsm-card.c | 86
+ ---------------------------------
+ src/mm-modem-gsm-card.h | 15 ------
+ src/mm-modem.c | 83 ++++++++++++++++++++++++++++++++
+ src/mm-modem.h | 15 ++++++
+ test/mm-test.py | 8 ++--
+ 9 files changed, 218 insertions(+), 124 deletions(-)
+
+commit 88bdb5d29ac291589489f9b646f95fed0b87d281
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 19 11:55:31 2009 -0400
+
+ plugin: add a base class to handle modem tracking
+
+ plugins/mm-plugin-generic.c | 42 ++-------------
+ plugins/mm-plugin-generic.h | 17 +++---
+ plugins/mm-plugin-gobi.c | 42 ++-------------
+ plugins/mm-plugin-gobi.h | 6 ++-
+ src/Makefile.am | 4 +-
+ src/mm-plugin-base.c | 127
+ ++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-plugin-base.h | 52 ++++++++++++++++++
+ 7 files changed, 203 insertions(+), 87 deletions(-)
+
+commit 018e9e58312863611390c42ba242d894dc30ee05
+Author: Dan Williams <dcbw@redhat.com>
+Date: Fri Jun 19 11:51:04 2009 -0400
+
+ test: refactor
+
+ test/mm-test.py | 84
+ +++++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 46 insertions(+), 38 deletions(-)
+
+commit 10b8674e5c4550517bd1e1ae887b5dc495112d88
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 18 23:32:08 2009 -0400
+
+ gobi: add plugin for Qualcomm Gobi devices
+
+ plugins/Makefile.am | 19 +++
+ plugins/mm-modem-gobi-gsm.c | 177 +++++++++++++++++++++++
+ plugins/mm-modem-gobi-gsm.h | 43 ++++++
+ plugins/mm-plugin-gobi.c | 343
+ ++++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-gobi.h | 42 ++++++
+ src/mm-generic-gsm.c | 1 +
+ 6 files changed, 625 insertions(+)
+
+commit 983e3c994750e1fdeb439ce6dd9d430e2f6f3f84
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 18 23:22:07 2009 -0400
+
+ core: gracefully handle SIGTERM and SIGINT by shutting down cleanly
+
+ src/main.c | 32 +++++++++++++++++++++++++++-----
+ src/mm-manager.c | 2 +-
+ 2 files changed, 28 insertions(+), 6 deletions(-)
+
+commit aa8d3241e51c32b0582a339eb200ca4fa1bae574
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 18 22:48:51 2009 -0400
+
+ moto-c: add plugin for Motorola C-series phones and BUSlink SCWi275u
+
+ plugins/Makefile.am | 19 +++
+ plugins/mm-modem-moto-c-gsm.c | 158 +++++++++++++++++++++
+ plugins/mm-modem-moto-c-gsm.h | 43 ++++++
+ plugins/mm-plugin-moto-c.c | 309
+ ++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-moto-c.h | 42 ++++++
+ src/mm-generic-gsm.c | 86 +++++++++++-
+ src/mm-generic-gsm.h | 18 +++
+ 7 files changed, 669 insertions(+), 6 deletions(-)
+
+commit 53d6ca970c0a670a14492033674d5e7f93772e8d
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 18 22:36:31 2009 -0400
+
+ test: allow IMEI request to fail
+
+ test/mm-test.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 832b43cab5e3cef6b755d8651fa4b715e3e63fd7
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 18 22:35:58 2009 -0400
+
+ generic: misc fixes
+
+ plugins/mm-plugin-generic.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 4eb2e75ca386b19b6b099d95b8817b43319052fe
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 18 14:39:40 2009 -0400
+
+ plugin: bump required plugin major version for udev changes
+
+ src/mm-plugin.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 924814c101da42fcb53005691d136852653f0eae
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 18 14:25:30 2009 -0400
+
+ udev: move device probing and detection to udev
+
+ Get rid of dependency on HAL, using libgudev instead. Fix up the
+ plugin API
+ to no longer use either HAL or udev defines, but let plugins use
+ whatever
+ mechanism they want for getting more information out of the device
+ given the
+ subsystem and device node name.
+
+ Modems are now defined as "master" devices which "own" a one or
+ more ports.
+ A port could be a serial tty device or a network device or whatever.
+ The
+ plugin figures out whether it supports a given port or not and
+ then assigns
+ it to a new or existing modem. Modems now have a 'valid' property
+ that
+ should be set to TRUE when the modem has enough ports to operate
+ correctly.
+ For devices (ex. 'hso') that use a network device for data transfer,
+ the
+ modem would need to grab at least one TTY and the network device
+ associated
+ with that physical device to be 'valid'.
+
+ Also move the generic modem support code to a plugin like other
+ modem plugins,
+ and change the I-support-this-device mechanism to return a number
+ indicating
+ the level of support. For example, the generic plugin would return
+ a quite
+ low number if the device indicates via probing that it can do GSM
+ or CDMA, but
+ a more specific plugin can indicate better support for the device,
+ and thus
+ the more specific plugin would win control.
+
+ .gitignore | 2 +
+ Makefile.am | 2 +-
+ callouts/77-mm-modem-probe-capabilities.rules | 23 +
+ callouts/Makefile.am | 13 +
+ callouts/mm-modem-probe.c | 639 ++++++++++++++
+ configure.in | 7 +-
+ introspection/mm-modem.xml | 10 +-
+ marshallers/mm-marshal.list | 1 +
+ plugins/Makefile.am | 17 +
+ plugins/mm-plugin-generic.c | 350 ++++++++
+ plugins/mm-plugin-generic.h | 27 +
+ src/Makefile.am | 22 +-
+ src/main.c | 93 +--
+ src/mm-generic-cdma.c | 217 ++++-
+ src/mm-generic-cdma.h | 17 +-
+ src/mm-generic-gsm.c | 457 +++++++---
+ src/mm-generic-gsm.h | 17 +-
+ src/mm-manager.c | 376 ++++-----
+ src/mm-manager.h | 6 +-
+ src/mm-modem.c | 97 ++-
+ src/mm-modem.h | 54 +-
+ src/mm-plugin.c | 48 +-
+ src/mm-plugin.h | 58 +-
+ src/mm-serial-port.c | 1107
+ +++++++++++++++++++++++++
+ src/mm-serial-port.h | 114 +++
+ src/mm-serial.c | 1024
+ ++---------------------
+ src/mm-serial.h | 80 +-
+ 27 files changed, 3280 insertions(+), 1598 deletions(-)
+
+commit 0555cc1824aabbdda77cf1440c4e7be4ef8cc69e
+Author: Dan Williams <dcbw@redhat.com>
+Date: Thu Jun 18 13:28:09 2009 -0400
+
+ test: fix up test program for current API
+
+ test/mm-test.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+commit 440cd967e25f931dd4ed8684e27a72791e4d40f0
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Jun 9 14:34:12 2009 +0300
+
+ Fix a typo.
+
+ Thanks to Pablo Martí Gamboa.
+
+ introspection/mm-modem-connect-error.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 911a105408f9809a62a01e1ea2462f2464dfdafe
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon May 25 10:17:11 2009 +0300
+
+ Fix a typo.
+
+ test/mm-send-sms.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9b5425cdd913ec66ee56ec9acfc1626f2e6957fa
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon May 25 10:16:12 2009 +0300
+
+ Turn off carrier detection for all Huawei modems.
+
+ Find the monitoring device for Huawei modems by usb interface number.
+
+ plugins/mm-modem-huawei.c | 1 +
+ plugins/mm-plugin-huawei.c | 17 +++++++----------
+ 2 files changed, 8 insertions(+), 10 deletions(-)
+
+commit f7e9e61cf9ecff3af2ef0d69c696da0ce5722d69
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon May 18 14:10:31 2009 +0300
+
+ Handle the case where there's no APNs set up on the card.
+
+ Based on patch from Torgny Johansson <torgny.johansson@ericsson.com>.
+
+ src/mm-generic-gsm.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit ddbeb418292c9ddf05e15a107904ca2c35219f3e
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu May 14 13:14:45 2009 +0300
+
+ Make pending_registration_stop() accessible to inherited
+ implementations.
+
+ src/mm-generic-gsm.c | 13 ++++++-------
+ src/mm-generic-gsm.h | 2 ++
+ 2 files changed, 8 insertions(+), 7 deletions(-)
+
+commit 92041d5f750ab440d278c95c1f65483aa8ebf192
+Merge: 2a3acc7a 58a48405
+Author: Dan Williams <dcbw@redhat.com>
+Date: Mon May 11 06:43:43 2009 -0400
+
+ Merge branch 'gsm-mode-cleanup'
+
+commit 2a3acc7a3d13e6c359f6b280a9e7718d7b2d42bd
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Apr 22 16:10:32 2009 +0300
+
+ Handle "Call setup failed" case for HSO modems to speed up error
+ reporting.
+
+ plugins/mm-modem-hso.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 58a48405cf95e3d74633ac4d5d4e0d4d0ab491f4
+Author: Dan Williams <dcbw@redhat.com>
+Date: Wed Apr 15 10:44:09 2009 -0400
+
+ gsm: clean up network modes
+
+ Add specific modes for HSUPA and HSPA; add modes for 2G and 3G
+ only, and
+ update plugins to use the right modes.
+
+ introspection/mm-modem-gsm-network.xml | 30
+ +++++++++++++++++++++++++-----
+ plugins/mm-modem-huawei.c | 34
+ +++++++++++++++++++++++-----------
+ plugins/mm-modem-mbm.c | 29 +++++++++++++++++++++--------
+ plugins/mm-modem-option.c | 20 +++++++++++++-------
+ src/mm-modem-gsm-network.h | 22 +++++++++++++---------
+ 5 files changed, 95 insertions(+), 40 deletions(-)
+
+commit 8eb9fa50b40658d267da8763e7eef3680cad4b0b
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Apr 14 11:42:00 2009 +0300
+
+ Handle cases where HAL is not running/disappears/reappears.
+
+ src/main.c | 156
+ +++++++++++++++++++++++++++++++++++++++++++++----------
+ src/mm-manager.c | 99 ++++++++++++++++++++++++-----------
+ src/mm-manager.h | 9 +++-
+ 3 files changed, 206 insertions(+), 58 deletions(-)
+
+commit b79a3c0a6533092a82da49bffc603fbd84536cf0
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Apr 3 13:45:17 2009 +0300
+
+ Fix a typo.
+
+ plugins/mm-modem-zte.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d37820474201ea46e574c13c86fb015698d0cab9
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Apr 2 15:19:34 2009 +0300
+
+ Fix a typo (thanks to Torgny Johansson).
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 636fe2921c39293a8e2e121f134a764151b4799e
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Apr 2 14:48:12 2009 +0300
+
+ Implement a plugin for ZTE modems.
+
+ Contributed by Jesse Sung (jsung@novell.com).
+
+ plugins/Makefile.am | 17 ++++-
+ plugins/mm-modem-zte.c | 191
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-zte.h | 28 +++++++
+ plugins/mm-plugin-zte.c | 148 +++++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-zte.h | 27 +++++++
+ 5 files changed, 410 insertions(+), 1 deletion(-)
+
+commit 1ca34cfc0cb126f5f824a10720b6ed24fd1f4a8d
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Apr 2 12:41:59 2009 +0300
+
+ Implement Nokia plugin.
+
+ plugins/Makefile.am | 17 +++++-
+ plugins/mm-modem-nokia.c | 65 ++++++++++++++++++++
+ plugins/mm-modem-nokia.h | 28 +++++++++
+ plugins/mm-plugin-nokia.c | 148
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-nokia.h | 28 +++++++++
+ 5 files changed, 285 insertions(+), 1 deletion(-)
+
+commit eae902db41879551945200c61e2148a78f4caa11
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Apr 2 12:31:40 2009 +0300
+
+ Implement 'V1 E1' parser to work with modems which refuse to turn
+ their echo off.
+
+ src/mm-serial-parsers.c | 51
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-serial-parsers.h | 8 ++++++++
+ 2 files changed, 59 insertions(+)
+
+commit cf6aeffd6363fdab5ab5526f0bca47919f38ba2f
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Apr 1 16:20:19 2009 +0300
+
+ Fix a compilation error (with certain warning flags).
+
+ src/mm-serial.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 83ba035aad0dc04d0c1ed9a4ded90e02b2a291bd
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Mar 27 09:10:23 2009 +0200
+
+ Fix the use of uninitialized variables.
+
+ src/mm-modem-gsm-sms.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 45f32e7e09aa3e35ff89b224df55c89c7beaa026
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Mar 23 13:28:22 2009 +0200
+
+ Implement sending SMS messages.
+
+ Add a test program to use the newly added method.
+
+ introspection/mm-modem-gsm-sms.xml | 18 +++
+ src/Makefile.am | 8 +-
+ src/mm-generic-gsm.c | 52 +++++++
+ src/mm-modem-gsm-sms.c | 298
+ +++++++++++++++++++++++++++++++++++++
+ src/mm-modem-gsm-sms.h | 45 ++++++
+ test/mm-send-sms.py | 39 +++++
+ 6 files changed, 459 insertions(+), 1 deletion(-)
+
+commit 697b5f0364cee038a685ac82b211993e2809eb75
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Mar 12 15:43:27 2009 +0200
+
+ Add the NM patch back. Create a directory for patches.
+
+ .../NetworkManager-r4359-use-modem-manager.patch | 5691
+ ++++++++++++++++++++
+ .../nm-applet-r1053-use-modem-manager.patch | 69 +-
+ 2 files changed, 5729 insertions(+), 31 deletions(-)
+
+commit 8750037fafbf27bd4218b6ea37e17dbc85102dcc
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Mar 2 10:13:54 2009 +0200
+
+ Implement MMModemNovatelCdma class for Novatel CDMA devices.
+
+ Rename MMModemNovatel to MMModemNovatelGsm.
+
+ plugins/Makefile.am | 6 +-
+ plugins/mm-modem-novatel-cdma.c | 73
+ ++++++++++++++++++++++
+ plugins/mm-modem-novatel-cdma.h | 28 +++++++++
+ .../{mm-modem-novatel.c => mm-modem-novatel-gsm.c} | 40 ++++++------
+ plugins/mm-modem-novatel-gsm.h | 28 +++++++++
+ plugins/mm-modem-novatel.h | 28 ---------
+ plugins/mm-plugin-novatel.c | 12 ++--
+ 7 files changed, 159 insertions(+), 56 deletions(-)
+
+commit 6606e15a9b6877d91a7125a31510c011522217b7
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Feb 27 10:21:23 2009 +0200
+
+ Handle CDMA modems in Novatel plugin.
+
+ plugins/mm-plugin-novatel.c | 64
+ ++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 46 insertions(+), 18 deletions(-)
+
+commit a7f9033611290a3fe87d89c1a7ae30c47c04e87a
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Feb 26 11:28:00 2009 +0200
+
+ Probe HSO modems, don't trust (often incorrect) HAL modem properties.
+
+ plugins/mm-plugin-hso.c | 30 +++++++++++++++++++-----------
+ 1 file changed, 19 insertions(+), 11 deletions(-)
+
+commit d8fa8d7d1bcfc29a0711c024e9e68bd6a9e1eeda
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Feb 20 12:10:12 2009 +0200
+
+ Eat "^BOOT:..." messages in Huawei plugin.
+
+ plugins/mm-modem-huawei.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 469529985d8f6f79739a69efb020be1b36489666
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Feb 20 12:09:47 2009 +0200
+
+ Use cached commands for things that never change (while the card
+ is plugged).
+
+ src/mm-generic-gsm.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+commit 9e6aa4ec96c2b3c56b0d927db05890ba843e840d
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Feb 20 12:09:15 2009 +0200
+
+ Implement cached commands.
+
+ src/mm-serial.c | 76
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
+ src/mm-serial.h | 6 +++++
+ 2 files changed, 76 insertions(+), 6 deletions(-)
+
+commit 1215bd6a9d607018e0af7ad7afa85bc35cb713a0
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Feb 18 14:48:08 2009 +0200
+
+ Rework unsolicited message handling.
+
+ Implement registration using unsolicited messages for generic GSM
+ class (which
+ is disabled by default, HSO and Huawei plugins enable it).
+
+ Modify all GSM modem subclasses that used unsolicited messages to
+ use the new
+ method.
+
+ plugins/mm-modem-hso.c | 46 +++----
+ plugins/mm-modem-huawei.c | 342
+ ++++++++--------------------------------------
+ plugins/mm-modem-mbm.c | 71 ++++------
+ src/Makefile.am | 4 +-
+ src/mm-generic-gsm.c | 273 +++++++++++++++++++++++-------------
+ src/mm-generic-gsm.h | 3 +
+ src/mm-serial.c | 97 +++++++++++++
+ src/mm-serial.h | 11 ++
+ src/mm-util.c | 57 --------
+ src/mm-util.h | 20 ---
+ 10 files changed, 384 insertions(+), 540 deletions(-)
+
+commit 13facad4fa3be24d07768892135caebd88e95fcc
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Feb 13 10:54:21 2009 +0200
+
+ Close the serial device on HUP.
+
+ src/mm-serial.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 28fd7f7820bc0da1e0a6b7c75d3273e6d63fcbf7
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Feb 10 15:26:51 2009 +0200
+
+ Implement the spec correctly for DeviceAdded and DeviceRemoved
+ signals.
+
+ src/mm-manager.c | 14 +++++++-------
+ src/mm-manager.h | 4 ++--
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+commit 1f08d4c4087282f12039da08ae59e9563a6c6e0d
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Feb 10 15:26:18 2009 +0200
+
+ Fix a compilation warning/error.
+
+ plugins/mm-modem-mbm.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 2adf9a0088f681c7c180f04383c5e0051689fc71
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 10 06:53:09 2009 -0500
+
+ remove NetworkManager patch; no longer necessary
+
+ NetworkManager-r4241-use-modem-manager.patch | 5569
+ --------------------------
+ 1 file changed, 5569 deletions(-)
+
+commit bef9c48ffc926b97a7c0b1d56b9de751e37efe69
+Author: Dan Williams <dcbw@redhat.com>
+Date: Tue Feb 10 06:48:56 2009 -0500
+
+ add --enable-more-warnings=yes/no and fix up resulting errors
+
+ configure.in | 29 ++++++++++++++++++++++++++++
+ plugins/mm-modem-hso.c | 47
+ +++++++++++++++++++++++----------------------
+ plugins/mm-modem-huawei.c | 8 ++++----
+ plugins/mm-modem-mbm.c | 4 ++--
+ plugins/mm-modem-novatel.c | 4 ++--
+ plugins/mm-modem-option.c | 6 +++---
+ plugins/mm-modem-sierra.c | 6 +++---
+ plugins/mm-plugin-hso.h | 2 ++
+ plugins/mm-plugin-huawei.h | 2 ++
+ plugins/mm-plugin-mbm.h | 2 ++
+ plugins/mm-plugin-novatel.h | 2 ++
+ plugins/mm-plugin-option.h | 2 ++
+ plugins/mm-plugin-sierra.h | 2 ++
+ src/main.c | 1 +
+ src/mm-generic-cdma.c | 4 ++--
+ src/mm-generic-gsm.c | 4 ++--
+ src/mm-modem-simple.c | 2 +-
+ src/mm-serial-parsers.c | 3 ++-
+ 18 files changed, 87 insertions(+), 43 deletions(-)
+
+commit 618db2dd8ab255271f388c3c4a7ccbe8ad9a0ae4
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Feb 9 10:48:26 2009 +0200
+
+ Bump the version.
+
+ Remove a leftover include from mbm modem implementation to make
+ it compile
+ again.
+
+ configure.in | 2 +-
+ plugins/mm-modem-mbm.c | 2 --
+ 2 files changed, 1 insertion(+), 3 deletions(-)
+
+commit fd5f4222d7c18a3279085edd4ca6ed36247923e6
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Feb 6 13:34:02 2009 +0200
+
+ Extend org.freedesktop.ModemManager.Modem interface.
+
+ * Add IpMethod property with known values ppp (default), static, DHCP.
+ * Rename DataDevice property to Device.
+ * Add GetIP4Config method. It should be implemented only when
+ IpMethod==static.
+ * Update org.freedesktop.ModemManager.Modem.Gsm.Sms interface based on
+ Pablo Martí Gamboa's suggestions.
+ * Adjust MBM and HSO interfaces to take advantage of the generic Modem
+ interface.
+
+ introspection/Makefile.am | 1 -
+ introspection/mm-modem-gsm-hso.xml | 21 ---
+ introspection/mm-modem-gsm-sms.xml | 36 ++++--
+ introspection/mm-modem.xml | 41 +++++-
+ plugins/Makefile.am | 7 +-
+ plugins/mm-modem-hso.c | 259
+ +++++++++++++++----------------------
+ plugins/mm-modem-hso.h | 14 --
+ plugins/mm-modem-huawei.c | 3 +-
+ plugins/mm-modem-mbm.c | 71 +++-------
+ plugins/mm-modem-mbm.h | 19 ---
+ plugins/mm-modem-novatel.c | 3 +-
+ plugins/mm-modem-option.c | 1 +
+ plugins/mm-modem-sierra.c | 1 +
+ src/mm-generic-cdma.c | 17 ++-
+ src/mm-generic-gsm.c | 30 ++++-
+ src/mm-modem.c | 108 +++++++++++++++-
+ src/mm-modem.h | 30 ++++-
+ src/mm-serial.h | 2 +-
+ 18 files changed, 356 insertions(+), 308 deletions(-)
+
+commit 19bd7d7e7f9e6128f29de8888ba23071f8f4e4d8
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Feb 6 13:32:45 2009 +0200
+
+ Fix DBus permissions.
+
+ README | 2 +-
+ introspection/mm-modem-gsm-mbm.xml | 12 ------------
+ org.freedesktop.ModemManager.conf | 19 +++++++------------
+ 3 files changed, 8 insertions(+), 25 deletions(-)
+
+commit d4e1d7dc8c6f3b766cac148e13c84d51e10c07f3
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Feb 4 15:24:39 2009 +0200
+
+ Fix a typo in error message when MM couldn't acquire it's DBus
+ service name.
+
+ src/main.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 2226bb8752987d210a5e7dd673dd9426a3d2701f
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Jan 26 11:54:10 2009 +0200
+
+ Implement Novatel plugin.
+
+ plugins/Makefile.am | 19 ++++-
+ plugins/mm-modem-novatel.c | 170
+ ++++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-novatel.h | 28 ++++++++
+ plugins/mm-plugin-novatel.c | 148 ++++++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-novatel.h | 26 +++++++
+ 5 files changed, 389 insertions(+), 2 deletions(-)
+
+commit 6b14ebe6ab2b94066c797696748a4d06abbff259
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Jan 23 11:58:38 2009 +0200
+
+ Relax the "CONNECT" string regex a bit.
+
+ src/mm-serial-parsers.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d8fada178591a77bbf8a7a67d6f10da703cf0c1f
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jan 22 12:30:25 2009 +0200
+
+ Don't require 'number' property, it's not always needed.
+
+ src/mm-generic-gsm.c | 6 ------
+ 1 file changed, 6 deletions(-)
+
+commit 8bf265f349f531c3204efce1c88eb1f153b7097c
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jan 22 12:30:09 2009 +0200
+
+ Implement 'Simple' interface for HSO modems.
+
+ plugins/mm-modem-hso.c | 100
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 100 insertions(+)
+
+commit b4c861540951afccf0498092b9d6dd4aa6b56994
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jan 22 12:29:45 2009 +0200
+
+ Implement 'Simple' interface for CDMA devices.
+
+ src/mm-generic-cdma.c | 160
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 160 insertions(+)
+
+commit 17b739c73d5e054cf110049d09d8ec56b3b6af91
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Jan 13 11:01:48 2009 +0200
+
+ Implement simple interface.
+
+ introspection/Makefile.am | 1 +
+ introspection/mm-modem-simple.xml | 58 +++++++++
+ src/Makefile.am | 6 +
+ src/mm-generic-gsm.c | 260
+ ++++++++++++++++++++++++++++++++++++++
+ src/mm-modem-simple.c | 142 +++++++++++++++++++++
+ src/mm-modem-simple.h | 46 +++++++
+ 6 files changed, 513 insertions(+)
+
+commit 423637272a9a021742c070930f3b3a2c96c31695
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Jan 13 11:29:44 2009 +0200
+
+ Fix the "Option" plugin to not steal modems from "HSO" plugin.
+
+ plugins/mm-plugin-option.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit 6018ff81babf1296f13fa0f45a60faae4fd7e0d5
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Jan 13 11:27:41 2009 +0200
+
+ Implement DCD disabling for serial base class.
+
+ Turn DCD detection off for certain Huawei modems that don't report it
+ correctly.
+
+ plugins/mm-plugin-huawei.c | 31 +++++++++++++++++++++++++------
+ src/mm-serial.c | 29 +++++++++++++++++++++++++----
+ src/mm-serial.h | 1 +
+ 3 files changed, 51 insertions(+), 10 deletions(-)
+
+commit 50d2a8b80c25f25e3327127d725277c70570cff3
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Jan 13 11:23:02 2009 +0200
+
+ If none of the HSO serial device parents match none of the network
+ device
+ parents, try to match "grandparents" as well.
+
+ plugins/mm-plugin-hso.c | 39 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit 9804a216860e04c6e6f98b5bbced9213bf49aadb
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Jan 13 11:18:16 2009 +0200
+
+ Explicitly disable unsolicited messages for generic GSM modems.
+
+ src/mm-generic-gsm.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 56bd8994eeeb70eb22c45b59603c42cddc2e68a8
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Dec 17 13:37:57 2008 +0200
+
+ Implement Huawei modem registration with unsolicited messages
+ (no polling).
+
+ Keep registration info in sync correctly. Emit signal when it changes.
+
+ plugins/mm-modem-huawei.c | 204
+ ++++++++++++++++++++++++++++++++++++++--------
+ src/mm-generic-gsm.c | 81 ++++++++----------
+ src/mm-generic-gsm.h | 4 -
+ 3 files changed, 204 insertions(+), 85 deletions(-)
+
+commit a1223a9eaf35e7f198b46061ebb7d0ca567886fb
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Dec 17 13:35:22 2008 +0200
+
+ Convert multiple return values to structs.
+
+ Python DBus bindings are unable to implement methods that return
+ multiple
+ values.
+
+ introspection/mm-modem-gsm-card.xml | 14 ++------------
+ introspection/mm-modem-gsm-contacts.xml | 14 ++------------
+ introspection/mm-modem-gsm-network.xml | 17 +++++------------
+ introspection/mm-modem-gsm-sms.xml | 19 ++-----------------
+ src/mm-modem-gsm-card.c | 28 ++++++++++++++++++++++++++--
+ src/mm-modem-gsm-network.c | 31
+ +++++++++++++++++++++++++++----
+ 6 files changed, 64 insertions(+), 59 deletions(-)
+
+commit 614aa0316a4c0801d187949b0ab2e6816c82328e
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Dec 15 14:03:27 2008 +0200
+
+ Clean up generic registration code.
+
+ src/mm-generic-gsm.c | 27 ++++++++-------------------
+ 1 file changed, 8 insertions(+), 19 deletions(-)
+
+commit e4efbc5c841407b5c5017caf55c80c10e065b7b2
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Dec 15 13:56:53 2008 +0200
+
+ Cache data in Huawei modem.
+
+ plugins/mm-modem-huawei.c | 334
+ +++++++++++++++++++++++++++++-----------------
+ 1 file changed, 214 insertions(+), 120 deletions(-)
+
+commit 4bf6681800dd502a3e341f3d6b7bba101bfd8dc7
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Dec 15 11:50:31 2008 +0200
+
+ Parse Huawei flow report.
+
+ plugins/mm-modem-huawei.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 4e94acfbc3b73471b235b2be18177475d1af53a4
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Dec 12 10:14:41 2008 +0200
+
+ Don't ever disable radio of Sierra GSM modems.
+
+ Based on patch from Stefan Seyfried <seife@suse.de>.
+
+ plugins/mm-modem-sierra.c | 48
+ +++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 38 insertions(+), 10 deletions(-)
+
+commit d1d94de6a1235a36a6e40652efd4d86911eec3b2
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Dec 9 15:41:51 2008 +0200
+
+ Lots of random fixes:
+
+ Rework the MMCallbackInfo callback invocation.
+ Always use g_error_literal() where it makes sense.
+ Replace sleep() calls, with timeouts to not block the whole MM.
+
+ plugins/mm-modem-hso.c | 21 ++++-------
+ plugins/mm-modem-huawei.c | 25 ++++++-------
+ plugins/mm-modem-mbm.c | 4 +--
+ plugins/mm-modem-option.c | 22 ++++++++----
+ plugins/mm-modem-sierra.c | 25 ++++++++++++-
+ src/mm-callback-info.c | 89
+ +++++++++++++++++++++++++++++++---------------
+ src/mm-callback-info.h | 18 +++++++---
+ src/mm-generic-gsm.c | 87
+ +++++++++++++++++++-------------------------
+ src/mm-modem-cdma.c | 4 +--
+ src/mm-modem-gsm-card.c | 40 ++++++---------------
+ src/mm-modem-gsm-network.c | 42 +++++++++-------------
+ src/mm-modem.c | 4 +--
+ 12 files changed, 199 insertions(+), 182 deletions(-)
+
+commit a504fb408aa2ba3bb495a08d948ae97bdcb1cdd6
+Merge: 793044b5 1673c6c9
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Dec 5 15:57:55 2008 +0200
+
+ Merge branch 'master' of git://gitorious.org/modemmanager/asacs-mbm
+
+commit 1673c6c998ccca73097c7d032b14ff15883d053b
+Author: Alexander Sack <asac@jwsdot.com>
+Date: Fri Nov 28 23:51:26 2008 +0100
+
+ Implement SendPuk feature
+ * introspection/mm-modem-gsm-card.xml: add SendPuk method
+ Gsm.Card interface
+
+ * src/mm-generic-gsm.c (send_puk_done, send_puk):
+ - implement generic SendPuk with +CPIN="<puk>,<pin>"
+
+ * src/mm-modem-gsm-card.h,
+ src/mm-modem-gsm-card.c (mm_modem_gsm_card_send_pin,
+ impl_gsm_modem_send_pin): implement SendPuk glue.
+
+ introspection/mm-modem-gsm-card.xml | 18 ++++++++++++++++++
+ src/mm-generic-gsm.c | 30 ++++++++++++++++++++++++++++++
+ src/mm-modem-gsm-card.c | 32 ++++++++++++++++++++++++++++++++
+ src/mm-modem-gsm-card.h | 12 ++++++++++++
+ 4 files changed, 92 insertions(+)
+
+commit 793044b577c18d3b9028276fdec629981c75f5ed
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Dec 4 17:39:15 2008 +0200
+
+ Add support for the HP branded version of the sierra mc8775.
+
+ Patch from Stefan Seyfried <seife@suse.de>.
+
+ plugins/mm-plugin-sierra.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+commit 3d84a60ab1efade2ef7ae0885abfa4400d6b386b
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Dec 1 12:04:08 2008 +0200
+
+ Fix HSO modem plugin.
+
+ plugins/mm-modem-hso.c | 200
+ +++++++++++++++++++++++++++++++++++++++-------
+ plugins/mm-modem-option.c | 23 +-----
+ src/mm-generic-gsm.c | 43 ++++++++++
+ src/mm-generic-gsm.h | 4 +
+ 4 files changed, 220 insertions(+), 50 deletions(-)
+
+commit 929c1a8a54fdc6f24bc058b0ea2b1d0556bda2ce
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Dec 1 11:34:52 2008 +0200
+
+ Make the MBM plugin's HAL UDI checking more strict, it caught HSO
+ modems too.
+
+ plugins/mm-plugin-mbm.c | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+commit 1c67b9327e3d4b1c9eb7e5b4eef012736a23e68d
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Nov 28 13:25:26 2008 +0200
+
+ Fix the bug where HSO plugin would create a modem instance for each
+ serial device.
+
+ plugins/mm-plugin-hso.c | 16 ++++++++++++++--
+ 1 file changed, 14 insertions(+), 2 deletions(-)
+
+commit c44079b3126825564ec13923ccb6e09e85ca3162
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Nov 24 16:41:23 2008 +0200
+
+ Always print out which plugin created the modem.
+
+ src/mm-manager.c | 8 +++++---
+ src/mm-plugin.c | 10 +++++++++-
+ 2 files changed, 14 insertions(+), 4 deletions(-)
+
+commit 157da2be755fbc954cf53f4ab9fc415139ea155c
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Nov 18 13:04:21 2008 +0200
+
+ Implement plugin for Sierra Wireless modems.
+
+ For now, it only waits a bit after CFUN=1 call.
+
+ plugins/Makefile.am | 17 +++++-
+ plugins/mm-modem-sierra.c | 104 +++++++++++++++++++++++++++++++
+ plugins/mm-modem-sierra.h | 28 +++++++++
+ plugins/mm-plugin-sierra.c | 148
+ +++++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-sierra.h | 26 ++++++++
+ 5 files changed, 322 insertions(+), 1 deletion(-)
+
+commit cf2344381ceabd9ac15bfea1ddd57c81a62b16da
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Nov 18 12:35:34 2008 +0200
+
+ Make +CMEE optional for CDMA modems.
+
+ It's mandatory by spec, so it really shouldn't be optional. Need
+ to figure
+ out which CDMA modems have problems with it and implement plugin
+ for them.
+
+ src/mm-generic-cdma.c | 30 ++++++++++++++++++++++++++----
+ 1 file changed, 26 insertions(+), 4 deletions(-)
+
+commit ca4de81fa3bcd54cef3a9c3c4a72ec4d79ceec85
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Oct 31 12:30:39 2008 +0200
+
+ Update the NM and nm-applet patches to latest SVN revision.
+
+ ...=> NetworkManager-r4241-use-modem-manager.patch | 56
+ +++++++++++++++-------
+ ...patch => nm-applet-r994-use-modem-manager.patch | 0
+ 2 files changed, 38 insertions(+), 18 deletions(-)
+
+commit 00c79d7fa153895dd9cddaeda8cadcaa50005223
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Oct 30 17:00:15 2008 +0200
+
+ Explicitly check the PIN after modem is enabled.
+
+ plugins/mm-modem-option.c | 85
+ +++++++++++++++++++----------------------------
+ 1 file changed, 34 insertions(+), 51 deletions(-)
+
+commit 0b9badee75d162f23d7f462eb5a5ccbcb73bef3a
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Oct 30 16:55:06 2008 +0200
+
+ Hope the card will eventually start searching after it replied OK
+ to registration request.
+
+ src/mm-generic-gsm.c | 8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+commit de6c6cd561a0a10342f9f5ff50168ac92f0d0282
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Oct 30 15:15:23 2008 +0200
+
+ Implement Option plugin.
+
+ plugins/Makefile.am | 18 ++-
+ plugins/mm-modem-option.c | 275
+ +++++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-option.h | 28 +++++
+ plugins/mm-plugin-option.c | 148 ++++++++++++++++++++++++
+ plugins/mm-plugin-option.h | 26 +++++
+ 5 files changed, 494 insertions(+), 1 deletion(-)
+
+commit fe4e7ee62b1956694aef2ceeeef63c57d4a865cc
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Oct 30 15:13:51 2008 +0200
+
+ Enable/disable debugging on SIGUSR1.
+
+ src/main.c | 128
+ ++++++++++++++++++++++++++++++++-----------------------
+ src/mm-options.c | 6 +++
+ src/mm-options.h | 5 ++-
+ src/mm-serial.c | 19 ++++++---
+ 4 files changed, 97 insertions(+), 61 deletions(-)
+
+commit ced49a6a10def8c7207173cf08b518e519f634b5
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Oct 30 10:46:46 2008 +0200
+
+ Add the device path to mbm modem creator in NM patch.
+
+ NetworkManager-r4232-use-modem-manager.patch | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit f8c2f2af6579796123e32dd83570d21107c830a4
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Oct 30 10:33:16 2008 +0200
+
+ Implement unsolicited message parsers for MBM modem.
+
+ Patch from Per Hallsmark <per@hallsmark.se>.
+
+ plugins/mm-modem-mbm.c | 109
+ ++++++++++++++++++++++++++++++++++++++++++-------
+ 1 file changed, 95 insertions(+), 14 deletions(-)
+
+commit 65992e69c3bead44f12c21ee2f296af5c26280e2
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Oct 29 12:15:43 2008 +0200
+
+ Update NetworkManager and nm-applet patches.
+
+ ...=> NetworkManager-r4232-use-modem-manager.patch | 141
+ +++++++++++++--------
+ ...patch => nm-applet-r988-use-modem-manager.patch | 73 +++++++----
+ 2 files changed, 131 insertions(+), 83 deletions(-)
+
+commit d7c7ab27321d7be4e902aed7995f956e8e70cbb1
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Oct 28 09:28:37 2008 +0200
+
+ Implement signal quality and network mode querying for MBM modem.
+
+ Patch from Bjorn Runaker <bjorn.runaker@ericsson.com>.
+
+ plugins/mm-modem-mbm.c | 115
+ +++++++++++++++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-mbm.h | 1 +
+ 2 files changed, 116 insertions(+)
+
+commit 128021dc16729233a8e2542206d53c3e05091f20
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Oct 24 17:46:01 2008 +0300
+
+ Add guards to public functions to validate passed arguments.
+
+ src/mm-serial-parsers.c | 10 ++++++++++
+ src/mm-util.c | 3 +++
+ 2 files changed, 13 insertions(+)
+
+commit 705aa1c4041e4d12146628c07d2e808ea0d31fa2
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Oct 24 16:22:50 2008 +0300
+
+ Update the NM and nm-applet patches.
+
+ ...=> NetworkManager-r4209-use-modem-manager.patch | 41
+ +++++++++++++---------
+ ...patch => nm-applet-r965-use-modem-manager.patch | 0
+ 2 files changed, 24 insertions(+), 17 deletions(-)
+
+commit f82b187c2bb3efb117f96e5b6062128f20ab2f39
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Oct 24 16:20:22 2008 +0300
+
+ Move the string parser with regexp from huawei plugin to generic
+ utility function.
+
+ It's useful for other modems too that need to strip unsolicited
+ messages from
+ responses.
+
+ plugins/mm-modem-huawei.c | 55
+ +++--------------------------------------------
+ src/Makefile.am | 4 +++-
+ src/mm-util.c | 54
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ src/mm-util.h | 20 +++++++++++++++++
+ 4 files changed, 80 insertions(+), 53 deletions(-)
+
+commit 0bd4f4a6049838dd7b09320c18c1991196ae80ee
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Oct 24 10:04:42 2008 +0300
+
+ More work with MBM plugin.
+
+ Author: Per Hallsmark.
+
+ plugins/mm-modem-mbm.c | 177
+ +++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 149 insertions(+), 28 deletions(-)
+
+commit f7aeeafec8cde16268abe2d15a75bbc2ed2b8132
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Oct 22 16:36:25 2008 +0300
+
+ Use only one serial device in Huawei plugin.
+
+ plugins/mm-modem-huawei.c | 322
+ +++++++++++++++++++++++-----------------------
+ plugins/mm-modem-huawei.h | 2 -
+ src/mm-generic-gsm.c | 20 ++-
+ 3 files changed, 176 insertions(+), 168 deletions(-)
+
+commit fd4e78fe920492099a45dbf42ba9d4f1e9b0899b
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Oct 22 16:34:34 2008 +0300
+
+ Add a default send delay to the serial class.
+
+ Show the correct error in case of write errors (EAGAIN).
+
+ src/mm-serial.c | 13 +++++++++----
+ 1 file changed, 9 insertions(+), 4 deletions(-)
+
+commit 3201a1e6b7913577690ff059a4ac0d5fb7f23094
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 20 18:39:19 2008 +0300
+
+ Don't loop forever on EAGAIN (copied from NM).
+
+ src/mm-serial.c | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+commit 2b76d6885494601c97db5826f178597b8cf872bc
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 20 17:13:18 2008 +0300
+
+ Update NM patch.
+
+ NetworkManager-r4160-use-modem-manager.patch | 5 +++--
+ src/mm-generic-cdma.c | 1 +
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 4d27cef5ed1304ea01750e1cee11c76838bf1383
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 20 14:37:56 2008 +0300
+
+ Add a response parser to the generic CDMA implementation.
+
+ src/mm-generic-cdma.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 446a4752d654b9169c26aee2f0e36a0b1894af21
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 20 12:25:14 2008 +0300
+
+ Remove the fancy init string options, these do not seem to work
+ very well.
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 096246e2fd0f64b3aea2a7ac8ac3b600645ee92f
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 20 12:12:55 2008 +0300
+
+ Fix mm-test.py.
+
+ test/mm-test.py | 147
+ +++++++++++++++++++++++---------------------------------
+ 1 file changed, 61 insertions(+), 86 deletions(-)
+
+commit cdccfa8ac10ec0dabd7c46f6d6e537d5cc457c03
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 20 11:54:02 2008 +0300
+
+ Return an error ig scan results can not be parsed (fixes a segfault).
+
+ src/mm-generic-gsm.c | 36 +++++++++++++++++++-----------------
+ 1 file changed, 19 insertions(+), 17 deletions(-)
+
+commit 94501f08542052c064065058b9d58fe29f310e47
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 20 11:23:50 2008 +0300
+
+ Update NetworkManager patch.
+
+ NetworkManager-r4160-use-modem-manager.patch | 346
+ ++++++++++++++++++++++++++-
+ 1 file changed, 339 insertions(+), 7 deletions(-)
+
+commit ed5d81da8f7978a6213bf7cd1d9d182d36161ebf
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 20 11:11:23 2008 +0300
+
+ Implement a plugin for Ericsson MBM modems (like F3507g) (Author
+ Per Hallsmark).
+
+ introspection/Makefile.am | 2 +-
+ introspection/mm-modem-gsm-mbm.xml | 12 ++
+ plugins/Makefile.am | 24 +++-
+ plugins/mm-modem-mbm.c | 267
+ +++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-mbm.h | 70 ++++++++++
+ plugins/mm-plugin-mbm.c | 244
+ +++++++++++++++++++++++++++++++++
+ plugins/mm-plugin-mbm.h | 48 +++++++
+ 7 files changed, 664 insertions(+), 3 deletions(-)
+
+commit 4c8088d8ba58ec6a939f66863ba73a3b5fd19861
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 20 10:29:53 2008 +0300
+
+ Fix a typo in 'SetApn' command in NetworkManager patch.
+
+ NetworkManager-r4160-use-modem-manager.patch | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ba166485e3eabe90807ea3c466a8df341e01744e
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Oct 13 09:40:46 2008 +0300
+
+ Update the NetworkManager and nm-applet patches.
+
+ ...=> NetworkManager-r4160-use-modem-manager.patch | 816
+ +++++++++--------
+ ...patch => nm-applet-r938-use-modem-manager.patch | 995
+ ++++++++++++++++++---
+ 2 files changed, 1270 insertions(+), 541 deletions(-)
+
+commit 5853f2216c81e693db06eaa8469ce7d61fd687ec
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 18 14:31:45 2008 +0300
+
+ Specify call mode in the modem init string.
+
+ src/mm-generic-gsm.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5c403fb223a340ad5f4a9010892db7759a9b4dba
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 18 12:39:46 2008 +0300
+
+ Reset the CID when the modem is enabled/disabled and disconnected.
+
+ src/mm-generic-gsm.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 447bca91b00fb6be9bf572d7adaf2adc87036bfa
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 18 12:33:25 2008 +0300
+
+ Reduce the amount of power used to minimum when modem is disabled.
+
+ src/mm-generic-gsm.c | 38 ++++++++++++++++++++++++++++++--------
+ 1 file changed, 30 insertions(+), 8 deletions(-)
+
+commit 36acdcb70e5f7cf5c295010e89008ade51bc778d
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Sep 17 13:37:35 2008 +0300
+
+ Finish the non-verbose (V0) mode parser.
+
+ src/mm-serial-parsers.c | 75
+ +++++++++++++++++++++++++++++++++++--------------
+ src/mm-serial-parsers.h | 3 --
+ 2 files changed, 54 insertions(+), 24 deletions(-)
+
+commit 341c28de2f5b1199ba287ccad549ef3f3c6e9555
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Sep 17 12:37:27 2008 +0300
+
+ Add correct message to mobile (+CMEE) errors.
+
+ src/mm-errors.c | 110
+ +++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 52 insertions(+), 58 deletions(-)
+
+commit 6f9adb1980cd0661390ad53b928236ff7b8df235
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Sep 17 11:54:46 2008 +0300
+
+ Get the monitoring device from HAL.
+
+ plugins/mm-plugin-huawei.c | 62
+ +++++++++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 58 insertions(+), 4 deletions(-)
+
+commit 07f1b3cc3a15bf3bdf946521eb88b43ef7a905cb
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Sep 16 14:00:10 2008 +0300
+
+ Document DBus error codes and messages.
+
+ introspection/Makefile.am | 6 +-
+ introspection/all.xml | 5 +
+ introspection/mm-mobile-error.xml | 318
+ +++++++++++++++++++++++++++++++
+ introspection/mm-modem-connect-error.xml | 30 +++
+ introspection/mm-modem-error.xml | 18 ++
+ introspection/mm-serial-error.xml | 24 +++
+ src/mm-errors.c | 112 +++++------
+ src/mm-errors.h | 2 +-
+ src/mm-manager.c | 1 -
+ 9 files changed, 457 insertions(+), 59 deletions(-)
+
+commit da3bbdc893b43c52dec20216945a572632c56806
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Sep 16 13:03:38 2008 +0300
+
+ Add marshallers so that RegistrationInfo signal can be enabled.
+
+ .gitignore | 3 ++-
+ Makefile.am | 2 +-
+ configure.in | 4 ++++
+ marshallers/Makefile.am | 21 +++++++++++++++++++++
+ marshallers/mm-marshal-main.c | 2 ++
+ marshallers/mm-marshal.list | 1 +
+ src/Makefile.am | 4 +++-
+ src/mm-modem-gsm-network.c | 4 +---
+ src/mm-serial.c | 2 +-
+ test/mm-test.py | 2 ++
+ 10 files changed, 38 insertions(+), 7 deletions(-)
+
+commit e0c720e19c02c43c56f09be9de09cc90d46543a3
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Sep 16 12:42:14 2008 +0300
+
+ Fix the loadable module name checking.
+
+ src/mm-manager.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f1acf5aaec1d2ca79858a4e472b458f43a1caead
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Sep 16 12:18:19 2008 +0300
+
+ Disconnect modem if it's connected while disabling.
+
+ src/mm-generic-gsm.c | 30 ++++++++++++++++++++----------
+ 1 file changed, 20 insertions(+), 10 deletions(-)
+
+commit 8e1cabbefce757c071544d878f4a060a080ed25d
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Sep 15 17:20:00 2008 +0300
+
+ Make sure the device is enabled before trying to send commands to it.
+
+ src/mm-serial.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit f570e1517dcf293583614d671b6dd7aae93f028f
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Sep 15 17:08:46 2008 +0300
+
+ Implement PIN changing and enabling/disabling.
+
+ introspection/mm-modem-gsm-card.xml | 2 +-
+ src/mm-generic-gsm.c | 60
+ +++++++++++++++++++++++++++++++++++++
+ 2 files changed, 61 insertions(+), 1 deletion(-)
+
+commit 1455c424c2a5b2fcb61163b2feb3a2aadc0bfad0
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Sep 15 13:07:03 2008 +0300
+
+ Implement smarter APN choosing.
+
+ If the APN chosen by user is already configured in card, use
+ that. If not,
+ find the highest used CID, the allowed range of CIDs and add new
+ (or overwrite
+ the highest one).
+
+ src/mm-generic-gsm.c | 157
+ ++++++++++++++++++++++++++++++++++++++++++++++++---
+ src/mm-generic-gsm.h | 3 +
+ 2 files changed, 153 insertions(+), 7 deletions(-)
+
+commit b4176325e5c51bc920366e4475c3c75bf1bc3757
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Sep 12 17:05:43 2008 +0300
+
+ Update the patches for NetworkManager and nm-applet.
+
+ Implement modem properties dialog for the applet which shows all
+ sorts of
+ information about the modem, allows to scan for visible networks
+ and create
+ NMConnections based on scan results.
+
+ ...=> NetworkManager-r4060-use-modem-manager.patch | 112 +-
+ nm-applet-r874-use-modem-manager.patch | 427 ------
+ nm-applet-r884-use-modem-manager.patch | 1524
+ ++++++++++++++++++++
+ 3 files changed, 1620 insertions(+), 443 deletions(-)
+
+commit 567278d19dc95880d1091794fd9fa0c3f77fb99d
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 11 16:55:44 2008 +0300
+
+ Make sure the response buffer doesn't grow without bounds.
+
+ src/mm-serial.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+commit 675964a6b278d5fcbef19b3518e519dfd2e544de
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 11 16:37:01 2008 +0300
+
+ Fix device added and removed signals.
+
+ The device argument was a MMModem object, which conflicted with
+ the spec.
+ Changed it to the modem's udi.
+
+ src/mm-manager.c | 22 ++++++++++------------
+ src/mm-manager.h | 4 ++--
+ 2 files changed, 12 insertions(+), 14 deletions(-)
+
+commit e0b3d478b42654a338d9d9b7f271ef1a96d73af9
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 11 16:36:41 2008 +0300
+
+ Fix the typos.
+
+ src/mm-errors.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 37b716de8aa06833c1bea1066111f6268e08d440
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 11 15:12:07 2008 +0300
+
+ Fix error codes.
+
+ src/mm-errors.c | 225
+ +++++++++++++++++++++++++++++++++++-------------
+ src/mm-errors.h | 10 ++-
+ src/mm-generic-gsm.c | 7 +-
+ src/mm-manager.c | 2 +-
+ src/mm-serial-parsers.c | 45 ++++------
+ src/mm-serial.c | 8 +-
+ 6 files changed, 196 insertions(+), 101 deletions(-)
+
+commit 29387c24b08f4fb3d9d265a3f054ca78a90be54f
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 11 11:41:36 2008 +0300
+
+ Fix a bug where the serial command queue sent the same command
+ multiple times.
+
+ src/mm-generic-gsm.c | 1 -
+ src/mm-serial.c | 24 ++++++++++++++++++++++--
+ 2 files changed, 22 insertions(+), 3 deletions(-)
+
+commit 55bc5300db97295ed2ac23b0c82f7132435b6604
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 11 11:22:04 2008 +0300
+
+ Cache signal quality after successful registration.
+
+ If trying to get signal quality when connected, use the cached value.
+
+ src/mm-generic-gsm.c | 22 ++++++++++++++--------
+ 1 file changed, 14 insertions(+), 8 deletions(-)
+
+commit 40e4d2fed0bdaeb7602a9b18ac74c116d4b18fc7
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 11 11:21:04 2008 +0300
+
+ Don't try to send commands to the serial device if it's connected.
+
+ Implement mm_serial_is_connected() function and call it before trying
+ to write
+ anything to the serial port.
+
+ src/mm-serial.c | 40 +++++++++++++++++++++++++++++++---------
+ src/mm-serial.h | 1 +
+ 2 files changed, 32 insertions(+), 9 deletions(-)
+
+commit ac4409e7cea29e03d311e6b805a084837d8bb70f
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Sep 11 08:35:32 2008 +0300
+
+ Rewrite serial device communications.
+
+ Instead of vague "send something, wait something" the responses
+ are now
+ analyzed by (overridable) parsers. Makes all the modem implementations
+ much
+ easier since each caller knows without any code whether the call
+ succeeded
+ or failed.
+
+ Another thing that makes modem code simpler (and the whole thing
+ more robust),
+ is the queueing of sent commands. Each queued command has a command
+ and a
+ callback which is quaranteed to get called, even if sending failed.
+
+ Define and implement error reporting.
+
+ plugins/mm-modem-hso.c | 80 ++---
+ plugins/mm-modem-huawei.c | 354 ++++++++++------------
+ src/Makefile.am | 10 +-
+ src/main.c | 23 +-
+ src/mm-callback-info.c | 16 +-
+ src/mm-callback-info.h | 2 -
+ src/mm-errors.c | 175 +++++++++++
+ src/mm-errors.h | 110 +++++++
+ src/mm-generic-cdma.c | 118 ++------
+ src/mm-generic-gsm.c | 737
+ +++++++++++++++++----------------------------
+ src/mm-manager.c | 8 +-
+ src/mm-modem-cdma.c | 2 +-
+ src/mm-modem-error.c | 37 ---
+ src/mm-modem-error.h | 22 --
+ src/mm-modem-gsm-card.c | 2 +-
+ src/mm-modem-gsm-network.c | 2 +-
+ src/mm-modem.c | 2 +-
+ src/mm-options.c | 36 +++
+ src/mm-options.h | 9 +
+ src/mm-serial-parsers.c | 266 ++++++++++++++++
+ src/mm-serial-parsers.h | 26 ++
+ src/mm-serial.c | 708
+ ++++++++++++++-----------------------------
+ src/mm-serial.h | 91 +++---
+ 23 files changed, 1401 insertions(+), 1435 deletions(-)
+
+commit bb874acea0c8552f86932084e222b45a94119f29
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Sep 2 09:51:23 2008 +0300
+
+ Update the NetworkManager and nm-applet patches.
+
+ ...=> NetworkManager-r4027-use-modem-manager.patch | 501
+ +++++++++++++++++++--
+ ...patch => nm-applet-r874-use-modem-manager.patch | 12 +-
+ 2 files changed, 466 insertions(+), 47 deletions(-)
+
+commit 9c9de2d6261c145fc24c1c855b3e122ee6eedab9
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Sep 1 18:54:28 2008 +0300
+
+ License ModemManager with GNU Lesser General Public License,
+ version 2.1.
+
+ COPYING | 505
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 504 insertions(+), 1 deletion(-)
+
+commit ebd99af6a0b463e3e681bded03e39e7ea6b0afcc
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Sep 1 18:51:48 2008 +0300
+
+ Disable the HSO modem in addition to just closing the device on
+ Enable(False).
+
+ plugins/mm-modem-hso.c | 46
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 46 insertions(+)
+
+commit c56d5a257b35a8f1072a250df68437cf4ec50bf9
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Sep 1 16:01:55 2008 +0300
+
+ Handle reading failure replies correctly everywhere.
+
+ plugins/mm-modem-huawei.c | 2 +-
+ src/mm-generic-gsm.c | 10 +++++++---
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+commit 1bb60347b503e1aaf043548b853f19156a31b5e4
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Sep 1 15:45:55 2008 +0300
+
+ Implement reading IMEI, IMSI, manufacturer, model, and version
+ (revision).
+
+ plugins/mm-modem-huawei.c | 28 ++++----
+ src/mm-callback-info.c | 91 +++++++++++++++---------
+ src/mm-callback-info.h | 22 ++++--
+ src/mm-generic-cdma.c | 2 +-
+ src/mm-generic-gsm.c | 172
+ ++++++++++++++++++++++++++++++++++++++++++----
+ 5 files changed, 251 insertions(+), 64 deletions(-)
+
+commit 209a6390cb5a3aaa3aeee4c8e6a23a59e705316c
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Mon Sep 1 11:27:35 2008 +0300
+
+ Fix up HSO modem plugin.
+
+ introspection/Makefile.am | 2 +-
+ introspection/all.xml | 1 +
+ .../{mm-gsm-modem-hso.xml => mm-modem-gsm-hso.xml} | 29 ++-
+ plugins/Makefile.am | 8 +-
+ plugins/mm-modem-hso.c | 248
+ +++++++++------------
+ 5 files changed, 126 insertions(+), 162 deletions(-)
+
+commit 2087ca49b6a162462e0006b01089ecf8ff0dc8e0
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Aug 29 18:09:23 2008 +0300
+
+ Fix another upper case inconsistency in the public API (SetApn).
+
+ NetworkManager-r4012-use-modem-manager.patch | 2 +-
+ introspection/mm-modem-gsm-network.xml | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit c71ae54f887fb337eab7d7822cd2d8654b085744
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Aug 29 14:29:26 2008 +0300
+
+ Include the missing mm-gsm-modem-hso.xml to EXTRA_DIST.
+
+ introspection/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 3d9fc420d259a66880ad29987af31d1036185cab
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Aug 29 13:13:00 2008 +0300
+
+ Update the NetworkManager and nm-applet patches.
+
+ Update the NetworkManager and nm-applet patches to work with the
+ DBus API reorganization.
+
+ NetworkManager-r4012-use-modem-manager.patch | 499
+ +++++++++------------------
+ nm-applet-r866-use-modem-manager.patch | 4 +-
+ 2 files changed, 161 insertions(+), 342 deletions(-)
+
+commit 424f514b02494e62097d0a15fb17be4b7e92262f
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Aug 29 11:43:36 2008 +0300
+
+ Implement the more granular GSM interfaces as agreed on NM mailing
+ list.
+
+ Convert all exisiting code over to new DBus interfaces.
+
+ introspection/Makefile.am | 9 +-
+ introspection/all.xml | 8 +-
+ .../{mm-cdma-modem.xml => mm-modem-cdma.xml} | 2 +-
+ introspection/mm-modem-gsm-card.xml | 104 +++++
+ introspection/mm-modem-gsm-contacts.xml | 114 +++++
+ .../{mm-gsm-modem.xml => mm-modem-gsm-network.xml} | 77 ++--
+ introspection/mm-modem-gsm-sms.xml | 98 ++++
+ plugins/mm-modem-hso.c | 18 +-
+ plugins/mm-modem-huawei.c | 86 ++--
+ src/Makefile.am | 29 +-
+ src/mm-cdma-modem.h | 39 --
+ src/mm-generic-cdma.c | 12 +-
+ src/mm-generic-gsm.c | 127 +++---
+ src/mm-generic-gsm.h | 4 +-
+ src/mm-gsm-modem.c | 470
+ -------------------
+ src/mm-gsm-modem.h | 186 --------
+ src/{mm-cdma-modem.c => mm-modem-cdma.c} | 36 +-
+ src/mm-modem-cdma.h | 39 ++
+ src/mm-modem-gsm-card.c | 319 +++++++++++++
+ src/mm-modem-gsm-card.h | 87 ++++
+ src/mm-modem-gsm-network.c | 507
+ +++++++++++++++++++++
+ src/mm-modem-gsm-network.h | 178 ++++++++
+ src/mm-modem.h | 5 +
+ 23 files changed, 1664 insertions(+), 890 deletions(-)
+
+commit 2d00b7534137f6fa6ccf9b951efff699fcf75044
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Aug 28 10:52:00 2008 +0300
+
+ Make the timeout handling simpler in the NMSerial class.
+
+ src/mm-serial.c | 54
+ +++++++-----------------------------------------------
+ 1 file changed, 7 insertions(+), 47 deletions(-)
+
+commit 9d5b29203e7589cb4e36d0548a9df3737c9cbbbe
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Aug 26 15:08:57 2008 +0300
+
+ Update the NetworkManager and nm-applet patches.
+
+ ...patch => NetworkManager-r4012-use-modem-manager.patch | 16
+ ++++++++--------
+ ...nager.patch => nm-applet-r866-use-modem-manager.patch | 0
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+commit 64b4827c4c2e6fbb68682d249cfb642650789e81
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Tue Aug 26 14:40:20 2008 +0300
+
+ Implement HSO modem driver.
+
+ introspection/Makefile.am | 1 +
+ introspection/all.xml | 1 +
+ introspection/mm-gsm-modem-hso.xml | 41 +++
+ plugins/Makefile.am | 30 ++-
+ plugins/mm-modem-hso.c | 500
+ +++++++++++++++++++++++++++++++++++++
+ plugins/mm-modem-hso.h | 49 ++++
+ plugins/mm-plugin-hso.c | 183 ++++++++++++++
+ plugins/mm-plugin-hso.h | 26 ++
+ src/mm-generic-gsm.c | 18 +-
+ src/mm-gsm-modem.c | 14 ++
+ src/mm-gsm-modem.h | 8 +
+ 11 files changed, 862 insertions(+), 9 deletions(-)
+
+commit fc992ce8abe8e7c8b07b5a0645348073af0cc708
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Aug 22 14:54:42 2008 +0300
+
+ Add a patch for the current nm-applet to make it use ModemManager.
+
+ nm-applet-r861-use-modem-manager.patch | 427
+ +++++++++++++++++++++++++++++++++
+ 1 file changed, 427 insertions(+)
+
+commit 36b1ba72d4180e8bf5e2ffef51af23efdc6f8530
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Aug 22 14:50:02 2008 +0300
+
+ Grab the registration information right after a successful
+ registration.
+
+ The registration information is stored now because in the generic
+ case, it
+ is not possible to issue AT commands when the device is connected.
+
+ src/mm-generic-gsm.c | 297
+ +++++++++++++++++++++++++++++----------------------
+ src/mm-generic-gsm.h | 8 +-
+ src/mm-gsm-modem.c | 2 +-
+ src/mm-gsm-modem.h | 4 +-
+ 4 files changed, 181 insertions(+), 130 deletions(-)
+
+commit 91ac2260b75236f87f3c4d9b101656acef27c311
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Fri Aug 22 14:49:12 2008 +0300
+
+ Remove the pkg-config file, we're not a library.
+
+ Makefile.am | 5 -----
+ ModemManager.pc.in | 12 ------------
+ configure.in | 1 -
+ 3 files changed, 18 deletions(-)
+
+commit d6be2af93f3b5f7dde9761b8533ce187c30377b3
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Aug 21 17:18:38 2008 +0300
+
+ Implement registration information retrieving for GSM modems.
+
+ introspection/mm-gsm-modem.xml | 56 ++++++++++
+ src/mm-generic-gsm.c | 226
+ ++++++++++++++++++++++++++++++++++++-----
+ src/mm-gsm-modem.c | 60 +++++++++++
+ src/mm-gsm-modem.h | 24 +++++
+ 4 files changed, 341 insertions(+), 25 deletions(-)
+
+commit 9afafdf46dbd9ded0df4f99505ed5107242b4883
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Aug 21 09:48:11 2008 +0300
+
+ Add a patch to make the latest NetworkManager use ModemManager.
+
+ NetworkManager-r3989-use-modem-manager.patch | 4835
+ ++++++++++++++++++++++++++
+ 1 file changed, 4835 insertions(+)
+
+commit 149b41f2205948a8446bf2d9f8c8b7b9dfa0e1d1
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Aug 21 09:11:17 2008 +0300
+
+ Implement per modem type DBus interfaces.
+
+ A major code reorganization.
+
+ introspection/Makefile.am | 5 +-
+ introspection/all.xml | 2 +
+ introspection/mm-cdma-modem.xml | 31 ++++
+ introspection/mm-gsm-modem.xml | 243 ++++++++++++++++++++++++
+ introspection/mm-modem.xml | 232 +----------------------
+ plugins/mm-modem-huawei.c | 252 ++++++++++++++-----------
+ src/Makefile.am | 12 ++
+ src/mm-cdma-modem.c | 128 +++++++++++++
+ src/mm-cdma-modem.h | 39 ++++
+ src/mm-generic-cdma.c | 102 ++++++++++-
+ src/mm-generic-gsm.c | 224 +++++++++++++----------
+ src/mm-generic-gsm.h | 2 +
+ src/mm-gsm-modem.c | 396
+ ++++++++++++++++++++++++++++++++++++++++
+ src/mm-gsm-modem.h | 154 ++++++++++++++++
+ src/mm-manager.c | 35 ++--
+ src/mm-modem.c | 296 +-----------------------------
+ src/mm-modem.h | 122 -------------
+ 17 files changed, 1405 insertions(+), 870 deletions(-)
+
+commit 751a9f8273a063b7d5bb99093ed4583b34614643
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Aug 13 10:05:45 2008 +0300
+
+ Fix a typo.
+
+ introspection/mm-modem.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a93f08429c142e1be5b1a4b0454d6a6051a7af3c
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Wed Aug 13 10:05:31 2008 +0300
+
+ Fix distcheck.
+
+ configure.in | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit be059f7a73fceda95bf5504634ed03b5de085ab2
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 17:14:50 2008 +0300
+
+ Document the public DBus API.
+
+ .gitignore | 1 +
+ Makefile.am | 23 ++
+ configure.in | 9 +
+ doc-generator.xsl | 691
+ +++++++++++++++++++++++++++++++++++++++++++
+ docs/plugins.txt | 0
+ introspection/all.xml | 27 ++
+ introspection/mm-manager.xml | 29 +-
+ introspection/mm-modem.xml | 250 ++++++++++++++--
+ 8 files changed, 1009 insertions(+), 21 deletions(-)
+
+commit 135fad9e6ddbdd3819ae9332cc6b526eb960a655
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 15:45:07 2008 +0300
+
+ Fix typos.
+
+ README | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit cf815d39523c2f52a964a074c35b872e97d54468
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 15:43:25 2008 +0300
+
+ Write README.
+
+ README | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+commit c375992cc2c9a7a75f39c71aed776b214ed73d78
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 15:01:01 2008 +0300
+
+ Enable the device before trying to operate on it.
+
+ test/mm-test.py | 45 ++++++++++++++++++++++++++-------------------
+ 1 file changed, 26 insertions(+), 19 deletions(-)
+
+commit 710df6f66bc215d3a654d0177382c874f5e33a1a
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 15:00:03 2008 +0300
+
+ Handle Enable() method correctly when it's already been called.
+
+ plugins/mm-modem-huawei.c | 31 +++++++++++++++++++++++--------
+ 1 file changed, 23 insertions(+), 8 deletions(-)
+
+commit 911b2b69260aee6450a16d406e5c79d97255c725
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 14:58:38 2008 +0300
+
+ Handle serial device opening when it's already open.
+
+ src/mm-serial.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit f0a2dc606c20a65a45152127b0450ae31476adbf
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 14:03:37 2008 +0300
+
+ Add an example testing program.
+
+ .gitignore | 1 +
+ Makefile.am | 2 +-
+ configure.in | 1 +
+ test/Makefile.am | 3 ++
+ test/mm-test.py | 141
+ +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 147 insertions(+), 1 deletion(-)
+
+commit fa9c303d98cc933f0daa35f0e2182dd63f361d90
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 12:24:12 2008 +0300
+
+ Merge fixes from NetworkManager SVN.
+
+ src/mm-generic-gsm.c | 16 ++++++++++------
+ src/mm-serial.c | 2 +-
+ 2 files changed, 11 insertions(+), 7 deletions(-)
+
+commit c7e8eacb1c7a974466729bec3726395e31d62c73
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 09:49:25 2008 +0300
+
+ Add .gitignore.
+
+ .gitignore | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+commit cc31458b18e8c274641cf124f5bf7ec6fe506dfb
+Author: Tambet Ingo <tambet@gmail.com>
+Date: Thu Jul 31 09:43:00 2008 +0300
+
+ Initial commit.
+
+ AUTHORS | 2 +
+ COPYING | 1 +
+ ChangeLog | 0
+ Makefile.am | 30 +
+ ModemManager.pc.in | 12 +
+ NEWS | 0
+ README | 0
+ autogen.sh | 20 +
+ configure.in | 24 +
+ introspection/Makefile.am | 4 +
+ introspection/mm-manager.xml | 19 +
+ introspection/mm-modem.xml | 85 +++
+ org.freedesktop.ModemManager.conf | 19 +
+ org.freedesktop.ModemManager.service.in | 4 +
+ plugins/Makefile.am | 14 +
+ plugins/mm-modem-huawei.c | 556 +++++++++++++++
+ plugins/mm-modem-huawei.h | 31 +
+ plugins/mm-plugin-huawei.c | 155 +++++
+ plugins/mm-plugin-huawei.h | 26 +
+ src/Makefile.am | 39 ++
+ src/main.c | 166 +++++
+ src/mm-callback-info.c | 98 +++
+ src/mm-callback-info.h | 38 ++
+ src/mm-generic-cdma.c | 259 +++++++
+ src/mm-generic-cdma.h | 29 +
+ src/mm-generic-gsm.c | 705 +++++++++++++++++++
+ src/mm-generic-gsm.h | 29 +
+ src/mm-manager.c | 457 +++++++++++++
+ src/mm-manager.h | 36 +
+ src/mm-modem-error.c | 37 +
+ src/mm-modem-error.h | 22 +
+ src/mm-modem.c | 460 +++++++++++++
+ src/mm-modem.h | 196 ++++++
+ src/mm-plugin.c | 81 +++
+ src/mm-plugin.h | 55 ++
+ src/mm-serial.c | 1117
+ +++++++++++++++++++++++++++++++
+ src/mm-serial.h | 85 +++
+ 37 files changed, 4911 insertions(+)
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 00000000..8865734f
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,368 @@
+Installation Instructions
+*************************
+
+ Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
+Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+ Briefly, the shell command './configure && make && make install'
+should configure, build, and install this package. The following
+more-detailed instructions are generic; see the 'README' file for
+instructions specific to this package. Some packages provide this
+'INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The 'configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a 'Makefile' in each directory of the package.
+It may also create one or more '.h' files containing system-dependent
+definitions. Finally, it creates a shell script 'config.status' that
+you can run in the future to recreate the current configuration, and a
+file 'config.log' containing compiler output (useful mainly for
+debugging 'configure').
+
+ It can also use an optional file (typically called 'config.cache' and
+enabled with '--cache-file=config.cache' or simply '-C') that saves the
+results of its tests to speed up reconfiguring. Caching is disabled by
+default to prevent problems with accidental use of stale cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how 'configure' could check whether to do them, and mail
+diffs or instructions to the address given in the 'README' so they can
+be considered for the next release. If you are using the cache, and at
+some point 'config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file 'configure.ac' (or 'configure.in') is used to create
+'configure' by a program called 'autoconf'. You need 'configure.ac' if
+you want to change it or regenerate 'configure' using a newer version of
+'autoconf'.
+
+ The simplest way to compile this package is:
+
+ 1. 'cd' to the directory containing the package's source code and type
+ './configure' to configure the package for your system.
+
+ Running 'configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type 'make' to compile the package.
+
+ 3. Optionally, type 'make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type 'make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the 'make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type 'make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior 'make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+ source code directory by typing 'make clean'. To also remove the
+ files that 'configure' created (so you can compile the package for
+ a different kind of computer), type 'make distclean'. There is
+ also a 'make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 7. Often, you can also type 'make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide 'make
+ distcheck', which can by used by developers to test that all other
+ targets like 'make install' and 'make uninstall' work correctly.
+ This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the 'configure' script does not know about. Run './configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give 'configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here is
+an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU 'make'. 'cd' to the
+directory where you want the object files and executables to go and run
+the 'configure' script. 'configure' automatically checks for the source
+code in the directory that 'configure' is in and in '..'. This is known
+as a "VPATH" build.
+
+ With a non-GNU 'make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use 'make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple '-arch' options to the
+compiler but only a single '-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the 'lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, 'make install' installs the package's commands under
+'/usr/local/bin', include files under '/usr/local/include', etc. You
+can specify an installation prefix other than '/usr/local' by giving
+'configure' the option '--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like '--bindir=DIR' to specify different values for particular
+kinds of files. Run 'configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the default
+for these options is expressed in terms of '${prefix}', so that
+specifying just '--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to 'configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+'make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, 'make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+'${prefix}'. Any directories that were specified during 'configure',
+but not in terms of '${prefix}', must each be overridden at install time
+for the entire installation to be relocated. The approach of makefile
+variable overrides for each directory variable is required by the GNU
+Coding Standards, and ideally causes no recompilation. However, some
+platforms have known limitations with the semantics of shared libraries
+that end up requiring recompilation when using this method, particularly
+noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the 'DESTDIR' variable. For
+example, 'make install DESTDIR=/alternate/directory' will prepend
+'/alternate/directory' before all installation names. The approach of
+'DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of '${prefix}'
+at 'configure' time.
+
+Optional Features
+=================
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving 'configure' the
+option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
+
+ Some packages pay attention to '--enable-FEATURE' options to
+'configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to '--with-PACKAGE' options, where PACKAGE
+is something like 'gnu-as' or 'x' (for the X Window System). The
+'README' should mention any '--enable-' and '--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, 'configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the 'configure' options '--x-includes=DIR' and
+'--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+execution of 'make' will be. For these packages, running './configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with 'make V=1'; while running './configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with 'make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
+is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ HP-UX 'make' updates targets which have the same time stamps as their
+prerequisites, which makes it generally unusable when shipped generated
+files such as 'configure' are involved. Use GNU 'make' instead.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
+workaround. If GNU CC is not installed, it is therefore recommended to
+try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
+in your 'PATH', put it _after_ '/usr/bin'.
+
+ On Haiku, software installed for all users goes in '/boot/common',
+not '/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+ There may be some features 'configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, 'configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+'--build=TYPE' option. TYPE can either be a short name for the system
+type, such as 'sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file 'config.sub' for the possible values of each field. If
+'config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option '--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with '--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for 'configure' scripts to share,
+you can create a site shell script called 'config.site' that gives
+default values for variables like 'CC', 'cache_file', and 'prefix'.
+'configure' looks for 'PREFIX/share/config.site' if it exists, then
+'PREFIX/etc/config.site' if it exists. Or, you can set the
+'CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all 'configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to 'configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the 'configure' command line, using 'VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified 'gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
+Autoconf limitation. Until the limitation is lifted, you can use this
+workaround:
+
+ CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+'configure' Invocation
+======================
+
+ 'configure' recognizes the following options to control how it
+operates.
+
+'--help'
+'-h'
+ Print a summary of all of the options to 'configure', and exit.
+
+'--help=short'
+'--help=recursive'
+ Print a summary of the options unique to this package's
+ 'configure', and exit. The 'short' variant lists options used only
+ in the top level, while the 'recursive' variant lists options also
+ present in any nested packages.
+
+'--version'
+'-V'
+ Print the version of Autoconf used to generate the 'configure'
+ script, and exit.
+
+'--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally 'config.cache'. FILE defaults to '/dev/null' to
+ disable caching.
+
+'--config-cache'
+'-C'
+ Alias for '--cache-file=config.cache'.
+
+'--quiet'
+'--silent'
+'-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to '/dev/null' (any error
+ messages will still be shown).
+
+'--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ 'configure' can determine that directory automatically.
+
+'--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names:: for
+ more details, including other options available for fine-tuning the
+ installation locations.
+
+'--no-create'
+'-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+'configure' also accepts some other, not widely useful, options. Run
+'configure --help' for more details.
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 00000000..0fac9bab
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,947 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(am__DIST_COMMON)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ cscope distdir distdir-am dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+CSCOPE = cscope
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ ABOUT-NLS AUTHORS COPYING COPYING.LIB ChangeLog INSTALL NEWS \
+ README TODO compile config.guess config.rpath config.sub \
+ install-sh ltmain.sh missing
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+GZIP_ENV = --best
+DIST_ARCHIVES = $(distdir).tar.xz
+DIST_TARGETS = dist-xz
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = \
+ . \
+ build-aux \
+ po \
+ data \
+ include \
+ libqcdm \
+ libwmc \
+ libmm-glib \
+ src \
+ plugins \
+ cli \
+ vapi \
+ introspection \
+ uml290 \
+ test \
+ examples \
+ docs \
+ $(NULL)
+
+AM_DISTCHECK_CONFIGURE_FLAGS = \
+ --with-udev-base-dir="$$dc_install_base" \
+ --with-systemdsystemunitdir="$$dc_install_base/$(SYSTEMD_UNIT_DIR)" \
+ --enable-gtk-doc=yes \
+ $(NULL)
+
+EXTRA_DIST = \
+ autogen.sh \
+ gtester.make \
+ COPYING.LIB \
+ $(NULL)
+
+ACLOCAL_AMFLAGS = -I m4
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh: Makefile
+ @:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+distclean-libtool:
+ -rm -f libtool config.lt
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+ test ! -s cscope.files \
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+ -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
+ $(am__post_remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__post_remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__post_remove_distdir)
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__post_remove_distdir)
+
+dist-tarZ: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__post_remove_distdir)
+
+dist-shar: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
+ $(am__post_remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__post_remove_distdir)
+
+dist dist-all:
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+ $(am__post_remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build/sub \
+ && ../../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=../.. --prefix="$$dc_install_base" \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__post_remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+@CODE_COVERAGE_ENABLED_FALSE@clean-local:
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr \
+ distclean-libtool distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) all install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--refresh check check-am clean clean-cscope clean-generic \
+ clean-libtool clean-local cscope cscopelist-am ctags ctags-am \
+ dist dist-all dist-bzip2 dist-gzip dist-lzip dist-shar \
+ dist-tarZ dist-xz dist-zip distcheck distclean \
+ distclean-generic distclean-hdr distclean-libtool \
+ distclean-tags distcleancheck distdir distuninstallcheck dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+ChangeLog:
+ $(AM_V_GEN) if test -d "$(srcdir)/.git"; then \
+ (GIT_DIR=$(top_srcdir)/.git $(top_srcdir)/missing --run git log --stat) | fmt --split-only > $@.tmp \
+ && mv -f $@.tmp $@ \
+ || ($(RM) $@.tmp; \
+ echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
+ (test -f $@ || echo git-log is required to generate this file >> $@)); \
+ else \
+ test -f $@ || \
+ (echo A git checkout and git-log is required to generate ChangeLog >&2 && \
+ echo A git checkout and git-log is required to generate this file >> $@); \
+ fi
+
+@CODE_COVERAGE_RULES@
+
+@CODE_COVERAGE_ENABLED_TRUE@clean-local:
+@CODE_COVERAGE_ENABLED_TRUE@ -find $(top_builddir) -name "*.gcno" -delete
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 00000000..c4a606c7
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,1534 @@
+# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
+# serial 11 (pkg-config-0.29.1)
+
+dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl -----------------------
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+ [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl ----------------------------------
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=m4_default([$1], [0.9.0])
+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ PKG_CONFIG=""
+ fi
+fi[]dnl
+])dnl PKG_PROG_PKG_CONFIG
+
+dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------------------------------
+dnl Since: 0.18
+dnl
+dnl Check to see whether a particular set of modules exists. Similar to
+dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
+dnl
+dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+dnl only at the first occurence in configure.ac, so if the first place
+dnl it's called might be skipped (such as if it is within an "if", you
+dnl have to call PKG_CHECK_EXISTS manually
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+ m4_default([$2], [:])
+m4_ifvaln([$3], [else
+ $3])dnl
+fi])
+
+dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+dnl ---------------------------------------------
+dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
+dnl pkg_failed based on the result.
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+ pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+ PKG_CHECK_EXISTS([$3],
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes ],
+ [pkg_failed=yes])
+ else
+ pkg_failed=untried
+fi[]dnl
+])dnl _PKG_CONFIG
+
+dnl _PKG_SHORT_ERRORS_SUPPORTED
+dnl ---------------------------
+dnl Internal check to see if pkg-config supports short errors.
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi[]dnl
+])dnl _PKG_SHORT_ERRORS_SUPPORTED
+
+
+dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl --------------------------------------------------------------
+dnl Since: 0.4.0
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
+dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+ AC_MSG_RESULT([no])
+ _PKG_SHORT_ERRORS_SUPPORTED
+ if test $_pkg_short_errors_supported = yes; then
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
+ else
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+ m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+ ])
+elif test $pkg_failed = untried; then
+ AC_MSG_RESULT([no])
+ m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+ ])
+else
+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+ AC_MSG_RESULT([yes])
+ $3
+fi[]dnl
+])dnl PKG_CHECK_MODULES
+
+
+dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+dnl [ACTION-IF-NOT-FOUND])
+dnl ---------------------------------------------------------------------
+dnl Since: 0.29
+dnl
+dnl Checks for existence of MODULES and gathers its build flags with
+dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
+dnl and VARIABLE-PREFIX_LIBS from --libs.
+dnl
+dnl Note that if there is a possibility the first call to
+dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
+dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
+dnl configure.ac.
+AC_DEFUN([PKG_CHECK_MODULES_STATIC],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+_save_PKG_CONFIG=$PKG_CONFIG
+PKG_CONFIG="$PKG_CONFIG --static"
+PKG_CHECK_MODULES($@)
+PKG_CONFIG=$_save_PKG_CONFIG[]dnl
+])dnl PKG_CHECK_MODULES_STATIC
+
+
+dnl PKG_INSTALLDIR([DIRECTORY])
+dnl -------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable pkgconfigdir as the location where a module
+dnl should install pkg-config .pc files. By default the directory is
+dnl $libdir/pkgconfig, but the default can be changed by passing
+dnl DIRECTORY. The user can override through the --with-pkgconfigdir
+dnl parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+ [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+ [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_INSTALLDIR
+
+
+dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
+dnl --------------------------------
+dnl Since: 0.27
+dnl
+dnl Substitutes the variable noarch_pkgconfigdir as the location where a
+dnl module should install arch-independent pkg-config .pc files. By
+dnl default the directory is $datadir/pkgconfig, but the default can be
+dnl changed by passing DIRECTORY. The user can override through the
+dnl --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+ [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+ [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+ [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+])dnl PKG_NOARCH_INSTALLDIR
+
+
+dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+dnl -------------------------------------------
+dnl Since: 0.28
+dnl
+dnl Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])dnl PKG_CHECK_VAR
+
+dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
+dnl [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------
+dnl
+dnl Prepare a "--with-" configure option using the lowercase
+dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
+dnl PKG_CHECK_MODULES in a single macro.
+AC_DEFUN([PKG_WITH_MODULES],
+[
+m4_pushdef([with_arg], m4_tolower([$1]))
+
+m4_pushdef([description],
+ [m4_default([$5], [build with ]with_arg[ support])])
+
+m4_pushdef([def_arg], [m4_default([$6], [auto])])
+m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
+m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
+
+m4_case(def_arg,
+ [yes],[m4_pushdef([with_without], [--without-]with_arg)],
+ [m4_pushdef([with_without],[--with-]with_arg)])
+
+AC_ARG_WITH(with_arg,
+ AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
+ [AS_TR_SH([with_]with_arg)=def_arg])
+
+AS_CASE([$AS_TR_SH([with_]with_arg)],
+ [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
+ [auto],[PKG_CHECK_MODULES([$1],[$2],
+ [m4_n([def_action_if_found]) $3],
+ [m4_n([def_action_if_not_found]) $4])])
+
+m4_popdef([with_arg])
+m4_popdef([description])
+m4_popdef([def_arg])
+
+])dnl PKG_WITH_MODULES
+
+dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl [DESCRIPTION], [DEFAULT])
+dnl -----------------------------------------------
+dnl
+dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
+dnl check._[VARIABLE-PREFIX] is exported as make variable.
+AC_DEFUN([PKG_HAVE_WITH_MODULES],
+[
+PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
+
+AM_CONDITIONAL([HAVE_][$1],
+ [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
+])dnl PKG_HAVE_WITH_MODULES
+
+dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------------------
+dnl
+dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
+dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
+dnl and preprocessor variable.
+AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
+[
+PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
+
+AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
+ [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
+])dnl PKG_HAVE_DEFINE_WITH_MODULES
+
+# Copyright (C) 2002-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.16'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.16.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.16.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is '.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ # TODO: see whether this extra hack can be removed once we start
+ # requiring Autoconf 2.70 or later.
+ AS_CASE([$CONFIG_FILES],
+ [*\'*], [eval set x "$CONFIG_FILES"],
+ [*], [set x $CONFIG_FILES])
+ shift
+ # Used to flag and report bootstrapping failures.
+ am_rc=0
+ for am_mf
+ do
+ # Strip MF so we end up with the name of the file.
+ am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile which includes
+ # dependency-tracking related rules and includes.
+ # Grep'ing the whole file directly is not great: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+ || continue
+ am_dirpart=`AS_DIRNAME(["$am_mf"])`
+ am_filepart=`AS_BASENAME(["$am_mf"])`
+ AM_RUN_LOG([cd "$am_dirpart" \
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
+ | $MAKE -f - am--depfiles]) || am_rc=$?
+ done
+ if test $am_rc -ne 0; then
+ AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
+ for automatic dependency tracking. Try re-running configure with the
+ '--disable-dependency-tracking' option to at least be able to build
+ the package (albeit without support for automatic dependency tracking).])
+ fi
+ AS_UNSET([am_dirpart])
+ AS_UNSET([am_filepart])
+ AS_UNSET([am_mf])
+ AS_UNSET([am_rc])
+ rm -f conftest-deps.mk
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking is enabled.
+# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
+# order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST([install_sh])])
+
+# Copyright (C) 2003-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless 'enable' is passed literally.
+# For symmetry, 'disable' may be passed as well. Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+ [enable], [m4_define([am_maintainer_other], [disable])],
+ [disable], [m4_define([am_maintainer_other], [enable])],
+ [m4_define([am_maintainer_other], [enable])
+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+ AC_ARG_ENABLE([maintainer-mode],
+ [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
+ am_maintainer_other[ make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer])],
+ [USE_MAINTAINER_MODE=$enableval],
+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST([MAINT])dnl
+]
+)
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check whether make has an 'include' directive that can support all
+# the idioms we need for our automatic dependency tracking code.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
+cat > confinc.mk << 'END'
+am__doit:
+ @echo this is the am__doit target >confinc.out
+.PHONY: am__doit
+END
+am__include="#"
+am__quote=
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+ AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
+ AS_CASE([$?:`cat confinc.out 2>/dev/null`],
+ ['0:this is the am__doit target'],
+ [AS_CASE([$s],
+ [BSD], [am__include='.include' am__quote='"'],
+ [am__include='include' am__quote=''])])
+ if test "$am__include" != "#"; then
+ _am_result="yes ($s style)"
+ break
+ fi
+done
+rm -f confinc.* confmf.*
+AC_MSG_RESULT([${_am_result}])
+AC_SUBST([am__include])])
+AC_SUBST([am__quote])])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
+else
+ am_missing_run=
+ AC_MSG_WARN(['missing' script is too old or missing])
+fi
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+#
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
+ rm -rf conftest.dir
+
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/ax_code_coverage.m4])
+m4_include([m4/compiler_warnings.m4])
+m4_include([m4/gettext.m4])
+m4_include([m4/gtk-doc.m4])
+m4_include([m4/iconv.m4])
+m4_include([m4/intlmacosx.m4])
+m4_include([m4/introspection.m4])
+m4_include([m4/lib-ld.m4])
+m4_include([m4/lib-link.m4])
+m4_include([m4/lib-prefix.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
+m4_include([m4/nls.m4])
+m4_include([m4/po.m4])
+m4_include([m4/progtest.m4])
+m4_include([m4/vapigen.m4])
diff --git a/build-aux/Makefile.in b/build-aux/Makefile.in
new file mode 100644
index 00000000..16801c4f
--- /dev/null
+++ b/build-aux/Makefile.in
@@ -0,0 +1,529 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = build-aux
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+ header-generator.xsl \
+ mm-enums-template.h \
+ mm-enums-template.c \
+ mm-errors-template.h \
+ mm-errors-template.c \
+ mm-errors-quarks-template.c
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu build-aux/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu build-aux/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/cli/Makefile.in b/cli/Makefile.in
new file mode 100644
index 00000000..69161dc2
--- /dev/null
+++ b/cli/Makefile.in
@@ -0,0 +1,1117 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+bin_PROGRAMS = mmcli$(EXEEXT)
+@WITH_UDEV_TRUE@am__append_1 = $(GUDEV_CFLAGS)
+@WITH_UDEV_TRUE@am__append_2 = $(GUDEV_LIBS)
+subdir = cli
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)"
+PROGRAMS = $(bin_PROGRAMS)
+am_mmcli_OBJECTS = mmcli-mmcli.$(OBJEXT) mmcli-mmcli-common.$(OBJEXT) \
+ mmcli-mmcli-output.$(OBJEXT) mmcli-mmcli-manager.$(OBJEXT) \
+ mmcli-mmcli-modem.$(OBJEXT) mmcli-mmcli-modem-3gpp.$(OBJEXT) \
+ mmcli-mmcli-modem-cdma.$(OBJEXT) \
+ mmcli-mmcli-modem-simple.$(OBJEXT) \
+ mmcli-mmcli-modem-location.$(OBJEXT) \
+ mmcli-mmcli-modem-messaging.$(OBJEXT) \
+ mmcli-mmcli-modem-voice.$(OBJEXT) \
+ mmcli-mmcli-modem-time.$(OBJEXT) \
+ mmcli-mmcli-modem-firmware.$(OBJEXT) \
+ mmcli-mmcli-modem-signal.$(OBJEXT) \
+ mmcli-mmcli-modem-oma.$(OBJEXT) mmcli-mmcli-bearer.$(OBJEXT) \
+ mmcli-mmcli-sim.$(OBJEXT) mmcli-mmcli-sms.$(OBJEXT) \
+ mmcli-mmcli-call.$(OBJEXT)
+mmcli_OBJECTS = $(am_mmcli_OBJECTS)
+am__DEPENDENCIES_1 =
+@WITH_UDEV_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
+mmcli_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(top_builddir)/libmm-glib/libmm-glib.la $(am__DEPENDENCIES_2)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/mmcli-mmcli-bearer.Po \
+ ./$(DEPDIR)/mmcli-mmcli-call.Po \
+ ./$(DEPDIR)/mmcli-mmcli-common.Po \
+ ./$(DEPDIR)/mmcli-mmcli-manager.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-3gpp.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-cdma.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-firmware.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-location.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-messaging.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-oma.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-signal.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-simple.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-time.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem-voice.Po \
+ ./$(DEPDIR)/mmcli-mmcli-modem.Po \
+ ./$(DEPDIR)/mmcli-mmcli-output.Po \
+ ./$(DEPDIR)/mmcli-mmcli-sim.Po ./$(DEPDIR)/mmcli-mmcli-sms.Po \
+ ./$(DEPDIR)/mmcli-mmcli.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(mmcli_SOURCES)
+DIST_SOURCES = $(mmcli_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+mmcli_CPPFLAGS = $(MMCLI_CFLAGS) -I$(top_srcdir) \
+ -I$(top_srcdir)/include -I$(top_builddir)/include \
+ -I$(top_srcdir)/libmm-glib \
+ -I${top_srcdir}/libmm-glib/generated \
+ -I${top_builddir}/libmm-glib/generated $(NULL) $(am__append_1)
+mmcli_SOURCES = \
+ mmcli.h \
+ mmcli.c \
+ mmcli-common.h mmcli-common.c \
+ mmcli-output.h mmcli-output.c \
+ mmcli-manager.c \
+ mmcli-modem.c \
+ mmcli-modem-3gpp.c \
+ mmcli-modem-cdma.c \
+ mmcli-modem-simple.c \
+ mmcli-modem-location.c \
+ mmcli-modem-messaging.c \
+ mmcli-modem-voice.c \
+ mmcli-modem-time.c \
+ mmcli-modem-firmware.c \
+ mmcli-modem-signal.c \
+ mmcli-modem-oma.c \
+ mmcli-bearer.c \
+ mmcli-sim.c \
+ mmcli-sms.c \
+ mmcli-call.c \
+ $(NULL)
+
+mmcli_LDADD = $(MMCLI_LIBS) $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL) $(am__append_2)
+completiondir = $(datadir)/bash-completion/completions
+EXTRA_DIST = mmcli-completion
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu cli/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu cli/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+mmcli$(EXEEXT): $(mmcli_OBJECTS) $(mmcli_DEPENDENCIES) $(EXTRA_mmcli_DEPENDENCIES)
+ @rm -f mmcli$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(mmcli_OBJECTS) $(mmcli_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-bearer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-call.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-common.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-manager.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-3gpp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-cdma.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-firmware.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-location.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-messaging.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-oma.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-signal.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-simple.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-time.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem-voice.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-modem.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-output.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-sim.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli-sms.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmcli-mmcli.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mmcli-mmcli.o: mmcli.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli.Tpo -c -o mmcli-mmcli.o `test -f 'mmcli.c' || echo '$(srcdir)/'`mmcli.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli.Tpo $(DEPDIR)/mmcli-mmcli.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli.c' object='mmcli-mmcli.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli.o `test -f 'mmcli.c' || echo '$(srcdir)/'`mmcli.c
+
+mmcli-mmcli.obj: mmcli.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli.Tpo -c -o mmcli-mmcli.obj `if test -f 'mmcli.c'; then $(CYGPATH_W) 'mmcli.c'; else $(CYGPATH_W) '$(srcdir)/mmcli.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli.Tpo $(DEPDIR)/mmcli-mmcli.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli.c' object='mmcli-mmcli.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli.obj `if test -f 'mmcli.c'; then $(CYGPATH_W) 'mmcli.c'; else $(CYGPATH_W) '$(srcdir)/mmcli.c'; fi`
+
+mmcli-mmcli-common.o: mmcli-common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-common.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-common.Tpo -c -o mmcli-mmcli-common.o `test -f 'mmcli-common.c' || echo '$(srcdir)/'`mmcli-common.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-common.Tpo $(DEPDIR)/mmcli-mmcli-common.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-common.c' object='mmcli-mmcli-common.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-common.o `test -f 'mmcli-common.c' || echo '$(srcdir)/'`mmcli-common.c
+
+mmcli-mmcli-common.obj: mmcli-common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-common.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-common.Tpo -c -o mmcli-mmcli-common.obj `if test -f 'mmcli-common.c'; then $(CYGPATH_W) 'mmcli-common.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-common.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-common.Tpo $(DEPDIR)/mmcli-mmcli-common.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-common.c' object='mmcli-mmcli-common.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-common.obj `if test -f 'mmcli-common.c'; then $(CYGPATH_W) 'mmcli-common.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-common.c'; fi`
+
+mmcli-mmcli-output.o: mmcli-output.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-output.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-output.Tpo -c -o mmcli-mmcli-output.o `test -f 'mmcli-output.c' || echo '$(srcdir)/'`mmcli-output.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-output.Tpo $(DEPDIR)/mmcli-mmcli-output.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-output.c' object='mmcli-mmcli-output.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-output.o `test -f 'mmcli-output.c' || echo '$(srcdir)/'`mmcli-output.c
+
+mmcli-mmcli-output.obj: mmcli-output.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-output.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-output.Tpo -c -o mmcli-mmcli-output.obj `if test -f 'mmcli-output.c'; then $(CYGPATH_W) 'mmcli-output.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-output.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-output.Tpo $(DEPDIR)/mmcli-mmcli-output.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-output.c' object='mmcli-mmcli-output.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-output.obj `if test -f 'mmcli-output.c'; then $(CYGPATH_W) 'mmcli-output.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-output.c'; fi`
+
+mmcli-mmcli-manager.o: mmcli-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-manager.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-manager.Tpo -c -o mmcli-mmcli-manager.o `test -f 'mmcli-manager.c' || echo '$(srcdir)/'`mmcli-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-manager.Tpo $(DEPDIR)/mmcli-mmcli-manager.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-manager.c' object='mmcli-mmcli-manager.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-manager.o `test -f 'mmcli-manager.c' || echo '$(srcdir)/'`mmcli-manager.c
+
+mmcli-mmcli-manager.obj: mmcli-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-manager.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-manager.Tpo -c -o mmcli-mmcli-manager.obj `if test -f 'mmcli-manager.c'; then $(CYGPATH_W) 'mmcli-manager.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-manager.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-manager.Tpo $(DEPDIR)/mmcli-mmcli-manager.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-manager.c' object='mmcli-mmcli-manager.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-manager.obj `if test -f 'mmcli-manager.c'; then $(CYGPATH_W) 'mmcli-manager.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-manager.c'; fi`
+
+mmcli-mmcli-modem.o: mmcli-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem.Tpo -c -o mmcli-mmcli-modem.o `test -f 'mmcli-modem.c' || echo '$(srcdir)/'`mmcli-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem.Tpo $(DEPDIR)/mmcli-mmcli-modem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem.c' object='mmcli-mmcli-modem.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem.o `test -f 'mmcli-modem.c' || echo '$(srcdir)/'`mmcli-modem.c
+
+mmcli-mmcli-modem.obj: mmcli-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem.Tpo -c -o mmcli-mmcli-modem.obj `if test -f 'mmcli-modem.c'; then $(CYGPATH_W) 'mmcli-modem.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem.Tpo $(DEPDIR)/mmcli-mmcli-modem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem.c' object='mmcli-mmcli-modem.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem.obj `if test -f 'mmcli-modem.c'; then $(CYGPATH_W) 'mmcli-modem.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem.c'; fi`
+
+mmcli-mmcli-modem-3gpp.o: mmcli-modem-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-3gpp.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-3gpp.Tpo -c -o mmcli-mmcli-modem-3gpp.o `test -f 'mmcli-modem-3gpp.c' || echo '$(srcdir)/'`mmcli-modem-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-3gpp.Tpo $(DEPDIR)/mmcli-mmcli-modem-3gpp.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-3gpp.c' object='mmcli-mmcli-modem-3gpp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-3gpp.o `test -f 'mmcli-modem-3gpp.c' || echo '$(srcdir)/'`mmcli-modem-3gpp.c
+
+mmcli-mmcli-modem-3gpp.obj: mmcli-modem-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-3gpp.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-3gpp.Tpo -c -o mmcli-mmcli-modem-3gpp.obj `if test -f 'mmcli-modem-3gpp.c'; then $(CYGPATH_W) 'mmcli-modem-3gpp.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-3gpp.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-3gpp.Tpo $(DEPDIR)/mmcli-mmcli-modem-3gpp.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-3gpp.c' object='mmcli-mmcli-modem-3gpp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-3gpp.obj `if test -f 'mmcli-modem-3gpp.c'; then $(CYGPATH_W) 'mmcli-modem-3gpp.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-3gpp.c'; fi`
+
+mmcli-mmcli-modem-cdma.o: mmcli-modem-cdma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-cdma.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-cdma.Tpo -c -o mmcli-mmcli-modem-cdma.o `test -f 'mmcli-modem-cdma.c' || echo '$(srcdir)/'`mmcli-modem-cdma.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-cdma.Tpo $(DEPDIR)/mmcli-mmcli-modem-cdma.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-cdma.c' object='mmcli-mmcli-modem-cdma.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-cdma.o `test -f 'mmcli-modem-cdma.c' || echo '$(srcdir)/'`mmcli-modem-cdma.c
+
+mmcli-mmcli-modem-cdma.obj: mmcli-modem-cdma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-cdma.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-cdma.Tpo -c -o mmcli-mmcli-modem-cdma.obj `if test -f 'mmcli-modem-cdma.c'; then $(CYGPATH_W) 'mmcli-modem-cdma.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-cdma.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-cdma.Tpo $(DEPDIR)/mmcli-mmcli-modem-cdma.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-cdma.c' object='mmcli-mmcli-modem-cdma.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-cdma.obj `if test -f 'mmcli-modem-cdma.c'; then $(CYGPATH_W) 'mmcli-modem-cdma.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-cdma.c'; fi`
+
+mmcli-mmcli-modem-simple.o: mmcli-modem-simple.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-simple.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-simple.Tpo -c -o mmcli-mmcli-modem-simple.o `test -f 'mmcli-modem-simple.c' || echo '$(srcdir)/'`mmcli-modem-simple.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-simple.Tpo $(DEPDIR)/mmcli-mmcli-modem-simple.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-simple.c' object='mmcli-mmcli-modem-simple.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-simple.o `test -f 'mmcli-modem-simple.c' || echo '$(srcdir)/'`mmcli-modem-simple.c
+
+mmcli-mmcli-modem-simple.obj: mmcli-modem-simple.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-simple.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-simple.Tpo -c -o mmcli-mmcli-modem-simple.obj `if test -f 'mmcli-modem-simple.c'; then $(CYGPATH_W) 'mmcli-modem-simple.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-simple.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-simple.Tpo $(DEPDIR)/mmcli-mmcli-modem-simple.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-simple.c' object='mmcli-mmcli-modem-simple.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-simple.obj `if test -f 'mmcli-modem-simple.c'; then $(CYGPATH_W) 'mmcli-modem-simple.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-simple.c'; fi`
+
+mmcli-mmcli-modem-location.o: mmcli-modem-location.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-location.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-location.Tpo -c -o mmcli-mmcli-modem-location.o `test -f 'mmcli-modem-location.c' || echo '$(srcdir)/'`mmcli-modem-location.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-location.Tpo $(DEPDIR)/mmcli-mmcli-modem-location.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-location.c' object='mmcli-mmcli-modem-location.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-location.o `test -f 'mmcli-modem-location.c' || echo '$(srcdir)/'`mmcli-modem-location.c
+
+mmcli-mmcli-modem-location.obj: mmcli-modem-location.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-location.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-location.Tpo -c -o mmcli-mmcli-modem-location.obj `if test -f 'mmcli-modem-location.c'; then $(CYGPATH_W) 'mmcli-modem-location.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-location.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-location.Tpo $(DEPDIR)/mmcli-mmcli-modem-location.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-location.c' object='mmcli-mmcli-modem-location.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-location.obj `if test -f 'mmcli-modem-location.c'; then $(CYGPATH_W) 'mmcli-modem-location.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-location.c'; fi`
+
+mmcli-mmcli-modem-messaging.o: mmcli-modem-messaging.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-messaging.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-messaging.Tpo -c -o mmcli-mmcli-modem-messaging.o `test -f 'mmcli-modem-messaging.c' || echo '$(srcdir)/'`mmcli-modem-messaging.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-messaging.Tpo $(DEPDIR)/mmcli-mmcli-modem-messaging.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-messaging.c' object='mmcli-mmcli-modem-messaging.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-messaging.o `test -f 'mmcli-modem-messaging.c' || echo '$(srcdir)/'`mmcli-modem-messaging.c
+
+mmcli-mmcli-modem-messaging.obj: mmcli-modem-messaging.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-messaging.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-messaging.Tpo -c -o mmcli-mmcli-modem-messaging.obj `if test -f 'mmcli-modem-messaging.c'; then $(CYGPATH_W) 'mmcli-modem-messaging.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-messaging.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-messaging.Tpo $(DEPDIR)/mmcli-mmcli-modem-messaging.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-messaging.c' object='mmcli-mmcli-modem-messaging.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-messaging.obj `if test -f 'mmcli-modem-messaging.c'; then $(CYGPATH_W) 'mmcli-modem-messaging.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-messaging.c'; fi`
+
+mmcli-mmcli-modem-voice.o: mmcli-modem-voice.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-voice.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-voice.Tpo -c -o mmcli-mmcli-modem-voice.o `test -f 'mmcli-modem-voice.c' || echo '$(srcdir)/'`mmcli-modem-voice.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-voice.Tpo $(DEPDIR)/mmcli-mmcli-modem-voice.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-voice.c' object='mmcli-mmcli-modem-voice.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-voice.o `test -f 'mmcli-modem-voice.c' || echo '$(srcdir)/'`mmcli-modem-voice.c
+
+mmcli-mmcli-modem-voice.obj: mmcli-modem-voice.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-voice.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-voice.Tpo -c -o mmcli-mmcli-modem-voice.obj `if test -f 'mmcli-modem-voice.c'; then $(CYGPATH_W) 'mmcli-modem-voice.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-voice.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-voice.Tpo $(DEPDIR)/mmcli-mmcli-modem-voice.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-voice.c' object='mmcli-mmcli-modem-voice.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-voice.obj `if test -f 'mmcli-modem-voice.c'; then $(CYGPATH_W) 'mmcli-modem-voice.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-voice.c'; fi`
+
+mmcli-mmcli-modem-time.o: mmcli-modem-time.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-time.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-time.Tpo -c -o mmcli-mmcli-modem-time.o `test -f 'mmcli-modem-time.c' || echo '$(srcdir)/'`mmcli-modem-time.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-time.Tpo $(DEPDIR)/mmcli-mmcli-modem-time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-time.c' object='mmcli-mmcli-modem-time.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-time.o `test -f 'mmcli-modem-time.c' || echo '$(srcdir)/'`mmcli-modem-time.c
+
+mmcli-mmcli-modem-time.obj: mmcli-modem-time.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-time.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-time.Tpo -c -o mmcli-mmcli-modem-time.obj `if test -f 'mmcli-modem-time.c'; then $(CYGPATH_W) 'mmcli-modem-time.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-time.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-time.Tpo $(DEPDIR)/mmcli-mmcli-modem-time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-time.c' object='mmcli-mmcli-modem-time.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-time.obj `if test -f 'mmcli-modem-time.c'; then $(CYGPATH_W) 'mmcli-modem-time.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-time.c'; fi`
+
+mmcli-mmcli-modem-firmware.o: mmcli-modem-firmware.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-firmware.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-firmware.Tpo -c -o mmcli-mmcli-modem-firmware.o `test -f 'mmcli-modem-firmware.c' || echo '$(srcdir)/'`mmcli-modem-firmware.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-firmware.Tpo $(DEPDIR)/mmcli-mmcli-modem-firmware.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-firmware.c' object='mmcli-mmcli-modem-firmware.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-firmware.o `test -f 'mmcli-modem-firmware.c' || echo '$(srcdir)/'`mmcli-modem-firmware.c
+
+mmcli-mmcli-modem-firmware.obj: mmcli-modem-firmware.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-firmware.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-firmware.Tpo -c -o mmcli-mmcli-modem-firmware.obj `if test -f 'mmcli-modem-firmware.c'; then $(CYGPATH_W) 'mmcli-modem-firmware.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-firmware.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-firmware.Tpo $(DEPDIR)/mmcli-mmcli-modem-firmware.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-firmware.c' object='mmcli-mmcli-modem-firmware.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-firmware.obj `if test -f 'mmcli-modem-firmware.c'; then $(CYGPATH_W) 'mmcli-modem-firmware.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-firmware.c'; fi`
+
+mmcli-mmcli-modem-signal.o: mmcli-modem-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-signal.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-signal.Tpo -c -o mmcli-mmcli-modem-signal.o `test -f 'mmcli-modem-signal.c' || echo '$(srcdir)/'`mmcli-modem-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-signal.Tpo $(DEPDIR)/mmcli-mmcli-modem-signal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-signal.c' object='mmcli-mmcli-modem-signal.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-signal.o `test -f 'mmcli-modem-signal.c' || echo '$(srcdir)/'`mmcli-modem-signal.c
+
+mmcli-mmcli-modem-signal.obj: mmcli-modem-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-signal.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-signal.Tpo -c -o mmcli-mmcli-modem-signal.obj `if test -f 'mmcli-modem-signal.c'; then $(CYGPATH_W) 'mmcli-modem-signal.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-signal.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-signal.Tpo $(DEPDIR)/mmcli-mmcli-modem-signal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-signal.c' object='mmcli-mmcli-modem-signal.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-signal.obj `if test -f 'mmcli-modem-signal.c'; then $(CYGPATH_W) 'mmcli-modem-signal.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-signal.c'; fi`
+
+mmcli-mmcli-modem-oma.o: mmcli-modem-oma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-oma.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-oma.Tpo -c -o mmcli-mmcli-modem-oma.o `test -f 'mmcli-modem-oma.c' || echo '$(srcdir)/'`mmcli-modem-oma.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-oma.Tpo $(DEPDIR)/mmcli-mmcli-modem-oma.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-oma.c' object='mmcli-mmcli-modem-oma.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-oma.o `test -f 'mmcli-modem-oma.c' || echo '$(srcdir)/'`mmcli-modem-oma.c
+
+mmcli-mmcli-modem-oma.obj: mmcli-modem-oma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-modem-oma.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-modem-oma.Tpo -c -o mmcli-mmcli-modem-oma.obj `if test -f 'mmcli-modem-oma.c'; then $(CYGPATH_W) 'mmcli-modem-oma.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-oma.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-modem-oma.Tpo $(DEPDIR)/mmcli-mmcli-modem-oma.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-modem-oma.c' object='mmcli-mmcli-modem-oma.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-modem-oma.obj `if test -f 'mmcli-modem-oma.c'; then $(CYGPATH_W) 'mmcli-modem-oma.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-modem-oma.c'; fi`
+
+mmcli-mmcli-bearer.o: mmcli-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-bearer.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-bearer.Tpo -c -o mmcli-mmcli-bearer.o `test -f 'mmcli-bearer.c' || echo '$(srcdir)/'`mmcli-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-bearer.Tpo $(DEPDIR)/mmcli-mmcli-bearer.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-bearer.c' object='mmcli-mmcli-bearer.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-bearer.o `test -f 'mmcli-bearer.c' || echo '$(srcdir)/'`mmcli-bearer.c
+
+mmcli-mmcli-bearer.obj: mmcli-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-bearer.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-bearer.Tpo -c -o mmcli-mmcli-bearer.obj `if test -f 'mmcli-bearer.c'; then $(CYGPATH_W) 'mmcli-bearer.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-bearer.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-bearer.Tpo $(DEPDIR)/mmcli-mmcli-bearer.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-bearer.c' object='mmcli-mmcli-bearer.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-bearer.obj `if test -f 'mmcli-bearer.c'; then $(CYGPATH_W) 'mmcli-bearer.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-bearer.c'; fi`
+
+mmcli-mmcli-sim.o: mmcli-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-sim.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-sim.Tpo -c -o mmcli-mmcli-sim.o `test -f 'mmcli-sim.c' || echo '$(srcdir)/'`mmcli-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-sim.Tpo $(DEPDIR)/mmcli-mmcli-sim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-sim.c' object='mmcli-mmcli-sim.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-sim.o `test -f 'mmcli-sim.c' || echo '$(srcdir)/'`mmcli-sim.c
+
+mmcli-mmcli-sim.obj: mmcli-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-sim.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-sim.Tpo -c -o mmcli-mmcli-sim.obj `if test -f 'mmcli-sim.c'; then $(CYGPATH_W) 'mmcli-sim.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-sim.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-sim.Tpo $(DEPDIR)/mmcli-mmcli-sim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-sim.c' object='mmcli-mmcli-sim.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-sim.obj `if test -f 'mmcli-sim.c'; then $(CYGPATH_W) 'mmcli-sim.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-sim.c'; fi`
+
+mmcli-mmcli-sms.o: mmcli-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-sms.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-sms.Tpo -c -o mmcli-mmcli-sms.o `test -f 'mmcli-sms.c' || echo '$(srcdir)/'`mmcli-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-sms.Tpo $(DEPDIR)/mmcli-mmcli-sms.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-sms.c' object='mmcli-mmcli-sms.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-sms.o `test -f 'mmcli-sms.c' || echo '$(srcdir)/'`mmcli-sms.c
+
+mmcli-mmcli-sms.obj: mmcli-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-sms.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-sms.Tpo -c -o mmcli-mmcli-sms.obj `if test -f 'mmcli-sms.c'; then $(CYGPATH_W) 'mmcli-sms.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-sms.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-sms.Tpo $(DEPDIR)/mmcli-mmcli-sms.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-sms.c' object='mmcli-mmcli-sms.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-sms.obj `if test -f 'mmcli-sms.c'; then $(CYGPATH_W) 'mmcli-sms.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-sms.c'; fi`
+
+mmcli-mmcli-call.o: mmcli-call.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-call.o -MD -MP -MF $(DEPDIR)/mmcli-mmcli-call.Tpo -c -o mmcli-mmcli-call.o `test -f 'mmcli-call.c' || echo '$(srcdir)/'`mmcli-call.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-call.Tpo $(DEPDIR)/mmcli-mmcli-call.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-call.c' object='mmcli-mmcli-call.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-call.o `test -f 'mmcli-call.c' || echo '$(srcdir)/'`mmcli-call.c
+
+mmcli-mmcli-call.obj: mmcli-call.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmcli-mmcli-call.obj -MD -MP -MF $(DEPDIR)/mmcli-mmcli-call.Tpo -c -o mmcli-mmcli-call.obj `if test -f 'mmcli-call.c'; then $(CYGPATH_W) 'mmcli-call.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-call.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmcli-mmcli-call.Tpo $(DEPDIR)/mmcli-mmcli-call.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmcli-call.c' object='mmcli-mmcli-call.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmcli_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmcli-mmcli-call.obj `if test -f 'mmcli-call.c'; then $(CYGPATH_W) 'mmcli-call.c'; else $(CYGPATH_W) '$(srcdir)/mmcli-call.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-bearer.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-call.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-common.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-manager.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-3gpp.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-cdma.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-firmware.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-location.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-messaging.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-oma.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-signal.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-simple.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-time.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-voice.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-output.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-sim.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-sms.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli.Po
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) install-data-hook
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-bearer.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-call.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-common.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-manager.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-3gpp.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-cdma.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-firmware.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-location.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-messaging.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-oma.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-signal.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-simple.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-time.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem-voice.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-modem.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-output.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-sim.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli-sms.Po
+ -rm -f ./$(DEPDIR)/mmcli-mmcli.Po
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS
+ @$(NORMAL_INSTALL)
+ $(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+.MAKE: install-am install-data-am install-strip uninstall-am
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-data-hook install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-hook
+
+.PRECIOUS: Makefile
+
+
+install-data-hook:
+ $(mkinstalldirs) $(DESTDIR)$(completiondir)
+ $(INSTALL_DATA) $(srcdir)/mmcli-completion $(DESTDIR)$(completiondir)/mmcli
+
+uninstall-hook:
+ rm -f $(DESTDIR)$(completiondir)/mmcli
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/compile b/compile
new file mode 100755
index 00000000..99e50524
--- /dev/null
+++ b/compile
@@ -0,0 +1,348 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2018-03-07.03; # UTC
+
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config.guess b/config.guess
new file mode 100755
index 00000000..256083a7
--- /dev/null
+++ b/config.guess
@@ -0,0 +1,1476 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright 1992-2018 Free Software Foundation, Inc.
+
+timestamp='2018-03-08'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
+#
+# You can get the latest version of this script from:
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+#
+# Please send patches to <config-patches@gnu.org>.
+
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Options:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2018 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > "$dummy.c" ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "$UNAME_SYSTEM" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval "$set_cc_for_build"
+ cat <<-EOF > "$dummy.c"
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+
+ # If ldd exists, use it to detect musl libc.
+ if command -v ldd >/dev/null && \
+ ldd --version 2>&1 | grep -q ^musl
+ then
+ LIBC=musl
+ fi
+ ;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ "/sbin/$sysctl" 2>/dev/null || \
+ "/usr/sbin/$sysctl" 2>/dev/null || \
+ echo unknown)`
+ case "$UNAME_MACHINE_ARCH" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ sh5el) machine=sh5le-unknown ;;
+ earmv*)
+ arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
+ endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+ machine="${arch}${endian}"-unknown
+ ;;
+ *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently (or will in the future) and ABI.
+ case "$UNAME_MACHINE_ARCH" in
+ earm*)
+ os=netbsdelf
+ ;;
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval "$set_cc_for_build"
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # Determine ABI tags.
+ case "$UNAME_MACHINE_ARCH" in
+ earm*)
+ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+ abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "$UNAME_VERSION" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "$machine-${os}${release}${abi}"
+ exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
+ exit ;;
+ *:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
+ exit ;;
+ *:LibertyBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
+ exit ;;
+ *:MidnightBSD:*:*)
+ echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
+ exit ;;
+ *:ekkoBSD:*:*)
+ echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
+ exit ;;
+ *:SolidBSD:*:*)
+ echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
+ exit ;;
+ macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
+ exit ;;
+ *:MirBSD:*:*)
+ echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
+ exit ;;
+ *:Sortix:*:*)
+ echo "$UNAME_MACHINE"-unknown-sortix
+ exit ;;
+ *:Redox:*:*)
+ echo "$UNAME_MACHINE"-unknown-redox
+ exit ;;
+ mips:OSF1:*.*)
+ echo mips-dec-osf1
+ exit ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE=alpha ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE=alpha ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE=alpha ;;
+ "EV5 (21164)")
+ UNAME_MACHINE=alphaev5 ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE=alphaev56 ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE=alphapca56 ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE=alphapca57 ;;
+ "EV6 (21264)")
+ UNAME_MACHINE=alphaev6 ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE=alphaev67 ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE=alphaev68 ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE=alphaev68 ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE=alphaev68 ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE=alphaev69 ;;
+ "EV7 (21364)")
+ UNAME_MACHINE=alphaev7 ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE=alphaev79 ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ exitcode=$?
+ trap '' 0
+ exit $exitcode ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo "$UNAME_MACHINE"-unknown-amigaos
+ exit ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo "$UNAME_MACHINE"-unknown-morphos
+ exit ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix"$UNAME_RELEASE"
+ exit ;;
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
+ echo arm-unknown-riscos
+ exit ;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit ;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7; exit ;;
+ esac ;;
+ s390x:SunOS:*:*)
+ echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
+ exit ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ exit ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
+ exit ;;
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+ echo i386-pc-auroraux"$UNAME_RELEASE"
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ eval "$set_cc_for_build"
+ SUN_ARCH=i386
+ # If there is a compiler, see if it is configured for 64-bit objects.
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+ # This test works for both compilers.
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ SUN_ARCH=x86_64
+ fi
+ fi
+ echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ exit ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ exit ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
+ exit ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos"$UNAME_RELEASE"
+ exit ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos"$UNAME_RELEASE"
+ ;;
+ sun4)
+ echo sparc-sun-sunos"$UNAME_RELEASE"
+ ;;
+ esac
+ exit ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos"$UNAME_RELEASE"
+ exit ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint"$UNAME_RELEASE"
+ exit ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint"$UNAME_RELEASE"
+ exit ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint"$UNAME_RELEASE"
+ exit ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint"$UNAME_RELEASE"
+ exit ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint"$UNAME_RELEASE"
+ exit ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint"$UNAME_RELEASE"
+ exit ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten"$UNAME_RELEASE"
+ exit ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten"$UNAME_RELEASE"
+ exit ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix"$UNAME_RELEASE"
+ exit ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix"$UNAME_RELEASE"
+ exit ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix"$UNAME_RELEASE"
+ exit ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+ dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+ SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo mips-mips-riscos"$UNAME_RELEASE"
+ exit ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
+ then
+ if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
+ [ "$TARGET_BINARY_INTERFACE"x = x ]
+ then
+ echo m88k-dg-dgux"$UNAME_RELEASE"
+ else
+ echo m88k-dg-dguxbcs"$UNAME_RELEASE"
+ fi
+ else
+ echo i586-dg-dgux"$UNAME_RELEASE"
+ fi
+ exit ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
+ exit ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+ fi
+ echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
+ exit ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
+ then
+ echo "$SYSTEM_NAME"
+ else
+ echo rs6000-ibm-aix3.2.5
+ fi
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit ;;
+ *:AIX:*:[4567])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/lslpp ] ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
+ else
+ IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+ fi
+ echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
+ exit ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit ;;
+ ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
+ echo romp-ibm-bsd4.4
+ exit ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
+ exit ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ case "$UNAME_MACHINE" in
+ 9000/31?) HP_ARCH=m68000 ;;
+ 9000/[34]??) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "$sc_cpu_version" in
+ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "$sc_kernel_bits" in
+ 32) HP_ARCH=hppa2.0n ;;
+ 64) HP_ARCH=hppa2.0w ;;
+ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "$HP_ARCH" = "" ]; then
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ "$HP_ARCH" = hppa2.0w ]
+ then
+ eval "$set_cc_for_build"
+
+ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
+ # generating 64-bit code. GNU and HP use different nomenclature:
+ #
+ # $ CC_FOR_BUILD=cc ./config.guess
+ # => hppa2.0w-hp-hpux11.23
+ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
+ grep -q __LP64__
+ then
+ HP_ARCH=hppa2.0w
+ else
+ HP_ARCH=hppa64
+ fi
+ fi
+ echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
+ exit ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux"$HPUX_REV"
+ exit ;;
+ 3050*:HI-UX:*:*)
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
+ { echo "$SYSTEM_NAME"; exit; }
+ echo unknown-hitachi-hiuxwe2
+ exit ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
+ echo hppa1.1-hp-bsd
+ exit ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
+ echo hppa1.1-hp-osf
+ exit ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo "$UNAME_MACHINE"-unknown-osf1mk
+ else
+ echo "$UNAME_MACHINE"-unknown-osf1
+ fi
+ exit ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+ exit ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
+ exit ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi"$UNAME_RELEASE"
+ exit ;;
+ *:BSD/OS:*:*)
+ echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
+ exit ;;
+ *:FreeBSD:*:*)
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ case "$UNAME_PROCESSOR" in
+ amd64)
+ UNAME_PROCESSOR=x86_64 ;;
+ i386)
+ UNAME_PROCESSOR=i586 ;;
+ esac
+ echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
+ exit ;;
+ i*:CYGWIN*:*)
+ echo "$UNAME_MACHINE"-pc-cygwin
+ exit ;;
+ *:MINGW64*:*)
+ echo "$UNAME_MACHINE"-pc-mingw64
+ exit ;;
+ *:MINGW*:*)
+ echo "$UNAME_MACHINE"-pc-mingw32
+ exit ;;
+ *:MSYS*:*)
+ echo "$UNAME_MACHINE"-pc-msys
+ exit ;;
+ i*:PW*:*)
+ echo "$UNAME_MACHINE"-pc-pw32
+ exit ;;
+ *:Interix*:*)
+ case "$UNAME_MACHINE" in
+ x86)
+ echo i586-pc-interix"$UNAME_RELEASE"
+ exit ;;
+ authenticamd | genuineintel | EM64T)
+ echo x86_64-unknown-interix"$UNAME_RELEASE"
+ exit ;;
+ IA64)
+ echo ia64-unknown-interix"$UNAME_RELEASE"
+ exit ;;
+ esac ;;
+ i*:UWIN*:*)
+ echo "$UNAME_MACHINE"-pc-uwin
+ exit ;;
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+ echo x86_64-unknown-cygwin
+ exit ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ exit ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
+ exit ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
+ exit ;;
+ i*86:Minix:*:*)
+ echo "$UNAME_MACHINE"-pc-minix
+ exit ;;
+ aarch64:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep -q ld.so.1
+ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ arm*:Linux:*:*)
+ eval "$set_cc_for_build"
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ else
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
+ else
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
+ fi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ cris:Linux:*:*)
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
+ exit ;;
+ crisv32:Linux:*:*)
+ echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
+ exit ;;
+ e2k:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ frv:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ hexagon:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ i*86:Linux:*:*)
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
+ exit ;;
+ ia64:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ k1om:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ m32r*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ m68*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ mips:Linux:*:* | mips64:Linux:*:*)
+ eval "$set_cc_for_build"
+ sed 's/^ //' << EOF > "$dummy.c"
+ #undef CPU
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
+ test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
+ ;;
+ mips64el:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ openrisc*:Linux:*:*)
+ echo or1k-unknown-linux-"$LIBC"
+ exit ;;
+ or32:Linux:*:* | or1k*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-"$LIBC"
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-"$LIBC"
+ exit ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+ PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+ *) echo hppa-unknown-linux-"$LIBC" ;;
+ esac
+ exit ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-"$LIBC"
+ exit ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-"$LIBC"
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-"$LIBC"
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-"$LIBC"
+ exit ;;
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
+ exit ;;
+ sh64*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ sh*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ tile*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ vax:Linux:*:*)
+ echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
+ exit ;;
+ x86_64:Linux:*:*)
+ echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
+ exit ;;
+ xtensa*:Linux:*:*)
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ exit ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
+ exit ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo "$UNAME_MACHINE"-pc-os2-emx
+ exit ;;
+ i*86:XTS-300:*:STOP)
+ echo "$UNAME_MACHINE"-unknown-stop
+ exit ;;
+ i*86:atheos:*:*)
+ echo "$UNAME_MACHINE"-unknown-atheos
+ exit ;;
+ i*86:syllable:*:*)
+ echo "$UNAME_MACHINE"-pc-syllable
+ exit ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ i*86:*DOS:*:*)
+ echo "$UNAME_MACHINE"-pc-msdosdjgpp
+ exit ;;
+ i*86:*:4.*:*)
+ UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
+ else
+ echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
+ fi
+ exit ;;
+ i*86:*:5:[678]*)
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
+ exit ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
+ else
+ echo "$UNAME_MACHINE"-pc-sysv32
+ fi
+ exit ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i586.
+ # Note: whatever this is, it MUST be the same as what config.sub
+ # prints for the "djgpp" host, or else GDB configure will decide that
+ # this is a cross-build.
+ echo i586-pc-msdosdjgpp
+ exit ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
+ fi
+ exit ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4; exit; } ;;
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ OS_REL='.3'
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+ echo powerpc-unknown-lynxos"$UNAME_RELEASE"
+ exit ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv"$UNAME_RELEASE"
+ exit ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo "$UNAME_MACHINE"-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit ;;
+ i*86:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo "$UNAME_MACHINE"-stratus-vos
+ exit ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux"$UNAME_RELEASE"
+ exit ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv"$UNAME_RELEASE"
+ else
+ echo mips-unknown-sysv"$UNAME_RELEASE"
+ fi
+ exit ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit ;;
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
+ echo i586-pc-haiku
+ exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-7:SUPER-UX:*:*)
+ echo sx7-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-8:SUPER-UX:*:*)
+ echo sx8-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-8R:SUPER-UX:*:*)
+ echo sx8r-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ SX-ACE:SUPER-UX:*:*)
+ echo sxace-nec-superux"$UNAME_RELEASE"
+ exit ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody"$UNAME_RELEASE"
+ exit ;;
+ *:Rhapsody:*:*)
+ echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
+ exit ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ eval "$set_cc_for_build"
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
+ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_PPC >/dev/null
+ then
+ UNAME_PROCESSOR=powerpc
+ fi
+ fi
+ elif test "$UNAME_PROCESSOR" = i386 ; then
+ # Avoid executing cc on OS X 10.9, as it ships with a stub
+ # that puts up a graphical alert prompting to install
+ # developer tools. Any system running Mac OS X 10.7 or
+ # later (Darwin 11 and later) is required to have a 64-bit
+ # processor. This is not true of the ARM version of Darwin
+ # that Apple uses in portable devices.
+ UNAME_PROCESSOR=x86_64
+ fi
+ echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
+ exit ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = x86; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
+ exit ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit ;;
+ NEO-*:NONSTOP_KERNEL:*:*)
+ echo neo-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSE-*:NONSTOP_KERNEL:*:*)
+ echo nse-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSR-*:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSV-*:NONSTOP_KERNEL:*:*)
+ echo nsv-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ NSX-*:NONSTOP_KERNEL:*:*)
+ echo nsx-tandem-nsk"$UNAME_RELEASE"
+ exit ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit ;;
+ DS/*:UNIX_System_V:*:*)
+ echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
+ exit ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = 386; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo "$UNAME_MACHINE"-unknown-plan9
+ exit ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux"$UNAME_RELEASE"
+ exit ;;
+ *:DragonFly:*:*)
+ echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
+ exit ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "$UNAME_MACHINE" in
+ A*) echo alpha-dec-vms ; exit ;;
+ I*) echo ia64-dec-vms ; exit ;;
+ V*) echo vax-dec-vms ; exit ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit ;;
+ i*86:skyos:*:*)
+ echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
+ exit ;;
+ i*86:rdos:*:*)
+ echo "$UNAME_MACHINE"-pc-rdos
+ exit ;;
+ i*86:AROS:*:*)
+ echo "$UNAME_MACHINE"-pc-aros
+ exit ;;
+ x86_64:VMkernel:*:*)
+ echo "$UNAME_MACHINE"-unknown-esx
+ exit ;;
+ amd64:Isilon\ OneFS:*:*)
+ echo x86_64-unknown-onefs
+ exit ;;
+esac
+
+echo "$0: unable to guess system type" >&2
+
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
+ mips:Linux | mips64:Linux)
+ # If we got here on MIPS GNU/Linux, output extra information.
+ cat >&2 <<EOF
+
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
+EOF
+ ;;
+esac
+
+cat >&2 <<EOF
+
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
+
+ https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+and
+ https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 00000000..40d82254
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,139 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if translation of program messages to the user's native
+ language is requested. */
+#undef ENABLE_NLS
+
+/* Gettext package */
+#undef GETTEXT_PACKAGE
+
+/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+#undef HAVE_CFLOCALECOPYCURRENT
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+#undef HAVE_CFPREFERENCESCOPYAPPVALUE
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+ */
+#undef HAVE_DCGETTEXT
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define if you have the iconv() function and it works. */
+#undef HAVE_ICONV
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
+#undef LT_OBJDIR
+
+/* Define the distribution version string */
+#undef MM_DIST_VERSION
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Version number of package */
+#undef VERSION
+
+/* Define if you want MBIM support */
+#undef WITH_MBIM
+
+/* Define if you have PolicyKit support */
+#undef WITH_POLKIT
+
+/* Define if you want QMI support */
+#undef WITH_QMI
+
+/* Define if you want systemd journal support */
+#undef WITH_SYSTEMD_JOURNAL
+
+/* Define if you have systemd suspend-resume support */
+#undef WITH_SYSTEMD_SUSPEND_RESUME
+
+/* Define if you want udev support */
+#undef WITH_UDEV
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
diff --git a/config.rpath b/config.rpath
new file mode 100755
index 00000000..98183ff2
--- /dev/null
+++ b/config.rpath
@@ -0,0 +1,684 @@
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+# Copyright 1996-2016 Free Software Foundation, Inc.
+# Taken from GNU libtool, 2001
+# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# The first argument passed to this file is the canonical host specification,
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+# than 256 bytes, otherwise the compiler driver will dump core. The only
+# known workaround is to choose shorter directory names for the build
+# directory and/or the installation directory.
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+ wl='-Wl,'
+else
+ case "$host_os" in
+ aix*)
+ wl='-Wl,'
+ ;;
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ wl='-Wl,'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ wl='-Wl,'
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ case $cc_basename in
+ ecc*)
+ wl='-Wl,'
+ ;;
+ icc* | ifort*)
+ wl='-Wl,'
+ ;;
+ lf95*)
+ wl='-Wl,'
+ ;;
+ nagfor*)
+ wl='-Wl,-Wl,,'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ wl='-Wl,'
+ ;;
+ ccc*)
+ wl='-Wl,'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ wl='-Wl,'
+ ;;
+ como)
+ wl='-lopt='
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ F* | *Sun*Fortran*)
+ wl=
+ ;;
+ *Sun\ C*)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ newsos6)
+ ;;
+ *nto* | *qnx*)
+ ;;
+ osf3* | osf4* | osf5*)
+ wl='-Wl,'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ wl='-Qoption ld '
+ ;;
+ *)
+ wl='-Wl,'
+ ;;
+ esac
+ ;;
+ sunos4*)
+ wl='-Qoption ld '
+ ;;
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ wl='-Wl,'
+ ;;
+ sysv4*MP*)
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ wl='-Wl,'
+ ;;
+ unicos*)
+ wl='-Wl,'
+ ;;
+ uts4*)
+ ;;
+ esac
+fi
+
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ if test "$GCC" != yes; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++)
+ with_gnu_ld=yes
+ ;;
+ openbsd*)
+ with_gnu_ld=no
+ ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ # Unlike libtool, we use -rpath here, not --rpath, since the documented
+ # option of GNU ld is called -rpath, not --rpath.
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ case "$host_os" in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test "$host_cpu" != ia64; then
+ ld_shlibs=no
+ fi
+ ;;
+ amigaos*)
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+ beos*)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ haiku*)
+ ;;
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ netbsd*)
+ ;;
+ solaris*)
+ if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+ sunos4*)
+ hardcode_direct=yes
+ ;;
+ *)
+ if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ if test "$ld_shlibs" = no; then
+ hardcode_libdir_flag_spec=
+ fi
+else
+ case "$host_os" in
+ aix3*)
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test "$GCC" = yes; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+ aix[4-9]*)
+ if test "$host_cpu" = ia64; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ else
+ aix_use_runtimelinking=no
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # need to do runtime linking.
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ ;;
+ esac
+ fi
+ hardcode_direct=yes
+ hardcode_libdir_separator=':'
+ if test "$GCC" = yes; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ collect2name=`${CC} -print-prog-name=collect2`
+ if test -f "$collect2name" && \
+ strings "$collect2name" | grep resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ fi
+ # Begin _LT_AC_SYS_LIBPATH_AIX.
+ echo 'int main () { return 0; }' > conftest.c
+ ${CC} ${LDFLAGS} conftest.c -o conftest
+ aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ if test -z "$aix_libpath"; then
+ aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; }
+}'`
+ fi
+ if test -z "$aix_libpath"; then
+ aix_libpath="/usr/lib:/lib"
+ fi
+ rm -f conftest.c conftest
+ # End _LT_AC_SYS_LIBPATH_AIX.
+ if test "$aix_use_runtimelinking" = yes; then
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ else
+ if test "$host_cpu" = ia64; then
+ hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ else
+ hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ fi
+ fi
+ ;;
+ amigaos*)
+ case "$host_cpu" in
+ powerpc)
+ ;;
+ m68k)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+ bsdi[45]*)
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ hardcode_libdir_flag_spec=' '
+ libext=lib
+ ;;
+ darwin* | rhapsody*)
+ hardcode_direct=no
+ if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
+ :
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ dgux*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ freebsd2.[01]*)
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ freebsd* | dragonfly*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ hpux9*)
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ hpux10*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+ hpux11*)
+ if test "$with_gnu_ld" = no; then
+ hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_separator=:
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ ;;
+ *)
+ hardcode_direct=yes
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+ irix5* | irix6* | nonstopux*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ netbsd*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ ;;
+ newsos6)
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ *nto* | *qnx*)
+ ;;
+ openbsd*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ else
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ ;;
+ esac
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ osf3*)
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_separator=:
+ ;;
+ osf4* | osf5*)
+ if test "$GCC" = yes; then
+ hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ else
+ # Both cc and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ hardcode_libdir_separator=:
+ ;;
+ solaris*)
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ sunos4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ ;;
+ sysv4)
+ case $host_vendor in
+ sni)
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ hardcode_direct=no
+ ;;
+ motorola)
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ ;;
+ sysv4.3*)
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ ld_shlibs=yes
+ fi
+ ;;
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ ;;
+ sysv5* | sco3.2v5* | sco5v6*)
+ hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+ hardcode_libdir_separator=':'
+ ;;
+ uts4*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec= # the last element of library_names_spec in libtool.m4
+libname_spec='lib$name'
+case "$host_os" in
+ aix3*)
+ library_names_spec='$libname.a'
+ ;;
+ aix[4-9]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ amigaos*)
+ case "$host_cpu" in
+ powerpc*)
+ library_names_spec='$libname$shrext' ;;
+ m68k)
+ library_names_spec='$libname.a' ;;
+ esac
+ ;;
+ beos*)
+ library_names_spec='$libname$shrext'
+ ;;
+ bsdi[45]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ cygwin* | mingw* | pw32* | cegcc*)
+ shrext=.dll
+ library_names_spec='$libname.dll.a $libname.lib'
+ ;;
+ darwin* | rhapsody*)
+ shrext=.dylib
+ library_names_spec='$libname$shrext'
+ ;;
+ dgux*)
+ library_names_spec='$libname$shrext'
+ ;;
+ freebsd[23].*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ freebsd* | dragonfly*)
+ library_names_spec='$libname$shrext'
+ ;;
+ gnu*)
+ library_names_spec='$libname$shrext'
+ ;;
+ haiku*)
+ library_names_spec='$libname$shrext'
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $host_cpu in
+ ia64*)
+ shrext=.so
+ ;;
+ hppa*64*)
+ shrext=.sl
+ ;;
+ *)
+ shrext=.sl
+ ;;
+ esac
+ library_names_spec='$libname$shrext'
+ ;;
+ interix[3-9]*)
+ library_names_spec='$libname$shrext'
+ ;;
+ irix5* | irix6* | nonstopux*)
+ library_names_spec='$libname$shrext'
+ case "$host_os" in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+ *) libsuff= shlibsuff= ;;
+ esac
+ ;;
+ esac
+ ;;
+ linux*oldld* | linux*aout* | linux*coff*)
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ knetbsd*-gnu)
+ library_names_spec='$libname$shrext'
+ ;;
+ netbsd*)
+ library_names_spec='$libname$shrext'
+ ;;
+ newsos6)
+ library_names_spec='$libname$shrext'
+ ;;
+ *nto* | *qnx*)
+ library_names_spec='$libname$shrext'
+ ;;
+ openbsd*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ os2*)
+ libname_spec='$name'
+ shrext=.dll
+ library_names_spec='$libname.a'
+ ;;
+ osf3* | osf4* | osf5*)
+ library_names_spec='$libname$shrext'
+ ;;
+ rdos*)
+ ;;
+ solaris*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sunos4*)
+ library_names_spec='$libname$shrext$versuffix'
+ ;;
+ sysv4 | sysv4.3*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv4*MP*)
+ library_names_spec='$libname$shrext'
+ ;;
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ library_names_spec='$libname$shrext'
+ ;;
+ tpf*)
+ library_names_spec='$libname$shrext'
+ ;;
+ uts4*)
+ library_names_spec='$libname$shrext'
+ ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+
+# How to pass a linker flag through the compiler.
+wl="$escaped_wl"
+
+# Static library suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally "so").
+shlibext="$shlibext"
+
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct="$hardcode_direct"
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L="$hardcode_minus_L"
+
+EOF
diff --git a/config.sub b/config.sub
new file mode 100755
index 00000000..9ccf09a7
--- /dev/null
+++ b/config.sub
@@ -0,0 +1,1801 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright 1992-2018 Free Software Foundation, Inc.
+
+timestamp='2018-03-08'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to <config-patches@gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
+
+Canonicalize a configuration name.
+
+Options:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2018 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo "$1"
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
+ kopensolaris*-gnu* | cloudabi*-eabi* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
+ *)
+ basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
+ if [ "$basic_machine" != "$1" ]
+ then os=`echo "$1" | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray | -microblaze*)
+ os=
+ basic_machine=$1
+ ;;
+ -bluegene*)
+ os=-cnk
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco6)
+ os=-sco5v6
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | ba \
+ | be32 | be64 \
+ | bfin \
+ | c4x | c8051 | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia16 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+ | open8 | or1k | or1knd | or32 \
+ | pdp10 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pru \
+ | pyramid \
+ | riscv32 | riscv64 \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
+ | wasm32 \
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | ba-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | e2k-* | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | k1om-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pru-* \
+ | pyramid-* \
+ | riscv32-* | riscv64-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
+ | visium-* \
+ | wasm32-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-pc
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=-aros
+ ;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=-linux
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=-cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=-cegcc
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=-dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2*)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ e500v[12])
+ basic_machine=powerpc-unknown
+ os=$os"spe"
+ ;;
+ e500v[12]-*)
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=$os"spe"
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+ i*86v32)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=-linux
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ microblaze*)
+ basic_machine=microblaze-xilinx
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=-mingw32ce
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=-moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ ms1-*)
+ basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
+ ;;
+ msys)
+ basic_machine=i686-pc
+ os=-msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=-nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next)
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ nsv-tandem)
+ basic_machine=nsv-tandem
+ ;;
+ nsx-tandem)
+ basic_machine=nsx-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=-linux
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=-linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ os=-rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=-elf
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=-linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ x64)
+ basic_machine=x86_64-pc
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases that might get confused
+ # with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -auroraux)
+ os=-auroraux
+ ;;
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # es1800 is here to avoid being matched by es* (a different OS)
+ -es1800*)
+ os=-ose
+ ;;
+ # Now accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST end in a * to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+ | -sym* | -kopensolaris* | -plan9* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* | -aros* | -cloudabi* | -sortix* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \
+ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
+ | -midnightbsd*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -xray | -os68k* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo "$os" | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2)
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -dicos*)
+ os=-dicos
+ ;;
+ -pikeos*)
+ # Until real need of OS specific support for
+ # particular features comes up, bare metal
+ # configurations are quite functional.
+ case $basic_machine in
+ arm*)
+ os=-eabi
+ ;;
+ *)
+ os=-elf
+ ;;
+ esac
+ ;;
+ -nacl*)
+ ;;
+ -ios)
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=-elf
+ ;;
+ spu-*)
+ os=-elf
+ ;;
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ c8051-*)
+ os=-elf
+ ;;
+ hexagon-*)
+ os=-elf
+ ;;
+ tic54x-*)
+ os=-coff
+ ;;
+ tic55x-*)
+ os=-coff
+ ;;
+ tic6x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mep-*)
+ os=-elf
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ pru-*)
+ os=-elf
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next)
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -cnk*|-aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo "$basic_machine$os"
+exit
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/configure b/configure
new file mode 100755
index 00000000..179dc8c1
--- /dev/null
+++ b/configure
@@ -0,0 +1,20283 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for ModemManager 1.10.0.
+#
+# Report bugs to <modemmanager-devel@lists.freedesktop.org>.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
+
+ test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org and
+$0: modemmanager-devel@lists.freedesktop.org about your
+$0: system, including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='ModemManager'
+PACKAGE_TARNAME='ModemManager'
+PACKAGE_VERSION='1.10.0'
+PACKAGE_STRING='ModemManager 1.10.0'
+PACKAGE_BUGREPORT='modemmanager-devel@lists.freedesktop.org'
+PACKAGE_URL=''
+
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+# include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+gt_needs=
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+WMC_STANDALONE_FALSE
+WMC_STANDALONE_TRUE
+QCDM_STANDALONE_FALSE
+QCDM_STANDALONE_TRUE
+QMI_LIBS
+QMI_CFLAGS
+WITH_QMI_FALSE
+WITH_QMI_TRUE
+MBIM_LIBS
+MBIM_CFLAGS
+WITH_MBIM_FALSE
+WITH_MBIM_TRUE
+WITH_POLKIT_FALSE
+WITH_POLKIT_TRUE
+MM_DEFAULT_USER_POLICY
+POLKIT_LIBS
+POLKIT_CFLAGS
+WITH_SYSTEMD_JOURNAL_FALSE
+WITH_SYSTEMD_JOURNAL_TRUE
+WITH_SYSTEMD_SUSPEND_RESUME_FALSE
+WITH_SYSTEMD_SUSPEND_RESUME_TRUE
+LIBSYSTEMD_LOGIN_LIBS
+LIBSYSTEMD_LOGIN_CFLAGS
+LIBSYSTEMD_LIBS
+LIBSYSTEMD_CFLAGS
+GUDEV_LIBS
+GUDEV_CFLAGS
+WITH_UDEV_FALSE
+WITH_UDEV_TRUE
+HAVE_SYSTEMD_FALSE
+HAVE_SYSTEMD_TRUE
+SYSTEMD_UNIT_DIR
+UDEV_BASE_DIR
+DBUS_SYS_DIR
+ENABLE_VAPIGEN_FALSE
+ENABLE_VAPIGEN_TRUE
+VAPIGEN_MAKEFILE
+VAPIGEN_VAPIDIR
+VAPIGEN
+HAVE_INTROSPECTION_FALSE
+HAVE_INTROSPECTION_TRUE
+INTROSPECTION_MAKEFILE
+INTROSPECTION_LIBS
+INTROSPECTION_CFLAGS
+INTROSPECTION_TYPELIBDIR
+INTROSPECTION_GIRDIR
+INTROSPECTION_GENERATE
+INTROSPECTION_COMPILER
+INTROSPECTION_SCANNER
+CODE_COVERAGE_RULES
+CODE_COVERAGE_LDFLAGS
+CODE_COVERAGE_CFLAGS
+GENHTML
+LCOV
+GCOV
+CODE_COVERAGE_ENABLED
+CODE_COVERAGE_ENABLED_FALSE
+CODE_COVERAGE_ENABLED_TRUE
+GDBUS_CODEGEN
+GLIB_MKENUMS
+MMCLI_LIBS
+MMCLI_CFLAGS
+LIBMM_GLIB_LIBS
+LIBMM_GLIB_CFLAGS
+MM_LIBS
+MM_CFLAGS
+GETTEXT_PACKAGE
+POSUB
+LTLIBINTL
+LIBINTL
+INTLLIBS
+LTLIBICONV
+LIBICONV
+INTL_MACOSX_LIBS
+XGETTEXT_EXTRA_OPTIONS
+MSGMERGE
+XGETTEXT_015
+XGETTEXT
+GMSGFMT_015
+MSGFMT_015
+GMSGFMT
+MSGFMT
+GETTEXT_MACRO_VERSION
+USE_NLS
+GTK_DOC_USE_REBASE_FALSE
+GTK_DOC_USE_REBASE_TRUE
+GTK_DOC_USE_LIBTOOL_FALSE
+GTK_DOC_USE_LIBTOOL_TRUE
+GTK_DOC_BUILD_PDF_FALSE
+GTK_DOC_BUILD_PDF_TRUE
+GTK_DOC_BUILD_HTML_FALSE
+GTK_DOC_BUILD_HTML_TRUE
+ENABLE_GTK_DOC_FALSE
+ENABLE_GTK_DOC_TRUE
+HAVE_GTK_DOC_FALSE
+HAVE_GTK_DOC_TRUE
+GTKDOC_DEPS_LIBS
+GTKDOC_DEPS_CFLAGS
+HTML_DIR
+GTKDOC_MKPDF
+GTKDOC_REBASE
+GTKDOC_CHECK_PATH
+GTKDOC_CHECK
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+MM_GLIB_LT_AGE
+MM_GLIB_LT_REVISION
+MM_GLIB_LT_CURRENT
+MM_VERSION
+MM_MICRO_VERSION
+MM_MINOR_VERSION
+MM_MAJOR_VERSION
+LT_SYS_LIBRARY_PATH
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+MANIFEST_TOOL
+RANLIB
+ac_ct_AR
+AR
+DLLTOOL
+OBJDUMP
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+LIBTOOL
+EGREP
+GREP
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL
+am__quote'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_maintainer_mode
+enable_dependency_tracking
+enable_static
+enable_shared
+with_pic
+enable_fast_install
+with_aix_soname
+with_gnu_ld
+with_sysroot
+enable_libtool_lock
+with_html_dir
+enable_gtk_doc
+enable_gtk_doc_html
+enable_gtk_doc_pdf
+enable_nls
+enable_rpath
+with_libiconv_prefix
+with_libintl_prefix
+with_gcov
+enable_code_coverage
+enable_introspection
+enable_vala
+with_dbus_sys_dir
+with_udev_base_dir
+with_systemdsystemunitdir
+with_udev
+with_systemd_suspend_resume
+with_systemd_journal
+with_polkit
+with_mbim
+with_qmi
+enable_more_warnings
+with_dist_version
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+LT_SYS_LIBRARY_PATH
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+GTKDOC_DEPS_CFLAGS
+GTKDOC_DEPS_LIBS
+MM_CFLAGS
+MM_LIBS
+LIBMM_GLIB_CFLAGS
+LIBMM_GLIB_LIBS
+MMCLI_CFLAGS
+MMCLI_LIBS
+GUDEV_CFLAGS
+GUDEV_LIBS
+LIBSYSTEMD_CFLAGS
+LIBSYSTEMD_LIBS
+LIBSYSTEMD_LOGIN_CFLAGS
+LIBSYSTEMD_LOGIN_LIBS
+POLKIT_CFLAGS
+POLKIT_LIBS
+MBIM_CFLAGS
+MBIM_LIBS
+QMI_CFLAGS
+QMI_LIBS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures ModemManager 1.10.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/ModemManager]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+
+System types:
+ --build=BUILD configure for building on BUILD [guessed]
+ --host=HOST cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of ModemManager 1.10.0:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
+ --disable-maintainer-mode
+ disable make rules and dependencies not useful (and
+ sometimes confusing) to the casual installer
+ --enable-dependency-tracking
+ do not reject slow dependency extractors
+ --disable-dependency-tracking
+ speeds up one-time build
+ --enable-static[=PKGS] build static libraries [default=no]
+ --enable-shared[=PKGS] build shared libraries [default=yes]
+ --enable-fast-install[=PKGS]
+ optimize for fast installation [default=yes]
+ --disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-gtk-doc use gtk-doc to build documentation [[default=no]]
+ --enable-gtk-doc-html build documentation in html format [[default=yes]]
+ --enable-gtk-doc-pdf build documentation in pdf format [[default=no]]
+ --disable-nls do not use Native Language Support
+ --disable-rpath do not hardcode runtime library paths
+ --enable-code-coverage Whether to enable code coverage support
+ --enable-introspection=[no/auto/yes]
+ Enable introspection for this build
+ --enable-vala=[no/auto/yes]
+ build Vala bindings [default=auto]
+ --enable-more-warnings Possible values: no/yes/error
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
+ both]
+ --with-aix-soname=aix|svr4|both
+ shared library versioning (aka "SONAME") variant to
+ provide on AIX, [default=aix].
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the
+ compiler's sysroot if not specified).
+ --with-html-dir=PATH path to installed docs
+ --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+ --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
+ --without-libiconv-prefix don't search for libiconv in includedir and libdir
+ --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
+ --without-libintl-prefix don't search for libintl in includedir and libdir
+ --with-gcov=GCOV use given GCOV for coverage (GCOV=gcov).
+ --with-dbus-sys-dir=DIR where D-BUS system.d directory is
+ --with-udev-base-dir=DIR
+ where udev base directory is
+ --with-systemdsystemunitdir=DIR
+ where systemd service files are
+ --without-udev Build without udev support
+ --with-systemd-suspend-resume=no|yes
+ Enable systemd suspend/resume support
+ [[default=auto]]
+ --with-systemd-journal=no|yes|auto
+ Enable systemd journal support [[default=auto]]
+ --with-polkit=(strict|permissive|no)
+ Enable PolicyKit support [[default=auto]]
+ --without-mbim Build without MBIM support
+ --without-qmi Build without QMI support
+ --with-dist-version=<mm-dist-version>
+ Define the custom version (like distribution package
+ name and revision)
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
+ LT_SYS_LIBRARY_PATH
+ User-defined run-time library search path.
+ PKG_CONFIG path to pkg-config utility
+ PKG_CONFIG_PATH
+ directories to add to pkg-config's search path
+ PKG_CONFIG_LIBDIR
+ path overriding pkg-config's built-in search path
+ GTKDOC_DEPS_CFLAGS
+ C compiler flags for GTKDOC_DEPS, overriding pkg-config
+ GTKDOC_DEPS_LIBS
+ linker flags for GTKDOC_DEPS, overriding pkg-config
+ MM_CFLAGS C compiler flags for MM, overriding pkg-config
+ MM_LIBS linker flags for MM, overriding pkg-config
+ LIBMM_GLIB_CFLAGS
+ C compiler flags for LIBMM_GLIB, overriding pkg-config
+ LIBMM_GLIB_LIBS
+ linker flags for LIBMM_GLIB, overriding pkg-config
+ MMCLI_CFLAGS
+ C compiler flags for MMCLI, overriding pkg-config
+ MMCLI_LIBS linker flags for MMCLI, overriding pkg-config
+ GUDEV_CFLAGS
+ C compiler flags for GUDEV, overriding pkg-config
+ GUDEV_LIBS linker flags for GUDEV, overriding pkg-config
+ LIBSYSTEMD_CFLAGS
+ C compiler flags for LIBSYSTEMD, overriding pkg-config
+ LIBSYSTEMD_LIBS
+ linker flags for LIBSYSTEMD, overriding pkg-config
+ LIBSYSTEMD_LOGIN_CFLAGS
+ C compiler flags for LIBSYSTEMD_LOGIN, overriding pkg-config
+ LIBSYSTEMD_LOGIN_LIBS
+ linker flags for LIBSYSTEMD_LOGIN, overriding pkg-config
+ POLKIT_CFLAGS
+ C compiler flags for POLKIT, overriding pkg-config
+ POLKIT_LIBS linker flags for POLKIT, overriding pkg-config
+ MBIM_CFLAGS C compiler flags for MBIM, overriding pkg-config
+ MBIM_LIBS linker flags for MBIM, overriding pkg-config
+ QMI_CFLAGS C compiler flags for QMI, overriding pkg-config
+ QMI_LIBS linker flags for QMI, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <modemmanager-devel@lists.freedesktop.org>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+ModemManager configure 1.10.0
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## ------------------------------------------------------- ##
+## Report this to modemmanager-devel@lists.freedesktop.org ##
+## ------------------------------------------------------- ##"
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext conftest$ac_exeext
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest$ac_exeext && {
+ test "$cross_compiling" = yes ||
+ test -x conftest$ac_exeext
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+ # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+ # interfere with the next link command; also delete a directory that is
+ # left behind by Apple's compiler. We do this before executing the actions.
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_func
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by ModemManager $as_me 1.10.0, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+gt_needs="$gt_needs "
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+am__api_version='1.16'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+ fi
+ if test "$2" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='ModemManager'
+ VERSION='1.10.0'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar plaintar pax cpio none'
+
+# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5
+$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; }
+ if test $am_uid -le $am_max_uid; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ _am_tools=none
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5
+$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; }
+ if test $am_gid -le $am_max_gid; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ _am_tools=none
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ { echo "$as_me:$LINENO: $_am_tar --version" >&5
+ ($_am_tar --version) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && break
+ done
+ am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x ustar -w "$$tardir"'
+ am__tar_='pax -L -x ustar -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+ am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+ am__untar='cpio -i -H ustar -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_ustar}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+ (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+ ($am__untar <conftest.tar) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ { echo "$as_me:$LINENO: cat conftest.dir/file" >&5
+ (cat conftest.dir/file) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
+ rm -rf conftest.dir
+
+ if ${am_cv_prog_tar_ustar+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ am_cv_prog_tar_ustar=$_am_tool
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+$as_echo "$am_cv_prog_tar_ustar" >&6; }
+
+
+
+
+
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=0;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+ # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+ enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=yes
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+ if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=0;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
+$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
+cat > confinc.mk << 'END'
+am__doit:
+ @echo this is the am__doit target >confinc.out
+.PHONY: am__doit
+END
+am__include="#"
+am__quote=
+# BSD make does it like this.
+echo '.include "confinc.mk" # ignored' > confmf.BSD
+# Other make implementations (GNU, Solaris 10, AIX) do it like this.
+echo 'include confinc.mk # ignored' > confmf.GNU
+_am_result=no
+for s in GNU BSD; do
+ { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
+ (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }
+ case $?:`cat confinc.out 2>/dev/null` in #(
+ '0:this is the am__doit target') :
+ case $s in #(
+ BSD) :
+ am__include='.include' am__quote='"' ;; #(
+ *) :
+ am__include='include' am__quote='' ;;
+esac ;; #(
+ *) :
+ ;;
+esac
+ if test "$am__include" != "#"; then
+ _am_result="yes ($s style)"
+ break
+ fi
+done
+rm -f confinc.* confmf.*
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
+$as_echo "${_am_result}" >&6; }
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = xyes; then :
+ MINIX=yes
+else
+ MINIX=
+fi
+
+
+ if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if ${ac_cv_safe_to_define___extensions__+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+# define __EXTENSIONS__ 1
+ $ac_includes_default
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_safe_to_define___extensions__=yes
+else
+ ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+ test $ac_cv_safe_to_define___extensions__ = yes &&
+ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+ $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+ $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+
+
+
+
+
+
+case `pwd` in
+ *\ * | *\ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.4.6.42-b88ce'
+macro_revision='2.4.6.42'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain=$ac_aux_dir/ltmain.sh
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if ${ac_cv_build+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if ${ac_cv_host+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
+$as_echo_n "checking how to print strings... " >&6; }
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO ""
+}
+
+case $ECHO in
+ printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
+$as_echo "printf" >&6; } ;;
+ print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
+$as_echo "print -r" >&6; } ;;
+ *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
+$as_echo "cat" >&6; } ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if ${ac_cv_path_SED+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for ac_i in 1 2 3 4 5 6 7; do
+ ac_script="$ac_script$as_nl$ac_script"
+ done
+ echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+ { ac_script=; unset ac_script;}
+ if test -z "$SED"; then
+ ac_path_SED_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_SED" || continue
+# Check for GNU ac_path_SED and select it if it is found.
+ # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+ ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo '' >> "conftest.nl"
+ "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_SED_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_SED="$ac_path_SED"
+ ac_path_SED_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_SED_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_SED"; then
+ as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+ fi
+else
+ ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+ rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in fgrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_FGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_FGREP=$FGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test yes = "$GCC"; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return, which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD=$ac_prog
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test yes = "$with_gnu_ld"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${lt_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD=$ac_dir/$ac_prog
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test no != "$with_gnu_ld" && break
+ ;;
+ *)
+ test yes != "$with_gnu_ld" && break
+ ;;
+ esac
+ fi
+ done
+ IFS=$lt_save_ifs
+else
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
+fi
+fi
+
+LD=$lt_cv_path_LD
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${lt_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if ${lt_cv_path_NM+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM=$NM
+else
+ lt_nm_to_check=${ac_tool_prefix}nm
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break 2
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break 2
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS=$lt_save_ifs
+ done
+ : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in dumpbin "link -dump"
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DUMPBIN"; then
+ ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$DUMPBIN" && break
+ done
+fi
+if test -z "$DUMPBIN"; then
+ ac_ct_DUMPBIN=$DUMPBIN
+ for ac_prog in dumpbin "link -dump"
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DUMPBIN"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_DUMPBIN" && break
+done
+
+ if test "x$ac_ct_DUMPBIN" = x; then
+ DUMPBIN=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DUMPBIN=$ac_ct_DUMPBIN
+ fi
+fi
+
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols -headers"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
+ fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if ${lt_cv_nm_interface+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+ (eval echo "\"\$as_me:$LINENO: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if ${lt_cv_sys_max_cmd_len+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ i=0
+ teststring=ABCD
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test 17 != "$i" # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+
+fi
+
+if test -n "$lt_cv_sys_max_cmd_len"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if ${lt_cv_ld_reload_flag+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test yes != "$GCC"; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OBJDUMP"; then
+ ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+ ac_ct_OBJDUMP=$OBJDUMP
+ # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OBJDUMP"; then
+ ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OBJDUMP="objdump"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OBJDUMP" = x; then
+ OBJDUMP="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OBJDUMP=$ac_ct_OBJDUMP
+ fi
+else
+ OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if ${lt_cv_deplibs_check_method+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[45]*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[3-9]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DLLTOOL"; then
+ ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+ ac_ct_DLLTOOL=$DLLTOOL
+ # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DLLTOOL"; then
+ ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DLLTOOL" = x; then
+ DLLTOOL="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DLLTOOL=$ac_ct_DLLTOOL
+ fi
+else
+ DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
+ ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ for ac_prog in ar
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AR" && break
+ done
+fi
+if test -z "$AR"; then
+ ac_ct_AR=$AR
+ for ac_prog in ar
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_AR"; then
+ ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_AR="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_AR" && break
+done
+
+ if test "x$ac_ct_AR" = x; then
+ AR="false"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ AR=$ac_ct_AR
+ fi
+fi
+
+: ${AR=ar}
+
+
+
+
+
+
+# Use ARFLAGS variable as AR's operation code to sync the variable naming with
+# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
+# higher priority because thats what people were doing historically (setting
+# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
+# variable obsoleted/removed.
+
+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
+lt_ar_flags=$AR_FLAGS
+
+
+
+
+
+
+# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
+# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ar_at_file=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test 0 -eq "$ac_status"; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+ (eval $lt_ar_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if test 0 -ne "$ac_status"; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
+
+if test no = "$lt_cv_ar_at_file"; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+ ac_ct_RANLIB=$RANLIB
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_RANLIB"; then
+ ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_RANLIB="ranlib"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_RANLIB" = x; then
+ RANLIB=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ RANLIB=$ac_ct_RANLIB
+ fi
+else
+ RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ bitrig* | openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[BCDT]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[ABCDGISTW]'
+ ;;
+hpux*)
+ if test ia64 = "$host_cpu"; then
+ symcode='[ABCDEGRST]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[BCDEGRST]'
+ ;;
+osf*)
+ symcode='[BCDEGQRST]'
+ ;;
+solaris*)
+ symcode='[BDRT]'
+ ;;
+sco3.2v5*)
+ symcode='[DT]'
+ ;;
+sysv4.2uw2*)
+ symcode='[DT]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[ABDT]'
+ ;;
+sysv4)
+ symcode='[DFNSTU]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[ABCDGIRSTW]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
+ # Also find C++ and __fastcall symbols from MSVC++ or ICC,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK '"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
+ (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS=conftstm.$ac_objext
+ CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&5
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&5
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+ fi
+ else
+ echo "$progname: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test yes = "$pipe_works"; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+ withval=$with_sysroot;
+else
+ with_sysroot=no
+fi
+
+
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+ if test yes = "$GCC"; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+$as_echo "$with_sysroot" >&6; }
+ as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+ ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+$as_echo_n "checking for a working dd... " >&6; }
+if ${ac_cv_path_lt_DD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+ ac_path_lt_DD_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in dd; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+ $ac_path_lt_DD_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_lt_DD"; then
+ :
+ fi
+else
+ ac_cv_path_lt_DD=$lt_DD
+fi
+
+rm -f conftest.i conftest2.i conftest.out
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+$as_echo "$ac_cv_path_lt_DD" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+$as_echo_n "checking how to truncate binary pipes... " >&6; }
+if ${lt_cv_truncate_bin+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+$as_echo "$lt_cv_truncate_bin" >&6; }
+
+
+
+
+
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+ enableval=$enable_libtool_lock;
+fi
+
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE=32
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE=64
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
+ ;;
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -belf"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if ${lt_cv_cc_needs_belf+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_cc_needs_belf=yes
+else
+ lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+ if test yes != "$lt_cv_cc_needs_belf"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS=$SAVE_CFLAGS
+ fi
+ ;;
+*-*solaris*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo 'int i;' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*|x86_64-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD=${LD-ld}_sol2
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks=$enable_libtool_lock
+
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$MANIFEST_TOOL"; then
+ ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+ ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+ # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_MANIFEST_TOOL"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_MANIFEST_TOOL" = x; then
+ MANIFEST_TOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+ fi
+else
+ MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&5
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test yes != "$lt_cv_path_mainfest_tool"; then
+ MANIFEST_TOOL=:
+fi
+
+
+
+
+
+
+ case $host_os in
+ rhapsody* | darwin*)
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$DSYMUTIL"; then
+ ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+ ac_ct_DSYMUTIL=$DSYMUTIL
+ # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_DSYMUTIL"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_DSYMUTIL" = x; then
+ DSYMUTIL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ DSYMUTIL=$ac_ct_DSYMUTIL
+ fi
+else
+ DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$NMEDIT"; then
+ ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+ ac_ct_NMEDIT=$NMEDIT
+ # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_NMEDIT"; then
+ ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_NMEDIT="nmedit"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_NMEDIT" = x; then
+ NMEDIT=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ NMEDIT=$ac_ct_NMEDIT
+ fi
+else
+ NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LIPO"; then
+ ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+ ac_ct_LIPO=$LIPO
+ # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_LIPO"; then
+ ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_LIPO="lipo"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_LIPO" = x; then
+ LIPO=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ LIPO=$ac_ct_LIPO
+ fi
+else
+ LIPO="$ac_cv_prog_LIPO"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL"; then
+ ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+ ac_ct_OTOOL=$OTOOL
+ # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL"; then
+ ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OTOOL="otool"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL" = x; then
+ OTOOL=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL=$ac_ct_OTOOL
+ fi
+else
+ OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$OTOOL64"; then
+ ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+ ac_ct_OTOOL64=$OTOOL64
+ # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_OTOOL64"; then
+ ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_OTOOL64="otool64"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_OTOOL64" = x; then
+ OTOOL64=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ OTOOL64=$ac_ct_OTOOL64
+ fi
+else
+ OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if ${lt_cv_apple_cc_single_mod+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_apple_cc_single_mod=no
+ if test -z "$LT_MULTI_MODULE"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&5
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_ld_exported_symbols_list=yes
+else
+ lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
+$as_echo_n "checking for -force_load linker flag... " >&6; }
+if ${lt_cv_ld_force_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
+ echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5
+ $AR $AR_FLAGS libconftest.a conftest.o 2>&5
+ echo "$RANLIB libconftest.a" >&5
+ $RANLIB libconftest.a 2>&5
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&5
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&5
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
+$as_echo "$lt_cv_ld_force_load" >&6; }
+ case $host_os in
+ rhapsody* | darwin1.[012])
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[012][,.]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+ fi
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
+for ac_header in dlfcn.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+# Set options
+# Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+ enableval=$enable_static; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac
+else
+ enable_static=no
+fi
+
+
+
+
+
+
+
+
+
+
+ enable_dlopen=no
+
+
+ enable_win32_dll=no
+
+
+ # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+ enableval=$enable_shared; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac
+else
+ enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+ withval=$with_pic; lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for lt_pkg in $withval; do
+ IFS=$lt_save_ifs
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac
+else
+ pic_mode=default
+fi
+
+
+
+
+
+
+
+
+ # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+ enableval=$enable_fast_install; p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac
+else
+ enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+ shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+ withval=$with_aix_soname; case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname
+else
+ if ${lt_cv_with_aix_soname+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_with_aix_soname=aix
+fi
+
+ with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if ${lt_cv_objdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC and
+# ICC, which need '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/${ac_tool_prefix}file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
+ ;;
+esac
+fi
+
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $MAGIC_CMD in
+[\\/*] | ?:[\\/]*)
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+ for ac_dir in $ac_dummy; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"file"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
+ ;;
+esac
+fi
+
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ else
+ MAGIC_CMD=:
+ fi
+fi
+
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC=$CC
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test yes = "$GCC"; then
+ case $cc_basename in
+ nvcc*)
+ lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
+ *)
+ lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
+ esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_rtti_exceptions=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_rtti_exceptions=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
+ lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+ :
+fi
+
+fi
+
+
+
+
+
+
+ lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+
+ if test yes = "$GCC"; then
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_static='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
+ lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ lt_prog_compiler_static=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[3-9]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ lt_prog_compiler_can_build_shared=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ lt_prog_compiler_pic='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ lt_prog_compiler_wl='-Xlinker '
+ if test -n "$lt_prog_compiler_pic"; then
+ lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ lt_prog_compiler_wl='-Wl,'
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ lt_prog_compiler_static='-Bstatic'
+ else
+ lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ lt_prog_compiler_pic='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ lt_prog_compiler_static='$wl-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ lt_prog_compiler_wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ # old Intel for x86_64, which still supported -KPIC.
+ ecc*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='--shared'
+ lt_prog_compiler_static='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ ccc*)
+ lt_prog_compiler_wl='-Wl,'
+ # All Alpha code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-qpic'
+ lt_prog_compiler_static='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ lt_prog_compiler_wl='-Wl,'
+ ;;
+ *Intel*\ [CF]*Compiler*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
+ *Portland\ Group*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fpic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ lt_prog_compiler_pic='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ lt_prog_compiler_wl='-Wl,'
+ # All OSF/1 code is PIC.
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ rdos*)
+ lt_prog_compiler_static='-non_shared'
+ ;;
+
+ solaris*)
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ lt_prog_compiler_wl='-Qoption ld ';;
+ *)
+ lt_prog_compiler_wl='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ lt_prog_compiler_wl='-Qoption ld '
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ lt_prog_compiler_pic='-Kconform_pic'
+ lt_prog_compiler_static='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-KPIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ unicos*)
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_can_build_shared=no
+ ;;
+
+ uts4*)
+ lt_prog_compiler_pic='-pic'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+
+ *)
+ lt_prog_compiler_can_build_shared=no
+ ;;
+ esac
+ fi
+
+case $host_os in
+ # For platforms that do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ lt_prog_compiler_pic=
+ ;;
+ *)
+ lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+ ;;
+esac
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_pic_works=no
+ ac_outfile=conftest.$ac_objext
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_pic_works=yes
+ fi
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
+ case $lt_prog_compiler_pic in
+ "" | " "*) ;;
+ *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+ esac
+else
+ lt_prog_compiler_pic=
+ lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if ${lt_cv_prog_compiler_static_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_static_works=no
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ else
+ lt_cv_prog_compiler_static_works=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test yes = "$lt_cv_prog_compiler_static_works"; then
+ :
+else
+ lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if ${lt_cv_prog_compiler_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler_c_o=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler_c_o=yes
+ fi
+ fi
+ chmod u+w . 2>&5
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
+ # do not overwrite the value of need_locks provided by the user
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+ if test no = "$hard_links"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+ runpath_var=
+ allow_undefined_flag=
+ always_export_symbols=no
+ archive_cmds=
+ archive_expsym_cmds=
+ compiler_needs_object=no
+ enable_shared_with_static_runtimes=no
+ export_dynamic_flag_spec=
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ hardcode_automatic=no
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ hardcode_libdir_flag_spec=
+ hardcode_libdir_separator=
+ hardcode_minus_L=no
+ hardcode_shlibpath_var=unsupported
+ inherit_rpath=no
+ link_all_deplibs=unknown
+ module_cmds=
+ module_expsym_cmds=
+ old_archive_from_new_cmds=
+ old_archive_from_expsyms_cmds=
+ thread_safe_flag_spec=
+ whole_archive_flag_spec=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ include_expsyms=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
+ exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++ or Intel C++ Compiler.
+ if test yes != "$GCC"; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
+ with_gnu_ld=yes
+ ;;
+ openbsd* | bitrig*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ ld_shlibs=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test yes = "$with_gnu_ld"; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
+ *\ \(GNU\ Binutils\)\ [3-9]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test yes = "$lt_use_gnu_ld_interface"; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='$wl'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec='$wl--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ else
+ whole_archive_flag_spec=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[3-9]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test ia64 != "$host_cpu"; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ allow_undefined_flag=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+ # as there is no search path for DLLs.
+ hardcode_libdir_flag_spec='-L$libdir'
+ export_dynamic_flag_spec='$wl--export-all-symbols'
+ allow_undefined_flag=unsupported
+ always_export_symbols=no
+ enable_shared_with_static_runtimes=yes
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+ exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ haiku*)
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ link_all_deplibs=yes
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
+ file_list_spec='@'
+ ;;
+
+ interix[3-9]*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test linux-dietlibc = "$host_os"; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test no = "$tmp_diet"
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ whole_archive_flag_spec=
+ tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
+ xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ compiler_needs_object=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ compiler_needs_object=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+ if test yes = "$supports_anon_versioning"; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ tcc*)
+ export_dynamic_flag_spec='-rdynamic'
+ ;;
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
+ archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+ ld_shlibs=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ ld_shlibs=no
+ fi
+ ;;
+ esac
+
+ if test no = "$ld_shlibs"; then
+ runpath_var=
+ hardcode_libdir_flag_spec=
+ export_dynamic_flag_spec=
+ whole_archive_flag_spec=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ hardcode_minus_L=yes
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ hardcode_direct=unsupported
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test ia64 = "$host_cpu"; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+ else
+ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
+ case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+ for ld_flag in $LDFLAGS; do
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ archive_cmds=''
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ file_list_spec='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ ;;
+ esac
+
+ if test yes = "$GCC"; then
+ case $host_os in aix4.[012]|aix4.[012].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`$CC -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ hardcode_direct=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ hardcode_minus_L=yes
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_libdir_separator=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
+ fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
+ else
+ # not using gcc
+ if test ia64 = "$host_cpu"; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
+ else
+ shared_flag='$wl-bM:SRE'
+ fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
+ fi
+ fi
+
+ export_dynamic_flag_spec='$wl-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ always_export_symbols=yes
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ allow_undefined_flag='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test set = "${lt_cv_aix_libpath+set}"; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=/usr/lib:/lib
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath_
+fi
+
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+ else
+ if test ia64 = "$host_cpu"; then
+ hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
+ allow_undefined_flag="-z nodefs"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ if test set = "${lt_cv_aix_libpath+set}"; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ if ${lt_cv_aix_libpath_+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+ lt_aix_libpath_sed='
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }'
+ lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test -z "$lt_cv_aix_libpath_"; then
+ lt_cv_aix_libpath_=/usr/lib:/lib
+ fi
+
+fi
+
+ aix_libpath=$lt_cv_aix_libpath_
+fi
+
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ no_undefined_flag=' $wl-bernotok'
+ allow_undefined_flag=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
+ # We only use this code for GNU lds that support --whole-archive.
+ whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ whole_archive_flag_spec='$convenience'
+ fi
+ archive_cmds_need_lc=yes
+ archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds=''
+ ;;
+ m68k)
+ archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[45]*)
+ export_dynamic_flag_spec=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++ or Intel C++ Compiler.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl* | icl*)
+ # Native MSVC or ICC
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ always_export_symbols=yes
+ file_list_spec='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+ enable_shared_with_static_runtimes=yes
+ exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ old_postinstall_cmds='chmod 644 $oldlib'
+ postlink_cmds='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC and ICC wrapper
+ hardcode_libdir_flag_spec=' '
+ allow_undefined_flag=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ old_archive_from_new_cmds='true'
+ # FIXME: Should let the user specify the lib program.
+ old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ enable_shared_with_static_runtimes=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+
+
+ archive_cmds_need_lc=no
+ hardcode_direct=no
+ hardcode_automatic=yes
+ hardcode_shlibpath_var=unsupported
+ if test yes = "$lt_cv_ld_force_load"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
+ else
+ whole_archive_flag_spec=''
+ fi
+ link_all_deplibs=yes
+ allow_undefined_flag=$_lt_dar_allow_undefined
+ case $cc_basename in
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test yes = "$_lt_dar_can_shared"; then
+ output_verbose_link_cmd=func_echo_all
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+
+ else
+ ld_shlibs=no
+ fi
+
+ ;;
+
+ dgux*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ hpux9*)
+ if test yes = "$GCC"; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ else
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ fi
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ export_dynamic_flag_spec='$wl-E'
+ ;;
+
+ hpux10*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+ hardcode_libdir_separator=:
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='$wl-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
+$as_echo_n "checking if $CC understands -b... " >&6; }
+if ${lt_cv_prog_compiler__b+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_prog_compiler__b=no
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -b"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&5
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ lt_cv_prog_compiler__b=yes
+ fi
+ else
+ lt_cv_prog_compiler__b=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS=$save_LDFLAGS
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
+$as_echo "$lt_cv_prog_compiler__b" >&6; }
+
+if test yes = "$lt_cv_prog_compiler__b"; then
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+else
+ archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+fi
+
+ ;;
+ esac
+ fi
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
+ hardcode_libdir_separator=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ hardcode_direct=no
+ hardcode_shlibpath_var=no
+ ;;
+ *)
+ hardcode_direct=yes
+ hardcode_direct_absolute=yes
+ export_dynamic_flag_spec='$wl-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ hardcode_minus_L=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int foo (void) { return 0; }
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ lt_cv_irix_exported_symbol=yes
+else
+ lt_cv_irix_exported_symbol=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+ fi
+ else
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ hardcode_libdir_separator=:
+ inherit_rpath=yes
+ link_all_deplibs=yes
+ ;;
+
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ ld_shlibs=yes
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ newsos6)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ hardcode_libdir_separator=:
+ hardcode_shlibpath_var=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd* | bitrig*)
+ if test -f /usr/libexec/ld.so; then
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ hardcode_direct_absolute=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
+ else
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ fi
+ else
+ ld_shlibs=no
+ fi
+ ;;
+
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
+ file_list_spec='@'
+ ;;
+
+ osf3*)
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ hardcode_libdir_separator=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ else
+ allow_undefined_flag=' -expect_unresolved \*'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ hardcode_libdir_flag_spec='-rpath $libdir'
+ fi
+ archive_cmds_need_lc='no'
+ hardcode_libdir_separator=:
+ ;;
+
+ solaris*)
+ no_undefined_flag=' -z defs'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='$wl'
+ archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ hardcode_libdir_flag_spec='-R$libdir'
+ hardcode_shlibpath_var=no
+ case $host_os in
+ solaris2.[0-5] | solaris2.[0-5].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test yes = "$GCC"; then
+ whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ else
+ whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ link_all_deplibs=yes
+ ;;
+
+ sunos4*)
+ if test sequent = "$host_vendor"; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_direct=yes
+ hardcode_minus_L=yes
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ reload_cmds='$CC -r -o $output$reload_objs'
+ hardcode_direct=no
+ ;;
+ motorola)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ hardcode_shlibpath_var=no
+ ;;
+
+ sysv4.3*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ export_dynamic_flag_spec='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_shlibpath_var=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ ld_shlibs=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+ no_undefined_flag='$wl-z,text'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ runpath_var='LD_RUN_PATH'
+
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We CANNOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ no_undefined_flag='$wl-z,text'
+ allow_undefined_flag='$wl-z,nodefs'
+ archive_cmds_need_lc=no
+ hardcode_shlibpath_var=no
+ hardcode_libdir_flag_spec='$wl-R,$libdir'
+ hardcode_libdir_separator=':'
+ link_all_deplibs=yes
+ export_dynamic_flag_spec='$wl-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_shlibpath_var=no
+ ;;
+
+ *)
+ ld_shlibs=no
+ ;;
+ esac
+
+ if test sni = "$host_vendor"; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ export_dynamic_flag_spec='$wl-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test no = "$ld_shlibs" && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+ # Assume -lc should be added
+ archive_cmds_need_lc=yes
+
+ if test yes,yes = "$GCC,$enable_shared"; then
+ case $archive_cmds in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ $RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$lt_prog_compiler_wl
+ pic_flag=$lt_prog_compiler_pic
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$allow_undefined_flag
+ allow_undefined_flag=
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+ (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ then
+ lt_cv_archive_cmds_need_lc=no
+ else
+ lt_cv_archive_cmds_need_lc=yes
+ fi
+ allow_undefined_flag=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
+$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
+ archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test yes = "$GCC"; then
+ case $host_os in
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary...
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo = "/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[lt_foo]++; }
+ if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+
+aix[4-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 supports IA64
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[01] | aix4.[01].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a(lib.so.V)'
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='$libname$shared_ext'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[45]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl* | *,icl*)
+ # Native MSVC or ICC
+ libname_spec='$name'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec=$LIB
+ if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC and ICC wrapper
+ library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[23].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[01]* | freebsdelf3.[01]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+ fi
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[3-9]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+ lt_cv_shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+
+fi
+
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd* | bitrig*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec=/usr/lib
+ need_lib_prefix=no
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
+ else
+ need_version=yes
+ fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+os2*)
+ libname_spec='$name'
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
+ need_lib_prefix=no
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test yes = "$with_gnu_ld"; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=sco
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test yes = "$with_gnu_ld"; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+ test -n "$runpath_var" ||
+ test yes = "$hardcode_automatic"; then
+
+ # We can hardcode non-existent directories.
+ if test no != "$hardcode_direct" &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+ test no != "$hardcode_minus_L"; then
+ # Linking always hardcodes the temporary library directory.
+ hardcode_action=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ hardcode_action=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test relink = "$hardcode_action" ||
+ test yes = "$inherit_rpath"; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+
+
+
+
+
+
+ if test yes != "$enable_dlopen"; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen=load_add_on
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen=LoadLibrary
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else
+
+ lt_cv_dlopen=dyld
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+
+fi
+
+ ;;
+
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
+ *)
+ ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = xyes; then :
+ lt_cv_dlopen=shl_load
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if ${ac_cv_lib_dld_shl_load+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_shl_load=yes
+else
+ ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
+ lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
+else
+ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = xyes; then :
+ lt_cv_dlopen=dlopen
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if ${ac_cv_lib_dl_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dl_dlopen=yes
+else
+ ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if ${ac_cv_lib_svld_dlopen+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_svld_dlopen=yes
+else
+ ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if ${ac_cv_lib_dld_dld_link+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_dld_dld_link=yes
+else
+ ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
+ lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+ ;;
+ esac
+
+ if test no = "$lt_cv_dlopen"; then
+ enable_dlopen=no
+ else
+ enable_dlopen=yes
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS=$LDFLAGS
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS=$LIBS
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test yes = "$cross_compiling"; then :
+ lt_cv_dlopen_self=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+ if test yes = "$lt_cv_dlopen_self"; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if ${lt_cv_dlopen_self_static+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test yes = "$cross_compiling"; then :
+ lt_cv_dlopen_self_static=cross
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}
+_LT_EOF
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
+ (./conftest; exit; ) >&5 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+ x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+ esac
+ else :
+ # compilation failed
+ lt_cv_dlopen_self_static=no
+ fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+ fi
+
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -z "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+else
+ if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ case $host_os in
+ darwin*)
+ # FIXME - insert some real tests, host_os isn't really good enough
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ ;;
+ freebsd*)
+ if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ ;;
+ esac
+ fi
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+ # Report what library types will actually be built
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+ test no = "$can_build_shared" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[4-9]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC=$lt_save_CC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+
+MM_MAJOR_VERSION=1
+MM_MINOR_VERSION=10
+MM_MICRO_VERSION=0
+MM_VERSION=1.10.0
+
+
+
+
+
+MM_GLIB_LT_CURRENT=4
+MM_GLIB_LT_REVISION=0
+MM_GLIB_LT_AGE=4
+
+
+
+
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+fi
+
+
+
+ gtk_doc_requires="gtk-doc >= 1.0"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk-doc" >&5
+$as_echo_n "checking for gtk-doc... " >&6; }
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$gtk_doc_requires\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$gtk_doc_requires") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ have_gtk_doc=yes
+else
+ have_gtk_doc=no
+fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_gtk_doc" >&5
+$as_echo "$have_gtk_doc" >&6; }
+
+ if test "$have_gtk_doc" = "no"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found." >&5
+$as_echo "$as_me: WARNING:
+ You will not be able to create source packages with 'make dist'
+ because $gtk_doc_requires is not found." >&2;}
+ fi
+
+ # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+set dummy gtkdoc-check; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GTKDOC_CHECK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$GTKDOC_CHECK"; then
+ ac_cv_prog_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GTKDOC_CHECK="gtkdoc-check.test"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+GTKDOC_CHECK=$ac_cv_prog_GTKDOC_CHECK
+if test -n "$GTKDOC_CHECK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5
+$as_echo "$GTKDOC_CHECK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ # Extract the first word of "gtkdoc-check", so it can be a program name with args.
+set dummy gtkdoc-check; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GTKDOC_CHECK_PATH+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GTKDOC_CHECK_PATH in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GTKDOC_CHECK_PATH="$GTKDOC_CHECK_PATH" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_GTKDOC_CHECK_PATH="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+GTKDOC_CHECK_PATH=$ac_cv_path_GTKDOC_CHECK_PATH
+if test -n "$GTKDOC_CHECK_PATH"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK_PATH" >&5
+$as_echo "$GTKDOC_CHECK_PATH" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ for ac_prog in gtkdoc-rebase
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GTKDOC_REBASE+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GTKDOC_REBASE in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GTKDOC_REBASE="$GTKDOC_REBASE" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_GTKDOC_REBASE="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+GTKDOC_REBASE=$ac_cv_path_GTKDOC_REBASE
+if test -n "$GTKDOC_REBASE"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_REBASE" >&5
+$as_echo "$GTKDOC_REBASE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$GTKDOC_REBASE" && break
+done
+test -n "$GTKDOC_REBASE" || GTKDOC_REBASE="true"
+
+ # Extract the first word of "gtkdoc-mkpdf", so it can be a program name with args.
+set dummy gtkdoc-mkpdf; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GTKDOC_MKPDF+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GTKDOC_MKPDF in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GTKDOC_MKPDF="$GTKDOC_MKPDF" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_GTKDOC_MKPDF="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+GTKDOC_MKPDF=$ac_cv_path_GTKDOC_MKPDF
+if test -n "$GTKDOC_MKPDF"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_MKPDF" >&5
+$as_echo "$GTKDOC_MKPDF" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+# Check whether --with-html-dir was given.
+if test "${with_html_dir+set}" = set; then :
+ withval=$with_html_dir;
+else
+ with_html_dir='${datadir}/gtk-doc/html'
+fi
+
+ HTML_DIR="$with_html_dir"
+
+
+ # Check whether --enable-gtk-doc was given.
+if test "${enable_gtk_doc+set}" = set; then :
+ enableval=$enable_gtk_doc;
+else
+ enable_gtk_doc=no
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5
+$as_echo_n "checking whether to build gtk-doc documentation... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5
+$as_echo "$enable_gtk_doc" >&6; }
+
+ if test "x$enable_gtk_doc" = "xyes" && test "$have_gtk_doc" = "no"; then
+ as_fn_error $? "
+ You must have $gtk_doc_requires installed to build documentation for
+ $PACKAGE_NAME. Please install gtk-doc or disable building the
+ documentation by adding '--disable-gtk-doc' to '$0'." "$LINENO" 5
+ fi
+
+ if test "x$PACKAGE_NAME" != "xglib"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTKDOC_DEPS" >&5
+$as_echo_n "checking for GTKDOC_DEPS... " >&6; }
+
+if test -n "$GTKDOC_DEPS_CFLAGS"; then
+ pkg_cv_GTKDOC_DEPS_CFLAGS="$GTKDOC_DEPS_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GTKDOC_DEPS_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$GTKDOC_DEPS_LIBS"; then
+ pkg_cv_GTKDOC_DEPS_LIBS="$GTKDOC_DEPS_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GTKDOC_DEPS_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>&1`
+ else
+ GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GTKDOC_DEPS_PKG_ERRORS" >&5
+
+ :
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ :
+else
+ GTKDOC_DEPS_CFLAGS=$pkg_cv_GTKDOC_DEPS_CFLAGS
+ GTKDOC_DEPS_LIBS=$pkg_cv_GTKDOC_DEPS_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+ fi
+
+ # Check whether --enable-gtk-doc-html was given.
+if test "${enable_gtk_doc_html+set}" = set; then :
+ enableval=$enable_gtk_doc_html;
+else
+ enable_gtk_doc_html=yes
+fi
+
+ # Check whether --enable-gtk-doc-pdf was given.
+if test "${enable_gtk_doc_pdf+set}" = set; then :
+ enableval=$enable_gtk_doc_pdf;
+else
+ enable_gtk_doc_pdf=no
+fi
+
+
+ if test -z "$GTKDOC_MKPDF"; then
+ enable_gtk_doc_pdf=no
+ fi
+
+ if test -z "$AM_DEFAULT_VERBOSITY"; then
+ AM_DEFAULT_VERBOSITY=1
+ fi
+
+
+ if test x$have_gtk_doc = xyes; then
+ HAVE_GTK_DOC_TRUE=
+ HAVE_GTK_DOC_FALSE='#'
+else
+ HAVE_GTK_DOC_TRUE='#'
+ HAVE_GTK_DOC_FALSE=
+fi
+
+ if test x$enable_gtk_doc = xyes; then
+ ENABLE_GTK_DOC_TRUE=
+ ENABLE_GTK_DOC_FALSE='#'
+else
+ ENABLE_GTK_DOC_TRUE='#'
+ ENABLE_GTK_DOC_FALSE=
+fi
+
+ if test x$enable_gtk_doc_html = xyes; then
+ GTK_DOC_BUILD_HTML_TRUE=
+ GTK_DOC_BUILD_HTML_FALSE='#'
+else
+ GTK_DOC_BUILD_HTML_TRUE='#'
+ GTK_DOC_BUILD_HTML_FALSE=
+fi
+
+ if test x$enable_gtk_doc_pdf = xyes; then
+ GTK_DOC_BUILD_PDF_TRUE=
+ GTK_DOC_BUILD_PDF_FALSE='#'
+else
+ GTK_DOC_BUILD_PDF_TRUE='#'
+ GTK_DOC_BUILD_PDF_FALSE=
+fi
+
+ if test -n "$LIBTOOL"; then
+ GTK_DOC_USE_LIBTOOL_TRUE=
+ GTK_DOC_USE_LIBTOOL_FALSE='#'
+else
+ GTK_DOC_USE_LIBTOOL_TRUE='#'
+ GTK_DOC_USE_LIBTOOL_FALSE=
+fi
+
+ if test -n "$GTKDOC_REBASE"; then
+ GTK_DOC_USE_REBASE_TRUE=
+ GTK_DOC_USE_REBASE_FALSE='#'
+else
+ GTK_DOC_USE_REBASE_TRUE='#'
+ GTK_DOC_USE_REBASE_FALSE=
+fi
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+ # Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+ enableval=$enable_nls; USE_NLS=$enableval
+else
+ USE_NLS=yes
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+ GETTEXT_MACRO_VERSION=0.19
+
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case "$MSGFMT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+ ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_GMSGFMT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $GMSGFMT in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+ ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_XGETTEXT+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case "$XGETTEXT" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
+ ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+ ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ rm -f messages.po
+
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+
+
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_MSGMERGE+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case "$MSGMERGE" in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&5
+ if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then
+ ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+ test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+ ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$localedir" || localedir='${datadir}/locale'
+
+
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+
+
+ ac_config_commands="$ac_config_commands po-directories"
+
+
+
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+ withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+ with_gnu_ld=no
+fi
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [\\/]* | ?:[\\/]*)
+ re_direlt='/[^/][^/]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+ while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if ${acl_cv_path_LD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$LD"; then
+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$acl_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if ${acl_cv_prog_gnu_ld+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes
+ ;;
+*)
+ acl_cv_prog_gnu_ld=no
+ ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
+$as_echo "$acl_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$acl_cv_prog_gnu_ld
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
+$as_echo_n "checking for shared library run path origin... " >&6; }
+if ${acl_cv_rpath+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+ wl="$acl_cv_wl"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ # Check whether --enable-rpath was given.
+if test "${enable_rpath+set}" = set; then :
+ enableval=$enable_rpath; :
+else
+ enable_rpath=yes
+fi
+
+
+
+
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
+$as_echo_n "checking for 64-bit host... " >&6; }
+if ${gl_cv_solaris_64bit+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#ifdef _LP64
+sixtyfour bits
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
+ gl_cv_solaris_64bit=yes
+else
+ gl_cv_solaris_64bit=no
+fi
+rm -f conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
+$as_echo "$gl_cv_solaris_64bit" >&6; }
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+
+
+
+
+
+
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-libiconv-prefix was given.
+if test "${with_libiconv_prefix+set}" = set; then :
+ withval=$with_libiconv_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+
+fi
+
+ LIBICONV=
+ LTLIBICONV=
+ INCICONV=
+ LIBICONV_PREFIX=
+ HAVE_LIBICONV=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='iconv '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$acl_hardcode_direct" = yes; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'iconv'; then
+ LIBICONV_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBICONV; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
+ done
+ fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5
+$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; }
+if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <CoreFoundation/CFPreferences.h>
+int
+main ()
+{
+CFPreferencesCopyAppValue(NULL, NULL)
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_CFPreferencesCopyAppValue=yes
+else
+ gt_cv_func_CFPreferencesCopyAppValue=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
+$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+
+$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5
+$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; }
+if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <CoreFoundation/CFLocale.h>
+int
+main ()
+{
+CFLocaleCopyCurrent();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ gt_cv_func_CFLocaleCopyCurrent=yes
+else
+ gt_cv_func_CFLocaleCopyCurrent=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$gt_save_LIBS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
+$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+
+$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h
+
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+
+
+
+
+
+
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ case " $gt_needs " in
+ *" need-formatstring-macros "*) gt_api_version=3 ;;
+ *" need-ngettext "*) gt_api_version=2 ;;
+ *) gt_api_version=1 ;;
+ esac
+ gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+ gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+
+
+ if test $gt_api_version -ge 3; then
+ gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+'
+ else
+ gt_revision_test_code=
+ fi
+ if test $gt_api_version -ge 2; then
+ gt_expression_test_code=' + * ngettext ("", "", 0)'
+ else
+ gt_expression_test_code=
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5
+$as_echo_n "checking for GNU gettext in libc... " >&6; }
+if eval \${$gt_func_gnugettext_libc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main ()
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$gt_func_gnugettext_libc=yes"
+else
+ eval "$gt_func_gnugettext_libc=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$gt_func_gnugettext_libc
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+
+
+
+
+
+ am_save_CPPFLAGS="$CPPFLAGS"
+
+ for element in $INCICONV; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5
+$as_echo_n "checking for iconv... " >&6; }
+if ${am_cv_func_iconv+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <stdlib.h>
+#include <iconv.h>
+
+int
+main ()
+{
+iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ am_cv_lib_iconv=yes
+ am_cv_func_iconv=yes
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$am_save_LIBS"
+ fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5
+$as_echo "$am_cv_func_iconv" >&6; }
+ if test "$am_cv_func_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5
+$as_echo_n "checking for working iconv... " >&6; }
+if ${am_cv_func_iconv_works+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ am_cv_func_iconv_works=no
+ for ac_iconv_const in '' 'const'; do
+ if test "$cross_compiling" = yes; then :
+ case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+
+int
+main ()
+{
+int result = 0;
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 1;
+ iconv_close (cd_utf8_to_88591);
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\263";
+ char buf[10];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 2;
+ iconv_close (cd_ascii_to_88591);
+ }
+ }
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ result |= 4;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ result |= 8;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ result |= 16;
+ return result;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ am_cv_func_iconv_works=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ test "$am_cv_func_iconv_works" = no || break
+ done
+ LIBS="$am_save_LIBS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5
+$as_echo "$am_cv_func_iconv_works" >&6; }
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+
+$as_echo "#define HAVE_ICONV 1" >>confdefs.h
+
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5
+$as_echo_n "checking how to link with libiconv... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5
+$as_echo "$LIBICONV" >&6; }
+ else
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+
+
+
+
+
+
+
+
+
+
+
+ use_additional=yes
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+
+# Check whether --with-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then :
+ withval=$with_libintl_prefix;
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+
+fi
+
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ LIBINTL_PREFIX=
+ HAVE_LIBINTL=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='intl '
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
+ else
+ :
+ fi
+ else
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ if test "$acl_hardcode_direct" = yes; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
+ fi
+ fi
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = 'intl'; then
+ LIBINTL_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INCINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ if test -n "$found_la"; then
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIBINTL; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ else
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ for found_dir in $ltrpathdirs; do
+ LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
+ done
+ fi
+
+
+
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5
+$as_echo_n "checking for GNU gettext in libintl... " >&6; }
+if eval \${$gt_func_gnugettext_libintl+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main ()
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ eval "$gt_func_gnugettext_libintl=yes"
+else
+ eval "$gt_func_gnugettext_libintl=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+
+int
+main ()
+{
+
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"
+fi
+eval ac_res=\$$gt_func_gnugettext_libintl
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ fi
+
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+
+
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5
+$as_echo_n "checking whether to use NLS... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+ if test "$USE_NLS" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5
+$as_echo_n "checking where the gettext function comes from... " >&6; }
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5
+$as_echo "$gt_source" >&6; }
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5
+$as_echo_n "checking how to link with libintl... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5
+$as_echo "$LIBINTL" >&6; }
+
+ for element in $INCINTL; do
+ haveit=
+ for x in $CPPFLAGS; do
+
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ eval x=\"$x\"
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
+ fi
+ done
+
+ fi
+
+
+$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h
+
+ fi
+
+ POSUB=po
+ fi
+
+
+
+ INTLLIBS="$LIBINTL"
+
+
+
+
+
+
+
+
+GETTEXT_PACKAGE=ModemManager
+
+
+cat >>confdefs.h <<_ACEOF
+#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE"
+_ACEOF
+
+
+
+GLIB_MIN_VERSION=2.36.0
+GLIB_BUILD_SYMBOLS="-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_36 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_36 -DGLIB_DISABLE_DEPRECATION_WARNINGS"
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MM" >&5
+$as_echo_n "checking for MM... " >&6; }
+
+if test -n "$MM_CFLAGS"; then
+ pkg_cv_MM_CFLAGS="$MM_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_MIN_VERSION
+ gmodule-2.0
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_MIN_VERSION
+ gmodule-2.0
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_MM_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= $GLIB_MIN_VERSION
+ gmodule-2.0
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$MM_LIBS"; then
+ pkg_cv_MM_LIBS="$MM_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_MIN_VERSION
+ gmodule-2.0
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_MIN_VERSION
+ gmodule-2.0
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_MM_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= $GLIB_MIN_VERSION
+ gmodule-2.0
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ MM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= $GLIB_MIN_VERSION
+ gmodule-2.0
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0" 2>&1`
+ else
+ MM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= $GLIB_MIN_VERSION
+ gmodule-2.0
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$MM_PKG_ERRORS" >&5
+
+ as_fn_error $? "Package requirements (glib-2.0 >= $GLIB_MIN_VERSION
+ gmodule-2.0
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0) were not met:
+
+$MM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables MM_CFLAGS
+and MM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables MM_CFLAGS
+and MM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ MM_CFLAGS=$pkg_cv_MM_CFLAGS
+ MM_LIBS=$pkg_cv_MM_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+MM_CFLAGS="$MM_CFLAGS $GLIB_BUILD_SYMBOLS"
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBMM_GLIB" >&5
+$as_echo_n "checking for LIBMM_GLIB... " >&6; }
+
+if test -n "$LIBMM_GLIB_CFLAGS"; then
+ pkg_cv_LIBMM_GLIB_CFLAGS="$LIBMM_GLIB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBMM_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$LIBMM_GLIB_LIBS"; then
+ pkg_cv_LIBMM_GLIB_LIBS="$LIBMM_GLIB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBMM_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ LIBMM_GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0" 2>&1`
+ else
+ LIBMM_GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LIBMM_GLIB_PKG_ERRORS" >&5
+
+ as_fn_error $? "Package requirements (glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0
+ gio-unix-2.0) were not met:
+
+$LIBMM_GLIB_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables LIBMM_GLIB_CFLAGS
+and LIBMM_GLIB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables LIBMM_GLIB_CFLAGS
+and LIBMM_GLIB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ LIBMM_GLIB_CFLAGS=$pkg_cv_LIBMM_GLIB_CFLAGS
+ LIBMM_GLIB_LIBS=$pkg_cv_LIBMM_GLIB_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+LIBMM_GLIB_CFLAGS="$LIBMM_GLIB_CFLAGS $GLIB_BUILD_SYMBOLS"
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MMCLI" >&5
+$as_echo_n "checking for MMCLI... " >&6; }
+
+if test -n "$MMCLI_CFLAGS"; then
+ pkg_cv_MMCLI_CFLAGS="$MMCLI_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_MMCLI_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$MMCLI_LIBS"; then
+ pkg_cv_MMCLI_LIBS="$MMCLI_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_MMCLI_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ MMCLI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0" 2>&1`
+ else
+ MMCLI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$MMCLI_PKG_ERRORS" >&5
+
+ as_fn_error $? "Package requirements (glib-2.0 >= $GLIB_MIN_VERSION
+ gobject-2.0
+ gio-2.0) were not met:
+
+$MMCLI_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables MMCLI_CFLAGS
+and MMCLI_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables MMCLI_CFLAGS
+and MMCLI_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ MMCLI_CFLAGS=$pkg_cv_MMCLI_CFLAGS
+ MMCLI_LIBS=$pkg_cv_MMCLI_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+MMCLI_CFLAGS="$MMCLI_CFLAGS $GLIB_BUILD_SYMBOLS"
+
+
+
+GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
+
+
+GDBUS_CODEGEN=`$PKG_CONFIG --variable=gdbus_codegen gio-2.0`
+
+
+
+
+
+
+ # allow to override gcov location
+
+# Check whether --with-gcov was given.
+if test "${with_gcov+set}" = set; then :
+ withval=$with_gcov; _AX_CODE_COVERAGE_GCOV_PROG_WITH=$with_gcov
+else
+ _AX_CODE_COVERAGE_GCOV_PROG_WITH=gcov
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with code coverage support" >&5
+$as_echo_n "checking whether to build with code coverage support... " >&6; }
+ # Check whether --enable-code-coverage was given.
+if test "${enable_code_coverage+set}" = set; then :
+ enableval=$enable_code_coverage;
+else
+ enable_code_coverage=no
+fi
+
+
+ if test x$enable_code_coverage = xyes; then
+ CODE_COVERAGE_ENABLED_TRUE=
+ CODE_COVERAGE_ENABLED_FALSE='#'
+else
+ CODE_COVERAGE_ENABLED_TRUE='#'
+ CODE_COVERAGE_ENABLED_FALSE=
+fi
+
+ CODE_COVERAGE_ENABLED=$enable_code_coverage
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_code_coverage" >&5
+$as_echo "$enable_code_coverage" >&6; }
+
+ if test "$enable_code_coverage" = "yes" ; then :
+
+ # check for gcov
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args.
+set dummy ${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GCOV+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$GCOV"; then
+ ac_cv_prog_GCOV="$GCOV" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GCOV="${ac_tool_prefix}$_AX_CODE_COVERAGE_GCOV_PROG_WITH"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+GCOV=$ac_cv_prog_GCOV
+if test -n "$GCOV"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCOV" >&5
+$as_echo "$GCOV" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_GCOV"; then
+ ac_ct_GCOV=$GCOV
+ # Extract the first word of "$_AX_CODE_COVERAGE_GCOV_PROG_WITH", so it can be a program name with args.
+set dummy $_AX_CODE_COVERAGE_GCOV_PROG_WITH; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_GCOV+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_GCOV"; then
+ ac_cv_prog_ac_ct_GCOV="$ac_ct_GCOV" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_GCOV="$_AX_CODE_COVERAGE_GCOV_PROG_WITH"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_GCOV=$ac_cv_prog_ac_ct_GCOV
+if test -n "$ac_ct_GCOV"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GCOV" >&5
+$as_echo "$ac_ct_GCOV" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_GCOV" = x; then
+ GCOV=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ GCOV=$ac_ct_GCOV
+ fi
+else
+ GCOV="$ac_cv_prog_GCOV"
+fi
+
+ if test "X$GCOV" = "X:"; then :
+ as_fn_error $? "gcov is needed to do coverage" "$LINENO" 5
+fi
+
+
+ if test "$GCC" = "no" ; then :
+
+ as_fn_error $? "not compiling with gcc, which is required for gcov code coverage" "$LINENO" 5
+
+fi
+
+ # List of supported lcov versions.
+ lcov_version_list="1.6 1.7 1.8 1.9 1.10 1.11"
+
+ # Extract the first word of "lcov", so it can be a program name with args.
+set dummy lcov; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_LCOV+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$LCOV"; then
+ ac_cv_prog_LCOV="$LCOV" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_LCOV="lcov"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+LCOV=$ac_cv_prog_LCOV
+if test -n "$LCOV"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LCOV" >&5
+$as_echo "$LCOV" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ # Extract the first word of "genhtml", so it can be a program name with args.
+set dummy genhtml; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_GENHTML+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$GENHTML"; then
+ ac_cv_prog_GENHTML="$GENHTML" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_GENHTML="genhtml"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+GENHTML=$ac_cv_prog_GENHTML
+if test -n "$GENHTML"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GENHTML" >&5
+$as_echo "$GENHTML" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+ if test "$LCOV" ; then :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lcov version" >&5
+$as_echo_n "checking for lcov version... " >&6; }
+if ${ax_cv_lcov_version+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ax_cv_lcov_version=invalid
+ lcov_version=`$LCOV -v 2>/dev/null | $SED -e 's/^.* //'`
+ for lcov_check_version in $lcov_version_list; do
+ if test "$lcov_version" = "$lcov_check_version"; then
+ ax_cv_lcov_version="$lcov_check_version (ok)"
+ fi
+ done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_lcov_version" >&5
+$as_echo "$ax_cv_lcov_version" >&6; }
+
+else
+
+ lcov_msg="To enable code coverage reporting you must have one of the following lcov versions installed: $lcov_version_list"
+ as_fn_error $? "$lcov_msg" "$LINENO" 5
+
+fi
+
+ case $ax_cv_lcov_version in
+ ""|invalid)
+ lcov_msg="You must have one of the following versions of lcov: $lcov_version_list (found: $lcov_version)."
+ as_fn_error $? "$lcov_msg" "$LINENO" 5
+ LCOV="exit 0;"
+ ;;
+ esac
+
+ if test -z "$GENHTML" ; then :
+
+ as_fn_error $? "Could not find genhtml from the lcov package" "$LINENO" 5
+
+fi
+
+ CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
+ CODE_COVERAGE_LDFLAGS="-lgcov"
+
+
+
+
+fi
+
+CODE_COVERAGE_RULES='
+# Code coverage
+#
+# Optional:
+# - CODE_COVERAGE_DIRECTORY: Top-level directory for code coverage reporting.
+# (Default: $(top_builddir))
+# - CODE_COVERAGE_OUTPUT_FILE: Filename and path for the .info file generated
+# by lcov for code coverage. (Default:
+# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info)
+# - CODE_COVERAGE_OUTPUT_DIRECTORY: Directory for generated code coverage
+# reports to be created. (Default:
+# $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage)
+# - CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH: --gcov-tool pathtogcov
+# - CODE_COVERAGE_LCOV_OPTIONS_DEFAULT: Extra options to pass to the lcov instance.
+# (Default: $CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)
+# - CODE_COVERAGE_LCOV_OPTIONS: Extra options to pass to the lcov instance.
+# (Default: $CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
+# - CODE_COVERAGE_GENHTML_OPTIONS: Extra options to pass to the genhtml
+# instance. (Default: empty)
+# - CODE_COVERAGE_IGNORE_PATTERN: Extra glob pattern of files to ignore
+#
+# The generated report will be titled using the $(PACKAGE_NAME) and
+# $(PACKAGE_VERSION). In order to add the current git hash to the title,
+# use the git-version-gen script, available online.
+
+# Optional variables
+CODE_COVERAGE_DIRECTORY ?= $(top_builddir)
+CODE_COVERAGE_OUTPUT_FILE ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage.info
+CODE_COVERAGE_OUTPUT_DIRECTORY ?= $(PACKAGE_NAME)-$(PACKAGE_VERSION)-coverage
+CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH ?= --gcov-tool "$(GCOV)"
+CODE_COVERAGE_LCOV_OPTIONS_DEFAULT ?= $(CODE_COVERAGE_LCOV_OPTIONS_GCOVPATH)
+CODE_COVERAGE_LCOV_OPTIONS ?= $(CODE_COVERAGE_LCOV_OPTIONS_DEFAULT)
+CODE_COVERAGE_GENHTML_OPTIONS ?=
+CODE_COVERAGE_IGNORE_PATTERN ?=
+
+code_coverage_quiet = $(code_coverage_quiet_$(V))
+code_coverage_quiet_ = $(code_coverage_quiet_$(AM_DEFAULT_VERBOSITY))
+code_coverage_quiet_0 = --quiet
+
+# Use recursive makes in order to ignore errors during check
+check-code-coverage:
+ifeq ($(CODE_COVERAGE_ENABLED),yes)
+ -$(MAKE) $(AM_MAKEFLAGS) -k check
+ $(MAKE) $(AM_MAKEFLAGS) code-coverage-capture
+else
+ @echo "Need to reconfigure with --enable-code-coverage"
+endif
+
+# Capture code coverage data
+code-coverage-capture: code-coverage-capture-hook
+ifeq ($(CODE_COVERAGE_ENABLED),yes)
+ $(LCOV) $(code_coverage_quiet) --directory $(CODE_COVERAGE_DIRECTORY) --capture --output-file "$(CODE_COVERAGE_OUTPUT_FILE).tmp" --test-name "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" --no-checksum --compat-libtool $(CODE_COVERAGE_LCOV_OPTIONS)
+ $(LCOV) $(code_coverage_quiet) --directory $(CODE_COVERAGE_DIRECTORY) --remove "$(CODE_COVERAGE_OUTPUT_FILE).tmp" "/tmp/*" $(CODE_COVERAGE_IGNORE_PATTERN) --output-file "$(CODE_COVERAGE_OUTPUT_FILE)"
+ -@rm -f $(CODE_COVERAGE_OUTPUT_FILE).tmp
+ LANG=C $(GENHTML) $(code_coverage_quiet) --prefix $(CODE_COVERAGE_DIRECTORY) --output-directory "$(CODE_COVERAGE_OUTPUT_DIRECTORY)" --title "$(PACKAGE_NAME)-$(PACKAGE_VERSION) Code Coverage" --legend --show-details "$(CODE_COVERAGE_OUTPUT_FILE)" $(CODE_COVERAGE_GENHTML_OPTIONS)
+ @echo "file://$(abs_builddir)/$(CODE_COVERAGE_OUTPUT_DIRECTORY)/index.html"
+else
+ @echo "Need to reconfigure with --enable-code-coverage"
+endif
+
+# Hook rule executed before code-coverage-capture, overridable by the user
+code-coverage-capture-hook:
+
+ifeq ($(CODE_COVERAGE_ENABLED),yes)
+clean: code-coverage-clean
+code-coverage-clean:
+ -$(LCOV) --directory $(top_builddir) -z
+ -rm -rf $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_FILE).tmp $(CODE_COVERAGE_OUTPUT_DIRECTORY)
+ -find . -name "*.gcda" -o -name "*.gcov" -delete
+endif
+
+GITIGNOREFILES ?=
+GITIGNOREFILES += $(CODE_COVERAGE_OUTPUT_FILE) $(CODE_COVERAGE_OUTPUT_DIRECTORY)
+
+DISTCHECK_CONFIGURE_FLAGS ?=
+DISTCHECK_CONFIGURE_FLAGS += --disable-code-coverage
+
+.PHONY: check-code-coverage code-coverage-capture code-coverage-capture-hook code-coverage-clean
+'
+
+
+
+
+
+
+
+
+
+ # Check whether --enable-introspection was given.
+if test "${enable_introspection+set}" = set; then :
+ enableval=$enable_introspection;
+else
+ enable_introspection=auto
+fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gobject-introspection" >&5
+$as_echo_n "checking for gobject-introspection... " >&6; }
+
+ case $enable_introspection in #(
+ no) :
+ found_introspection="no (disabled, use --enable-introspection to enable)"
+ ;; #(
+ yes) :
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ :
+else
+ as_fn_error $? "gobject-introspection-1.0 is not installed" "$LINENO" 5
+fi
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0 >= 0.9.6\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0 >= 0.9.6") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ found_introspection=yes
+else
+ as_fn_error $? "You need to have gobject-introspection >= 0.9.6 installed to build ModemManager" "$LINENO" 5
+fi
+ ;; #(
+ auto) :
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0 >= 0.9.6\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0 >= 0.9.6") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ found_introspection=yes
+else
+ found_introspection=no
+fi
+ enable_introspection=$found_introspection
+ ;; #(
+ *) :
+ as_fn_error $? "invalid argument passed to --enable-introspection, should be one of [no/auto/yes]" "$LINENO" 5
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $found_introspection" >&5
+$as_echo "$found_introspection" >&6; }
+
+ INTROSPECTION_SCANNER=
+ INTROSPECTION_COMPILER=
+ INTROSPECTION_GENERATE=
+ INTROSPECTION_GIRDIR=
+ INTROSPECTION_TYPELIBDIR=
+ if test "x$found_introspection" = "xyes"; then
+ INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
+ INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
+ INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
+ INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
+ INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
+ INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+ INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+ INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
+ fi
+
+
+
+
+
+
+
+
+
+ if test "x$found_introspection" = "xyes"; then
+ HAVE_INTROSPECTION_TRUE=
+ HAVE_INTROSPECTION_FALSE='#'
+else
+ HAVE_INTROSPECTION_TRUE='#'
+ HAVE_INTROSPECTION_FALSE=
+fi
+
+
+
+
+
+ if test "x" != "xyes"; then :
+
+
+
+fi
+
+ # Check whether --enable-vala was given.
+if test "${enable_vala+set}" = set; then :
+ enableval=$enable_vala;
+else
+
+ if test "x" = "x"; then :
+
+ enable_vala=auto
+
+else
+
+ enable_vala=
+
+fi
+
+fi
+
+
+ case $enable_vala in #(
+ no) :
+ enable_vala=no ;; #(
+ yes) :
+
+ if test "x" != "xyes" -a "x$found_introspection" != "xyes"; then :
+
+ as_fn_error $? "Vala bindings require GObject Introspection" "$LINENO" 5
+
+fi
+ ;; #(
+ auto) :
+
+ if test "x" != "xyes" -a "x$found_introspection" != "xyes"; then :
+
+ enable_vala=no
+
+fi
+ ;; #(
+ *) :
+
+ as_fn_error $? "Invalid argument passed to --enable-vala, should be one of [no/auto/yes]" "$LINENO" 5
+ ;;
+esac
+
+ if test "x" = "x"; then :
+
+ vapigen_pkg_name=vapigen
+
+else
+
+ vapigen_pkg_name=vapigen-
+
+fi
+ if test "x0.18" = "x"; then :
+
+ vapigen_pkg="$vapigen_pkg_name"
+
+else
+
+ vapigen_pkg="$vapigen_pkg_name >= 0.18"
+
+fi
+
+
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+ ac_pt_PKG_CONFIG=$PKG_CONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKG_CONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKG_CONFIG" = x; then
+ PKG_CONFIG=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKG_CONFIG=$ac_pt_PKG_CONFIG
+ fi
+else
+ PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+ _pkg_min_version=0.9.0
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ PKG_CONFIG=""
+ fi
+fi
+
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$vapigen_pkg\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$vapigen_pkg") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+
+ if test "$enable_vala" = "auto"; then :
+
+ enable_vala=yes
+
+fi
+
+else
+
+ case $enable_vala in #(
+ yes) :
+
+ as_fn_error $? "$vapigen_pkg not found" "$LINENO" 5
+ ;; #(
+ auto) :
+
+ enable_vala=no
+ ;; #(
+ *) :
+ ;;
+esac
+
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for vapigen" >&5
+$as_echo_n "checking for vapigen... " >&6; }
+
+ case $enable_vala in #(
+ yes) :
+
+ VAPIGEN=`$PKG_CONFIG --variable=vapigen $vapigen_pkg_name`
+ VAPIGEN_MAKEFILE=`$PKG_CONFIG --variable=datadir $vapigen_pkg_name`/vala/Makefile.vapigen
+ if test "x" = "x"; then :
+
+ VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir $vapigen_pkg_name`
+
+else
+
+ VAPIGEN_VAPIDIR=`$PKG_CONFIG --variable=vapidir_versioned $vapigen_pkg_name`
+
+fi
+ ;; #(
+ *) :
+ ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_vala" >&5
+$as_echo "$enable_vala" >&6; }
+
+
+
+
+
+ if test "x$enable_vala" = "xyes"; then
+ ENABLE_VAPIGEN_TRUE=
+ ENABLE_VAPIGEN_FALSE='#'
+else
+ ENABLE_VAPIGEN_TRUE='#'
+ ENABLE_VAPIGEN_FALSE=
+fi
+
+
+if test "x$enable_vala" = "xyes" -a ! -f "$VAPIGEN_MAKEFILE"; then
+ as_fn_error $? "Vala bindings enabled but Makefile.vapigen not found. Install vala-devel, or pass --disable-vala" "$LINENO" 5
+fi
+
+
+
+# Check whether --with-dbus-sys-dir was given.
+if test "${with_dbus_sys_dir+set}" = set; then :
+ withval=$with_dbus_sys_dir;
+fi
+
+if test -n "$with_dbus_sys_dir" ; then
+ DBUS_SYS_DIR="$with_dbus_sys_dir"
+else
+ DBUS_SYS_DIR="${sysconfdir}/dbus-1/system.d"
+fi
+
+
+
+# Check whether --with-udev-base-dir was given.
+if test "${with_udev_base_dir+set}" = set; then :
+ withval=$with_udev_base_dir;
+fi
+
+if test -n "$with_udev_base_dir" ; then
+ UDEV_BASE_DIR="$with_udev_base_dir"
+else
+ UDEV_BASE_DIR="/lib/udev"
+fi
+
+
+
+# Check whether --with-systemdsystemunitdir was given.
+if test "${with_systemdsystemunitdir+set}" = set; then :
+ withval=$with_systemdsystemunitdir;
+else
+ with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)
+fi
+
+if test "x$with_systemdsystemunitdir" != xno; then
+ SYSTEMD_UNIT_DIR=$with_systemdsystemunitdir
+
+fi
+ if test -n "$SYSTEMD_UNIT_DIR" -a "$SYSTEMD_UNIT_DIR" != xno ; then
+ HAVE_SYSTEMD_TRUE=
+ HAVE_SYSTEMD_FALSE='#'
+else
+ HAVE_SYSTEMD_TRUE='#'
+ HAVE_SYSTEMD_FALSE=
+fi
+
+
+
+GUDEV_VERSION=147
+
+
+# Check whether --with-udev was given.
+if test "${with_udev+set}" = set; then :
+ withval=$with_udev;
+else
+ with_udev=yes
+fi
+
+ if test "x$with_udev" = "xyes"; then
+ WITH_UDEV_TRUE=
+ WITH_UDEV_FALSE='#'
+else
+ WITH_UDEV_TRUE='#'
+ WITH_UDEV_FALSE=
+fi
+
+case $with_udev in
+ yes)
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUDEV" >&5
+$as_echo_n "checking for GUDEV... " >&6; }
+
+if test -n "$GUDEV_CFLAGS"; then
+ pkg_cv_GUDEV_CFLAGS="$GUDEV_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gudev-1.0 >= \$GUDEV_VERSION\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gudev-1.0 >= $GUDEV_VERSION") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GUDEV_CFLAGS=`$PKG_CONFIG --cflags "gudev-1.0 >= $GUDEV_VERSION" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$GUDEV_LIBS"; then
+ pkg_cv_GUDEV_LIBS="$GUDEV_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gudev-1.0 >= \$GUDEV_VERSION\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "gudev-1.0 >= $GUDEV_VERSION") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_GUDEV_LIBS=`$PKG_CONFIG --libs "gudev-1.0 >= $GUDEV_VERSION" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ GUDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gudev-1.0 >= $GUDEV_VERSION" 2>&1`
+ else
+ GUDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gudev-1.0 >= $GUDEV_VERSION" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GUDEV_PKG_ERRORS" >&5
+
+ have_gudev=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_gudev=no
+else
+ GUDEV_CFLAGS=$pkg_cv_GUDEV_CFLAGS
+ GUDEV_LIBS=$pkg_cv_GUDEV_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_gudev=yes
+fi
+ if test "x$have_gudev" = "xno"; then
+ as_fn_error $? "Couldn't find gudev >= $GUDEV_VERSION. Install it, or otherwise configure using --without-udev to disable udev support." "$LINENO" 5
+ else
+
+$as_echo "#define WITH_UDEV 1" >>confdefs.h
+
+
+
+ fi
+ ;;
+ *)
+ with_udev=no
+ ;;
+esac
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBSYSTEMD" >&5
+$as_echo_n "checking for LIBSYSTEMD... " >&6; }
+
+if test -n "$LIBSYSTEMD_CFLAGS"; then
+ pkg_cv_LIBSYSTEMD_CFLAGS="$LIBSYSTEMD_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBSYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$LIBSYSTEMD_LIBS"; then
+ pkg_cv_LIBSYSTEMD_LIBS="$LIBSYSTEMD_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBSYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ LIBSYSTEMD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
+ else
+ LIBSYSTEMD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd >= 209" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LIBSYSTEMD_PKG_ERRORS" >&5
+
+ have_libsystemd=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_libsystemd=no
+else
+ LIBSYSTEMD_CFLAGS=$pkg_cv_LIBSYSTEMD_CFLAGS
+ LIBSYSTEMD_LIBS=$pkg_cv_LIBSYSTEMD_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_libsystemd=yes
+fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBSYSTEMD_LOGIN" >&5
+$as_echo_n "checking for LIBSYSTEMD_LOGIN... " >&6; }
+
+if test -n "$LIBSYSTEMD_LOGIN_CFLAGS"; then
+ pkg_cv_LIBSYSTEMD_LOGIN_CFLAGS="$LIBSYSTEMD_LOGIN_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-login >= 183\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libsystemd-login >= 183") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBSYSTEMD_LOGIN_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-login >= 183" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$LIBSYSTEMD_LOGIN_LIBS"; then
+ pkg_cv_LIBSYSTEMD_LOGIN_LIBS="$LIBSYSTEMD_LOGIN_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-login >= 183\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libsystemd-login >= 183") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_LIBSYSTEMD_LOGIN_LIBS=`$PKG_CONFIG --libs "libsystemd-login >= 183" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ LIBSYSTEMD_LOGIN_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libsystemd-login >= 183" 2>&1`
+ else
+ LIBSYSTEMD_LOGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libsystemd-login >= 183" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$LIBSYSTEMD_LOGIN_PKG_ERRORS" >&5
+
+ have_libsystemd_login=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_libsystemd_login=no
+else
+ LIBSYSTEMD_LOGIN_CFLAGS=$pkg_cv_LIBSYSTEMD_LOGIN_CFLAGS
+ LIBSYSTEMD_LOGIN_LIBS=$pkg_cv_LIBSYSTEMD_LOGIN_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_libsystemd_login=yes
+fi
+
+# Check whether --with-systemd-suspend-resume was given.
+if test "${with_systemd_suspend_resume+set}" = set; then :
+ withval=$with_systemd_suspend_resume;
+else
+ with_systemd_suspend_resume=auto
+fi
+
+
+if test "x$with_systemd_suspend_resume" = "xauto"; then
+ if test "x$have_libsystemd" = "xyes" || test "x$have_libsystemd_login" = "xyes"; then
+ with_systemd_suspend_resume=yes
+ else
+ with_systemd_suspend_resume=no
+ fi
+fi
+
+case $with_systemd_suspend_resume in
+ yes)
+ if test "x$have_libsystemd" = "xno" && test "x$have_libsystemd_login" = "xno"; then
+ as_fn_error $? "libsystemd or libsystemd-login development headers are required" "$LINENO" 5
+ fi
+
+$as_echo "#define WITH_SYSTEMD_SUSPEND_RESUME 1" >>confdefs.h
+
+ ;;
+ *)
+ with_systemd_suspend_resume=no
+ ;;
+esac
+
+ if test "x$with_systemd_suspend_resume" = "xyes"; then
+ WITH_SYSTEMD_SUSPEND_RESUME_TRUE=
+ WITH_SYSTEMD_SUSPEND_RESUME_FALSE='#'
+else
+ WITH_SYSTEMD_SUSPEND_RESUME_TRUE='#'
+ WITH_SYSTEMD_SUSPEND_RESUME_FALSE=
+fi
+
+
+
+
+# Check whether --with-systemd-journal was given.
+if test "${with_systemd_journal+set}" = set; then :
+ withval=$with_systemd_journal;
+else
+ with_systemd_journal=auto
+fi
+
+
+if test "x$with_systemd_journal" = "xauto"; then
+ if test "x$have_libsystemd" = "xyes"; then
+ with_systemd_journal=yes
+ else
+ with_systemd_journal=no
+ fi
+fi
+
+case $with_systemd_journal in
+ yes)
+ if test "x$have_libsystemd" = "xno"; then
+ as_fn_error $? "libsystemd development headers are required" "$LINENO" 5
+ fi
+
+$as_echo "#define WITH_SYSTEMD_JOURNAL 1" >>confdefs.h
+
+ ;;
+ *)
+ with_systemd_journal=no
+ ;;
+esac
+
+ if test "x$with_systemd_journal" = "xyes"; then
+ WITH_SYSTEMD_JOURNAL_TRUE=
+ WITH_SYSTEMD_JOURNAL_FALSE='#'
+else
+ WITH_SYSTEMD_JOURNAL_TRUE='#'
+ WITH_SYSTEMD_JOURNAL_FALSE=
+fi
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POLKIT" >&5
+$as_echo_n "checking for POLKIT... " >&6; }
+
+if test -n "$POLKIT_CFLAGS"; then
+ pkg_cv_POLKIT_CFLAGS="$POLKIT_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"polkit-gobject-1 >= 0.97\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "polkit-gobject-1 >= 0.97") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_POLKIT_CFLAGS=`$PKG_CONFIG --cflags "polkit-gobject-1 >= 0.97" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$POLKIT_LIBS"; then
+ pkg_cv_POLKIT_LIBS="$POLKIT_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"polkit-gobject-1 >= 0.97\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "polkit-gobject-1 >= 0.97") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_POLKIT_LIBS=`$PKG_CONFIG --libs "polkit-gobject-1 >= 0.97" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ POLKIT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "polkit-gobject-1 >= 0.97" 2>&1`
+ else
+ POLKIT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "polkit-gobject-1 >= 0.97" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$POLKIT_PKG_ERRORS" >&5
+
+ have_polkit=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_polkit=no
+else
+ POLKIT_CFLAGS=$pkg_cv_POLKIT_CFLAGS
+ POLKIT_LIBS=$pkg_cv_POLKIT_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_polkit=yes
+fi
+
+# Check whether --with-polkit was given.
+if test "${with_polkit+set}" = set; then :
+ withval=$with_polkit;
+else
+ with_polkit=auto
+fi
+
+
+if test "x$with_polkit" = "xauto"; then
+ if test "x$have_polkit" = "xno"; then
+ with_polkit="no"
+ else
+ with_polkit="strict"
+ fi
+elif test "x$with_polkit" = "xyes"; then
+ with_polkit=strict
+fi
+
+if test "x$with_polkit" != "xno"; then
+ if test "x$have_polkit" = "xno"; then
+ as_fn_error $? "PolicyKit development headers are required" "$LINENO" 5
+ fi
+
+ case "x$with_polkit" in
+ "xpermissive")
+ MM_DEFAULT_USER_POLICY="yes"
+ ;;
+ "xstrict")
+ MM_DEFAULT_USER_POLICY="auth_self_keep"
+ ;;
+ *)
+ as_fn_error $? "Wrong value for --with-polkit: $with_polkit" "$LINENO" 5
+ ;;
+ esac
+
+
+$as_echo "#define WITH_POLKIT 1" >>confdefs.h
+
+
+
+
+fi
+
+ if test "x$with_polkit" != "xno"; then
+ WITH_POLKIT_TRUE=
+ WITH_POLKIT_FALSE='#'
+else
+ WITH_POLKIT_TRUE='#'
+ WITH_POLKIT_FALSE=
+fi
+
+
+
+LIBMBIM_VERSION=1.18.0
+
+
+# Check whether --with-mbim was given.
+if test "${with_mbim+set}" = set; then :
+ withval=$with_mbim;
+else
+ with_mbim=yes
+fi
+
+ if test "x$with_mbim" = "xyes"; then
+ WITH_MBIM_TRUE=
+ WITH_MBIM_FALSE='#'
+else
+ WITH_MBIM_TRUE='#'
+ WITH_MBIM_FALSE=
+fi
+
+case $with_mbim in
+ yes)
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MBIM" >&5
+$as_echo_n "checking for MBIM... " >&6; }
+
+if test -n "$MBIM_CFLAGS"; then
+ pkg_cv_MBIM_CFLAGS="$MBIM_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mbim-glib >= \$LIBMBIM_VERSION\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "mbim-glib >= $LIBMBIM_VERSION") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_MBIM_CFLAGS=`$PKG_CONFIG --cflags "mbim-glib >= $LIBMBIM_VERSION" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$MBIM_LIBS"; then
+ pkg_cv_MBIM_LIBS="$MBIM_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mbim-glib >= \$LIBMBIM_VERSION\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "mbim-glib >= $LIBMBIM_VERSION") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_MBIM_LIBS=`$PKG_CONFIG --libs "mbim-glib >= $LIBMBIM_VERSION" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ MBIM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "mbim-glib >= $LIBMBIM_VERSION" 2>&1`
+ else
+ MBIM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "mbim-glib >= $LIBMBIM_VERSION" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$MBIM_PKG_ERRORS" >&5
+
+ have_mbim=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_mbim=no
+else
+ MBIM_CFLAGS=$pkg_cv_MBIM_CFLAGS
+ MBIM_LIBS=$pkg_cv_MBIM_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_mbim=yes
+fi
+ if test "x$have_mbim" = "xno"; then
+ as_fn_error $? "Couldn't find libmbim-glib >= $LIBMBIM_VERSION. Install it, or otherwise configure using --without-mbim to disable MBIM support." "$LINENO" 5
+ else
+
+$as_echo "#define WITH_MBIM 1" >>confdefs.h
+
+
+
+ fi
+ ;;
+ *)
+ with_mbim=no
+ ;;
+esac
+
+
+LIBQMI_VERSION=1.22.0
+
+
+# Check whether --with-qmi was given.
+if test "${with_qmi+set}" = set; then :
+ withval=$with_qmi;
+else
+ with_qmi=yes
+fi
+
+ if test "x$with_qmi" = "xyes"; then
+ WITH_QMI_TRUE=
+ WITH_QMI_FALSE='#'
+else
+ WITH_QMI_TRUE='#'
+ WITH_QMI_FALSE=
+fi
+
+case $with_qmi in
+ yes)
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for QMI" >&5
+$as_echo_n "checking for QMI... " >&6; }
+
+if test -n "$QMI_CFLAGS"; then
+ pkg_cv_QMI_CFLAGS="$QMI_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"qmi-glib >= \$LIBQMI_VERSION\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "qmi-glib >= $LIBQMI_VERSION") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_QMI_CFLAGS=`$PKG_CONFIG --cflags "qmi-glib >= $LIBQMI_VERSION" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$QMI_LIBS"; then
+ pkg_cv_QMI_LIBS="$QMI_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"qmi-glib >= \$LIBQMI_VERSION\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "qmi-glib >= $LIBQMI_VERSION") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_QMI_LIBS=`$PKG_CONFIG --libs "qmi-glib >= $LIBQMI_VERSION" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ QMI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "qmi-glib >= $LIBQMI_VERSION" 2>&1`
+ else
+ QMI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "qmi-glib >= $LIBQMI_VERSION" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$QMI_PKG_ERRORS" >&5
+
+ have_qmi=no
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ have_qmi=no
+else
+ QMI_CFLAGS=$pkg_cv_QMI_CFLAGS
+ QMI_LIBS=$pkg_cv_QMI_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ have_qmi=yes
+fi
+ if test "x$have_qmi" = "xno"; then
+ as_fn_error $? "Couldn't find libqmi-glib >= $LIBQMI_VERSION. Install it, or otherwise configure using --without-qmi to disable QMI support." "$LINENO" 5
+ else
+
+$as_echo "#define WITH_QMI 1" >>confdefs.h
+
+
+
+ fi
+ ;;
+ *)
+ with_qmi=no
+ ;;
+esac
+
+# Check whether --enable-more-warnings was given.
+if test "${enable_more_warnings+set}" = set; then :
+ enableval=$enable_more_warnings; set_more_warnings="$enableval"
+else
+ set_more_warnings=error
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for more warnings" >&5
+$as_echo_n "checking for more warnings... " >&6; }
+if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ CFLAGS="-Wall -std=gnu89 $CFLAGS"
+
+ for option in -Wmissing-declarations -Wmissing-prototypes \
+ -Wdeclaration-after-statement -Wstrict-prototypes \
+ -Wno-unused-parameter -Wno-sign-compare \
+ -Wno-deprecated-declarations \
+ -Wno-unused-but-set-variable -Wformat-security; do
+ SAVE_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $option"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc understands $option" >&5
+$as_echo_n "checking whether gcc understands $option... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ has_option=yes
+else
+ has_option=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $has_option = no; then
+ CFLAGS="$SAVE_CFLAGS"
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_option" >&5
+$as_echo "$has_option" >&6; }
+ unset has_option
+ unset SAVE_CFLAGS
+ done
+ unset option
+ if test "x$set_more_warnings" = xerror; then
+ CFLAGS="$CFLAGS -Werror"
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+# Check whether --with-dist-version was given.
+if test "${with_dist_version+set}" = set; then :
+ withval=$with_dist_version; ac_distver=$withval
+else
+ ac_distver=""
+fi
+
+if ! test x"$ac_distver" = x""; then
+
+cat >>confdefs.h <<_ACEOF
+#define MM_DIST_VERSION "$ac_distver"
+_ACEOF
+
+fi
+
+
+ if test "yes" = "no"; then
+ QCDM_STANDALONE_TRUE=
+ QCDM_STANDALONE_FALSE='#'
+else
+ QCDM_STANDALONE_TRUE='#'
+ QCDM_STANDALONE_FALSE=
+fi
+
+ if test "yes" = "no"; then
+ WMC_STANDALONE_TRUE=
+ WMC_STANDALONE_FALSE='#'
+else
+ WMC_STANDALONE_TRUE='#'
+ WMC_STANDALONE_FALSE=
+fi
+
+
+
+ac_config_files="$ac_config_files Makefile data/Makefile data/ModemManager.pc data/mm-glib.pc data/tests/Makefile data/tests/org.freedesktop.ModemManager1.service include/Makefile include/ModemManager-version.h build-aux/Makefile libqcdm/Makefile libqcdm/src/Makefile libqcdm/tests/Makefile libwmc/Makefile libwmc/src/Makefile libwmc/tests/Makefile src/Makefile src/tests/Makefile plugins/Makefile uml290/Makefile test/Makefile introspection/Makefile introspection/tests/Makefile po/Makefile.in docs/Makefile docs/man/Makefile docs/reference/Makefile docs/reference/api/Makefile docs/reference/api/version.xml docs/reference/libmm-glib/Makefile docs/reference/libmm-glib/version.xml libmm-glib/Makefile libmm-glib/generated/Makefile libmm-glib/generated/tests/Makefile libmm-glib/tests/Makefile vapi/Makefile cli/Makefile examples/Makefile examples/modem-watcher-python/Makefile examples/modem-watcher-javascript/Makefile examples/sms-python/Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+ as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_GTK_DOC_TRUE}" && test -z "${HAVE_GTK_DOC_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_GTK_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GTK_DOC_BUILD_HTML_TRUE}" && test -z "${GTK_DOC_BUILD_HTML_FALSE}"; then
+ as_fn_error $? "conditional \"GTK_DOC_BUILD_HTML\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GTK_DOC_BUILD_PDF_TRUE}" && test -z "${GTK_DOC_BUILD_PDF_FALSE}"; then
+ as_fn_error $? "conditional \"GTK_DOC_BUILD_PDF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then
+ as_fn_error $? "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${GTK_DOC_USE_REBASE_TRUE}" && test -z "${GTK_DOC_USE_REBASE_FALSE}"; then
+ as_fn_error $? "conditional \"GTK_DOC_USE_REBASE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${CODE_COVERAGE_ENABLED_TRUE}" && test -z "${CODE_COVERAGE_ENABLED_FALSE}"; then
+ as_fn_error $? "conditional \"CODE_COVERAGE_ENABLED\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_INTROSPECTION_TRUE}" && test -z "${HAVE_INTROSPECTION_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_INTROSPECTION\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ENABLE_VAPIGEN_TRUE}" && test -z "${ENABLE_VAPIGEN_FALSE}"; then
+ as_fn_error $? "conditional \"ENABLE_VAPIGEN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HAVE_SYSTEMD_TRUE}" && test -z "${HAVE_SYSTEMD_FALSE}"; then
+ as_fn_error $? "conditional \"HAVE_SYSTEMD\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_UDEV_TRUE}" && test -z "${WITH_UDEV_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_UDEV\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_SYSTEMD_SUSPEND_RESUME_TRUE}" && test -z "${WITH_SYSTEMD_SUSPEND_RESUME_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_SYSTEMD_SUSPEND_RESUME\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_SYSTEMD_JOURNAL_TRUE}" && test -z "${WITH_SYSTEMD_JOURNAL_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_SYSTEMD_JOURNAL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_POLKIT_TRUE}" && test -z "${WITH_POLKIT_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_POLKIT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_MBIM_TRUE}" && test -z "${WITH_MBIM_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_MBIM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WITH_QMI_TRUE}" && test -z "${WITH_QMI_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_QMI\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${QCDM_STANDALONE_TRUE}" && test -z "${QCDM_STANDALONE_FALSE}"; then
+ as_fn_error $? "conditional \"QCDM_STANDALONE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WMC_STANDALONE_TRUE}" && test -z "${WMC_STANDALONE_FALSE}"; then
+ as_fn_error $? "conditional \"WMC_STANDALONE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by ModemManager $as_me 1.10.0, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <modemmanager-devel@lists.freedesktop.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+ModemManager config.status 1.10.0
+configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
+enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
+SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
+ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
+host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
+host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
+host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
+build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
+build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
+build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
+SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
+Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
+GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
+EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
+FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
+LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
+NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
+LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
+exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
+AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
+lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
+STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
+lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
+CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
+compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
+GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
+objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
+need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
+LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
+libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
+need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
+version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
+install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
+striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in SHELL \
+ECHO \
+PATH_SEPARATOR \
+SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+OBJDUMP \
+deplibs_check_method \
+file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
+AR \
+archiver_list_spec \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
+nm_file_list_spec \
+lt_cv_truncate_bin \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_pic \
+lt_prog_compiler_wl \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+MANIFEST_TOOL \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_separator \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+install_override_mode \
+finish_eval \
+old_striplib \
+striplib; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postlink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path; do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[\\\\\\\`\\"\\\$]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+ac_aux_dir='$ac_aux_dir'
+
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+
+
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ RM='$RM'
+ ofile='$ofile'
+
+
+
+# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake < 1.5.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+ "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
+ "data/ModemManager.pc") CONFIG_FILES="$CONFIG_FILES data/ModemManager.pc" ;;
+ "data/mm-glib.pc") CONFIG_FILES="$CONFIG_FILES data/mm-glib.pc" ;;
+ "data/tests/Makefile") CONFIG_FILES="$CONFIG_FILES data/tests/Makefile" ;;
+ "data/tests/org.freedesktop.ModemManager1.service") CONFIG_FILES="$CONFIG_FILES data/tests/org.freedesktop.ModemManager1.service" ;;
+ "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
+ "include/ModemManager-version.h") CONFIG_FILES="$CONFIG_FILES include/ModemManager-version.h" ;;
+ "build-aux/Makefile") CONFIG_FILES="$CONFIG_FILES build-aux/Makefile" ;;
+ "libqcdm/Makefile") CONFIG_FILES="$CONFIG_FILES libqcdm/Makefile" ;;
+ "libqcdm/src/Makefile") CONFIG_FILES="$CONFIG_FILES libqcdm/src/Makefile" ;;
+ "libqcdm/tests/Makefile") CONFIG_FILES="$CONFIG_FILES libqcdm/tests/Makefile" ;;
+ "libwmc/Makefile") CONFIG_FILES="$CONFIG_FILES libwmc/Makefile" ;;
+ "libwmc/src/Makefile") CONFIG_FILES="$CONFIG_FILES libwmc/src/Makefile" ;;
+ "libwmc/tests/Makefile") CONFIG_FILES="$CONFIG_FILES libwmc/tests/Makefile" ;;
+ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;;
+ "plugins/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/Makefile" ;;
+ "uml290/Makefile") CONFIG_FILES="$CONFIG_FILES uml290/Makefile" ;;
+ "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+ "introspection/Makefile") CONFIG_FILES="$CONFIG_FILES introspection/Makefile" ;;
+ "introspection/tests/Makefile") CONFIG_FILES="$CONFIG_FILES introspection/tests/Makefile" ;;
+ "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
+ "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
+ "docs/man/Makefile") CONFIG_FILES="$CONFIG_FILES docs/man/Makefile" ;;
+ "docs/reference/Makefile") CONFIG_FILES="$CONFIG_FILES docs/reference/Makefile" ;;
+ "docs/reference/api/Makefile") CONFIG_FILES="$CONFIG_FILES docs/reference/api/Makefile" ;;
+ "docs/reference/api/version.xml") CONFIG_FILES="$CONFIG_FILES docs/reference/api/version.xml" ;;
+ "docs/reference/libmm-glib/Makefile") CONFIG_FILES="$CONFIG_FILES docs/reference/libmm-glib/Makefile" ;;
+ "docs/reference/libmm-glib/version.xml") CONFIG_FILES="$CONFIG_FILES docs/reference/libmm-glib/version.xml" ;;
+ "libmm-glib/Makefile") CONFIG_FILES="$CONFIG_FILES libmm-glib/Makefile" ;;
+ "libmm-glib/generated/Makefile") CONFIG_FILES="$CONFIG_FILES libmm-glib/generated/Makefile" ;;
+ "libmm-glib/generated/tests/Makefile") CONFIG_FILES="$CONFIG_FILES libmm-glib/generated/tests/Makefile" ;;
+ "libmm-glib/tests/Makefile") CONFIG_FILES="$CONFIG_FILES libmm-glib/tests/Makefile" ;;
+ "vapi/Makefile") CONFIG_FILES="$CONFIG_FILES vapi/Makefile" ;;
+ "cli/Makefile") CONFIG_FILES="$CONFIG_FILES cli/Makefile" ;;
+ "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;;
+ "examples/modem-watcher-python/Makefile") CONFIG_FILES="$CONFIG_FILES examples/modem-watcher-python/Makefile" ;;
+ "examples/modem-watcher-javascript/Makefile") CONFIG_FILES="$CONFIG_FILES examples/modem-watcher-javascript/Makefile" ;;
+ "examples/sms-python/Makefile") CONFIG_FILES="$CONFIG_FILES examples/sms-python/Makefile" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ # TODO: see whether this extra hack can be removed once we start
+ # requiring Autoconf 2.70 or later.
+ case $CONFIG_FILES in #(
+ *\'*) :
+ eval set x "$CONFIG_FILES" ;; #(
+ *) :
+ set x $CONFIG_FILES ;; #(
+ *) :
+ ;;
+esac
+ shift
+ # Used to flag and report bootstrapping failures.
+ am_rc=0
+ for am_mf
+ do
+ # Strip MF so we end up with the name of the file.
+ am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile which includes
+ # dependency-tracking related rules and includes.
+ # Grep'ing the whole file directly is not great: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
+ || continue
+ am_dirpart=`$as_dirname -- "$am_mf" ||
+$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$am_mf" : 'X\(//\)[^/]' \| \
+ X"$am_mf" : 'X\(//\)$' \| \
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$am_mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ am_filepart=`$as_basename -- "$am_mf" ||
+$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$am_mf" : 'X\(//\)$' \| \
+ X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$am_mf" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { echo "$as_me:$LINENO: cd "$am_dirpart" \
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
+ | $MAKE -f - am--depfiles" >&5
+ (cd "$am_dirpart" \
+ && sed -e '/# am--include-marker/d' "$am_filepart" \
+ | $MAKE -f - am--depfiles) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } || am_rc=$?
+ done
+ if test $am_rc -ne 0; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Something went wrong bootstrapping makefile fragments
+ for automatic dependency tracking. Try re-running configure with the
+ '--disable-dependency-tracking' option to at least be able to build
+ the package (albeit without support for automatic dependency tracking).
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ { am_dirpart=; unset am_dirpart;}
+ { am_filepart=; unset am_filepart;}
+ { am_mf=; unset am_mf;}
+ { am_rc=; unset am_rc;}
+ rm -f conftest-deps.mk
+}
+ ;;
+ "libtool":C)
+
+ # See if we are running on zsh, and set the options that allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile=${ofile}T
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags=''
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that protects backslashes.
+ECHO=$lt_ECHO
+
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
+# An object symbol dumper.
+OBJDUMP=$lt_OBJDUMP
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method = "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
+# The archiver.
+AR=$lt_AR
+
+# Flags to create an archive (by configure).
+lt_ar_flags=$lt_ar_flags
+
+# Flags to create an archive.
+AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"}
+
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Whether to use a lock for old archive extraction.
+lock_old_archive_extraction=$lock_old_archive_extraction
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+
+# The root where to search for dependent libraries,and where our libraries should be installed.
+lt_sysroot=$lt_sysroot
+
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names. First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Permission mode override for installation of shared libraries.
+install_override_mode=$lt_install_override_mode
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+
+ltmain=$ac_aux_dir/ltmain.sh
+
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+
+ ;;
+ "po-directories":C)
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ gt_tab=`printf '\t'`
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
+echo "
+ ModemManager $VERSION
+ ==============================================
+
+ Build:
+ compiler: ${CC}
+ cflags: ${CFLAGS}
+ ldflags: ${LDFLAGS}
+ maintainer mode: ${USE_MAINTAINER_MODE}
+
+ System paths:
+ prefix: ${prefix}
+ D-Bus system directory: ${DBUS_SYS_DIR}
+ udev base directory: ${UDEV_BASE_DIR}
+ systemd unit directory: ${with_systemdsystemunitdir}
+
+ Features:
+ udev: ${with_udev}
+ policykit: ${with_polkit}
+ mbim: ${with_mbim}
+ qmi: ${with_qmi}
+ systemd suspend/resume: ${with_systemd_suspend_resume}
+ systemd journal: ${with_systemd_journal}
+
+ Miscellaneous:
+ gobject introspection: ${found_introspection}
+ vala bindings: ${enable_vala}
+ documentation: ${enable_gtk_doc}
+ code coverage: ${CODE_COVERAGE_ENABLED}"
+if test "x${CODE_COVERAGE_ENABLED}" = "xyes"; then
+ echo " code coverage cflags: ${CODE_COVERAGE_CFLAGS}"
+ echo " code coverage ldflags: ${CODE_COVERAGE_LDFLAGS}"
+fi
+echo ""
diff --git a/data/Makefile.in b/data/Makefile.in
new file mode 100644
index 00000000..8af6fda1
--- /dev/null
+++ b/data/Makefile.in
@@ -0,0 +1,969 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@HAVE_SYSTEMD_TRUE@am__append_1 = $(systemdsystemunit_DATA)
+subdir = data
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = ModemManager.pc mm-glib.pc
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(dbusactivationdir)" \
+ "$(DESTDIR)$(dbusservicedir)" "$(DESTDIR)$(icondir)" \
+ "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(polkit_policydir)" \
+ "$(DESTDIR)$(systemdsystemunitdir)"
+DATA = $(dbusactivation_DATA) $(dbusservice_DATA) $(icon_DATA) \
+ $(pkgconfig_DATA) $(polkit_policy_DATA) \
+ $(systemdsystemunit_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/ModemManager.pc.in \
+ $(srcdir)/mm-glib.pc.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = . tests
+edit = @sed \
+ -e 's|@sbindir[@]|$(sbindir)|g' \
+ -e 's|@sysconfdir[@]|$(sysconfdir)|g' \
+ -e 's|@localstatedir[@]|$(localstatedir)|g' \
+ -e 's|@libexecdir[@]|$(libexecdir)|g'
+
+
+# DBus Service file
+dbusservicedir = $(DBUS_SYS_DIR)
+dbusservice_DATA = org.freedesktop.ModemManager1.conf
+dbusservice_file_polkit = org.freedesktop.ModemManager1.conf.polkit
+dbusservice_file_nopolkit = org.freedesktop.ModemManager1.conf.nopolkit
+
+# systemd unit file
+systemdsystemunitdir = $(SYSTEMD_UNIT_DIR)
+systemdsystemunit_in_files = ModemManager.service.in
+@HAVE_SYSTEMD_TRUE@systemdsystemunit_DATA = ModemManager.service
+
+# DBus Activation file
+dbusactivationdir = $(datadir)/dbus-1/system-services
+dbusactivation_DATA = org.freedesktop.ModemManager1.service
+dbusactivation_in_files = org.freedesktop.ModemManager1.service.in
+
+# Icon
+icondir = ${datadir}/icons/hicolor/22x22/apps
+icon_DATA = ModemManager.png
+
+# Logos
+logos = \
+ ModemManager-logo-square.svg ModemManager-logo-square.png \
+ ModemManager-logo-wide.svg ModemManager-logo-wide.png \
+ ModemManager-logo-wide-text.svg ModemManager-logo-wide-text.png
+
+
+# Diagrams
+diagrams = \
+ ModemManager-states.png \
+ ModemManager-interface-initialization-sequence.png \
+ ModemManager-interface-initialization-sequence-subclassed.png
+
+@WITH_POLKIT_TRUE@polkit_policydir = $(datadir)/polkit-1/actions
+@WITH_POLKIT_TRUE@polkit_policy_DATA = org.freedesktop.ModemManager1.policy
+
+# Set up pkg-config .pc files for exported libraries
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = \
+ ModemManager.pc \
+ mm-glib.pc
+
+MAINTAINERCLEANFILES = \
+ org.freedesktop.ModemManager1.policy.in
+
+DISTCLEANFILES = org.freedesktop.ModemManager1.policy \
+ $(dbusactivation_DATA) $(dbusservice_DATA) $(am__append_1)
+EXTRA_DIST = \
+ its \
+ org.freedesktop.ModemManager1.policy.in.in \
+ org.freedesktop.ModemManager1.policy.in \
+ $(systemdsystemunit_in_files) \
+ $(dbusactivation_in_files) \
+ $(dbusservice_file_polkit) \
+ $(dbusservice_file_nopolkit) \
+ $(icon_DATA) \
+ $(logos) \
+ $(diagrams)
+
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu data/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+ModemManager.pc: $(top_builddir)/config.status $(srcdir)/ModemManager.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+mm-glib.pc: $(top_builddir)/config.status $(srcdir)/mm-glib.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dbusactivationDATA: $(dbusactivation_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dbusactivation_DATA)'; test -n "$(dbusactivationdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(dbusactivationdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(dbusactivationdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbusactivationdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(dbusactivationdir)" || exit $$?; \
+ done
+
+uninstall-dbusactivationDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dbusactivation_DATA)'; test -n "$(dbusactivationdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(dbusactivationdir)'; $(am__uninstall_files_from_dir)
+install-dbusserviceDATA: $(dbusservice_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dbusservice_DATA)'; test -n "$(dbusservicedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(dbusservicedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(dbusservicedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dbusservicedir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(dbusservicedir)" || exit $$?; \
+ done
+
+uninstall-dbusserviceDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dbusservice_DATA)'; test -n "$(dbusservicedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(dbusservicedir)'; $(am__uninstall_files_from_dir)
+install-iconDATA: $(icon_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \
+ done
+
+uninstall-iconDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir)
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
+install-polkit_policyDATA: $(polkit_policy_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(polkit_policy_DATA)'; test -n "$(polkit_policydir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(polkit_policydir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(polkit_policydir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(polkit_policydir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(polkit_policydir)" || exit $$?; \
+ done
+
+uninstall-polkit_policyDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(polkit_policy_DATA)'; test -n "$(polkit_policydir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(polkit_policydir)'; $(am__uninstall_files_from_dir)
+install-systemdsystemunitDATA: $(systemdsystemunit_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(systemdsystemunitdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(systemdsystemunitdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemdsystemunitdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(systemdsystemunitdir)" || exit $$?; \
+ done
+
+uninstall-systemdsystemunitDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(systemdsystemunitdir)'; $(am__uninstall_files_from_dir)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(dbusactivationdir)" "$(DESTDIR)$(dbusservicedir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(polkit_policydir)" "$(DESTDIR)$(systemdsystemunitdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dbusactivationDATA install-dbusserviceDATA \
+ install-iconDATA install-pkgconfigDATA \
+ install-polkit_policyDATA install-systemdsystemunitDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-dbusactivationDATA uninstall-dbusserviceDATA \
+ uninstall-iconDATA uninstall-pkgconfigDATA \
+ uninstall-polkit_policyDATA uninstall-systemdsystemunitDATA
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am \
+ install-dbusactivationDATA install-dbusserviceDATA install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-iconDATA install-info install-info-am \
+ install-man install-pdf install-pdf-am install-pkgconfigDATA \
+ install-polkit_policyDATA install-ps install-ps-am \
+ install-strip install-systemdsystemunitDATA installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-dbusactivationDATA \
+ uninstall-dbusserviceDATA uninstall-iconDATA \
+ uninstall-pkgconfigDATA uninstall-polkit_policyDATA \
+ uninstall-systemdsystemunitDATA
+
+.PRECIOUS: Makefile
+
+
+@WITH_POLKIT_TRUE@org.freedesktop.ModemManager1.conf: $(top_srcdir)/data/$(dbusservice_file_polkit)
+@WITH_POLKIT_TRUE@ cp -f $(top_srcdir)/data/$(dbusservice_file_polkit) $(dbusservice_DATA)
+@WITH_POLKIT_FALSE@org.freedesktop.ModemManager1.conf: $(top_srcdir)/data/$(dbusservice_file_nopolkit)
+@WITH_POLKIT_FALSE@ cp -f $(top_srcdir)/data/$(dbusservice_file_nopolkit) $(dbusservice_DATA)
+@HAVE_SYSTEMD_TRUE@ModemManager.service: ModemManager.service.in
+@HAVE_SYSTEMD_TRUE@ $(edit) $< >$@
+org.freedesktop.ModemManager1.service: org.freedesktop.ModemManager1.service.in
+ $(edit) $< >$@
+
+# Polkit
+
+# build file with translations, which we will include in dist
+org.freedesktop.ModemManager1.policy.in: org.freedesktop.ModemManager1.policy.in.in
+ $(AM_V_GEN) GETTEXTDATADIR=$(top_srcdir)/data $(MSGFMT) --xml -d $(top_srcdir)/po/ -o $@ --template $<
+
+# build with requested user policy
+@WITH_POLKIT_TRUE@org.freedesktop.ModemManager1.policy: org.freedesktop.ModemManager1.policy.in
+@WITH_POLKIT_TRUE@ $(AM_V_GEN) sed -e s,@MM_DEFAULT_USER_POLICY\@,$(MM_DEFAULT_USER_POLICY), $< > $@.tmp && mv $@.tmp $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/data/ModemManager-icon.svg b/data/ModemManager-icon.svg
deleted file mode 100644
index c1c5d4db..00000000
--- a/data/ModemManager-icon.svg
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="744.09448819"
- height="1052.3622047"
- id="svg2"
- version="1.1"
- inkscape:version="0.48.4 r9939"
- sodipodi:docname="ModemManager-logo-wide.svg"
- inkscape:export-filename="/home/aleksander/Pictures/ModeManager-logo-10.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <defs
- id="defs4">
- <linearGradient
- id="linearGradient6094">
- <stop
- style="stop-color:#ff0300;stop-opacity:1;"
- offset="0"
- id="stop6096" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6098" />
- </linearGradient>
- <linearGradient
- id="linearGradient5769">
- <stop
- style="stop-color:#0c09ff;stop-opacity:1;"
- offset="0"
- id="stop5771" />
- <stop
- style="stop-color:#bac7ff;stop-opacity:0;"
- offset="1"
- id="stop5773" />
- </linearGradient>
- <linearGradient
- id="linearGradient5724">
- <stop
- style="stop-color:#ff8900;stop-opacity:1;"
- offset="0"
- id="stop5726" />
- <stop
- style="stop-color:#ffbaba;stop-opacity:0;"
- offset="1"
- id="stop5728" />
- </linearGradient>
- <linearGradient
- id="linearGradient5292">
- <stop
- id="stop5302"
- offset="0"
- style="stop-color:#ff0000;stop-opacity:0.26086956;" />
- <stop
- style="stop-color:#ff0000;stop-opacity:0;"
- offset="1"
- id="stop5296" />
- </linearGradient>
- <linearGradient
- id="linearGradient5282">
- <stop
- style="stop-color:#f00000;stop-opacity:0.97457629;"
- offset="0"
- id="stop5284" />
- <stop
- id="stop5308"
- offset="0.5"
- style="stop-color:#f70000;stop-opacity:0.4745098;" />
- <stop
- style="stop-color:#ff0000;stop-opacity:0;"
- offset="1"
- id="stop5286" />
- </linearGradient>
- <linearGradient
- id="linearGradient3818">
- <stop
- style="stop-color:#ff0000;stop-opacity:1;"
- offset="0"
- id="stop3820" />
- <stop
- style="stop-color:#ff0000;stop-opacity:0;"
- offset="1"
- id="stop3822" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6094"
- id="linearGradient6100"
- x1="195.35713"
- y1="719.68359"
- x2="450.27313"
- y2="717.39496"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.2781955,0,0,0.83050847,-878.91412,172.1932)" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="0.98994949"
- inkscape:cx="359.87747"
- inkscape:cy="691.32398"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1600"
- inkscape:window-height="834"
- inkscape:window-x="0"
- inkscape:window-y="27"
- inkscape:window-maximized="1"
- showguides="false">
- <inkscape:grid
- type="xygrid"
- id="grid3780" />
- </sodipodi:namedview>
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1">
- <path
- sodipodi:type="arc"
- style="opacity:0.5;fill:none;stroke:#ff0000;stroke-width:6;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path5800-8"
- sodipodi:cx="-382.34274"
- sodipodi:cy="326.56757"
- sodipodi:rx="42.93148"
- sodipodi:ry="40.406101"
- d="m -396.33913,288.36909 a 42.93148,40.406101 0 0 1 56.92787,38.19848"
- sodipodi:start="4.3803018"
- sodipodi:end="6.2831853"
- transform="translate(614.67785,85.610455)"
- sodipodi:open="true" />
- <path
- sodipodi:type="arc"
- style="fill:none;stroke:#ff0000;stroke-width:28.72183228;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path5800-1-5"
- sodipodi:cx="-382.34274"
- sodipodi:cy="326.56757"
- sodipodi:rx="42.93148"
- sodipodi:ry="40.406101"
- d="m -394.32583,287.76737 a 42.93148,40.406101 0 0 1 54.91457,38.8002"
- sodipodi:start="4.4295101"
- sodipodi:end="6.2831853"
- transform="matrix(0.24371704,0,0,0.24371704,324.88787,332.46101)"
- sodipodi:open="true" />
- <path
- sodipodi:type="arc"
- style="opacity:0.75;fill:none;stroke:#ff0000;stroke-width:11.44055462;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path5800-9-8"
- sodipodi:cx="-382.34274"
- sodipodi:cy="326.56757"
- sodipodi:rx="42.93148"
- sodipodi:ry="40.406101"
- d="m -396.17542,288.31631 a 42.93148,40.406101 0 0 1 56.76416,38.25126"
- sodipodi:start="4.3843327"
- sodipodi:end="6.2831853"
- transform="matrix(0.61185844,0,0,0.61185844,465.81116,211.88657)"
- sodipodi:open="true" />
- <path
- sodipodi:type="arc"
- style="opacity:0.25;fill:none;stroke:#ff0000;stroke-width:3.62445903;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="path5800-95-9"
- sodipodi:cx="-382.34274"
- sodipodi:cy="326.56757"
- sodipodi:rx="42.93148"
- sodipodi:ry="40.406101"
- d="m -396.52453,288.42972 a 42.93148,40.406101 0 0 1 57.11327,38.13785"
- sodipodi:start="4.3757301"
- sodipodi:end="6.2831853"
- transform="matrix(1.3795162,0,0,1.3795162,759.70335,-39.189369)"
- sodipodi:open="true" />
- </g>
-</svg>
diff --git a/data/ModemManager-interface-initialization-sequence-subclassed.dia b/data/ModemManager-interface-initialization-sequence-subclassed.dia
deleted file mode 100644
index d23a9213..00000000
--- a/data/ModemManager-interface-initialization-sequence-subclassed.dia
+++ /dev/null
@@ -1,1083 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
- <dia:diagramdata>
- <dia:attribute name="background">
- <dia:color val="#ffffff"/>
- </dia:attribute>
- <dia:attribute name="pagebreak">
- <dia:color val="#000099"/>
- </dia:attribute>
- <dia:attribute name="paper">
- <dia:composite type="paper">
- <dia:attribute name="name">
- <dia:string>#Letter#</dia:string>
- </dia:attribute>
- <dia:attribute name="tmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="bmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="lmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="rmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="is_portrait">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="scaling">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="fitto">
- <dia:boolean val="false"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="grid">
- <dia:composite type="grid">
- <dia:attribute name="width_x">
- <dia:real val="0.50000000000000011"/>
- </dia:attribute>
- <dia:attribute name="width_y">
- <dia:real val="0.50000000000000011"/>
- </dia:attribute>
- <dia:attribute name="visible_x">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="visible_y">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:composite type="color"/>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#d8e5e5"/>
- </dia:attribute>
- <dia:attribute name="guides">
- <dia:composite type="guides">
- <dia:attribute name="hguides"/>
- <dia:attribute name="vguides"/>
- </dia:composite>
- </dia:attribute>
- </dia:diagramdata>
- <dia:layer name="Background" visible="true" active="true">
- <dia:object type="Flowchart - Box" version="0" id="O0">
- <dia:attribute name="obj_pos">
- <dia:point val="35,3"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="34.95,2.95;62.55,20.55"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="35,3"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="27.500000000000007"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="17.500000000000004"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#fbc1bf"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>##</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="48.75,11.945"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O1">
- <dia:attribute name="obj_pos">
- <dia:point val="22.5,5.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="22.45,5.45;34.55,26.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="22.5,5.5"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="12"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="20.5"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#eaeeff"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>##</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="28.5,15.945"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O2">
- <dia:attribute name="obj_pos">
- <dia:point val="35.5,5.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="35.45,5.45;48.55,19.55"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="35.5,5.5"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="13"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="14.000000000000004"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#fae9e9"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>##</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="42,12.695"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O3">
- <dia:attribute name="obj_pos">
- <dia:point val="17.5,6.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="17.45,6.45;23.55,9.55"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="17.5,6.5"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#interface
-initialization#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="20.5,7.795"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O4">
- <dia:attribute name="obj_pos">
- <dia:point val="25,7"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="24.95,6.95;32.05,8.95"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="25,7"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Capabilities#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="28.5,8.145"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O5">
- <dia:attribute name="obj_pos">
- <dia:point val="25,10"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="24.95,9.95;32.05,11.95"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="25,10"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Manufacturer#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="28.5,11.145"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O6">
- <dia:attribute name="obj_pos">
- <dia:point val="25,13"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="24.95,12.95;32.05,14.95"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="25,13"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Model#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="28.5,14.145"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O7">
- <dia:attribute name="obj_pos">
- <dia:point val="25,16"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="24.95,15.95;32.05,17.95"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="25,16"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Revision#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="28.5,17.145"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O8">
- <dia:attribute name="obj_pos">
- <dia:point val="23.6125,21.6"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="23.5625,21.55;33.4375,25.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="23.6125,21.6"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="9.7750000000000004"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.3999999999999986"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Last step:
-export interface#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="28.5,23.095"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O9">
- <dia:attribute name="obj_pos">
- <dia:point val="36.5,10"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="36.45,9.95;47.55,11.95"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="36.5,10"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="11"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Generic manufacturer loading#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="42,11.145"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O10">
- <dia:attribute name="obj_pos">
- <dia:point val="36.5,13"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="36.45,12.95;47.55,14.95"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="36.5,13"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="11"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Generic model loading#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="42,14.145"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O11">
- <dia:attribute name="obj_pos">
- <dia:point val="32,7.95"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="31.9497,7.4917;49.6118,8.21529"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="32,7.95"/>
- <dia:point val="49.5,7.85"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O4" connection="8"/>
- <dia:connection handle="1" to="O23" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O12">
- <dia:attribute name="obj_pos">
- <dia:point val="32,13.95"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="31.95,13.5882;36.6118,14.3118"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="32,13.95"/>
- <dia:point val="36.5,13.95"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O6" connection="8"/>
- <dia:connection handle="1" to="O10" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O13">
- <dia:attribute name="obj_pos">
- <dia:point val="32,10.95"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="31.95,10.5882;36.6118,11.3118"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="32,10.95"/>
- <dia:point val="36.5,10.95"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O5" connection="8"/>
- <dia:connection handle="1" to="O9" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O14">
- <dia:attribute name="obj_pos">
- <dia:point val="32,16.95"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="31.9499,16.6365;49.6118,17.3601"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="32,16.95"/>
- <dia:point val="49.5,17"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O7" connection="8"/>
- <dia:connection handle="1" to="O25" connection="0"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O15">
- <dia:attribute name="obj_pos">
- <dia:point val="28.5,8.9"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="28.1382,8.85;28.8618,10.1118"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="28.5,8.9"/>
- <dia:point val="28.5,10"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O4" connection="13"/>
- <dia:connection handle="1" to="O5" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O16">
- <dia:attribute name="obj_pos">
- <dia:point val="28.5,11.9"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="28.1382,11.85;28.8618,13.1118"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="28.5,11.9"/>
- <dia:point val="28.5,13"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O5" connection="13"/>
- <dia:connection handle="1" to="O6" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O17">
- <dia:attribute name="obj_pos">
- <dia:point val="28.5,14.9"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="28.1382,14.85;28.8618,16.1118"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="28.5,14.9"/>
- <dia:point val="28.5,16"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O6" connection="13"/>
- <dia:connection handle="1" to="O7" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O18">
- <dia:attribute name="obj_pos">
- <dia:point val="28.5,17.9"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="28.1382,17.85;28.8618,21.7118"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="28.5,17.9"/>
- <dia:point val="28.5,21.6"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O7" connection="13"/>
- <dia:connection handle="1" to="O8" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O19">
- <dia:attribute name="obj_pos">
- <dia:point val="27,18.4406"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="26.95,18.3906;30.05,20.6094"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="27,18.4406"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="3"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2.1188222000437547"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#...#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="1.0188221985536385"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="28.5,19.7481"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O20">
- <dia:attribute name="obj_pos">
- <dia:point val="23,5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="23,4.1875;30.7425,5.2075"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#MMIfaceModem#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="80" name="Helvetica-Bold"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="1.0929055457761345"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="23,5"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O21">
- <dia:attribute name="obj_pos">
- <dia:point val="23.5,8"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="23.4484,7.60878;25.1117,8.33198"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="23.5,8"/>
- <dia:point val="25,7.95"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O3" connection="8"/>
- <dia:connection handle="1" to="O4" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O22">
- <dia:attribute name="obj_pos">
- <dia:point val="36,5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="36,4.1875;46.7125,5.2075"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#MMBroadbandModem#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="80" name="Helvetica-Bold"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="1.0929055457761345"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="36,5"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O23">
- <dia:attribute name="obj_pos">
- <dia:point val="49.5,6.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="49.45,6.45;61.915,9.25"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="49.5,6.5"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="12.365"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2.7000000000000002"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Vendor-specific capabilities loading#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="55.6825,8.045"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O24">
- <dia:attribute name="obj_pos">
- <dia:point val="35.5,2.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="35.5,1.6875;49.7125,2.7075"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#MMBroadbandModemVendor#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="80" name="Helvetica-Bold"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="1.0929055457761345"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="35.5,2.5"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Summing Junction" version="1" id="O25">
- <dia:attribute name="obj_pos">
- <dia:point val="49.5,16"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="49.45,15.95;51.55,18.05"/>
- </dia:attribute>
- <dia:attribute name="meta">
- <dia:composite type="dict"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="49.5,16"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="line_width">
- <dia:real val="0.10000000000000001"/>
- </dia:attribute>
- <dia:attribute name="line_colour">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="fill_colour">
- <dia:color val="#ffffff"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="0"/>
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="flip_horizontal">
- <dia:boolean val="false"/>
- </dia:attribute>
- <dia:attribute name="flip_vertical">
- <dia:boolean val="false"/>
- </dia:attribute>
- <dia:attribute name="subscale">
- <dia:real val="1"/>
- </dia:attribute>
- </dia:object>
- </dia:layer>
-</dia:diagram>
diff --git a/data/ModemManager-interface-initialization-sequence.dia b/data/ModemManager-interface-initialization-sequence.dia
deleted file mode 100644
index 4522effe..00000000
--- a/data/ModemManager-interface-initialization-sequence.dia
+++ /dev/null
@@ -1,999 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
- <dia:diagramdata>
- <dia:attribute name="background">
- <dia:color val="#ffffff"/>
- </dia:attribute>
- <dia:attribute name="pagebreak">
- <dia:color val="#000099"/>
- </dia:attribute>
- <dia:attribute name="paper">
- <dia:composite type="paper">
- <dia:attribute name="name">
- <dia:string>#Letter#</dia:string>
- </dia:attribute>
- <dia:attribute name="tmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="bmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="lmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="rmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="is_portrait">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="scaling">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="fitto">
- <dia:boolean val="false"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="grid">
- <dia:composite type="grid">
- <dia:attribute name="width_x">
- <dia:real val="0.50000000000000011"/>
- </dia:attribute>
- <dia:attribute name="width_y">
- <dia:real val="0.50000000000000011"/>
- </dia:attribute>
- <dia:attribute name="visible_x">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="visible_y">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:composite type="color"/>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#d8e5e5"/>
- </dia:attribute>
- <dia:attribute name="guides">
- <dia:composite type="guides">
- <dia:attribute name="hguides"/>
- <dia:attribute name="vguides"/>
- </dia:composite>
- </dia:attribute>
- </dia:diagramdata>
- <dia:layer name="Background" visible="true" active="true">
- <dia:object type="Flowchart - Box" version="0" id="O0">
- <dia:attribute name="obj_pos">
- <dia:point val="7.795,2.8075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="7.745,2.7575;19.845,23.3575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="7.795,2.8075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="12"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="20.5"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#eaeeff"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>##</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="13.795,13.2525"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O1">
- <dia:attribute name="obj_pos">
- <dia:point val="20.795,2.8075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="20.745,2.7575;33.845,16.8575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="20.795,2.8075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="13"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="14.000000000000004"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#fae9e9"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>##</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="27.295,10.0025"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O2">
- <dia:attribute name="obj_pos">
- <dia:point val="2.795,3.8075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="2.745,3.7575;8.845,6.8575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="2.795,3.8075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="6"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#interface
-initialization#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="5.795,5.1025"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O3">
- <dia:attribute name="obj_pos">
- <dia:point val="10.295,4.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="10.245,4.2575;17.345,6.2575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="10.295,4.3075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Capabilities#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="13.795,5.4525"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O4">
- <dia:attribute name="obj_pos">
- <dia:point val="10.295,7.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="10.245,7.2575;17.345,9.2575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="10.295,7.3075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Manufacturer#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="13.795,8.4525"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O5">
- <dia:attribute name="obj_pos">
- <dia:point val="10.295,10.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="10.245,10.2575;17.345,12.2575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="10.295,10.3075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Model#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="13.795,11.4525"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O6">
- <dia:attribute name="obj_pos">
- <dia:point val="10.295,13.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="10.245,13.2575;17.345,15.2575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="10.295,13.3075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Revision#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="13.795,14.4525"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O7">
- <dia:attribute name="obj_pos">
- <dia:point val="8.9075,18.9075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="8.8575,18.8575;18.7325,22.3575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="8.9075,18.9075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="9.7750000000000004"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="3.3999999999999986"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Last step:
-export interface#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="13.795,20.4025"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O8">
- <dia:attribute name="obj_pos">
- <dia:point val="21.795,4.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="21.745,4.2575;32.845,6.2575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="21.795,4.3075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="11"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Generic capabilities loading#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="27.295,5.4525"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O9">
- <dia:attribute name="obj_pos">
- <dia:point val="21.795,7.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="21.745,7.2575;32.845,9.2575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="21.795,7.3075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="11"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Generic manufacturer loading#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="27.295,8.4525"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O10">
- <dia:attribute name="obj_pos">
- <dia:point val="21.795,10.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="21.745,10.2575;32.845,12.2575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="21.795,10.3075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="11"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Generic model loading#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="27.295,11.4525"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O11">
- <dia:attribute name="obj_pos">
- <dia:point val="21.795,13.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="21.745,13.2575;32.845,15.2575"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="21.795,13.3075"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="11"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000000000001"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#Generic revision loading#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="27.295,14.4525"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O12">
- <dia:attribute name="obj_pos">
- <dia:point val="17.295,5.2575"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="17.245,4.8957;21.9068,5.6193"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="17.295,5.2575"/>
- <dia:point val="21.795,5.2575"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O3" connection="8"/>
- <dia:connection handle="1" to="O8" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O13">
- <dia:attribute name="obj_pos">
- <dia:point val="17.295,11.2575"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="17.245,10.8957;21.9068,11.6193"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="17.295,11.2575"/>
- <dia:point val="21.795,11.2575"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O5" connection="8"/>
- <dia:connection handle="1" to="O10" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O14">
- <dia:attribute name="obj_pos">
- <dia:point val="17.295,8.2575"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="17.245,7.8957;21.9068,8.6193"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="17.295,8.2575"/>
- <dia:point val="21.795,8.2575"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O4" connection="8"/>
- <dia:connection handle="1" to="O9" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O15">
- <dia:attribute name="obj_pos">
- <dia:point val="17.295,14.2575"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="17.245,13.8957;21.9068,14.6193"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="17.295,14.2575"/>
- <dia:point val="21.795,14.2575"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O6" connection="8"/>
- <dia:connection handle="1" to="O11" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O16">
- <dia:attribute name="obj_pos">
- <dia:point val="13.795,6.2075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="13.4332,6.1575;14.1568,7.4193"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="13.795,6.2075"/>
- <dia:point val="13.795,7.3075"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O3" connection="13"/>
- <dia:connection handle="1" to="O4" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O17">
- <dia:attribute name="obj_pos">
- <dia:point val="13.795,9.2075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="13.4332,9.1575;14.1568,10.4193"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="13.795,9.2075"/>
- <dia:point val="13.795,10.3075"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O4" connection="13"/>
- <dia:connection handle="1" to="O5" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O18">
- <dia:attribute name="obj_pos">
- <dia:point val="13.795,12.2075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="13.4332,12.1575;14.1568,13.4193"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="13.795,12.2075"/>
- <dia:point val="13.795,13.3075"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O5" connection="13"/>
- <dia:connection handle="1" to="O6" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O19">
- <dia:attribute name="obj_pos">
- <dia:point val="13.795,15.2075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="13.4332,15.1575;14.1568,19.0193"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="13.795,15.2075"/>
- <dia:point val="13.795,18.9075"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O6" connection="13"/>
- <dia:connection handle="1" to="O7" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O20">
- <dia:attribute name="obj_pos">
- <dia:point val="12.295,15.7481"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="12.245,15.6981;15.345,17.9169"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="12.295,15.7481"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="3"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2.1188222000437547"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#...#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="1.0188221985536385"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="13.795,17.0556"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O21">
- <dia:attribute name="obj_pos">
- <dia:point val="8.295,2.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="8.295,1.495;16.0375,2.515"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#MMIfaceModem#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="80" name="Helvetica-Bold"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="1.0929055457761345"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="8.295,2.3075"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O22">
- <dia:attribute name="obj_pos">
- <dia:point val="8.795,5.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="8.74336,4.91628;10.4067,5.63948"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="8.795,5.3075"/>
- <dia:point val="10.295,5.2575"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O2" connection="8"/>
- <dia:connection handle="1" to="O3" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O23">
- <dia:attribute name="obj_pos">
- <dia:point val="21.295,2.3075"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="21.295,1.495;32.0075,2.515"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#MMBroadbandModem#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="80" name="Helvetica-Bold"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="1.0929055457761345"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="21.295,2.3075"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- </dia:layer>
-</dia:diagram>
diff --git a/data/ModemManager-states.dia b/data/ModemManager-states.dia
deleted file mode 100644
index 21e59479..00000000
--- a/data/ModemManager-states.dia
+++ /dev/null
@@ -1,1210 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
- <dia:diagramdata>
- <dia:attribute name="background">
- <dia:color val="#ffffff"/>
- </dia:attribute>
- <dia:attribute name="pagebreak">
- <dia:color val="#000099"/>
- </dia:attribute>
- <dia:attribute name="paper">
- <dia:composite type="paper">
- <dia:attribute name="name">
- <dia:string>#Letter#</dia:string>
- </dia:attribute>
- <dia:attribute name="tmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="bmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="lmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="rmargin">
- <dia:real val="2.5399999618530273"/>
- </dia:attribute>
- <dia:attribute name="is_portrait">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="scaling">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="fitto">
- <dia:boolean val="false"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="grid">
- <dia:composite type="grid">
- <dia:attribute name="width_x">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="width_y">
- <dia:real val="1"/>
- </dia:attribute>
- <dia:attribute name="visible_x">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="visible_y">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:composite type="color"/>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#d8e5e5"/>
- </dia:attribute>
- <dia:attribute name="guides">
- <dia:composite type="guides">
- <dia:attribute name="hguides"/>
- <dia:attribute name="vguides"/>
- </dia:composite>
- </dia:attribute>
- </dia:diagramdata>
- <dia:layer name="Background" visible="true" active="true">
- <dia:object type="Flowchart - Box" version="0" id="O0">
- <dia:attribute name="obj_pos">
- <dia:point val="7,-1"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="6.95,-1.05;14.05,1.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="7,-1"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#dadada"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#LOCKED#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="10.5,0.195"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O1">
- <dia:attribute name="obj_pos">
- <dia:point val="7,2"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="6.95,1.95;14.05,4.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="7,2"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#fbc1bf"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#INITIALIZED#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="10.5,3.195"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O2">
- <dia:attribute name="obj_pos">
- <dia:point val="13,8"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="12.95,7.95;20.05,10.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="13,8"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#DISABLING#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="16.5,9.195"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O3">
- <dia:attribute name="obj_pos">
- <dia:point val="1,11"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="0.95,10.95;8.05,13.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="1,11"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#SEARCHING#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="4.5,12.195"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O4">
- <dia:attribute name="obj_pos">
- <dia:point val="7,14"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="6.95,13.95;14.05,16.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="7,14"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#ffffbf"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#REGISTERED#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="10.5,15.195"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O5">
- <dia:attribute name="obj_pos">
- <dia:point val="13,17"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="12.95,16.95;20.05,18.95"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="13,17"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000014901162"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#DISCONNECTING#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="16.5,18.145"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O6">
- <dia:attribute name="obj_pos">
- <dia:point val="1,17"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="0.95,16.95;8.05,18.95"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="1,17"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="1.9000000014901162"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#CONNECTING#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="4.5,18.145"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O7">
- <dia:attribute name="obj_pos">
- <dia:point val="7,20"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="6.95,19.95;14.05,22.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="7,20"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#e5ffbc"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#CONNECTED#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="10.5,21.195"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O8">
- <dia:attribute name="obj_pos">
- <dia:point val="10.5,1"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="10.1382,0.95;10.8618,2.06298"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="10.5,1"/>
- <dia:point val="10.5,1.95117"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O0" connection="13"/>
- <dia:connection handle="1" to="O1" connection="16"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O9">
- <dia:attribute name="obj_pos">
- <dia:point val="14,3"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="13.9329,2.93292;16.5671,8.06708"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="14,3"/>
- <dia:point val="16.5,8"/>
- </dia:attribute>
- <dia:attribute name="arc_color">
- <dia:color val="#800173"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="-0.59814818398119507"/>
- </dia:attribute>
- <dia:attribute name="line_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="start_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="start_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="start_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O1" connection="8"/>
- <dia:connection handle="1" to="O2" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O10">
- <dia:attribute name="obj_pos">
- <dia:point val="7,3"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="4.25187,2.92972;7.07028,5.07028"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="7,3"/>
- <dia:point val="4.5,5"/>
- </dia:attribute>
- <dia:attribute name="arc_color">
- <dia:color val="#ff0000"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="0.62469504755442484"/>
- </dia:attribute>
- <dia:attribute name="line_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O1" connection="7"/>
- <dia:connection handle="1" to="O18" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O11">
- <dia:attribute name="obj_pos">
- <dia:point val="7,15.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="4.30534,15.3774;7.0686,17.0686"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="7,15.5"/>
- <dia:point val="4.5,17"/>
- </dia:attribute>
- <dia:attribute name="arc_color">
- <dia:color val="#0000ff"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="0.62469504755442451"/>
- </dia:attribute>
- <dia:attribute name="line_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O4" connection="9"/>
- <dia:connection handle="1" to="O6" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O12">
- <dia:attribute name="obj_pos">
- <dia:point val="14,15.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="13.9314,15.165;16.5686,17.0686"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="14,15.5"/>
- <dia:point val="16.5,17"/>
- </dia:attribute>
- <dia:attribute name="arc_color">
- <dia:color val="#1b6000"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="-0.37515315499923746"/>
- </dia:attribute>
- <dia:attribute name="line_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="start_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="start_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="start_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O4" connection="10"/>
- <dia:connection handle="1" to="O5" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O13">
- <dia:attribute name="obj_pos">
- <dia:point val="4.5,13"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="4.4314,12.9314;7.0686,14.8631"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="4.5,13"/>
- <dia:point val="7,14.5"/>
- </dia:attribute>
- <dia:attribute name="arc_color">
- <dia:color val="#ff0000"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="0.40516540739917661"/>
- </dia:attribute>
- <dia:attribute name="line_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O3" connection="13"/>
- <dia:connection handle="1" to="O4" connection="5"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O14">
- <dia:attribute name="obj_pos">
- <dia:point val="4.5,18.9"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="4.42956,18.8296;7.07044,21.385"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="4.5,18.9"/>
- <dia:point val="7,21"/>
- </dia:attribute>
- <dia:attribute name="arc_color">
- <dia:color val="#0000ff"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="0.62469504755442451"/>
- </dia:attribute>
- <dia:attribute name="line_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O6" connection="13"/>
- <dia:connection handle="1" to="O7" connection="7"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O15">
- <dia:attribute name="obj_pos">
- <dia:point val="14,21"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="13.9296,18.8296;16.7564,21.0704"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="14,21"/>
- <dia:point val="16.5,18.9"/>
- </dia:attribute>
- <dia:attribute name="arc_color">
- <dia:color val="#1b6000"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="0.62469504755442451"/>
- </dia:attribute>
- <dia:attribute name="line_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O7" connection="8"/>
- <dia:connection handle="1" to="O5" connection="13"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Arc" version="0" id="O16">
- <dia:attribute name="obj_pos">
- <dia:point val="14,14.5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="13.932,9.93201;16.8393,14.568"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="14,14.5"/>
- <dia:point val="16.5,10"/>
- </dia:attribute>
- <dia:attribute name="arc_color">
- <dia:color val="#800173"/>
- </dia:attribute>
- <dia:attribute name="curve_distance">
- <dia:real val="0.62469504755442451"/>
- </dia:attribute>
- <dia:attribute name="line_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O4" connection="6"/>
- <dia:connection handle="1" to="O2" connection="13"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O17">
- <dia:attribute name="obj_pos">
- <dia:point val="1,8"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="0.95,7.95;8.05,10.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="1,8"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="inner_color">
- <dia:color val="#ffffbf"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#ENABLED#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="4.5,9.195"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O18">
- <dia:attribute name="obj_pos">
- <dia:point val="1,5"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="0.95,4.95;8.05,7.05"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="1,5"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#ENABLING#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="4.5,6.195"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Flowchart - Box" version="0" id="O19">
- <dia:attribute name="obj_pos">
- <dia:point val="7,-4"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="6.95,-4.05;14.05,-1.95"/>
- </dia:attribute>
- <dia:attribute name="elem_corner">
- <dia:point val="7,-4"/>
- </dia:attribute>
- <dia:attribute name="elem_width">
- <dia:real val="7"/>
- </dia:attribute>
- <dia:attribute name="elem_height">
- <dia:real val="2"/>
- </dia:attribute>
- <dia:attribute name="border_width">
- <dia:real val="0.10000000149011612"/>
- </dia:attribute>
- <dia:attribute name="show_background">
- <dia:boolean val="true"/>
- </dia:attribute>
- <dia:attribute name="line_style">
- <dia:enum val="4"/>
- </dia:attribute>
- <dia:attribute name="padding">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#INITIALIZING#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="10.5,-2.805"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="1"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O20">
- <dia:attribute name="obj_pos">
- <dia:point val="2.5,3.45"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="2.5,2.855;5.025,3.6025"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#ENABLE#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="2.5,3.45"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#ff0000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O21">
- <dia:attribute name="obj_pos">
- <dia:point val="1.5,15.85"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="1.5,15.255;4.655,16.0025"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#CONNECT#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="1.5,15.85"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#0000ff"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O22">
- <dia:attribute name="obj_pos">
- <dia:point val="15.755,21.1825"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="15.755,20.5875;20,21.335"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#DISCONNECT#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="15.755,21.1825"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#1b6000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O23">
- <dia:attribute name="obj_pos">
- <dia:point val="16,14"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="16,13.405;18.7425,14.1525"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#DISABLE#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="16,14"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#800173"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O24">
- <dia:attribute name="obj_pos">
- <dia:point val="10.5,-2"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="10.1382,-2.05;10.8618,-0.937025"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="10.5,-2"/>
- <dia:point val="10.5,-1.04883"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O19" connection="13"/>
- <dia:connection handle="1" to="O0" connection="16"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O25">
- <dia:attribute name="obj_pos">
- <dia:point val="4.5,7"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="4.1382,6.95;4.8618,8.1118"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="4.5,7"/>
- <dia:point val="4.5,8"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_color">
- <dia:color val="#ff0000"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O18" connection="13"/>
- <dia:connection handle="1" to="O17" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O26">
- <dia:attribute name="obj_pos">
- <dia:point val="4.5,10"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="4.1382,9.95;4.8618,11.1118"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="4.5,10"/>
- <dia:point val="4.5,11"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="line_color">
- <dia:color val="#ff0000"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="0" to="O17" connection="13"/>
- <dia:connection handle="1" to="O3" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O27">
- <dia:attribute name="obj_pos">
- <dia:point val="10.55,-6.0375"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="10.1533,-6.08871;10.8767,-3.88823"/>
- </dia:attribute>
- <dia:attribute name="conn_endpoints">
- <dia:point val="10.55,-6.0375"/>
- <dia:point val="10.5,-4"/>
- </dia:attribute>
- <dia:attribute name="numcp">
- <dia:int val="1"/>
- </dia:attribute>
- <dia:attribute name="end_arrow">
- <dia:enum val="22"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_length">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:attribute name="end_arrow_width">
- <dia:real val="0.5"/>
- </dia:attribute>
- <dia:connections>
- <dia:connection handle="1" to="O19" connection="2"/>
- </dia:connections>
- </dia:object>
- <dia:object type="Standard - Text" version="1" id="O28">
- <dia:attribute name="obj_pos">
- <dia:point val="8.8,-6.4675"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="8.8,-7.0625;12.0675,-6.315"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#INITIALIZE#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.80000000000000004"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="8.8,-6.4675"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- </dia:layer>
-</dia:diagram>
diff --git a/data/org.freedesktop.ModemManager1.policy.in b/data/org.freedesktop.ModemManager1.policy.in
new file mode 100644
index 00000000..986c91ab
--- /dev/null
+++ b/data/org.freedesktop.ModemManager1.policy.in
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
+<policyconfig>
+ <vendor>ModemManager</vendor>
+ <vendor_url>http://www.freedesktop.org/wiki/ModemManager</vendor_url>
+ <icon_name>ModemManager</icon_name>
+ <action id="org.freedesktop.ModemManager1.Control">
+ <description>Control the Modem Manager daemon</description>
+ <description xml:lang="uk">Керування фоновою службою Modem Manager</description>
+ <description xml:lang="tr">Modem Manager artalan uygulamasını denetle</description>
+ <description xml:lang="sv">Kontrollera demonen för Modem Manager</description>
+ <description xml:lang="sk">Ovládanie služby správcu modemov</description>
+ <description xml:lang="pt_BR">Controlar o daemon do ModemManager</description>
+ <description xml:lang="pl">Sterowanie usługą ModemManager</description>
+ <description xml:lang="it">Controlla il demone di «Modem Manager»</description>
+ <description xml:lang="id">Kendalikan daemon Manajer Modem</description>
+ <description xml:lang="hu">Modemkezelő démon vezérlése</description>
+ <description xml:lang="fur">Controle il demoni di Modem Manager</description>
+ <description xml:lang="fr">Contrôle le service Modem Manager</description>
+ <description xml:lang="de">Den Modem-Manager-Daemon steuern</description>
+ <description xml:lang="cs">Ovládat démona pro správu modemů</description>
+ <message>System policy prevents controlling the Modem Manager.</message>
+ <message xml:lang="uk">Правила системи перешкоджають керування Modem Manager.</message>
+ <message xml:lang="tr">Sistem ilkesi Modem Manager'ı denetlemeyi engelliyor.</message>
+ <message xml:lang="sv">En systempolicy förhindrar kontroll av Modem Manager.</message>
+ <message xml:lang="sk">Politika systému zabraňuje ovládaniu správcu modemov.</message>
+ <message xml:lang="pt_BR">A política de sistema impede de controlar o ModemManager.</message>
+ <message xml:lang="pl">Ustawienia systemu uniemożliwiają sterowanie usługą ModemManager.</message>
+ <message xml:lang="it">La politica di sistema impedisce il controllo di «Modem Manager»</message>
+ <message xml:lang="id">Kebijakan sistem mencegah pengendalian Manajer Modem.</message>
+ <message xml:lang="hu">A rendszer házirendje nem teszi lehetővé a Modemkezelő vezérlését.</message>
+ <message xml:lang="fur">La politiche dal sisteme e impedìs il control di Modem Manager.</message>
+ <message xml:lang="fr">La politique système empêche le contrôle de Modem Manager.</message>
+ <message xml:lang="de">Die Systemrichtlinien verhindern die Steuerung von ModemManager.</message>
+ <message xml:lang="cs">Systémová zásada brání v ovládání Správy modemů.</message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>auth_admin</allow_active>
+ </defaults>
+ </action>
+ <action id="org.freedesktop.ModemManager1.Device.Control">
+ <description>Unlock and control a mobile broadband device</description>
+ <description xml:lang="uk">Розблокувати пристрій мобільної широкосмугової мережі і керувати ним</description>
+ <description xml:lang="tr">Mobil geniş bant aygıtının kilidini aç ve denetle</description>
+ <description xml:lang="sv">Lås upp och kontrollera en mobil bredbandsenhet</description>
+ <description xml:lang="sk">Odomknutie a ovládanie mobilného širokopásmového zariadenia</description>
+ <description xml:lang="pt_BR">Desbloquear e controlar um dispositivo de banda larga móvel</description>
+ <description xml:lang="pl">Odblokowanie i sterowanie urządzeniem komórkowym</description>
+ <description xml:lang="it">Sblocca e controlla un dispositivo mobile a banda larga</description>
+ <description xml:lang="id">Buka kunci dan kendalikan suatu peranti data seluler</description>
+ <description xml:lang="hu">Mobil széles sávú készülék feloldása és vezérlése</description>
+ <description xml:lang="fur">Sbloche e controle un dispositîf a bande largje mobile</description>
+ <description xml:lang="fr">Déverrouiller et contrôler un périphérique mobile à large bande</description>
+ <description xml:lang="de">Ein mobiles Breitbandgerät entsperren und steuern</description>
+ <description xml:lang="cs">Odemykat a ovládat mobilní širokopásmové zařízení</description>
+ <message>System policy prevents unlocking or controlling the mobile broadband device.</message>
+ <message xml:lang="uk">Правила системи забороняють розблокування і керування пристроями широкосмугових мобільних мереж.</message>
+ <message xml:lang="tr">Sistem ilkesi mobil geniş bant aygıtını denetlemeyi veya kilidini açmayı engelliyor.</message>
+ <message xml:lang="sv">En systempolicy hindrar upplåsning eller kontroll över den mobila bredbandsenheten.</message>
+ <message xml:lang="sk">Politika systému zabraňuje odomknutiu alebo ovládaniu mobilného širokopásmového zariadenia.</message>
+ <message xml:lang="pt_BR">A política de sistema impede de desbloquear ou controlar o dispositivo de banda larga móvel.</message>
+ <message xml:lang="pl">Ustawienia systemu uniemożliwiają odblokowanie lub sterowanie urządzeniem komórkowym.</message>
+ <message xml:lang="it">La politica di sistema impedisce di sbloccare o controllare il dispositivo mobile a banda larga.</message>
+ <message xml:lang="id">Kebijakan sistem mencegah membuka kunci atau mengendalikan peranti data seluler.</message>
+ <message xml:lang="hu">A rendszer házirendje nem teszi lehetővé a mobil széles sávú készülék feloldását vagy vezérlését.</message>
+ <message xml:lang="fur">La politiche dal sisteme e impedìs di sblocâ o controlâ il dispositîf a bande largje mobile.</message>
+ <message xml:lang="fr">La politique système empêche le verrouillage et le contrôle d’un périphérique mobile à large bande.</message>
+ <message xml:lang="de">Die Systemrichtlinien verhindern das Entsperren oder Steuern des mobilen Breitbandgerätes.</message>
+ <message xml:lang="cs">Systémová zásada brání v odemknutí nebo v ovládání mobilního širokopásmového zařízení.</message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
+ </defaults>
+ </action>
+ <action id="org.freedesktop.ModemManager1.Contacts">
+ <description>Add, modify, and delete mobile broadband contacts</description>
+ <description xml:lang="uk">Додати, внести зміни і вилучити контакти пристрою мобільних широкосмугових мереж</description>
+ <description xml:lang="tr">Mobil geniş bant kişileri ekle, düzenle ve sil</description>
+ <description xml:lang="sv">Lägg till, ändra och ta bort mobila bredbandskontakter</description>
+ <description xml:lang="sk">Pridanie, úprava a odstránenie kontaktov mobilného širokopásmového zariadenia</description>
+ <description xml:lang="pt_BR">Adicionar, modificar e excluir contatos de banda larga móvel</description>
+ <description xml:lang="pl">Dodawanie, modyfikowanie i usuwanie kontaktów urządzenia komórkowego</description>
+ <description xml:lang="it">Aggiunge, modifica ed elimina contatti mobili a banda larga</description>
+ <description xml:lang="id">Tambah, ubah, dan hapus kontak data seluler</description>
+ <description xml:lang="hu">Névjegyek hozzáadása, módosítása és eltávolítása</description>
+ <description xml:lang="fur">Zonte, modifiche e elimine i contats de bande largje mobile</description>
+ <description xml:lang="fr">Ajouter, modifier et supprimer des contacts de connexions mobiles</description>
+ <description xml:lang="de">Kontakte für mobiles Breitband hinzufügen, ändern und löschen</description>
+ <description xml:lang="cs">Přidávat, měnit a mazat kontakty v mobilním zařízení</description>
+ <message>System policy prevents adding, modifying, or deleting this device's contacts.</message>
+ <message xml:lang="uk">Правила системи перешкоджають додаванню, внесенню змін та вилученню записів контактів на цьому пристрої.</message>
+ <message xml:lang="tr">Sistem ilkesi bu aygıtın kişilerini eklemeyi, düzenlemeyi veya silmeyi engelliyor.</message>
+ <message xml:lang="sv">En systempolicy förhindrar att lägga till, ändra och ta bort denna enhets kontakter.</message>
+ <message xml:lang="sk">Politika systému zabraňuje pridaniu, úprave, alebo odstráneniu kontaktov v tomto zariadení.</message>
+ <message xml:lang="pt_BR">A política de sistema impede de adicionar, modificar ou excluir os contatos deste dispositivo.</message>
+ <message xml:lang="pl">Ustawienia systemu uniemożliwiają dodawanie, modyfikowanie lub usuwanie kontaktów tego urządzenia.</message>
+ <message xml:lang="it">La politica di sistema impedisce di aggiungere, modificare o eliminare i contatti di questo dispositivo.</message>
+ <message xml:lang="id">Kebijakan sistem mencegah menambah, mengubah, atau menghapus kontak-kontak peranti ini.</message>
+ <message xml:lang="hu">A rendszer házirendje nem teszi lehetővé ezen az eszközön a névjegyek hozzáadását, módosítását és eltávolítását.</message>
+ <message xml:lang="fur">La politiche dal sisteme e impedìs di zontâ, modificâ o eliminâ i contats di chest dispositîf.</message>
+ <message xml:lang="fr">La politique système empêche l’ajout, la modification ou la suppression des contacts de cet appareil.</message>
+ <message xml:lang="de">Die Systemrichtlinien verhindern das Hinzufügen, Ändern oder Löschen der Kontakte dieses Gerätes.</message>
+ <message xml:lang="cs">Systémová zásada brání v přidání, změně nebo smazání kontaktů v tomto zařízení.</message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
+ </defaults>
+ </action>
+ <action id="org.freedesktop.ModemManager1.Messaging">
+ <description>Send, save, modify, and delete text messages</description>
+ <description xml:lang="uk">Надіслати, зберегти, внести зміни або вилучити текстові повідомлення</description>
+ <description xml:lang="tr">Metin ileti gönder, kaydet, düzenle ve sil</description>
+ <description xml:lang="sv">Skicka, spara, ändra och ta bort meddelanden</description>
+ <description xml:lang="sk">Odoslanie, uloženie, úprava a odstránenie textových správ</description>
+ <description xml:lang="pt_BR">Enviar, salvar, modificar e excluir mensagens de texto</description>
+ <description xml:lang="pl">Wysyłanie, zapisywanie, modyfikowanie i usuwanie wiadomości SMS</description>
+ <description xml:lang="it">Invia, salva, modifica ed elimina messaggi di testo</description>
+ <description xml:lang="id">Kirim, simpan, ubah, dan hapus pesan-pesan teks</description>
+ <description xml:lang="hu">Szöveges üzenetek küldése, mentése, módosítása és törlése</description>
+ <description xml:lang="fur">Invie, salve, modifiche e elimine i messaçs di test</description>
+ <description xml:lang="fr">Envoyer, enregistrer, modifier et supprimer des messages textuels</description>
+ <description xml:lang="de">Textnachrichten senden, speichern, bearbeiten und löschen</description>
+ <description xml:lang="cs">Odesílat, ukládat, měnit a mazat textové zprávy</description>
+ <message>System policy prevents sending or manipulating this device's text messages.</message>
+ <message xml:lang="uk">Правила системи забороняють надсилання або керування текстовими повідомленнями цього пристрою.</message>
+ <message xml:lang="tr">Sistem ilkesi bu aygıtın metin iletilerini göndermeyi veya işlemeyi engelliyor.</message>
+ <message xml:lang="sv">En systempolicy förhindrar att skicka eller ändra denna enhets textmeddelanden.</message>
+ <message xml:lang="sk">Politika systému zabraňuje odoslaniu, alebo manipulácii textových správ v tomto zariadení.</message>
+ <message xml:lang="pt_BR">A política de sistema impede de enviar ou manipular as mensagens de texto deste dispositivo.</message>
+ <message xml:lang="pl">Ustawienia systemu uniemożliwiają wysyłanie lub manipulowanie wiadomościami SMS tego urządzenia.</message>
+ <message xml:lang="it">La politica di sistema impedisce di inviare o manipolare i messaggi di testo di questo dispositivo.</message>
+ <message xml:lang="id">Kebijakan sistem mencegah pengiriman atau manipulasi pesan-pesan teks peranti ini.</message>
+ <message xml:lang="hu">A rendszer házirendje nem teszi lehetővé a szöveges üzenetek küldését vagy kezelését.</message>
+ <message xml:lang="fur">La politiche dal sisteme e impedìs di inviâ o manipolâ i messaçs di test di chest dispositîf.</message>
+ <message xml:lang="fr">La politique système empêche l’envoi ou la manipulation des messages textuels ce cet appareil.</message>
+ <message xml:lang="cs">Systémová zásada brání v odesílání nebo v manipulaci s textovými zprávami na tomto zařízení.</message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
+ </defaults>
+ </action>
+ <action id="org.freedesktop.ModemManager1.Voice">
+ <description>Accept incoming voice calls or start outgoing voice calls.</description>
+ <description xml:lang="uk">Приймати вхідні голосові виклики і розпочинати вихідні голосові виклики.</description>
+ <description xml:lang="tr">Gelen sesli çağrıları kabul et veya giden sesli çağrılar başlat.</description>
+ <description xml:lang="sv">Acceptera inkommande röstsamtal eller påbörja utgående röstsamtal.</description>
+ <description xml:lang="sk">Prijatie prichádzajúcich hovorov, alebo zahájenie odchádzajúcich hlasových hovorov.</description>
+ <description xml:lang="pt_BR">Aceitar chamadas de voz recebidas ou iniciar chamadas de voz de saída.</description>
+ <description xml:lang="pl">Przyjmowanie połączeń przychodzących lub dzwonienie</description>
+ <description xml:lang="it">Accetta chiamate vocali in arrivo o avvia chiamate vocali.</description>
+ <description xml:lang="id">Terima panggilan suara masuk atau mulai pemanggilan suara keluar.</description>
+ <description xml:lang="hu">Bejövő hívások fogadása vagy kimenő hívások indítása.</description>
+ <description xml:lang="fur">Acete lis clamadis vocâls in jentrade o tacâ clamadis vocâls in jessude.</description>
+ <description xml:lang="fr">Accepter des appels vocaux entrants ou initier des appels vocaux sortants.</description>
+ <description xml:lang="cs">Přijímat příchozí hovory nebo začínat odchozí hovory</description>
+ <message>System policy prevents voice calls.</message>
+ <message xml:lang="uk">Правила системи перешкоджають голосовим викликам.</message>
+ <message xml:lang="tr">Sistem ilkesi sesli çağrıları engelliyor.</message>
+ <message xml:lang="sv">En systempolicy förhindrar röstsamtal.</message>
+ <message xml:lang="sk">Politika systému zabraňuje hlasovým hovorom.</message>
+ <message xml:lang="pt_BR">A política de sistema impede chamadas de voz.</message>
+ <message xml:lang="pl">Ustawienia systemu uniemożliwiają dzwonienie.</message>
+ <message xml:lang="it">La politica di sistema impedisce di effettuare chiamate vocali.</message>
+ <message xml:lang="id">Kebijakan sistem mencegah panggilan suara.</message>
+ <message xml:lang="hu">A rendszer házirendje nem teszi lehetővé a hívásokat.</message>
+ <message xml:lang="fur">La politiche dal sisteme e impedìs lis clamadis vocâls.</message>
+ <message xml:lang="fr">La politique système empêche les appels vocaux.</message>
+ <message xml:lang="cs">Systémová zásada brání v hlasových hovorech.</message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
+ </defaults>
+ </action>
+ <action id="org.freedesktop.ModemManager1.Location">
+ <description>Enable and view geographic location and positioning information</description>
+ <description xml:lang="uk">Увімкнути або переглянути дані щодо географічного розташування і позиціювання</description>
+ <description xml:lang="tr">Coğrafi konum ve konumlandırma bilgisini etkinleştir ve gör</description>
+ <description xml:lang="sv">Aktivera och visa geografisk plats samt positioneringsinformation</description>
+ <description xml:lang="sk">Povolenie a zobrazenie geografickej polohy a informácií o pozícii</description>
+ <description xml:lang="pt_BR">Habilitar e ver informações de posicionamento e localização geográfica</description>
+ <description xml:lang="pl">Włączanie i wyświetlanie informacji o położeniu geograficznym i pozycjonowaniu</description>
+ <description xml:lang="it">Abilita e visualizza informazioni di geolocalizzazione e posizionamento</description>
+ <description xml:lang="id">Fungsikan dan tilik lokasi geografis dan informasi posisi</description>
+ <description xml:lang="hu">Földrajzi helyzetmeghatározás bekapcsolása és az információk megtekintése</description>
+ <description xml:lang="fur">Abilite e viôt la posizion gjeografiche e lis informazions su la posizion</description>
+ <description xml:lang="fr">Activer et voir les informations de position géographique</description>
+ <description xml:lang="de">Informationen zum geografischen Standort und Positionierung aktivieren und anzeigen</description>
+ <description xml:lang="cs">Povolovat sdělování a zobrazování geografické polohy a informací o pozici</description>
+ <message>System policy prevents enabling or viewing geographic location information.</message>
+ <message xml:lang="uk">Правила системи забороняють вмикання або перегляд даних щодо розташування.</message>
+ <message xml:lang="tr">Sistem ilkesi coğrafi konum bilgisini etkinleştirmeyi ve göstermeyi engelliyor.</message>
+ <message xml:lang="sv">En systempolicy förhindrar aktivering eller visning av geografisk platsinformation.</message>
+ <message xml:lang="sk">Politika systému zabraňuje povoleniu, alebo zobrazeniu informácií o geografickej polohe.</message>
+ <message xml:lang="pt_BR">A política de sistema impede de habilitar ou ver informações de localização geográfica.</message>
+ <message xml:lang="pl">Ustawienia systemu uniemożliwiają włączanie lub wyświetlanie informacji o położeniu geograficznym.</message>
+ <message xml:lang="it">La politica di sistema impedisce di abilitare o visualizzare informazioni di geolocalizzazione.</message>
+ <message xml:lang="id">Kebijakan sistem mencegah memfungsikan atau menilik informasi lokasi geografis.</message>
+ <message xml:lang="hu">A rendszer házirendje nem teszi lehetővé a földrajzi helyzetmeghatározás bekapcsolását vagy az információk megtekintését.</message>
+ <message xml:lang="fur">La politiche dal sisteme e impedìs di abilitâ o viodi lis informazions su la posizion gjeografiche.</message>
+ <message xml:lang="fr">La politique système empêche d’activer ou de voir les informations de position géographique.</message>
+ <message xml:lang="de">Die Systemrichtlinien verhindern das Aktivieren oder Ändern der Informationen zum geografischen Standort.</message>
+ <message xml:lang="cs">Systémová zásada brání v povolení sdělování a v zobrazení informací o geografické poloze.</message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>@MM_DEFAULT_USER_POLICY@</allow_active>
+ </defaults>
+ </action>
+ <action id="org.freedesktop.ModemManager1.USSD">
+ <description>Query and utilize network information and services</description>
+ <description xml:lang="uk">Надіслати запит і використати дані щодо мережі і служби</description>
+ <description xml:lang="tr">Ağ bilgisi ve hizmetleri sorgula ve yararlan</description>
+ <description xml:lang="sv">Fråga och nyttja nätverksinformation och tjänster</description>
+ <description xml:lang="sk">Požadovanie a spracovanie sieťových informácií a služieb</description>
+ <description xml:lang="pt_BR">Consultar ou utilizar serviços e informações de rede.</description>
+ <description xml:lang="pl">Odpytywanie i używanie informacji i usług sieciowych</description>
+ <description xml:lang="it">Interroga e utilizza informazioni e servizi della rete</description>
+ <description xml:lang="id">Kueri dan manfaatkan layanan dan informasi jaringan</description>
+ <description xml:lang="hu">Hálózati információk és szolgáltatások lekérdezése és használata</description>
+ <description xml:lang="fur">Interoghe e dopre lis informazions di rêt e i servizis</description>
+ <description xml:lang="fr">Interroger et utiliser les informations et services du réseau</description>
+ <description xml:lang="de">Netzwerkinformationen und -dienste abfragen und nutzen</description>
+ <description xml:lang="cs">Dotazovat se na informace o síti a na služby a využívat je</description>
+ <message>System policy prevents querying or utilizing network information and services.</message>
+ <message xml:lang="uk">Правила системи забороняють надсилання запитів і використання даних щодо мережі і служб.</message>
+ <message xml:lang="tr">Sistem ilkesi ağ bilgisini ve hizmetleri sorgulamayı veya yararlanmayı engelliyor.</message>
+ <message xml:lang="sv">En systempolicy förhindrar frågande och nyttjande av nätverksinformation och tjänster.</message>
+ <message xml:lang="sk">Politika systému zabraňuje požadovaniu, alebo spracovaniu sieťových informácií a službám.</message>
+ <message xml:lang="pt_BR">A política de sistema impede de consultar ou utilizar serviços e informações de rede.</message>
+ <message xml:lang="pl">Ustawienia systemu uniemożliwiają odpytywanie lub używanie informacji i usług sieciowych.</message>
+ <message xml:lang="it">La politica di sistema impedisce di interrogare o di utilizzare le informazioni e i servizi della rete.</message>
+ <message xml:lang="id">Kebijakan sistem mencegah kueri atau pemanfaatan layanan dan informasi jaringan.</message>
+ <message xml:lang="hu">A rendszer házirendje nem teszi lehetővé a hálózati információk és szolgáltatások lekérdezését és használatát.</message>
+ <message xml:lang="fur">La politiche dal sisteme e impedìs la interogazion e la utilizazion di informazions di rêt e servizis.</message>
+ <message xml:lang="fr">La politique système empêche l’interrogation et l’utilisation des informations et des services du réseau.</message>
+ <message xml:lang="de">Die Systemrichtlinien verhindern die Abfrage der Netzwerkinformationen und -dienste.</message>
+ <message xml:lang="cs">Systémová zásada brání v dotazování na informace o síti a na služby, nebo brání v jejich využívání.</message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>yes</allow_active>
+ </defaults>
+ </action>
+ <action id="org.freedesktop.ModemManager1.Firmware">
+ <description>Query and manage firmware on a mobile broadband device</description>
+ <description xml:lang="uk">Опитування та керування мікропрограмою на пристрої мобільної широкосмугової мережі</description>
+ <description xml:lang="tr">Mobil geniş bant aygıtındaki donanım yazılımını sorgula ve yönet</description>
+ <description xml:lang="sv">Fråga och hantera fast programvara för en mobil bredbandsenhet</description>
+ <description xml:lang="sk">Požadovanie a správa firmvéru mobilného širokopásmového zariadenia</description>
+ <description xml:lang="pt_BR">Consultar e gerenciar firmware em um dispositivo de banda larga móvel</description>
+ <description xml:lang="pl">Odpytywanie i zarządzanie oprogramowaniem sprzętowym urządzenia komórkowego</description>
+ <description xml:lang="it">Interroga e gestisce il firmware su un dispositivo mobile a banda larga</description>
+ <description xml:lang="id">Kueri dan kelola firmware pada suatu peranti data seluler</description>
+ <description xml:lang="hu">Firmware lekérdezése és kezelése a mobil széles sávú eszközön</description>
+ <description xml:lang="fur">Interoghe e gjestìs il firmware suntun dispositîf a bande largje mobile</description>
+ <description xml:lang="fr">Interroger et gérer le matériel d’un périphérique mobile à large bande</description>
+ <description xml:lang="de">Firmware auf mobilen Breitbandgeräten abfragen und verwalten</description>
+ <description xml:lang="cs">Dotazovat se na firmware a spravovat jej na mobilním širokopásmovém zařízení</description>
+ <message>System policy prevents querying or managing this device's firmware.</message>
+ <message xml:lang="uk">Правила системи перешкоджають опитуванню або керування мікропрограмою цього пристрою.</message>
+ <message xml:lang="tr">Sistem ilkesi bu aygıtın donanım yazılımını sorgulamayı veya yönetmeyi engelliyor.</message>
+ <message xml:lang="sv">En systempolicy förhindrar att fråga och hantera denna enhets fasta programvara.</message>
+ <message xml:lang="sk">Politika systému zabraňuje požadovaniu, alebo správe firmvéru tohto zariadenia.</message>
+ <message xml:lang="pt_BR">A política de sistema impede de consultar ou gerenciar o firmware do dispositivo.</message>
+ <message xml:lang="pl">Ustawienia systemu uniemożliwiają odpytywanie lub zarządzanie oprogramowaniem sprzętowym tego urządzenia.</message>
+ <message xml:lang="it">La politica di sistema impedisce di interrogare o gestire il firmware di questo dispositivo.</message>
+ <message xml:lang="id">Kebijakan sistem mencegah kueri atau pengelolaan firmware peranti ini.</message>
+ <message xml:lang="hu">A rendszer lekérdezése és használata lehetővé a firmware lekérdezését és kezelését az eszközön.</message>
+ <message xml:lang="fur">La politiche dal sisteme e impedìs di interogâ o gjestî il firmware di chest dispositîf.</message>
+ <message xml:lang="fr">La politique système empêche l’interrogation et la gestion du matériel de ce périphérique.</message>
+ <message xml:lang="de">Die Systemrichtlinien verhindern die Abfrage oder Verwaltung der Firmware dieses Gerätes.</message>
+ <message xml:lang="cs">Systémová zásada brání v dotázání na firmware nebo brání v jeho správě na tomto zařízení.</message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>auth_admin</allow_active>
+ </defaults>
+ </action>
+</policyconfig>
diff --git a/data/tests/Makefile.in b/data/tests/Makefile.in
new file mode 100644
index 00000000..41e083e0
--- /dev/null
+++ b/data/tests/Makefile.in
@@ -0,0 +1,525 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = data/tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = org.freedesktop.ModemManager1.service
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(srcdir)/org.freedesktop.ModemManager1.service.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = org.freedesktop.ModemManager1.service.in
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/tests/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu data/tests/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+org.freedesktop.ModemManager1.service: $(top_builddir)/config.status $(srcdir)/org.freedesktop.ModemManager1.service.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/decode/analyze.py b/decode/analyze.py
deleted file mode 100755
index c72a1d32..00000000
--- a/decode/analyze.py
+++ /dev/null
@@ -1,179 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-# ---- Dumps UsbSnoopy XML captures of WMC traffic
-
-from xml.sax import saxutils
-from xml.sax import handler
-import binascii
-import string
-
-packets = []
-counts = {}
-
-TO_UNKNOWN = 0
-TO_MODEM = 1
-TO_HOST = 2
-
-class Packet:
- def __init__(self, data, idx):
- if len(data) % 2 != 0:
- raise Exception("bad data length")
-
- self.idx = idx
- self.type = TO_UNKNOWN
- if data[:14] == "41542a574d433d":
- # host->device: remove the AT*WMC= bits and newline at the end
- data = data[14:]
- if data[len(data) - 2:] == "0d":
- data = data[:len(data) - 2]
- self.type = TO_MODEM
-# elif data[len(data) - 6:] == "30307e":
-# # device->host: remove HDLC terminator and fake CRC
-# data = data[:len(data) - 6]
-# self.type = TO_HOST
- elif data[len(data) - 2:] == "7e":
- # device->host: remove HDLC terminator and CRC
- data = data[:len(data) - 6]
- self.type = TO_HOST
-
- self.data = binascii.unhexlify(data)
- self.four = data[:4]
-
- # PPP-unescape TO_MODEM data
- escape = False
- new_data = ""
- for i in self.data:
- if ord(i) == 0x7D:
- escape = True
- elif escape == True:
- new_data += chr(ord(i) ^ 0x20)
- escape = False
- else:
- new_data += i
- self.data = new_data
-
- def add_ascii(self, line, items):
- if len(line) < 53:
- line += " " * (53 - len(line))
- for i in items:
- if chr(i) in string.printable and i >= 32:
- line += chr(i)
- else:
- line += "."
- return line
-
- def show(self):
- line = "*"
- if self.type == TO_MODEM:
- line = ">"
- elif self.type == TO_HOST:
- line = "<"
-
- offset = 0
- items = []
- printed = False
- for i in self.data:
- printed = False
- line += " %02x" % ord(i)
- items.append(ord(i))
- if len(items) % 16 == 0:
- print "%03d: %s" % (offset, self.add_ascii(line, items))
- line = " "
- items = []
- printed = True
- offset += 16
- if not printed:
- print "%03d: %s" % (offset, self.add_ascii(line, items))
- print ""
-
-class FindPackets(handler.ContentHandler):
- def __init__(self):
- self.inFunction = False
- self.inPayload = False
- self.ignore = False
- self.inTimestamp = False
- self.timestamp = None
- self.packet = None
- self.idx = 1
-
- def startElement(self, name, attrs):
- if name == "function":
- self.inFunction = True
- elif name == "payloadbytes":
- self.inPayload = True
- elif name == "timestamp":
- self.inTimestamp = True
-
- def characters(self, ch):
- if self.ignore:
- return
-
- stripped = ch.strip()
- if self.inFunction and ch != "BULK_OR_INTERRUPT_TRANSFER":
- self.ignore = True
- return
- elif self.inTimestamp:
- self.timestamp = stripped
- elif self.inPayload and len(stripped) > 0:
- if self.packet == None:
- self.packet = stripped
- else:
- self.packet += stripped
-
- def endElement(self, name):
- if name == "function":
- self.inFunction = False
- elif name == "payloadbytes":
- self.inPayload = False
- elif name == "payload":
- if self.packet:
- p = Packet(self.packet, self.idx)
- self.idx = self.idx + 1
- packets.append(p)
- self.packet = None
-
- self.ignore = False
- self.timestamp = None
- elif name == "timestamp":
- self.inTimestamp = False
-
-
-from xml.sax import make_parser
-from xml.sax import parse
-import sys
-
-if __name__ == "__main__":
- dh = FindPackets()
- parse(sys.argv[1], dh)
-
- cmds = {}
- for p in packets:
- if cmds.has_key(p.four):
- cmds[p.four].append(p)
- else:
- cmds[p.four] = [p]
- if len(sys.argv) > 2:
- if p.four == sys.argv[2]:
- p.show()
- else:
- p.show()
-
- print ""
- print "cmd #tot"
- for k in cmds.keys():
- print "%s (%d)" % (k, len(cmds[k]))
- print ""
-
diff --git a/decode/decode.py b/decode/decode.py
deleted file mode 100755
index 7196f9de..00000000
--- a/decode/decode.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-import binascii
-import string
-import sys
-import defs
-from packet import Packet
-
-packets = []
-control = None
-transfer = None
-
-def get_protocol(arg):
- return arg[arg.index("=") + 1:]
-
-if __name__ == "__main__":
- i = 1
- if sys.argv[i].startswith("--control="):
- control = get_protocol(sys.argv[i])
- i = i + 1
- if sys.argv[i].startswith("--transfer="):
- transfer = get_protocol(sys.argv[i])
- i = i + 1
-
- path = sys.argv[i]
- f = open(path, 'r')
- lines = f.readlines()
- f.close()
-
- packet = None
- for l in lines:
- if packet:
- done = packet.add_line(l)
- if done:
- packets.append(packet)
- packet = None
- else:
- packet = Packet(l, control, transfer)
- if packet.direction == defs.TO_UNKNOWN:
- packet = None
-
- for p in packets:
- p.show()
diff --git a/decode/defs.py b/decode/defs.py
deleted file mode 100644
index 847b67f4..00000000
--- a/decode/defs.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-TO_UNKNOWN = 0
-TO_MODEM = 1
-TO_HOST = 2
-
diff --git a/decode/packet.py b/decode/packet.py
deleted file mode 100644
index e28b62fb..00000000
--- a/decode/packet.py
+++ /dev/null
@@ -1,232 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-import binascii
-import string
-import sys
-
-import defs
-
-import wmc
-
-URBF_UNKNOWN = 0
-URBF_GET_DESC = 1
-URBF_SEL_CONF = 2
-URBF_RESET_PIPE = 3
-URBF_TRANSFER = 4
-URBF_GET_STATUS = 5
-URBF_CONTROL = 6
-URBF_SET_FEATURE = 7
-URBF_ABORT_PIPE = 8
-URBF_CLASS_IFACE = 9
-URBF_CLEAR_FEATURE = 10
-URBF_VENDOR_DEVICE = 11
-
-funcs = {
- "-- URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE:": (URBF_GET_DESC, False, None),
- "-- URB_FUNCTION_SELECT_CONFIGURATION:": (URBF_SEL_CONF, False, None),
- "-- URB_FUNCTION_RESET_PIPE:": (URBF_RESET_PIPE, False, None),
- "-- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:": (URBF_TRANSFER, True, "T"),
- "-- URB_FUNCTION_GET_STATUS_FROM_DEVICE:": (URBF_GET_STATUS, False, None),
- "-- URB_FUNCTION_CONTROL_TRANSFER:": (URBF_CONTROL, True, "C"),
- "-- URB_FUNCTION_SET_FEATURE_TO_DEVICE:": (URBF_SET_FEATURE, False, None),
- "-- URB_FUNCTION_ABORT_PIPE:": (URBF_SET_FEATURE, False, None),
- "-- URB_FUNCTION_CLASS_INTERFACE:": (URBF_CLASS_IFACE, True, "C"),
- "-- URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE:": (URBF_CLEAR_FEATURE, False, None),
- "-- URB_FUNCTION_VENDOR_DEVICE:": (URBF_VENDOR_DEVICE, False, None)
-}
-
-def get_urb_info(l):
- direction = defs.TO_UNKNOWN
-
- tsstr = ""
- if l[0] == '[':
- idx = l.find(" ms]")
- if idx <= 0:
- return (defs.TO_UNKNOWN, -1, -1)
- tsstr = l[1:idx]
-
- idx = string.find(l, ">>> URB ")
- if idx >= 0:
- direction = defs.TO_MODEM
- else:
- idx = string.find(l, "<<< URB ")
- if idx >= 0:
- direction = defs.TO_HOST
- else:
- return (defs.TO_UNKNOWN, -1, -1)
-
- # Yay, valid packet, grab URB number
- numstr = ""
- for c in l[idx + 9:]:
- if c.isdigit():
- numstr = numstr + c
- else:
- break
-
- if not len(numstr):
- raise Exception("Failed to get URB number ('%s')" % l)
-
- return (direction, int(numstr), int(tsstr))
-
-class Packet:
- def __init__(self, line, control_prot, transfer_prot):
- self.direction = defs.TO_UNKNOWN
- self.func = URBF_UNKNOWN
- self.control_prot = control_prot
- self.transfer_prot = transfer_prot
- self.data = None
- self.urbnum = 0
- self.timestamp = 0
- self.protocol = None
- self.has_data = False
- self.typecode = None
- self.lines = []
- self.in_data = False
- self.data_complete = False
- self.tmpdata = ""
- self.fcomplete = None
- self.funpack = None
- self.fshow = None
-
- # Check if this is actually a packet
- self.lines.append(line)
- (self.direction, self.urbnum, self.timestamp) = get_urb_info(line)
-
- def add_line(self, line):
- line = line.strip()
- if not len(line):
- return
- self.lines.append(line)
-
- if line[0] == '[':
- # Usually the end of a packet, but if we need data from the next
- # packet keep going
- if self.has_data and not self.data_complete:
- return False
- return True
-
- if not self.typecode:
- # haven't gotten our "-- URB_FUNCTION_xxxx" line yet
- if line.find("-- URB_FUNCTION_") >= 0:
- try:
- (self.func, self.has_data, self.typecode) = funcs[line]
- except KeyError:
- raise KeyError("URB function %s not handled" % line)
-
- if self.func == URBF_TRANSFER:
- self.protocol = self.transfer_prot
- elif self.func == URBF_CONTROL or self.func == URBF_CLASS_IFACE:
- self.protocol = self.control_prot
-
- if self.protocol:
- exec "from %s import get_funcs" % self.protocol
- (self.fcomplete, self.funpack, self.fshow) = get_funcs()
- else:
- return False # not done; need more lines
-
- if line.find("TransferBufferMDL = ") >= 0 and self.has_data:
- self.in_data = True
- return False # not done; need more lines
-
- if line.find("UrbLink = ") >= 0 or line.find("UrbLink =") >= 0:
- if self.in_data:
- self.in_data = False
-
- # special case: zero-length data means complete
- if len(self.tmpdata) == 0:
- self.data_complete = True
- return True
-
- if self.fcomplete:
- self.data_complete = self.fcomplete(self.tmpdata, self.direction)
- if self.data_complete:
- self.data = self.funpack(self.tmpdata, self.direction)
- return self.data_complete
- else:
- self.data = binascii.unhexlify(self.tmpdata)
- self.data_complete = True
- return False # not done; need more lines
-
- if self.in_data:
- if len(line) and not "no data supplied" in line:
- d = line[line.index(": ") + 2:] # get data alone
- self.tmpdata += d.replace(" ", "")
-
- return False # not done; need more lines
-
- def add_ascii(self, line, items):
- if len(line) < 53:
- line += " " * (53 - len(line))
- for i in items:
- if chr(i) in string.printable and i >= 32:
- line += chr(i)
- else:
- line += "."
- return line
-
- def show(self):
- if not self.has_data or not self.data:
- return
-
- # Ignore URBF_TRANSFER packets that appear to be returning SetupPacket data
- if self.data == chr(0xa1) + chr(0x01) + chr(0x00) + chr(0x00) + chr(0x05) + chr(0x00) + chr(0x00) + chr(0x00):
- return
-
- offset = 0
- items = []
- printed = False
- line = ""
-
- prefix = "*"
- if self.direction == defs.TO_MODEM:
- prefix = ">"
- elif self.direction == defs.TO_HOST:
- prefix = "<"
-
- if self.typecode:
- prefix = prefix + " " + self.typecode + " "
- else:
- prefix = prefix + " "
-
- prefix_printed = False
- for i in self.data:
- printed = False
- line += " %02x" % ord(i)
- items.append(ord(i))
- if len(items) % 16 == 0:
- output = "%04d: %s" % (offset, self.add_ascii(line, items))
- if offset == 0:
- print prefix + output
- else:
- print " " + output
- line = ""
- items = []
- printed = True
- offset += 16
- prefix_printed = True
-
- if not printed:
- output = "%04d: %s" % (offset, self.add_ascii(line, items))
- if prefix_printed:
- print " " + output
- else:
- print prefix + output
- print ""
-
- if self.fshow:
- self.fshow(self.data, " " * 8, self.direction)
-
diff --git a/decode/qmiprotgen.py b/decode/qmiprotgen.py
deleted file mode 100755
index 3114c86e..00000000
--- a/decode/qmiprotgen.py
+++ /dev/null
@@ -1,596 +0,0 @@
-#!/bin/env python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-
-# Takes an Entity.txt and generates the Python dicts defining the commands
-# and the TLVs associated with those commands
-
-import sys
-
-TP_REQUEST = 0
-TP_RESPONSE = 1
-TP_INDICATION = 2
-
-cmdenum = """
- eQMI_CTL_SET_INSTANCE_ID = 32, // 32 Set the unique link instance ID
- eQMI_CTL_GET_VERSION_INFO, // 33 Get supported service version info
- eQMI_CTL_GET_CLIENT_ID, // 34 Get a unique client ID
- eQMI_CTL_RELEASE_CLIENT_ID, // 35 Release the unique client ID
- eQMI_CTL_REVOKE_CLIENT_ID_IND, // 36 Indication of client ID revocation
- eQMI_CTL_INVALID_CLIENT_ID, // 37 Indication of invalid client ID
- eQMI_CTL_SET_DATA_FORMAT, // 38 Set host driver data format
- eQMI_CTL_SYNC, // 39 Synchronize client/server
- eQMI_CTL_SYNC_IND = 39, // 39 Synchronize indication
- eQMI_CTL_SET_EVENT, // 40 Set event report conditions
- eQMI_CTL_EVENT_IND = 40, // 40 Event report indication
- eQMI_CTL_SET_POWER_SAVE_CFG, // 41 Set power save config
- eQMI_CTL_SET_POWER_SAVE_MODE, // 42 Set power save mode
- eQMI_CTL_GET_POWER_SAVE_MODE, // 43 Get power save mode
-
- eQMI_WDS_RESET, // 00 Reset WDS service state variables
- eQMI_WDS_SET_EVENT, // 01 Set connection state report conditions
- eQMI_WDS_EVENT_IND = 1, // 01 Connection state report indication
- eQMI_WDS_ABORT, // 02 Abort previously issued WDS command
- eQMI_WDS_START_NET = 32, // 32 Start WDS network interface
- eQMI_WDS_STOP_NET, // 33 Stop WDS network interface
- eQMI_WDS_GET_PKT_STATUS, // 34 Get packet data connection status
- eQMI_WDS_PKT_STATUS_IND = 34, // 34 Packet data connection status indication
- eQMI_WDS_GET_RATES, // 35 Get current bit rates of the connection
- eQMI_WDS_GET_STATISTICS, // 36 Get the packet data transfer statistics
- eQMI_WDS_G0_DORMANT, // 37 Go dormant
- eQMI_WDS_G0_ACTIVE, // 38 Go active
- eQMI_WDS_CREATE_PROFILE, // 39 Create profile with specified settings
- eQMI_WDS_MODIFY_PROFILE, // 40 Modify profile with specified settings
- eQMI_WDS_DELETE_PROFILE, // 41 Delete the specified profile
- eQMI_WDS_GET_PROFILE_LIST, // 42 Get all profiles
- eQMI_WDS_GET_PROFILE, // 43 Get the specified profile
- eQMI_WDS_GET_DEFAULTS, // 44 Get the default data session settings
- eQMI_WDS_GET_SETTINGS, // 45 Get the runtime data session settings
- eQMI_WDS_SET_MIP, // 46 Get the mobile IP setting
- eQMI_WDS_GET_MIP, // 47 Set the mobile IP setting
- eQMI_WDS_GET_DORMANCY, // 48 Get the dormancy status
- eQMI_WDS_GET_AUTOCONNECT = 52, // 52 Get the NDIS autoconnect setting
- eQMI_WDS_GET_DURATION, // 53 Get the duration of data session
- eQMI_WDS_GET_MODEM_STATUS, // 54 Get the modem status
- eQMI_WDS_MODEM_IND = 54, // 54 Modem status indication
- eQMI_WDS_GET_DATA_BEARER, // 55 Get the data bearer type
- eQMI_WDS_GET_MODEM_INFO, // 56 Get the modem info
- eQMI_WDS_MODEM_INFO_IND = 56, // 56 Modem info indication
- eQMI_WDS_GET_ACTIVE_MIP = 60, // 60 Get the active mobile IP profile
- eQMI_WDS_SET_ACTIVE_MIP, // 61 Set the active mobile IP profile
- eQMI_WDS_GET_MIP_PROFILE, // 62 Get mobile IP profile settings
- eQMI_WDS_SET_MIP_PROFILE, // 63 Set mobile IP profile settings
- eQMI_WDS_GET_MIP_PARAMS, // 64 Get mobile IP parameters
- eQMI_WDS_SET_MIP_PARAMS, // 65 Set mobile IP parameters
- eQMI_WDS_GET_LAST_MIP_STATUS, // 66 Get last mobile IP status
- eQMI_WDS_GET_AAA_AUTH_STATUS, // 67 Get AN-AAA authentication status
- eQMI_WDS_GET_CUR_DATA_BEARER, // 68 Get current data bearer
- eQMI_WDS_GET_CALL_LIST, // 69 Get the call history list
- eQMI_WDS_GET_CALL_ENTRY, // 70 Get an entry from the call history list
- eQMI_WDS_CLEAR_CALL_LIST, // 71 Clear the call history list
- eQMI_WDS_GET_CALL_LIST_MAX, // 72 Get maximum size of call history list
- eQMI_WDS_SET_IP_FAMILY = 77, // 77 Set the client IP family preference
- eQMI_WDS_SET_AUTOCONNECT = 81, // 81 Set the NDIS autoconnect setting
- eQMI_WDS_GET_DNS, // 82 Get the DNS setting
- eQMI_WDS_SET_DNS, // 83 Set the DNS setting
- eQMI_WDS_GET_PRE_DORMANCY, // 084 Get the CDMA pre-dormancy settings
- eQMI_WDS_SET_CAM_TIMER, // 085 Set the CAM timer
- eQMI_WDS_GET_CAM_TIMER, // 086 Get the CAM timer
- eQMI_WDS_SET_SCRM, // 087 Set SCRM status
- eQMI_WDS_GET_SCRM, // 088 Get SCRM status
- eQMI_WDS_SET_RDUD, // 089 Set RDUD status
- eQMI_WDS_GET_RDUD, // 090 Get RDUD status
- eQMI_WDS_GET_SIPMIP_CALL_TYPE, // 091 Set SIP/MIP call type
- eQMI_WDS_SET_PM_PERIOD, // 092 Set EV-DO page monitor period
- eQMI_WDS_SET_FORCE_LONG_SLEEP, // 093 Set EV-DO force long sleep feature
- eQMI_WDS_GET_PM_PERIOD, // 094 Get EV-DO page monitor period
- eQMI_WDS_GET_CALL_THROTTLE, // 095 Get call throttle info
- eQMI_WDS_GET_NSAPI, // 096 Get NSAPI
- eQMI_WDS_SET_DUN_CTRL_PREF, // 097 Set DUN control preference
- eQMI_WDS_GET_DUN_CTRL_INFO, // 098 Set DUN control info
- eQMI_WDS_SET_DUN_CTRL_EVENT, // 099 Set DUN control event preference
- eQMI_WDS_PENDING_DUN_CTRL, // 100 Control pending DUN call
- eQMI_WDS_GET_DATA_SYS = 105, // 105 Get preferred data system
- eQMI_WDS_GET_LAST_DATA_STATUS, // 106 Get last data call status
- eQMI_WDS_GET_CURR_DATA_SYS, // 107 Get current data systems status
- eQMI_WDS_GET_PDN_THROTTLE, // 108 Get PDN throttle info
-
- eQMI_DMS_RESET, // 00 Reset DMS service state variables
- eQMI_DMS_SET_EVENT, // 01 Set connection state report conditions
- eQMI_DMS_EVENT_IND = 1, // 01 Connection state report indication
- eQMI_DMS_GET_CAPS = 32, // 32 Get the device capabilities
- eQMI_DMS_GET_MANUFACTURER, // 33 Get the device manfacturer
- eQMI_DMS_GET_MODEL_ID, // 34 Get the device model ID
- eQMI_DMS_GET_REV_ID, // 35 Get the device revision ID
- eQMI_DMS_GET_NUMBER, // 36 Get the assigned voice number
- eQMI_DMS_GET_IDS, // 37 Get the ESN/IMEI/MEID
- eQMI_DMS_GET_POWER_STATE, // 38 Get the get power state
- eQMI_DMS_UIM_SET_PIN_PROT, // 39 UIM - Set PIN protection
- eQMI_DMS_UIM_PIN_VERIFY, // 40 UIM - Verify PIN
- eQMI_DMS_UIM_PIN_UNBLOCK, // 41 UIM - Unblock PIN
- eQMI_DMS_UIM_PIN_CHANGE, // 42 UIM - Change PIN
- eQMI_DMS_UIM_GET_PIN_STATUS, // 43 UIM - Get PIN status
- eQMI_DMS_GET_MSM_ID = 44, // 44 Get MSM ID
- eQMI_DMS_GET_OPERTAING_MODE, // 45 Get the operating mode
- eQMI_DMS_SET_OPERATING_MODE, // 46 Set the operating mode
- eQMI_DMS_GET_TIME, // 47 Get timestamp from the device
- eQMI_DMS_GET_PRL_VERSION, // 48 Get the PRL version
- eQMI_DMS_GET_ACTIVATED_STATE, // 49 Get the activation state
- eQMI_DMS_ACTIVATE_AUTOMATIC, // 50 Perform an automatic activation
- eQMI_DMS_ACTIVATE_MANUAL, // 51 Perform a manual activation
- eQMI_DMS_GET_USER_LOCK_STATE, // 52 Get the lock state
- eQMI_DMS_SET_USER_LOCK_STATE, // 53 Set the lock state
- eQMI_DMS_SET_USER_LOCK_CODE, // 54 Set the lock PIN
- eQMI_DMS_READ_USER_DATA, // 55 Read user data
- eQMI_DMS_WRITE_USER_DATA, // 56 Write user data
- eQMI_DMS_READ_ERI_FILE, // 57 Read the enhanced roaming indicator file
- eQMI_DMS_FACTORY_DEFAULTS, // 58 Reset to factory defaults
- eQMI_DMS_VALIDATE_SPC, // 59 Validate service programming code
- eQMI_DMS_UIM_GET_ICCID, // 60 Get UIM ICCID
- eQMI_DMS_GET_FIRWARE_ID, // 61 Get firmware ID
- eQMI_DMS_SET_FIRMWARE_ID, // 62 Set firmware ID
- eQMI_DMS_GET_HOST_LOCK_ID, // 63 Get host lock ID
- eQMI_DMS_UIM_GET_CK_STATUS, // 64 UIM - Get control key status
- eQMI_DMS_UIM_SET_CK_PROT, // 65 UIM - Set control key protection
- eQMI_DMS_UIM_UNBLOCK_CK, // 66 UIM - Unblock facility control key
- eQMI_DMS_GET_IMSI, // 67 Get the IMSI
- eQMI_DMS_UIM_GET_STATE, // 68 UIM - Get the UIM state
- eQMI_DMS_GET_BAND_CAPS, // 69 Get the device band capabilities
- eQMI_DMS_GET_FACTORY_ID, // 70 Get the device factory ID
- eQMI_DMS_GET_FIRMWARE_PREF, // 71 Get firmware preference
- eQMI_DMS_SET_FIRMWARE_PREF, // 72 Set firmware preference
- eQMI_DMS_LIST_FIRMWARE, // 73 List all stored firmware
- eQMI_DMS_DELETE_FIRMWARE, // 74 Delete specified stored firmware
- eQMI_DMS_SET_TIME, // 75 Set device time
- eQMI_DMS_GET_FIRMWARE_INFO, // 76 Get stored firmware info
- eQMI_DMS_GET_ALT_NET_CFG, // 77 Get alternate network config
- eQMI_DMS_SET_ALT_NET_CFG, // 78 Set alternate network config
- eQMI_DMS_GET_IMG_DLOAD_MODE, // 79 Get next image download mode
- eQMI_DMS_SET_IMG_DLOAD_MODE, // 80 Set next image download mod
- eQMI_DMS_GET_SW_VERSION, // 81 Get software version
- eQMI_DMS_SET_SPC, // 82 Set SPC
-
- eQMI_NAS_RESET, // 00 Reset NAS service state variables
- eQMI_NAS_ABORT, // 01 Abort previously issued NAS command
- eQMI_NAS_SET_EVENT, // 02 Set NAS state report conditions
- eQMI_NAS_EVENT_IND = 2, // 02 Connection state report indication
- eQMI_NAS_SET_REG_EVENT, // 03 Set NAS registration report conditions
- eQMI_NAS_GET_RSSI = 32, // 32 Get the signal strength
- eQMI_NAS_SCAN_NETS, // 33 Scan for visible network
- eQMI_NAS_REGISTER_NET, // 34 Initiate a network registration
- eQMI_NAS_ATTACH_DETACH, // 35 Initiate an attach or detach action
- eQMI_NAS_GET_SS_INFO, // 36 Get info about current serving system
- eQMI_NAS_SS_INFO_IND = 36, // 36 Current serving system info indication
- eQMI_NAS_GET_HOME_INFO, // 37 Get info about home network
- eQMI_NAS_GET_NET_PREF_LIST, // 38 Get the list of preferred networks
- eQMI_NAS_SET_NET_PREF_LIST, // 39 Set the list of preferred networks
- eQMI_NAS_GET_NET_BAN_LIST, // 40 Get the list of forbidden networks
- eQMI_NAS_SET_NET_BAN_LIST, // 41 Set the list of forbidden networks
- eQMI_NAS_SET_TECH_PREF, // 42 Set the technology preference
- eQMI_NAS_GET_TECH_PREF, // 43 Get the technology preference
- eQMI_NAS_GET_ACCOLC, // 44 Get the Access Overload Class
- eQMI_NAS_SET_ACCOLC, // 45 Set the Access Overload Class
- eQMI_NAS_GET_SYSPREF, // 46 Get the CDMA system preference
- eQMI_NAS_GET_NET_PARAMS, // 47 Get various network parameters
- eQMI_NAS_SET_NET_PARAMS, // 48 Set various network parameters
- eQMI_NAS_GET_RF_INFO, // 49 Get the SS radio/band channel info
- eQMI_NAS_GET_AAA_AUTH_STATUS, // 50 Get AN-AAA authentication status
- eQMI_NAS_SET_SYS_SELECT_PREF, // 51 Set system selection preference
- eQMI_NAS_GET_SYS_SELECT_PREF, // 52 Get system selection preference
- eQMI_NAS_SET_DDTM_PREF = 55, // 55 Set DDTM preference
- eQMI_NAS_GET_DDTM_PREF, // 56 Get DDTM preference
- eQMI_NAS_GET_PLMN_MODE = 59, // 59 Get PLMN mode bit from CSP
- eQMI_NAS_PLMN_MODE_IND, // 60 CSP PLMN mode bit indication
- eQMI_NAS_GET_PLMN_NAME = 68, // 68 Get operator name for specified network
- eQMI_NAS_BIND_SUBS, // 69 Bind client to a specific subscription
- eQMI_NAS_MANAGED_ROAMING_IND, // 70 Managed roaming indication
- eQMI_NAS_DSB_PREF_IND, // 71 Dual standby preference indication
- eQMI_NAS_SUBS_INFO_IND, // 72 Subscription info indication
- eQMI_NAS_GET_MODE_PREF, // 73 Get mode preference
- eQMI_NAS_SET_DSB_PREF = 75, // 75 Set dual standby preference
- eQMI_NAS_NETWORK_TIME_IND, // 76 Network time indication
- eQMI_NAS_GET_SYSTEM_INFO, // 77 Get system info
- eQMI_NAS_SYSTEM_INFO_IND, // 78 System info indication
- eQMI_NAS_GET_SIGNAL_INFO, // 79 Get signal info
- eQMI_NAS_CFG_SIGNAL_INFO, // 80 Configure signal info report
- eQMI_NAS_SIGNAL_INFO_IND, // 81 Signal info indication
- eQMI_NAS_GET_ERROR_RATE, // 82 Get error rate info
- eQMI_NAS_ERROR_RATE_IND, // 83 Error rate indication
- eQMI_NAS_EVDO_SESSION_IND, // 84 CDMA 1xEV-DO session close indication
- eQMI_NAS_EVDO_UATI_IND, // 85 CDMA 1xEV-DO UATI update indication
- eQMI_NAS_GET_EVDO_SUBTYPE, // 86 Get CDMA 1xEV-DO protocol subtype
- eQMI_NAS_GET_EVDO_COLOR_CODE, // 87 Get CDMA 1xEV-DO color code
- eQMI_NAS_GET_ACQ_SYS_MODE, // 88 Get current acquisition system mode
- eQMI_NAS_SET_RX_DIVERSITY, // 89 Set the RX diversity
- eQMI_NAS_GET_RX_TX_INFO, // 90 Get detailed RX/TX information
- eQMI_NAS_UPDATE_AKEY_EXT, // 91 Update the A-KEY (extended)
- eQMI_NAS_GET_DSB_PREF, // 92 Get dual standby preference
- eQMI_NAS_DETACH_LTE, // 093 Detach the current LTE system
- eQMI_NAS_BLOCK_LTE_PLMN, // 094 Block LTE PLMN
- eQMI_NAS_UNBLOCK_LTE_PLMN, // 095 Unblock LTE PLMN
- eQMI_NAS_RESET_LTE_PLMN_BLK, // 096 Reset LTE PLMN blocking
- eQMI_NAS_CUR_PLMN_NAME_IND, // 097 Current PLMN name indication
- eQMI_NAS_CONFIG_EMBMS, // 098 Configure eMBMS
- eQMI_NAS_GET_EMBMS_STATUS, // 099 Get eMBMS status
- eQMI_NAS_EMBMS_STATUS_IND, // 100 eMBMS status indication
- eQMI_NAS_GET_CDMA_POS_INFO, // 101 Get CDMA position info
- eQMI_NAS_RF_BAND_INFO_IND, // 102 RF band info indication
-
- eQMI_WMS_RESET, // 00 Reset WMS service state variables
- eQMI_WMS_SET_EVENT, // 01 Set new message report conditions
- eQMI_WMS_EVENT_IND = 1, // 01 New message report indication
- eQMI_WMS_RAW_SEND = 32, // 32 Send a raw message
- eQMI_WMS_RAW_WRITE, // 33 Write a raw message to the device
- eQMI_WMS_RAW_READ, // 34 Read a raw message from the device
- eQMI_WMS_MODIFY_TAG, // 35 Modify message tag on the device
- eQMI_WMS_DELETE, // 36 Delete message by index/tag/memory
- eQMI_WMS_GET_MSG_PROTOCOL = 48, // 48 Get the current message protocol
- eQMI_WMS_GET_MSG_LIST, // 49 Get list of messages from the device
- eQMI_WMS_SET_ROUTES, // 50 Set routes for message memory storage
- eQMI_WMS_GET_ROUTES, // 51 Get routes for message memory storage
- eQMI_WMS_GET_SMSC_ADDR, // 52 Get SMSC address
- eQMI_WMS_SET_SMSC_ADDR, // 53 Set SMSC address
- eQMI_WMS_GET_MSG_LIST_MAX, // 54 Get maximum size of SMS storage
- eQMI_WMS_SEND_ACK, // 55 Send ACK
- eQMI_WMS_SET_RETRY_PERIOD, // 56 Set retry period
- eQMI_WMS_SET_RETRY_INTERVAL, // 57 Set retry interval
- eQMI_WMS_SET_DC_DISCO_TIMER, // 58 Set DC auto-disconnect timer
- eQMI_WMS_SET_MEMORY_STATUS, // 59 Set memory storage status
- eQMI_WMS_SET_BC_ACTIVATION, // 60 Set broadcast activation
- eQMI_WMS_SET_BC_CONFIG, // 61 Set broadcast config
- eQMI_WMS_GET_BC_CONFIG, // 62 Get broadcast config
- eQMI_WMS_MEMORY_FULL_IND, // 63 Memory full indication
- eQMI_WMS_GET_DOMAIN_PREF, // 64 Get domain preference
- eQMI_WMS_SET_DOMAIN_PREF, // 65 Set domain preference
- eQMI_WMS_MEMORY_SEND, // 66 Send message from memory store
- eQMI_WMS_GET_MSG_WAITING, // 67 Get message waiting info
- eQMI_WMS_MSG_WAITING_IND, // 68 Message waiting indication
- eQMI_WMS_SET_PRIMARY_CLIENT, // 69 Set client as primary client
- eQMI_WMS_SMSC_ADDR_IND, // 70 SMSC address indication
- eQMI_WMS_INDICATOR_REG, // 71 Register for indicators
- eQMI_WMS_GET_TRANSPORT_INFO, // 72 Get transport layer info
- eQMI_WMS_TRANSPORT_INFO_IND, // 73 Transport layer info indication
- eQMI_WMS_GET_NW_REG_INFO, // 74 Get network registration info
- eQMI_WMS_NW_REG_INFO_IND, // 75 Network registration info indication
- eQMI_WMS_BIND_SUBSCRIPTION, // 76 Bind client to a subscription
- eQMI_WMS_GET_INDICATOR_REG, // 77 Get indicator registration
- eQMI_WMS_GET_SMS_PARAMETERS, // 78 Get SMS EF-SMSP parameters
- eQMI_WMS_SET_SMS_PARAMETERS, // 79 Set SMS EF-SMSP parameters
- eQMI_WMS_CALL_STATUS_IND, // 80 Call status indication
-
- eQMI_PDS_RESET, // 00 Reset PDS service state variables
- eQMI_PDS_SET_EVENT, // 01 Set PDS report conditions
- eQMI_PDS_EVENT_IND = 1, // 01 PDS report indication
- eQMI_PDS_GET_STATE = 32, // 32 Return PDS service state
- eQMI_PDS_STATE_IND = 32, // 32 PDS service state indication
- eQMI_PDS_SET_STATE, // 33 Set PDS service state
- eQMI_PDS_START_SESSION, // 34 Start a PDS tracking session
- eQMI_PDS_GET_SESSION_INFO, // 35 Get PDS tracking session info
- eQMI_PDS_FIX_POSITION, // 36 Manual tracking session position
- eQMI_PDS_END_SESSION, // 37 End a PDS tracking session
- eQMI_PDS_GET_NMEA_CFG, // 38 Get NMEA sentence config
- eQMI_PDS_SET_NMEA_CFG, // 39 Set NMEA sentence config
- eQMI_PDS_INJECT_TIME, // 40 Inject a time reference
- eQMI_PDS_GET_DEFAULTS, // 41 Get default tracking session config
- eQMI_PDS_SET_DEFAULTS, // 42 Set default tracking session config
- eQMI_PDS_GET_XTRA_PARAMS, // 43 Get the GPS XTRA parameters
- eQMI_PDS_SET_XTRA_PARAMS, // 44 Set the GPS XTRA parameters
- eQMI_PDS_FORCE_XTRA_DL, // 45 Force a GPS XTRA database download
- eQMI_PDS_GET_AGPS_CONFIG, // 46 Get the AGPS mode configuration
- eQMI_PDS_SET_AGPS_CONFIG, // 47 Set the AGPS mode configuration
- eQMI_PDS_GET_SVC_AUTOTRACK, // 48 Get the service auto-tracking state
- eQMI_PDS_SET_SVC_AUTOTRACK, // 49 Set the service auto-tracking state
- eQMI_PDS_GET_COM_AUTOTRACK, // 50 Get COM port auto-tracking config
- eQMI_PDS_SET_COM_AUTOTRACK, // 51 Set COM port auto-tracking config
- eQMI_PDS_RESET_DATA, // 52 Reset PDS service data
- eQMI_PDS_SINGLE_FIX, // 53 Request single position fix
- eQMI_PDS_GET_VERSION, // 54 Get PDS service version
- eQMI_PDS_INJECT_XTRA, // 55 Inject XTRA data
- eQMI_PDS_INJECT_POSITION, // 56 Inject position data
- eQMI_PDS_INJECT_WIFI, // 57 Inject Wi-Fi obtained data
- eQMI_PDS_GET_SBAS_CONFIG, // 58 Get SBAS config
- eQMI_PDS_SET_SBAS_CONFIG, // 59 Set SBAS config
- eQMI_PDS_SEND_NI_RESPONSE, // 60 Send network initiated response
- eQMI_PDS_INJECT_ABS_TIME, // 61 Inject absolute time
- eQMI_PDS_INJECT_EFS, // 62 Inject EFS data
- eQMI_PDS_GET_DPO_CONFIG, // 63 Get DPO config
- eQMI_PDS_SET_DPO_CONFIG, // 64 Set DPO config
- eQMI_PDS_GET_ODP_CONFIG, // 65 Get ODP config
- eQMI_PDS_SET_ODP_CONFIG, // 66 Set ODP config
- eQMI_PDS_CANCEL_SINGLE_FIX, // 67 Cancel single position fix
- eQMI_PDS_GET_GPS_STATE, // 68 Get GPS state
- eQMI_PDS_GET_METHODS = 80, // 80 Get GPS position methods state
- eQMI_PDS_SET_METHODS, // 81 Set GPS position methods state
- eQMI_PDS_INJECT_SENSOR, // 82 Inject sensor data
- eQMI_PDS_INJECT_TIME_SYNC, // 83 Inject time sync data
- eQMI_PDS_GET_SENSOR_CFG, // 84 Get sensor config
- eQMI_PDS_SET_SENSOR_CFG, // 85 Set sensor config
- eQMI_PDS_GET_NAV_CFG, // 86 Get navigation config
- eQMI_PDS_SET_NAV_CFG, // 87 Set navigation config
- eQMI_PDS_SET_WLAN_BLANK = 90, // 90 Set WLAN blanking
- eQMI_PDS_SET_LBS_SC_RPT, // 91 Set LBS security challenge reporting
- eQMI_PDS_LBS_SC_IND = 91, // 91 LBS security challenge indication
- eQMI_PDS_SET_LBS_SC, // 92 Set LBS security challenge
- eQMI_PDS_GET_LBS_ENCRYPT_CFG, // 93 Get LBS security encryption config
- eQMI_PDS_SET_LBS_UPDATE_RATE, // 94 Set LBS security update rate
- eQMI_PDS_SET_CELLDB_CONTROL, // 95 Set cell database control
- eQMI_PDS_READY_IND, // 96 Ready indication
-
- eQMI_AUTH_START_EAP = 32, // 32 Start the EAP session
- eQMI_AUTH_SEND_EAP, // 33 Send and receive EAP packets
- eQMI_AUTH_EAP_RESULT_IND, // 34 EAP session result indication
- eQMI_AUTH_GET_EAP_KEYS, // 35 Get the EAP session keys
- eQMI_AUTH_END_EAP, // 36 End the EAP session
- eQMI_AUTH_RUN_AKA, // 37 Runs the AKA algorithm
- eQMI_AUTH_AKA_RESULT_IND, // 38 AKA algorithm result indication
-
- eQMI_VOICE_INDICATION_REG = 3, // 03 Set indication registration state
- eQMI_VOICE_CALL_ORIGINATE = 32, // 32 Originate a voice call
- eQMI_VOICE_CALL_END, // 33 End a voice call
- eQMI_VOICE_CALL_ANSWER, // 34 Answer incoming voice call
- eQMI_VOICE_GET_CALL_INFO = 36, // 36 Get call information
- eQMI_VOICE_OTASP_STATUS_IND, // 37 OTASP/OTAPA event indication
- eQMI_VOICE_INFO_REC_IND, // 38 New info record indication
- eQMI_VOICE_SEND_FLASH, // 39 Send a simple flash
- eQMI_VOICE_BURST_DTMF, // 40 Send a burst DTMF
- eQMI_VOICE_START_CONT_DTMF, // 41 Starts a continuous DTMF
- eQMI_VOICE_STOP_CONT_DTMF, // 42 Stops a continuous DTMF
- eQMI_VOICE_DTMF_IND, // 43 DTMF event indication
- eQMI_VOICE_SET_PRIVACY_PREF, // 44 Set privacy preference
- eQMI_VOICE_PRIVACY_IND, // 45 Privacy change indication
- eQMI_VOICE_ALL_STATUS_IND, // 46 Voice all call status indication
- eQMI_VOICE_GET_ALL_STATUS, // 47 Get voice all call status
- eQMI_VOICE_MANAGE_CALLS = 49, // 49 Manage calls
- eQMI_VOICE_SUPS_NOTIFICATION_IND, // 50 Supplementary service notifications
- eQMI_VOICE_SET_SUPS_SERVICE, // 51 Manage supplementary service
- eQMI_VOICE_GET_CALL_WAITING, // 52 Query sup service call waiting
- eQMI_VOICE_GET_CALL_BARRING, // 53 Query sup service call barring
- eQMI_VOICE_GET_CLIP, // 54 Query sup service CLIP
- eQMI_VOICE_GET_CLIR, // 55 Query sup service CLIR
- eQMI_VOICE_GET_CALL_FWDING, // 56 Query sup service call forwarding
- eQMI_VOICE_SET_CALL_BARRING_PWD, // 57 Set call barring password
- eQMI_VOICE_ORIG_USSD, // 58 Initiate USSD operation
- eQMI_VOICE_ANSWER_USSD, // 59 Answer USSD request
- eQMI_VOICE_CANCEL_USSD, // 60 Cancel USSD operation
- eQMI_VOICE_USSD_RELEASE_IND, // 61 USSD release indication
- eQMI_VOICE_USSD_IND, // 62 USSD request/notification indication
- eQMI_VOICE_UUS_IND, // 63 UUS information indication
- eQMI_VOICE_SET_CONFIG, // 64 Set config
- eQMI_VOICE_GET_CONFIG, // 65 Get config
- eQMI_VOICE_SUPS_IND, // 66 Sup service request indication
- eQMI_VOICE_ASYNC_ORIG_USSD, // 67 Initiate USSD operation
- eQMI_VOICE_ASYNC_USSD_IND = 67, // 67 USSD request/notification indication
- eQMI_VOICE_BIND_SUBSCRIPTION, // 68 Bind subscription
- eQMI_VOICE_ALS_SET_LINE_SW, // 69 ALS set line switching
- eQMI_VOICE_ALS_SELECT_LINE, // 70 ALS select line
- eQMI_VOICE_AOC_RESET_ACM, // 71 AOC reset ACM
- eQMI_VOICE_AOC_SET_ACM_MAX, // 72 ACM set ACM maximum
- eQMI_VOICE_AOC_GET_CM_INFO, // 73 AOC get call meter info
- eQMI_VOICE_AOC_LOW_FUNDS_IND, // 74 AOC low funds indication
- eQMI_VOICE_GET_COLP, // 75 Get COLP info
- eQMI_VOICE_GET_COLR, // 76 Get COLR info
- eQMI_VOICE_GET_CNAP, // 77 Get CNAP info
- eQMI_VOICE_MANAGE_IP_CALLS, // 78 Manage VoIP calls
-
- eQMI_CAT_RESET, // 00 Reset CAT service state variables
- eQMI_CAT_SET_EVENT, // 01 Set new message report conditions
- eQMI_CAT_EVENT_IND = 1, // 01 New message report indication
- eQMI_CAT_GET_STATE = 32, // 32 Get service state information
- eQMI_CAT_SEND_TERMINAL, // 33 Send a terminal response
- eQMI_CAT_SEND_ENVELOPE, // 34 Send an envelope command
- eQMI_CAT_GET_EVENT, // 35 Get last message report
- eQMI_CAT_SEND_DECODED_TERMINAL, // 36 Send a decoded terminal response
- eQMI_CAT_SEND_DECODED_ENVELOPE, // 37 Send a decoded envelope command
- eQMI_CAT_EVENT_CONFIRMATION, // 38 Event confirmation
- eQMI_CAT_SCWS_OPEN_CHANNEL, // 39 Open a channel to a SCWS
- eQMI_CAT_SCWS_OPEN_IND = 39, // 39 SCWS open channel indication
- eQMI_CAT_SCWS_CLOSE_CHANNEL, // 40 Close a channel to a SCWS
- eQMI_CAT_SCWS_CLOSE_IND = 40, // 40 SCWS close channel indication
- eQMI_CAT_SCWS_SEND_DATA, // 41 Send data to a SCWS
- eQMI_CAT_SCWS_SEND_IND = 41, // 41 SCWS send data indication
- eQMI_CAT_SCWS_DATA_AVAILABLE, // 42 Indicate that data is available
- eQMI_CAT_SCWS_CHANNEL_STATUS, // 43 Provide channel status
-
- eQMI_RMS_RESET, // 00 Reset RMS service state variables
- eQMI_RMS_GET_SMS_WAKE = 32, // 32 Get SMS wake settings
- eQMI_RMS_SET_SMS_WAKE, // 33 Set SMS wake settings
-
- eQMI_OMA_RESET, // 00 Reset OMA service state variables
- eQMI_OMA_SET_EVENT, // 01 Set OMA report conditions
- eQMI_OMA_EVENT_IND = 1, // 01 OMA report indication
- eQMI_OMA_START_SESSION = 32, // 32 Start client inititated session
- eQMI_OMA_CANCEL_SESSION, // 33 Cancel session
- eQMI_OMA_GET_SESSION_INFO, // 34 Get session information
- eQMI_OMA_SEND_SELECTION, // 35 Send selection for net inititated msg
- eQMI_OMA_GET_FEATURES, // 36 Get feature settings
- eQMI_OMA_SET_FEATURES, // 37 Set feature settings
-"""
-
-entities = { 30: TP_REQUEST, # 30 QMI CTL request
- 31: TP_RESPONSE, # 31 QMI CTL response
- 32: TP_INDICATION, # 32 QMI CTL indication
- 33: TP_REQUEST, # 33 QMI WDS request
- 34: TP_RESPONSE, # 34 QMI WDS response
- 35: TP_INDICATION, # 35 QMI WDS indication
- 36: TP_REQUEST, # 36 QMI DMS request
- 37: TP_RESPONSE, # 37 QMI DMS response
- 38: TP_INDICATION, # 38 QMI DMS indication
- 39: TP_REQUEST, # 39 QMI NAS request
- 40: TP_RESPONSE, # 40 QMI NAS response
- 41: TP_INDICATION, # 41 QMI NAS indication
- 42: TP_REQUEST, # 42 QMI QOS request
- 43: TP_RESPONSE, # 43 QMI QOS response
- 44: TP_INDICATION, # 44 QMI QOS indication
- 45: TP_REQUEST, # 45 QMI WMS request
- 46: TP_RESPONSE, # 46 QMI WMS response
- 47: TP_INDICATION, # 47 QMI WMS indication
- 48: TP_REQUEST, # 48 QMI PDS request
- 49: TP_RESPONSE, # 49 QMI PDS response
- 50: TP_INDICATION, # 50 QMI PDS indication
- 51: TP_REQUEST, # 51 QMI AUTH request
- 52: TP_RESPONSE, # 52 QMI AUTH response
- 53: TP_INDICATION, # 53 QMI AUTH indication
- 54: TP_REQUEST, # 54 QMI CAT request
- 55: TP_RESPONSE, # 55 QMI CAT response
- 56: TP_INDICATION, # 56 QMI CAT indication
- 57: TP_REQUEST, # 57 QMI RMS request
- 58: TP_RESPONSE, # 58 QMI RMS response
- 59: TP_INDICATION, # 59 QMI RMS indication
- 60: TP_REQUEST, # 60 QMI OMA request
- 61: TP_RESPONSE, # 61 QMI OMA response
- 62: TP_INDICATION, # 62 QMI OMA indication
- 63: TP_REQUEST, # 63 QMI voice request
- 64: TP_RESPONSE, # 64 QMI voice response
- 65: TP_INDICATION # 65 QMI voice indication
- }
-
-class Tlv:
- def __init__(self, entno, cmdno, tlvno, service, cmdname, tlvname, direction):
- self.entno = entno
- self.cmdno = cmdno
- self.tlvno = tlvno
- self.service = service
- self.cmdname = cmdname
- self.name = tlvname
- self.direction = direction
-
- def show(self):
- print (" " * 10) + '%s: "%s/%s/%s",' % (self.tlvno, self.service, self.cmdname, self.name)
-
-
-class Cmd:
- def __init__(self, service, cmdno, name):
- self.service = service
- self.cmdno = cmdno
- self.name = name
- self.tlvs = { TP_REQUEST: {}, TP_RESPONSE: {}, TP_INDICATION: {} }
-
- def add_tlv(self, direction, tlv):
- if self.tlvs[direction].has_key(tlv.tlvno):
- old = self.tlvs[direction][tlv.tlvno]
- raise ValueError("Tried to add duplicate TLV [%s %d:%d (%s/%s/%s)] had [%s %d:%d (%s/%s/%s)]" % (self.service, \
- self.cmdno, tlv.tlvno, self.service, self.name, tlv.name, self.service, self.cmdno, old.tlvno, self.service, \
- self.name, old.name))
- self.tlvs[direction][tlv.tlvno] = tlv
-
- def show_direction(self, direction):
- if len(self.tlvs[direction].keys()) == 0:
- return
-
- print "%s = { # %d" % (self.get_array_name(direction), self.cmdno)
- keys = self.tlvs[direction].keys()
- keys.sort()
- for k in keys:
- tlv = self.tlvs[direction][k]
- tlv.show()
- print (" " * 8) + "}\n"
-
- def show_tlvs(self):
- self.show_direction(TP_REQUEST)
- self.show_direction(TP_RESPONSE)
- self.show_direction(TP_INDICATION)
-
- def get_array_name(self, direction):
- if len(self.tlvs[direction].keys()) == 0:
- return "None"
- tags = { TP_REQUEST: "req", TP_RESPONSE: "rsp", TP_INDICATION: "ind" }
- return "%s_%s_%s_tlvs" % (self.service, self.name.lower(), tags[direction])
-
-# parse list of services and their commands
-services = {}
-for l in cmdenum.split("\n"):
- l = l.strip()
- if not len(l):
- continue
- l = l.replace("eQMI_", "")
- svcend = l.find("_")
- if svcend < 0:
- raise ValueError("Failed to get service")
- svc = l[:svcend].lower()
- l = l[svcend + 1:]
-
- comma = l.find(",")
- space = l.find(" =")
- idx = -1
- if comma >= 0 and (space < 0 or comma < space):
- idx = comma
- elif space >= 0 and (comma < 0 or space < comma):
- idx = space
- else:
- raise ValueError("Couldn't determine command name")
- cmdname = l[:idx]
- l = l[idx:]
- comment = l.index("// ")
- l = l[comment + 3:]
- end = l.index(" ")
- cmdno = int(l[:end])
-
- cmd = Cmd(svc, cmdno, cmdname)
-
- if not services.has_key(svc):
- services[svc] = {}
- if services[svc].has_key(cmdno):
- # ignore duplicat indication numbers
- if cmdname.find("_IND") >= 0:
- continue
- raise KeyError("Already have %s/%s/%d" % (svc, cmdname, cmdno))
- services[svc][cmdno] = cmd
-
-# read in Entity.txt
-f = open(sys.argv[1])
-lines = f.readlines()
-f.close()
-
-for line in lines:
- parts = line.split("^")
- struct = int(parts[3])
-
- entno = int(parts[0])
-
- ids = parts[1].replace('"', "").split(",")
- cmdno = int(ids[0])
- tlvno = int(ids[1])
-
- name = parts[2].replace('"', "").split("/")
- service = name[0]
- cmdname = name[1]
- tlvname = name[2]
-
- direction = entities[entno]
-
- tlv = Tlv(entno, cmdno, tlvno, service, cmdname, tlvname, direction)
- services[service.lower()][cmdno].add_tlv(direction, tlv)
-
-svcsorted = services.keys()
-svcsorted.sort()
-for s in svcsorted:
- # print each service's command's TLVs
- cmdssorted = services[s].keys()
- cmdssorted.sort()
- for c in cmdssorted:
- cmd = services[s][c]
- cmd.show_tlvs()
-
- # print each service's command dict
- print "%s_cmds = {" % s
- for c in cmdssorted:
- cmd = services[s][c]
- print ' %d: ("%s", %s, %s, %s),' % (cmd.cmdno, cmd.name, \
- cmd.get_array_name(TP_REQUEST), cmd.get_array_name(TP_RESPONSE), cmd.get_array_name(TP_INDICATION))
- print " }"
-print ""
-
-# print out services
-slist = { 0: "ctl", 1: "wds", 2: "dms", 3: "nas", 4: "qos", 5: "wms",
- 6: "pds", 7: "auth", 9: "voice", 224: "cat", 225: "rms", 226: "oma" }
-
-slistsorted = slist.keys()
-slistsorted.sort()
-print "services = {"
-for s in slistsorted:
- cmdlistname = "None"
- if slist[s] != "qos":
- # QoS doesn't appear to have any commands
- cmdlistname = slist[s] + "_cmds"
- print ' %d: ("%s", %s),' % (s, slist[s], cmdlistname)
-print " }"
-
diff --git a/decode/qmiprotocol.py b/decode/qmiprotocol.py
deleted file mode 100644
index 1dcb5032..00000000
--- a/decode/qmiprotocol.py
+++ /dev/null
@@ -1,2453 +0,0 @@
-auth_start_eap_req_tlvs = { # 32
- 16: "AUTH/Start EAP Session Request/Method Mask",
- }
-
-auth_start_eap_rsp_tlvs = { # 32
- 2: "AUTH/Start EAP Session Response/Result Code",
- }
-
-auth_send_eap_req_tlvs = { # 33
- 1: "AUTH/Send EAP Packet Request/Request Packet",
- }
-
-auth_send_eap_rsp_tlvs = { # 33
- 1: "AUTH/Send EAP Packet Response/Response Packet",
- 2: "AUTH/Send EAP Packet Response/Result Code",
- }
-
-auth_eap_result_ind_rsp_tlvs = { # 34
- 1: "AUTH/EAP Session Result/Result",
- }
-
-auth_get_eap_keys_rsp_tlvs = { # 35
- 1: "AUTH/Get EAP Session Keys Response/Session Keys",
- 2: "AUTH/Get EAP Session Keys Response/Result Code",
- }
-
-auth_end_eap_rsp_tlvs = { # 36
- 2: "AUTH/End EAP Session Response/Result Code",
- }
-
-auth_cmds = {
- 32: ("START_EAP", auth_start_eap_req_tlvs, auth_start_eap_rsp_tlvs, None),
- 33: ("SEND_EAP", auth_send_eap_req_tlvs, auth_send_eap_rsp_tlvs, None),
- 34: ("EAP_RESULT_IND", None, auth_eap_result_ind_rsp_tlvs, None),
- 35: ("GET_EAP_KEYS", None, auth_get_eap_keys_rsp_tlvs, None),
- 36: ("END_EAP", None, auth_end_eap_rsp_tlvs, None),
- 37: ("RUN_AKA", None, None, None),
- 38: ("AKA_RESULT_IND", None, None, None),
- }
-cat_reset_rsp_tlvs = { # 0
- 2: "CAT/Reset Response/Result Code",
- }
-
-cat_set_event_req_tlvs = { # 1
- 16: "CAT/Set Event Report Request/Report Mask",
- }
-
-cat_set_event_rsp_tlvs = { # 1
- 2: "CAT/Set Event Report Response/Result Code",
- 16: "CAT/Set Event Report Response/Reg Status Mask",
- }
-
-cat_set_event_ind_tlvs = { # 1
- 16: "CAT/Event Report/Display Text Event",
- 17: "CAT/Event Report/Get Inkey Event",
- 18: "CAT/Event Report/Get Input Event",
- 19: "CAT/Event Report/Setup Menu Event",
- 20: "CAT/Event Report/Select Item Event",
- 21: "CAT/Event Report/Alpha ID Available",
- 22: "CAT/Event Report/Setup Event List",
- 23: "CAT/Event Report/Setup Idle Mode Text Event",
- 24: "CAT/Event Report/Language Notification Event",
- 25: "CAT/Event Report/Refresh Event",
- 26: "CAT/Event Report/End Proactive Session",
- }
-
-cat_get_state_rsp_tlvs = { # 32
- 1: "CAT/Get Service State Response/CAT Service State",
- 2: "CAT/Get Service State Response/Result Code",
- }
-
-cat_send_terminal_req_tlvs = { # 33
- 1: "CAT/Send Terminal Response Request/Terminal Response Type",
- }
-
-cat_send_terminal_rsp_tlvs = { # 33
- 2: "CAT/Send Terminal Response Response/Result Code",
- }
-
-cat_send_envelope_req_tlvs = { # 34
- 1: "CAT/Envelope Command Request/Envelope Command",
- }
-
-cat_send_envelope_rsp_tlvs = { # 34
- 2: "CAT/Envelope Command Response/Result Code",
- }
-
-cat_cmds = {
- 0: ("RESET", None, cat_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", cat_set_event_req_tlvs, cat_set_event_rsp_tlvs, cat_set_event_ind_tlvs),
- 32: ("GET_STATE", None, cat_get_state_rsp_tlvs, None),
- 33: ("SEND_TERMINAL", cat_send_terminal_req_tlvs, cat_send_terminal_rsp_tlvs, None),
- 34: ("SEND_ENVELOPE", cat_send_envelope_req_tlvs, cat_send_envelope_rsp_tlvs, None),
- 35: ("GET_EVENT", None, None, None),
- 36: ("SEND_DECODED_TERMINAL", None, None, None),
- 37: ("SEND_DECODED_ENVELOPE", None, None, None),
- 38: ("EVENT_CONFIRMATION", None, None, None),
- 39: ("SCWS_OPEN_CHANNEL", None, None, None),
- 40: ("SCWS_CLOSE_CHANNEL", None, None, None),
- 41: ("SCWS_SEND_DATA", None, None, None),
- 42: ("SCWS_DATA_AVAILABLE", None, None, None),
- 43: ("SCWS_CHANNEL_STATUS", None, None, None),
- }
-ctl_set_instance_id_req_tlvs = { # 32
- 1: "CTL/Set Instance ID Request/Instance",
- }
-
-ctl_set_instance_id_rsp_tlvs = { # 32
- 1: "CTL/Set Instance ID Response/Link",
- 2: "CTL/Set Instance ID Response/Result Code",
- }
-
-ctl_get_version_info_rsp_tlvs = { # 33
- 1: "CTL/Get Version Info Response/List",
- 2: "CTL/Get Version Info Response/Result Code",
- 16: "CTL/Get Version Info Response/Addendum",
- }
-
-ctl_get_client_id_req_tlvs = { # 34
- 1: "CTL/Get Client ID Request/Type",
- }
-
-ctl_get_client_id_rsp_tlvs = { # 34
- 1: "CTL/Get Client ID Response/ID",
- 2: "CTL/Get Client ID Response/Result Code",
- }
-
-ctl_release_client_id_req_tlvs = { # 35
- 1: "CTL/Release Client ID Request/ID",
- }
-
-ctl_release_client_id_rsp_tlvs = { # 35
- 1: "CTL/Release Client ID Response/ID",
- 2: "CTL/Release Client ID Response/Result Code",
- }
-
-ctl_revoke_client_id_ind_ind_tlvs = { # 36
- 1: "CTL/Release Client ID Indication/ID",
- }
-
-ctl_invalid_client_id_ind_tlvs = { # 37
- 1: "CTL/Invalid Client ID Indication/ID",
- }
-
-ctl_set_data_format_req_tlvs = { # 38
- 1: "CTL/Set Data Format Request/Format",
- 16: "CTL/Set Data Format Request/Protocol",
- }
-
-ctl_set_data_format_rsp_tlvs = { # 38
- 2: "CTL/Set Data Format Response/Result Code",
- 16: "CTL/Set Data Format Response/Protocol",
- }
-
-ctl_set_event_req_tlvs = { # 40
- 1: "CTL/Set Event Report Request/Report",
- }
-
-ctl_set_event_rsp_tlvs = { # 40
- 2: "CTL/Set Event Report Response/Result Code",
- }
-
-ctl_set_event_ind_tlvs = { # 40
- 1: "CTL/Event Report Indication/Report",
- }
-
-ctl_set_power_save_cfg_req_tlvs = { # 41
- 1: "CTL/Set Power Save Config Request/Descriptor",
- 17: "CTL/Set Power Save Config Request/Permitted Set",
- }
-
-ctl_set_power_save_cfg_rsp_tlvs = { # 41
- 2: "CTL/Set Power Save Config Response/Result Code",
- }
-
-ctl_set_power_save_mode_req_tlvs = { # 42
- 1: "CTL/Set Power Save Mode Request/Mode",
- }
-
-ctl_set_power_save_mode_rsp_tlvs = { # 42
- 2: "CTL/Set Power Save Mode Response/Result Code",
- }
-
-ctl_get_power_save_mode_rsp_tlvs = { # 43
- 1: "CTL/Get Power Save Mode Response/Mode",
- 2: "CTL/Get Power Save Mode Response/Result Code",
- }
-
-ctl_cmds = {
- 32: ("SET_INSTANCE_ID", ctl_set_instance_id_req_tlvs, ctl_set_instance_id_rsp_tlvs, None),
- 33: ("GET_VERSION_INFO", None, ctl_get_version_info_rsp_tlvs, None),
- 34: ("GET_CLIENT_ID", ctl_get_client_id_req_tlvs, ctl_get_client_id_rsp_tlvs, None),
- 35: ("RELEASE_CLIENT_ID", ctl_release_client_id_req_tlvs, ctl_release_client_id_rsp_tlvs, None),
- 36: ("REVOKE_CLIENT_ID_IND", None, None, ctl_revoke_client_id_ind_ind_tlvs),
- 37: ("INVALID_CLIENT_ID", None, None, ctl_invalid_client_id_ind_tlvs),
- 38: ("SET_DATA_FORMAT", ctl_set_data_format_req_tlvs, ctl_set_data_format_rsp_tlvs, None),
- 39: ("SYNC", None, None, None),
- 40: ("SET_EVENT", ctl_set_event_req_tlvs, ctl_set_event_rsp_tlvs, ctl_set_event_ind_tlvs),
- 41: ("SET_POWER_SAVE_CFG", ctl_set_power_save_cfg_req_tlvs, ctl_set_power_save_cfg_rsp_tlvs, None),
- 42: ("SET_POWER_SAVE_MODE", ctl_set_power_save_mode_req_tlvs, ctl_set_power_save_mode_rsp_tlvs, None),
- 43: ("GET_POWER_SAVE_MODE", None, ctl_get_power_save_mode_rsp_tlvs, None),
- }
-dms_reset_rsp_tlvs = { # 0
- 2: "DMS/Reset Response/Result Code",
- }
-
-dms_set_event_req_tlvs = { # 1
- 16: "DMS/Set Event Report Request/Power State",
- 17: "DMS/Set Event Report Request/Battery Level",
- 18: "DMS/Set Event Report Request/PIN Status",
- 19: "DMS/Set Event Report Request/Activation State",
- 20: "DMS/Set Event Report Request/Operating Mode",
- 21: "DMS/Set Event Report Request/UIM State",
- 22: "DMS/Set Event Report Request/Wireless Disable State",
- }
-
-dms_set_event_rsp_tlvs = { # 1
- 2: "DMS/Set Event Report Response/Result Code",
- }
-
-dms_set_event_ind_tlvs = { # 1
- 16: "DMS/Event Report/Power State",
- 17: "DMS/Event Report/PIN1 State",
- 18: "DMS/Event Report/PIN2 State",
- 19: "DMS/Event Report/Activation State",
- 20: "DMS/Event Report/Operating Mode",
- 21: "DMS/Event Report/UIM State",
- 22: "DMS/Event Report/Wireless Disable State",
- }
-
-dms_get_caps_rsp_tlvs = { # 32
- 1: "DMS/Get Device Capabilities Response/Capabilities",
- 2: "DMS/Get Device Capabilities Response/Result Code",
- }
-
-dms_get_manufacturer_rsp_tlvs = { # 33
- 1: "DMS/Get Device Manfacturer Response/Manfacturer",
- 2: "DMS/Get Device Manfacturer Response/Result Code",
- }
-
-dms_get_model_id_rsp_tlvs = { # 34
- 1: "DMS/Get Device Model Response/Model",
- 2: "DMS/Get Device Model Response/Result Code",
- }
-
-dms_get_rev_id_rsp_tlvs = { # 35
- 1: "DMS/Get Device Revision Response/Revision",
- 2: "DMS/Get Device Revision Response/Result Code",
- 16: "DMS/Get Device Revision Response/Boot Code Revision",
- 17: "DMS/Get Device Revision Response/UQCN Revision",
- }
-
-dms_get_number_rsp_tlvs = { # 36
- 1: "DMS/Get Device Voice Number Response/Voice Number",
- 2: "DMS/Get Device Voice Number Response/Result Code",
- 16: "DMS/Get Device Voice Number Response/Mobile ID Number",
- 17: "DMS/Get Device Voice Number Response/IMSI",
- }
-
-dms_get_ids_rsp_tlvs = { # 37
- 2: "DMS/Get Device Serial Numbers Response/Result Code",
- 16: "DMS/Get Device Serial Numbers Response/ESN",
- 17: "DMS/Get Device Serial Numbers Response/IMEI",
- 18: "DMS/Get Device Serial Numbers Response/MEID",
- }
-
-dms_get_power_state_rsp_tlvs = { # 38
- 1: "DMS/Get Power State Response/Power State",
- 2: "DMS/Get Power State Response/Result Code",
- }
-
-dms_uim_set_pin_prot_req_tlvs = { # 39
- 1: "DMS/UIM Set PIN Protection Request/Info",
- }
-
-dms_uim_set_pin_prot_rsp_tlvs = { # 39
- 2: "DMS/UIM Set PIN Protection Response/Result Code",
- 16: "DMS/UIM Set PIN Protection Response/Retry Info",
- }
-
-dms_uim_pin_verify_req_tlvs = { # 40
- 1: "DMS/UIM Verify PIN Request/Info",
- }
-
-dms_uim_pin_verify_rsp_tlvs = { # 40
- 2: "DMS/UIM Verify PIN Response/Result Code",
- 16: "DMS/UIM Verify PIN Response/Retry Info",
- }
-
-dms_uim_pin_unblock_req_tlvs = { # 41
- 1: "DMS/UIM Unblock PIN Request/Info",
- }
-
-dms_uim_pin_unblock_rsp_tlvs = { # 41
- 2: "DMS/UIM Unblock PIN Response/Result Code",
- 16: "DMS/UIM Unblock PIN Response/Retry Info",
- }
-
-dms_uim_pin_change_req_tlvs = { # 42
- 1: "DMS/UIM Change PIN Request/Info",
- }
-
-dms_uim_pin_change_rsp_tlvs = { # 42
- 2: "DMS/UIM Change PIN Response/Result Code",
- 16: "DMS/UIM Change PIN Response/Retry Info",
- }
-
-dms_uim_get_pin_status_rsp_tlvs = { # 43
- 2: "DMS/UIM Get PIN Status Response/Result Code",
- 17: "DMS/UIM Get PIN Status Response/PIN1 Status",
- 18: "DMS/UIM Get PIN Status Response/PIN2 Status",
- }
-
-dms_get_msm_id_rsp_tlvs = { # 44
- 1: "DMS/Get Hardware Revision Response/Hardware Revision",
- 2: "DMS/Get Hardware Revision Response/Result Code",
- }
-
-dms_get_opertaing_mode_rsp_tlvs = { # 45
- 1: "DMS/Get Operating Mode Response/Operating Mode",
- 2: "DMS/Get Operating Mode Response/Result Code",
- 16: "DMS/Get Operating Mode Response/Offline Reason",
- 17: "DMS/Get Operating Mode Response/Platform Restricted",
- }
-
-dms_set_operating_mode_req_tlvs = { # 46
- 1: "DMS/Set Operating Mode Request/Operating Mode",
- }
-
-dms_set_operating_mode_rsp_tlvs = { # 46
- 2: "DMS/Set Operating Mode Response/Result Code",
- }
-
-dms_get_time_rsp_tlvs = { # 47
- 1: "DMS/Get Timestamp Response/Timestamp",
- 2: "DMS/Get Timestamp Response/Result Code",
- }
-
-dms_get_prl_version_rsp_tlvs = { # 48
- 1: "DMS/Get PRL Version Response/PRL Version",
- 2: "DMS/Get PRL Version Response/Result Code",
- }
-
-dms_get_activated_state_rsp_tlvs = { # 49
- 1: "DMS/Get Activation State Response/Activation State",
- 2: "DMS/Get Activation State Response/Result Code",
- }
-
-dms_activate_automatic_req_tlvs = { # 50
- 1: "DMS/Activate Automatic Request/Activation Code",
- }
-
-dms_activate_automatic_rsp_tlvs = { # 50
- 2: "DMS/Activate Automatic Response/Result Code",
- }
-
-dms_activate_manual_req_tlvs = { # 51
- 1: "DMS/Activate Manual Request/Activation Data",
- 16: "DMS/Activate Manual Request/PRL (Obsolete)",
- 17: "DMS/Activate Manual Request/MN-HA Key",
- 18: "DMS/Activate Manual Request/MN-AAA Key",
- 19: "DMS/Activate Manual Request/PRL",
- }
-
-dms_activate_manual_rsp_tlvs = { # 51
- 2: "DMS/Activate Manual Response/Result Code",
- }
-
-dms_get_user_lock_state_rsp_tlvs = { # 52
- 1: "DMS/Get Lock State Response/Lock State",
- 2: "DMS/Get Lock State Response/Result Code",
- }
-
-dms_set_user_lock_state_req_tlvs = { # 53
- 1: "DMS/Set Lock State Request/Lock State",
- }
-
-dms_set_user_lock_state_rsp_tlvs = { # 53
- 2: "DMS/Set Lock State Response/Result Code",
- }
-
-dms_set_user_lock_code_req_tlvs = { # 54
- 1: "DMS/Set Lock Code Request/Lock Code",
- }
-
-dms_set_user_lock_code_rsp_tlvs = { # 54
- 2: "DMS/Set Lock Code Response/Result Code",
- }
-
-dms_read_user_data_rsp_tlvs = { # 55
- 1: "DMS/Read User Data Response/User Data",
- 2: "DMS/Read User Data Response/Result Code",
- }
-
-dms_write_user_data_req_tlvs = { # 56
- 1: "DMS/Write User Data Request/User Data",
- }
-
-dms_write_user_data_rsp_tlvs = { # 56
- 2: "DMS/Write User Data Response/Result Code",
- }
-
-dms_read_eri_file_rsp_tlvs = { # 57
- 1: "DMS/Read ERI Data Response/User Data",
- 2: "DMS/Read ERI Data Response/Result Code",
- }
-
-dms_factory_defaults_req_tlvs = { # 58
- 1: "DMS/Reset Factory Defaults Request/SPC",
- }
-
-dms_factory_defaults_rsp_tlvs = { # 58
- 2: "DMS/Reset Factory Defaults Response/Result Code",
- }
-
-dms_validate_spc_req_tlvs = { # 59
- 1: "DMS/Validate SPC Request/SPC",
- }
-
-dms_validate_spc_rsp_tlvs = { # 59
- 2: "DMS/Validate SPC Response/Result Code",
- }
-
-dms_uim_get_iccid_rsp_tlvs = { # 60
- 1: "DMS/UIM Get ICCID Response/ICCID",
- 2: "DMS/UIM Get ICCID Response/Result Code",
- }
-
-dms_get_firware_id_rsp_tlvs = { # 61
- 1: "DMS/UIM Get Firmware ID Response/ID",
- 2: "DMS/UIM Get Firmware ID Response/Result Code",
- }
-
-dms_set_firmware_id_req_tlvs = { # 62
- 1: "DMS/UIM Set Firmware ID Request/ID",
- }
-
-dms_set_firmware_id_rsp_tlvs = { # 62
- 2: "DMS/UIM Set Firmware ID Response/Result Code",
- }
-
-dms_get_host_lock_id_rsp_tlvs = { # 63
- 1: "DMS/UIM Get Host Lock ID Response/ID",
- 2: "DMS/UIM Get Host Lock ID Response/Result Code",
- }
-
-dms_uim_get_ck_status_req_tlvs = { # 64
- 1: "DMS/UIM Get Control Key Status Request/Facility",
- }
-
-dms_uim_get_ck_status_rsp_tlvs = { # 64
- 1: "DMS/UIM Get Control Key Status Response/Status",
- 2: "DMS/UIM Get Control Key Status Response/Result Code",
- 16: "DMS/UIM Get Control Key Status Response/Blocking",
- }
-
-dms_uim_set_ck_prot_req_tlvs = { # 65
- 1: "DMS/UIM Set Control Key Protection Request/Facility",
- }
-
-dms_uim_set_ck_prot_rsp_tlvs = { # 65
- 2: "DMS/UIM Set Control Key Protection Response/Result Code",
- 16: "DMS/UIM Set Control Key Protection Response/Status",
- }
-
-dms_uim_unblock_ck_req_tlvs = { # 66
- 1: "DMS/UIM Unblock Control Key Request/Facility",
- }
-
-dms_uim_unblock_ck_rsp_tlvs = { # 66
- 2: "DMS/UIM Unblock Control Key Response/Result Code",
- 16: "DMS/UIM Unblock Control Key Response/Status",
- }
-
-dms_get_imsi_rsp_tlvs = { # 67
- 1: "DMS/Get IMSI Response/IMSI",
- 2: "DMS/Get IMSI Response/Result Code",
- }
-
-dms_uim_get_state_rsp_tlvs = { # 68
- 1: "DMS/Get UIM State Response/State",
- 2: "DMS/Get UIM State Response/Result Code",
- }
-
-dms_get_band_caps_rsp_tlvs = { # 69
- 1: "DMS/Get Band Capabilities Response/Bands",
- 2: "DMS/Get Band Capabilities Response/Result Code",
- }
-
-dms_get_factory_id_rsp_tlvs = { # 70
- 1: "DMS/Get Factory Serial Number Response/ID",
- 2: "DMS/Get Factory Serial Number Response/Result Code",
- }
-
-dms_get_firmware_pref_rsp_tlvs = { # 71
- 1: "DMS/Get Firmware Preference Response/Image List",
- 2: "DMS/Get Firmware Preference Response/Result Code",
- }
-
-dms_set_firmware_pref_req_tlvs = { # 72
- 1: "DMS/Set Firmware Preference Request/Image List",
- 16: "DMS/Set Firmware Preference Request/Override",
- 17: "DMS/Set Firmware Preference Request/Index",
- }
-
-dms_set_firmware_pref_rsp_tlvs = { # 72
- 1: "DMS/Set Firmware Preference Response/Image List",
- 2: "DMS/Set Firmware Preference Response/Result Code",
- 16: "DMS/Set Firmware Preference Response/Maximum",
- }
-
-dms_list_firmware_rsp_tlvs = { # 73
- 1: "DMS/List Stored Firmware Response/Image List",
- 2: "DMS/List Stored Firmware Response/Result Code",
- }
-
-dms_delete_firmware_req_tlvs = { # 74
- 1: "DMS/Delete Stored Firmware Request/Image",
- }
-
-dms_delete_firmware_rsp_tlvs = { # 74
- 2: "DMS/Delete Stored Firmware Response/Result Code",
- }
-
-dms_set_time_req_tlvs = { # 75
- 1: "DMS/Set Device Time Request/Time",
- 16: "DMS/Set Device Time Request/Type",
- }
-
-dms_set_time_rsp_tlvs = { # 75
- 2: "DMS/Set Device Time Response/Result Code",
- }
-
-dms_get_firmware_info_req_tlvs = { # 76
- 1: "DMS/Get Stored Firmware Info Request/Image",
- }
-
-dms_get_firmware_info_rsp_tlvs = { # 76
- 2: "DMS/Get Stored Firmware Info Response/Result Code",
- 16: "DMS/Get Stored Firmware Info Response/Boot Version",
- 17: "DMS/Get Stored Firmware Info Response/PRI Version",
- 18: "DMS/Get Stored Firmware Info Response/OEM Lock ID",
- }
-
-dms_get_alt_net_cfg_rsp_tlvs = { # 77
- 1: "DMS/Get Alternate Net Config Response/Config",
- 2: "DMS/Get Alternate Net Config Response/Result Code",
- }
-
-dms_set_alt_net_cfg_req_tlvs = { # 78
- 1: "DMS/Set Alternate Net Config Request/Config",
- }
-
-dms_set_alt_net_cfg_rsp_tlvs = { # 78
- 2: "DMS/Set Alternate Net Config Response/Result Code",
- }
-
-dms_get_img_dload_mode_rsp_tlvs = { # 79
- 2: "DMS/Get Image Download Mode Response/Result Code",
- 16: "DMS/Get Image Download Mode Response/Mode",
- }
-
-dms_set_img_dload_mode_req_tlvs = { # 80
- 1: "DMS/Set Image Download Mode Request/Mode",
- }
-
-dms_set_img_dload_mode_rsp_tlvs = { # 80
- 2: "DMS/Set Image Download Mode Response/Result Code",
- }
-
-dms_cmds = {
- 0: ("RESET", None, dms_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", dms_set_event_req_tlvs, dms_set_event_rsp_tlvs, dms_set_event_ind_tlvs),
- 32: ("GET_CAPS", None, dms_get_caps_rsp_tlvs, None),
- 33: ("GET_MANUFACTURER", None, dms_get_manufacturer_rsp_tlvs, None),
- 34: ("GET_MODEL_ID", None, dms_get_model_id_rsp_tlvs, None),
- 35: ("GET_REV_ID", None, dms_get_rev_id_rsp_tlvs, None),
- 36: ("GET_NUMBER", None, dms_get_number_rsp_tlvs, None),
- 37: ("GET_IDS", None, dms_get_ids_rsp_tlvs, None),
- 38: ("GET_POWER_STATE", None, dms_get_power_state_rsp_tlvs, None),
- 39: ("UIM_SET_PIN_PROT", dms_uim_set_pin_prot_req_tlvs, dms_uim_set_pin_prot_rsp_tlvs, None),
- 40: ("UIM_PIN_VERIFY", dms_uim_pin_verify_req_tlvs, dms_uim_pin_verify_rsp_tlvs, None),
- 41: ("UIM_PIN_UNBLOCK", dms_uim_pin_unblock_req_tlvs, dms_uim_pin_unblock_rsp_tlvs, None),
- 42: ("UIM_PIN_CHANGE", dms_uim_pin_change_req_tlvs, dms_uim_pin_change_rsp_tlvs, None),
- 43: ("UIM_GET_PIN_STATUS", None, dms_uim_get_pin_status_rsp_tlvs, None),
- 44: ("GET_MSM_ID", None, dms_get_msm_id_rsp_tlvs, None),
- 45: ("GET_OPERTAING_MODE", None, dms_get_opertaing_mode_rsp_tlvs, None),
- 46: ("SET_OPERATING_MODE", dms_set_operating_mode_req_tlvs, dms_set_operating_mode_rsp_tlvs, None),
- 47: ("GET_TIME", None, dms_get_time_rsp_tlvs, None),
- 48: ("GET_PRL_VERSION", None, dms_get_prl_version_rsp_tlvs, None),
- 49: ("GET_ACTIVATED_STATE", None, dms_get_activated_state_rsp_tlvs, None),
- 50: ("ACTIVATE_AUTOMATIC", dms_activate_automatic_req_tlvs, dms_activate_automatic_rsp_tlvs, None),
- 51: ("ACTIVATE_MANUAL", dms_activate_manual_req_tlvs, dms_activate_manual_rsp_tlvs, None),
- 52: ("GET_USER_LOCK_STATE", None, dms_get_user_lock_state_rsp_tlvs, None),
- 53: ("SET_USER_LOCK_STATE", dms_set_user_lock_state_req_tlvs, dms_set_user_lock_state_rsp_tlvs, None),
- 54: ("SET_USER_LOCK_CODE", dms_set_user_lock_code_req_tlvs, dms_set_user_lock_code_rsp_tlvs, None),
- 55: ("READ_USER_DATA", None, dms_read_user_data_rsp_tlvs, None),
- 56: ("WRITE_USER_DATA", dms_write_user_data_req_tlvs, dms_write_user_data_rsp_tlvs, None),
- 57: ("READ_ERI_FILE", None, dms_read_eri_file_rsp_tlvs, None),
- 58: ("FACTORY_DEFAULTS", dms_factory_defaults_req_tlvs, dms_factory_defaults_rsp_tlvs, None),
- 59: ("VALIDATE_SPC", dms_validate_spc_req_tlvs, dms_validate_spc_rsp_tlvs, None),
- 60: ("UIM_GET_ICCID", None, dms_uim_get_iccid_rsp_tlvs, None),
- 61: ("GET_FIRWARE_ID", None, dms_get_firware_id_rsp_tlvs, None),
- 62: ("SET_FIRMWARE_ID", dms_set_firmware_id_req_tlvs, dms_set_firmware_id_rsp_tlvs, None),
- 63: ("GET_HOST_LOCK_ID", None, dms_get_host_lock_id_rsp_tlvs, None),
- 64: ("UIM_GET_CK_STATUS", dms_uim_get_ck_status_req_tlvs, dms_uim_get_ck_status_rsp_tlvs, None),
- 65: ("UIM_SET_CK_PROT", dms_uim_set_ck_prot_req_tlvs, dms_uim_set_ck_prot_rsp_tlvs, None),
- 66: ("UIM_UNBLOCK_CK", dms_uim_unblock_ck_req_tlvs, dms_uim_unblock_ck_rsp_tlvs, None),
- 67: ("GET_IMSI", None, dms_get_imsi_rsp_tlvs, None),
- 68: ("UIM_GET_STATE", None, dms_uim_get_state_rsp_tlvs, None),
- 69: ("GET_BAND_CAPS", None, dms_get_band_caps_rsp_tlvs, None),
- 70: ("GET_FACTORY_ID", None, dms_get_factory_id_rsp_tlvs, None),
- 71: ("GET_FIRMWARE_PREF", None, dms_get_firmware_pref_rsp_tlvs, None),
- 72: ("SET_FIRMWARE_PREF", dms_set_firmware_pref_req_tlvs, dms_set_firmware_pref_rsp_tlvs, None),
- 73: ("LIST_FIRMWARE", None, dms_list_firmware_rsp_tlvs, None),
- 74: ("DELETE_FIRMWARE", dms_delete_firmware_req_tlvs, dms_delete_firmware_rsp_tlvs, None),
- 75: ("SET_TIME", dms_set_time_req_tlvs, dms_set_time_rsp_tlvs, None),
- 76: ("GET_FIRMWARE_INFO", dms_get_firmware_info_req_tlvs, dms_get_firmware_info_rsp_tlvs, None),
- 77: ("GET_ALT_NET_CFG", None, dms_get_alt_net_cfg_rsp_tlvs, None),
- 78: ("SET_ALT_NET_CFG", dms_set_alt_net_cfg_req_tlvs, dms_set_alt_net_cfg_rsp_tlvs, None),
- 79: ("GET_IMG_DLOAD_MODE", None, dms_get_img_dload_mode_rsp_tlvs, None),
- 80: ("SET_IMG_DLOAD_MODE", dms_set_img_dload_mode_req_tlvs, dms_set_img_dload_mode_rsp_tlvs, None),
- 81: ("GET_SW_VERSION", None, None, None),
- 82: ("SET_SPC", None, None, None),
- }
-nas_reset_rsp_tlvs = { # 0
- 2: "NAS/Reset Response/Result Code",
- }
-
-nas_abort_req_tlvs = { # 1
- 1: "NAS/Abort Request/Transaction ID",
- }
-
-nas_abort_rsp_tlvs = { # 1
- 2: "NAS/Abort Response/Result Code",
- }
-
-nas_set_event_req_tlvs = { # 2
- 16: "NAS/Set Event Report Request/Signal Indicator",
- 17: "NAS/Set Event Report Request/RF Indicator",
- 18: "NAS/Set Event Report Request/Registration Reject Indicator",
- 19: "NAS/Set Event Report Request/RSSI Indicator",
- 20: "NAS/Set Event Report Request/ECIO Indicator",
- 21: "NAS/Set Event Report Request/IO Indicator",
- 22: "NAS/Set Event Report Request/SINR Indicator",
- 23: "NAS/Set Event Report Request/Error Rate Indicator",
- 24: "NAS/Set Event Report Request/RSRQ Indicator",
- }
-
-nas_set_event_rsp_tlvs = { # 2
- 2: "NAS/Set Event Report Response/Result Code",
- }
-
-nas_set_event_ind_tlvs = { # 2
- 16: "NAS/Event Report/Signal Strength",
- 17: "NAS/Event Report/RF Info",
- 18: "NAS/Event Report/Registration Reject",
- 19: "NAS/Event Report/RSSI",
- 20: "NAS/Event Report/ECIO",
- 21: "NAS/Event Report/IO",
- 22: "NAS/Event Report/SINR",
- 23: "NAS/Event Report/Error Rate",
- 24: "NAS/Event Report/RSRQ",
- }
-
-nas_set_reg_event_req_tlvs = { # 3
- 16: "NAS/Set Registration Event Report Request/System Select Indicator",
- 18: "NAS/Set Registration Event Report Request/DDTM Indicator",
- 19: "NAS/Set Registration Event Report Request/Serving System Indicator",
- }
-
-nas_set_reg_event_rsp_tlvs = { # 3
- 2: "NAS/Set Registration Event Report Response/Result Code",
- }
-
-nas_get_rssi_req_tlvs = { # 32
- 16: "NAS/Get Signal Strength Request/Request Mask",
- }
-
-nas_get_rssi_rsp_tlvs = { # 32
- 1: "NAS/Get Signal Strength Response/Signal Strength",
- 2: "NAS/Get Signal Strength Response/Result Code",
- 16: "NAS/Get Signal Strength Response/Signal Strength List",
- 17: "NAS/Get Signal Strength Response/RSSI List",
- 18: "NAS/Get Signal Strength Response/ECIO List",
- 19: "NAS/Get Signal Strength Response/IO",
- 20: "NAS/Get Signal Strength Response/SINR",
- 21: "NAS/Get Signal Strength Response/Error Rate List",
- }
-
-nas_scan_nets_rsp_tlvs = { # 33
- 2: "NAS/Perform Network Scan Response/Result Code",
- 16: "NAS/Perform Network Scan Response/Network Info",
- 17: "NAS/Perform Network Scan Response/Network RAT",
- }
-
-nas_register_net_req_tlvs = { # 34
- 1: "NAS/Initiate Network Register Request/Action",
- 16: "NAS/Initiate Network Register Request/Manual Info",
- 17: "NAS/Initiate Network Register Request/Change Duration",
- }
-
-nas_register_net_rsp_tlvs = { # 34
- 2: "NAS/Initiate Network Register Response/Result Code",
- }
-
-nas_attach_detach_req_tlvs = { # 35
- 16: "NAS/Initiate Attach Request/Action",
- }
-
-nas_attach_detach_rsp_tlvs = { # 35
- 2: "NAS/Initiate Attach Response/Result Code",
- }
-
-nas_get_ss_info_rsp_tlvs = { # 36
- 1: "NAS/Get Serving System Response/Serving System",
- 2: "NAS/Get Serving System Response/Result Code",
- 16: "NAS/Get Serving System Response/Roaming Indicator",
- 17: "NAS/Get Serving System Response/Data Services",
- 18: "NAS/Get Serving System Response/Current PLMN",
- 19: "NAS/Get Serving System Response/System ID",
- 20: "NAS/Get Serving System Response/Base Station",
- 21: "NAS/Get Serving System Response/Roaming List",
- 22: "NAS/Get Serving System Response/Default Roaming",
- 23: "NAS/Get Serving System Response/Time Zone",
- 24: "NAS/Get Serving System Response/Protocol Revision",
- }
-
-nas_get_ss_info_ind_tlvs = { # 36
- 1: "NAS/Serving System Indication/Serving System",
- 16: "NAS/Serving System Indication/Roaming Indicator",
- 17: "NAS/Serving System Indication/Data Services",
- 18: "NAS/Serving System Indication/Current PLMN",
- 19: "NAS/Serving System Indication/System ID",
- 20: "NAS/Serving System Indication/Base Station",
- 21: "NAS/Serving System Indication/Roaming List",
- 22: "NAS/Serving System Indication/Default Roaming",
- 23: "NAS/Serving System Indication/Time Zone",
- 24: "NAS/Serving System Indication/Protocol Revision",
- 25: "NAS/Serving System Indication/PLMN Change",
- }
-
-nas_get_home_info_rsp_tlvs = { # 37
- 1: "NAS/Get Home Network Response/Home Network",
- 2: "NAS/Get Home Network Response/Result Code",
- 16: "NAS/Get Home Network Response/Home IDs",
- 17: "NAS/Get Home Network Response/Extended Home Network",
- }
-
-nas_get_net_pref_list_rsp_tlvs = { # 38
- 2: "NAS/Get Preferred Networks Response/Result Code",
- 16: "NAS/Get Preferred Networks Response/Networks",
- 17: "NAS/Get Preferred Networks Response/Static Networks",
- }
-
-nas_set_net_pref_list_req_tlvs = { # 39
- 16: "NAS/Set Preferred Networks Request/Networks",
- }
-
-nas_set_net_pref_list_rsp_tlvs = { # 39
- 2: "NAS/Set Preferred Networks Response/Result Code",
- }
-
-nas_get_net_ban_list_rsp_tlvs = { # 40
- 2: "NAS/Get Forbidden Networks Response/Result Code",
- 16: "NAS/Get Forbidden Networks Response/Networks",
- }
-
-nas_set_net_ban_list_req_tlvs = { # 41
- 16: "NAS/Set Forbidden Networks Request/Networks",
- }
-
-nas_set_net_ban_list_rsp_tlvs = { # 41
- 2: "NAS/Set Forbidden Networks Response/Result Code",
- }
-
-nas_set_tech_pref_req_tlvs = { # 42
- 1: "NAS/Set Technology Preference Request/Preference",
- }
-
-nas_set_tech_pref_rsp_tlvs = { # 42
- 2: "NAS/Set Technology Preference Response/Result Code",
- }
-
-nas_get_tech_pref_rsp_tlvs = { # 43
- 1: "NAS/Get Technology Preference Response/Active Preference",
- 2: "NAS/Get Technology Preference Response/Result Code",
- 16: "NAS/Get Technology Preference Response/Persistent Preference",
- }
-
-nas_get_accolc_rsp_tlvs = { # 44
- 1: "NAS/Get ACCOLC Response/ACCOLC",
- 2: "NAS/Get ACCOLC Response/Result Code",
- }
-
-nas_set_accolc_req_tlvs = { # 45
- 1: "NAS/Set ACCOLC Request/ACCOLC",
- }
-
-nas_set_accolc_rsp_tlvs = { # 45
- 2: "NAS/Set ACCOLC Response/Result Code",
- }
-
-nas_get_syspref_rsp_tlvs = { # 46
- 1: "NAS/Get System Preference/Pref",
- 2: "NAS/Get System Preference/Result Code",
- }
-
-nas_get_net_params_rsp_tlvs = { # 47
- 2: "NAS/Get Network Parameters Response/Result Code",
- 17: "NAS/Get Network Parameters Response/SCI",
- 18: "NAS/Get Network Parameters Response/SCM",
- 19: "NAS/Get Network Parameters Response/Registration",
- 20: "NAS/Get Network Parameters Response/CDMA 1xEV-DO Revision",
- 21: "NAS/Get Network Parameters Response/CDMA 1xEV-DO SCP Custom",
- 22: "NAS/Get Network Parameters Response/Roaming",
- }
-
-nas_set_net_params_req_tlvs = { # 48
- 16: "NAS/Set Network Parameters Request/SPC",
- 20: "NAS/Set Network Parameters Request/CDMA 1xEV-DO Revision",
- 21: "NAS/Set Network Parameters Request/CDMA 1xEV-DO SCP Custom",
- 22: "NAS/Set Network Parameters Request/Roaming",
- }
-
-nas_set_net_params_rsp_tlvs = { # 48
- 2: "NAS/Set Network Parameters Response/Result Code",
- }
-
-nas_get_rf_info_rsp_tlvs = { # 49
- 1: "NAS/Get RF Info Response/RF Info",
- 2: "NAS/Get RF Info Response/Result Code",
- }
-
-nas_get_aaa_auth_status_rsp_tlvs = { # 50
- 1: "NAS/Get AN-AAA Authentication Status Response/Status",
- 2: "NAS/Get AN-AAA Authentication Status Response/Result Code",
- }
-
-nas_set_sys_select_pref_req_tlvs = { # 51
- 16: "NAS/Set System Selection Pref Request/Emergency Mode",
- 17: "NAS/Set System Selection Pref Request/Mode",
- 18: "NAS/Set System Selection Pref Request/Band",
- 19: "NAS/Set System Selection Pref Request/PRL",
- 20: "NAS/Set System Selection Pref Request/Roaming",
- }
-
-nas_set_sys_select_pref_rsp_tlvs = { # 51
- 2: "NAS/Set System Selection Pref Response/Result Code",
- }
-
-nas_get_sys_select_pref_rsp_tlvs = { # 52
- 2: "NAS/Get System Selection Pref Response/Result Code",
- 16: "NAS/Get System Selection Pref Response/Emergency Mode",
- 17: "NAS/Get System Selection Pref Response/Mode",
- 18: "NAS/Get System Selection Pref Response/Band",
- 19: "NAS/Get System Selection Pref Response/PRL",
- 20: "NAS/Get System Selection Pref Response/Roaming",
- }
-
-nas_get_sys_select_pref_ind_tlvs = { # 52
- 16: "NAS/System Selection Pref Indication/Emergency Mode",
- 17: "NAS/System Selection Pref Indication/Mode",
- 18: "NAS/System Selection Pref Indication/Band",
- 19: "NAS/System Selection Pref Indication/PRL",
- 20: "NAS/System Selection Pref Indication/Roaming",
- }
-
-nas_set_ddtm_pref_req_tlvs = { # 55
- 1: "NAS/Set DDTM Preference Request/DDTM",
- }
-
-nas_set_ddtm_pref_rsp_tlvs = { # 55
- 2: "NAS/Set DDTM Preference Response/Result Code",
- }
-
-nas_get_ddtm_pref_rsp_tlvs = { # 56
- 1: "NAS/Get DDTM Preference Response/DDTM",
- 2: "NAS/Get DDTM Preference Response/Result Code",
- }
-
-nas_get_ddtm_pref_ind_tlvs = { # 56
- 1: "NAS/DDTM Preference Indication/DDTM",
- }
-
-nas_get_plmn_mode_rsp_tlvs = { # 59
- 2: "NAS/Get CSP PLMN Mode Response/Result Code",
- 16: "NAS/Get CSP PLMN Mode Response/Mode",
- }
-
-nas_plmn_mode_ind_ind_tlvs = { # 60
- 16: "NAS/CSP PLMN Mode Indication/Mode",
- }
-
-nas_get_plmn_name_req_tlvs = { # 68
- 1: "NAS/Get PLMN Name Request/PLMN",
- }
-
-nas_get_plmn_name_rsp_tlvs = { # 68
- 2: "NAS/Get PLMN Name Response/Result Code",
- 16: "NAS/Get PLMN Name Response/Name",
- }
-
-nas_cmds = {
- 0: ("RESET", None, nas_reset_rsp_tlvs, None),
- 1: ("ABORT", nas_abort_req_tlvs, nas_abort_rsp_tlvs, None),
- 2: ("SET_EVENT", nas_set_event_req_tlvs, nas_set_event_rsp_tlvs, nas_set_event_ind_tlvs),
- 3: ("SET_REG_EVENT", nas_set_reg_event_req_tlvs, nas_set_reg_event_rsp_tlvs, None),
- 32: ("GET_RSSI", nas_get_rssi_req_tlvs, nas_get_rssi_rsp_tlvs, None),
- 33: ("SCAN_NETS", None, nas_scan_nets_rsp_tlvs, None),
- 34: ("REGISTER_NET", nas_register_net_req_tlvs, nas_register_net_rsp_tlvs, None),
- 35: ("ATTACH_DETACH", nas_attach_detach_req_tlvs, nas_attach_detach_rsp_tlvs, None),
- 36: ("GET_SS_INFO", None, nas_get_ss_info_rsp_tlvs, nas_get_ss_info_ind_tlvs),
- 37: ("GET_HOME_INFO", None, nas_get_home_info_rsp_tlvs, None),
- 38: ("GET_NET_PREF_LIST", None, nas_get_net_pref_list_rsp_tlvs, None),
- 39: ("SET_NET_PREF_LIST", nas_set_net_pref_list_req_tlvs, nas_set_net_pref_list_rsp_tlvs, None),
- 40: ("GET_NET_BAN_LIST", None, nas_get_net_ban_list_rsp_tlvs, None),
- 41: ("SET_NET_BAN_LIST", nas_set_net_ban_list_req_tlvs, nas_set_net_ban_list_rsp_tlvs, None),
- 42: ("SET_TECH_PREF", nas_set_tech_pref_req_tlvs, nas_set_tech_pref_rsp_tlvs, None),
- 43: ("GET_TECH_PREF", None, nas_get_tech_pref_rsp_tlvs, None),
- 44: ("GET_ACCOLC", None, nas_get_accolc_rsp_tlvs, None),
- 45: ("SET_ACCOLC", nas_set_accolc_req_tlvs, nas_set_accolc_rsp_tlvs, None),
- 46: ("GET_SYSPREF", None, nas_get_syspref_rsp_tlvs, None),
- 47: ("GET_NET_PARAMS", None, nas_get_net_params_rsp_tlvs, None),
- 48: ("SET_NET_PARAMS", nas_set_net_params_req_tlvs, nas_set_net_params_rsp_tlvs, None),
- 49: ("GET_RF_INFO", None, nas_get_rf_info_rsp_tlvs, None),
- 50: ("GET_AAA_AUTH_STATUS", None, nas_get_aaa_auth_status_rsp_tlvs, None),
- 51: ("SET_SYS_SELECT_PREF", nas_set_sys_select_pref_req_tlvs, nas_set_sys_select_pref_rsp_tlvs, None),
- 52: ("GET_SYS_SELECT_PREF", None, nas_get_sys_select_pref_rsp_tlvs, nas_get_sys_select_pref_ind_tlvs),
- 55: ("SET_DDTM_PREF", nas_set_ddtm_pref_req_tlvs, nas_set_ddtm_pref_rsp_tlvs, None),
- 56: ("GET_DDTM_PREF", None, nas_get_ddtm_pref_rsp_tlvs, nas_get_ddtm_pref_ind_tlvs),
- 59: ("GET_PLMN_MODE", None, nas_get_plmn_mode_rsp_tlvs, None),
- 60: ("PLMN_MODE_IND", None, None, nas_plmn_mode_ind_ind_tlvs),
- 68: ("GET_PLMN_NAME", nas_get_plmn_name_req_tlvs, nas_get_plmn_name_rsp_tlvs, None),
- 69: ("BIND_SUBS", None, None, None),
- 70: ("MANAGED_ROAMING_IND", None, None, None),
- 71: ("DSB_PREF_IND", None, None, None),
- 72: ("SUBS_INFO_IND", None, None, None),
- 73: ("GET_MODE_PREF", None, None, None),
- 75: ("SET_DSB_PREF", None, None, None),
- 76: ("NETWORK_TIME_IND", None, None, None),
- 77: ("GET_SYSTEM_INFO", None, None, None),
- 78: ("SYSTEM_INFO_IND", None, None, None),
- 79: ("GET_SIGNAL_INFO", None, None, None),
- 80: ("CFG_SIGNAL_INFO", None, None, None),
- 81: ("SIGNAL_INFO_IND", None, None, None),
- 82: ("GET_ERROR_RATE", None, None, None),
- 83: ("ERROR_RATE_IND", None, None, None),
- 84: ("EVDO_SESSION_IND", None, None, None),
- 85: ("EVDO_UATI_IND", None, None, None),
- 86: ("GET_EVDO_SUBTYPE", None, None, None),
- 87: ("GET_EVDO_COLOR_CODE", None, None, None),
- 88: ("GET_ACQ_SYS_MODE", None, None, None),
- 89: ("SET_RX_DIVERSITY", None, None, None),
- 90: ("GET_RX_TX_INFO", None, None, None),
- 91: ("UPDATE_AKEY_EXT", None, None, None),
- 92: ("GET_DSB_PREF", None, None, None),
- 93: ("DETACH_LTE", None, None, None),
- 94: ("BLOCK_LTE_PLMN", None, None, None),
- 95: ("UNBLOCK_LTE_PLMN", None, None, None),
- 96: ("RESET_LTE_PLMN_BLK", None, None, None),
- 97: ("CUR_PLMN_NAME_IND", None, None, None),
- 98: ("CONFIG_EMBMS", None, None, None),
- 99: ("GET_EMBMS_STATUS", None, None, None),
- 100: ("EMBMS_STATUS_IND", None, None, None),
- 101: ("GET_CDMA_POS_INFO", None, None, None),
- 102: ("RF_BAND_INFO_IND", None, None, None),
- }
-oma_reset_rsp_tlvs = { # 0
- 2: "OMA/Reset Response/Result Code",
- }
-
-oma_set_event_req_tlvs = { # 1
- 16: "OMA/Set Event Report Request/NIA",
- 17: "OMA/Set Event Report Request/Status",
- }
-
-oma_set_event_rsp_tlvs = { # 1
- 2: "OMA/Set Event Report Response/Result Code",
- }
-
-oma_set_event_ind_tlvs = { # 1
- 16: "OMA/Event Report/NIA",
- 17: "OMA/Event Report/Status",
- 18: "OMA/Event Report/Failure",
- }
-
-oma_start_session_req_tlvs = { # 32
- 16: "OMA/Start Session Request/Type",
- }
-
-oma_start_session_rsp_tlvs = { # 32
- 2: "OMA/Start Session Response/Result Code",
- }
-
-oma_cancel_session_rsp_tlvs = { # 33
- 2: "OMA/Cancel Session Response/Result Code",
- }
-
-oma_get_session_info_rsp_tlvs = { # 34
- 2: "OMA/Get Session Info Response/Result Code",
- 16: "OMA/Get Session Info Response/Info",
- 17: "OMA/Get Session Info Response/Failure",
- 18: "OMA/Get Session Info Response/Retry",
- 19: "OMA/Get Session Info Response/NIA",
- }
-
-oma_send_selection_req_tlvs = { # 35
- 16: "OMA/Send Selection Request/Type",
- }
-
-oma_send_selection_rsp_tlvs = { # 35
- 2: "OMA/Send Selection Response/Result Code",
- }
-
-oma_get_features_rsp_tlvs = { # 36
- 2: "OMA/Get Features Response/Result Code",
- 16: "OMA/Get Features Response/Provisioning",
- 17: "OMA/Get Features Response/PRL Update",
- 18: "OMA/Get Features Response/HFA Feature",
- 19: "OMA/Get Features Response/HFA Done State",
- }
-
-oma_set_features_req_tlvs = { # 37
- 16: "OMA/Set Features Response/Provisioning",
- 17: "OMA/Set Features Response/PRL Update",
- 18: "OMA/Set Features Response/HFA Feature",
- }
-
-oma_set_features_rsp_tlvs = { # 37
- 2: "OMA/Set Features Response/Result Code",
- }
-
-oma_cmds = {
- 0: ("RESET", None, oma_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", oma_set_event_req_tlvs, oma_set_event_rsp_tlvs, oma_set_event_ind_tlvs),
- 32: ("START_SESSION", oma_start_session_req_tlvs, oma_start_session_rsp_tlvs, None),
- 33: ("CANCEL_SESSION", None, oma_cancel_session_rsp_tlvs, None),
- 34: ("GET_SESSION_INFO", None, oma_get_session_info_rsp_tlvs, None),
- 35: ("SEND_SELECTION", oma_send_selection_req_tlvs, oma_send_selection_rsp_tlvs, None),
- 36: ("GET_FEATURES", None, oma_get_features_rsp_tlvs, None),
- 37: ("SET_FEATURES", oma_set_features_req_tlvs, oma_set_features_rsp_tlvs, None),
- }
-pds_reset_rsp_tlvs = { # 0
- 2: "PDS/Reset Response/Result Code",
- }
-
-pds_set_event_req_tlvs = { # 1
- 16: "PDS/Set Event Report Request/NMEA Indicator",
- 17: "PDS/Set Event Report Request/Mode Indicator",
- 18: "PDS/Set Event Report Request/Raw Indicator",
- 19: "PDS/Set Event Report Request/XTRA Request Indicator",
- 20: "PDS/Set Event Report Request/Time Injection Indicator",
- 21: "PDS/Set Event Report Request/Wi-Fi Indicator",
- 22: "PDS/Set Event Report Request/Satellite Indicator",
- 23: "PDS/Set Event Report Request/VX Network Indicator",
- 24: "PDS/Set Event Report Request/SUPL Network Indicator",
- 25: "PDS/Set Event Report Request/UMTS CP Network Indicator",
- 26: "PDS/Set Event Report Request/PDS Comm Indicator",
- }
-
-pds_set_event_rsp_tlvs = { # 1
- 2: "PDS/Set Event Report Response/Result Code",
- }
-
-pds_set_event_ind_tlvs = { # 1
- 16: "PDS/Event Report/NMEA Sentence",
- 17: "PDS/Event Report/NMEA Sentence Plus Mode",
- 18: "PDS/Event Report/Position Session Status",
- 19: "PDS/Event Report/Parsed Position Data",
- 20: "PDS/Event Report/External XTRA Request",
- 21: "PDS/Event Report/External Time Injection Request",
- 22: "PDS/Event Report/External Wi-Fi Position Request",
- 23: "PDS/Event Report/Satellite Info",
- 24: "PDS/Event Report/VX Network Initiated Prompt",
- 25: "PDS/Event Report/SUPL Network Initiated Prompt",
- 26: "PDS/Event Report/UMTS CP Network Initiated Prompt",
- 27: "PDS/Event Report/Comm Events",
- }
-
-pds_get_state_rsp_tlvs = { # 32
- 1: "PDS/Get Service State Response/State",
- 2: "PDS/Get Service State Response/Result Code",
- }
-
-pds_get_state_ind_tlvs = { # 32
- 1: "PDS/Service State Indication/State",
- }
-
-pds_set_state_req_tlvs = { # 33
- 1: "PDS/Set Service State Request/State",
- }
-
-pds_set_state_rsp_tlvs = { # 33
- 2: "PDS/Set Service State Response/Result Code",
- }
-
-pds_start_session_req_tlvs = { # 34
- 1: "PDS/Start Tracking Session Request/Session",
- }
-
-pds_start_session_rsp_tlvs = { # 34
- 2: "PDS/Start Tracking Session Response/Result Code",
- }
-
-pds_get_session_info_rsp_tlvs = { # 35
- 1: "PDS/Get Tracking Session Info Response/Info",
- 2: "PDS/Get Tracking Session Info Response/Result Code",
- }
-
-pds_fix_position_rsp_tlvs = { # 36
- 2: "PDS/Fix Position Response/Result Code",
- }
-
-pds_end_session_rsp_tlvs = { # 37
- 2: "PDS/End Tracking Session Response/Result Code",
- }
-
-pds_get_nmea_cfg_rsp_tlvs = { # 38
- 1: "PDS/Get NMEA Config Response/Config",
- 2: "PDS/Get NMEA Config Response/Result Code",
- }
-
-pds_set_nmea_cfg_req_tlvs = { # 39
- 1: "PDS/Set NMEA Config Request/Config",
- }
-
-pds_set_nmea_cfg_rsp_tlvs = { # 39
- 2: "PDS/Set NMEA Config Response/Result Code",
- }
-
-pds_inject_time_req_tlvs = { # 40
- 1: "PDS/Inject Time Reference Request/Time",
- }
-
-pds_inject_time_rsp_tlvs = { # 40
- 2: "PDS/Inject Time Reference Response/Result Code",
- }
-
-pds_get_defaults_rsp_tlvs = { # 41
- 1: "PDS/Get Defaults Response/Defaults",
- 2: "PDS/Get Defaults Response/Result Code",
- }
-
-pds_set_defaults_req_tlvs = { # 42
- 1: "PDS/Set Defaults Request/Defaults",
- }
-
-pds_set_defaults_rsp_tlvs = { # 42
- 2: "PDS/Set Defaults Response/Result Code",
- }
-
-pds_get_xtra_params_rsp_tlvs = { # 43
- 2: "PDS/Get XTRA Parameters Response/Result Code",
- 16: "PDS/Get XTRA Parameters Response/Automatic",
- 17: "PDS/Get XTRA Parameters Response/Medium",
- 18: "PDS/Get XTRA Parameters Response/Network",
- 19: "PDS/Get XTRA Parameters Response/Validity",
- 20: "PDS/Get XTRA Parameters Response/Embedded",
- }
-
-pds_set_xtra_params_req_tlvs = { # 44
- 16: "PDS/Set XTRA Parameters Request/Automatic",
- 17: "PDS/Set XTRA Parameters Request/Medium",
- 18: "PDS/Set XTRA Parameters Request/Network",
- 20: "PDS/Set XTRA Parameters Request/Embedded",
- }
-
-pds_set_xtra_params_rsp_tlvs = { # 44
- 2: "PDS/Set XTRA Parameters Response/Result Code",
- }
-
-pds_force_xtra_dl_rsp_tlvs = { # 45
- 2: "PDS/Force XTRA Download Response/Result Code",
- }
-
-pds_get_agps_config_req_tlvs = { # 46
- 18: "PDS/Get AGPS Config Request/Network Mode",
- }
-
-pds_get_agps_config_rsp_tlvs = { # 46
- 2: "PDS/Get AGPS Config Response/Result Code",
- 16: "PDS/Get AGPS Config Response/Server",
- 17: "PDS/Get AGPS Config Response/Server URL",
- }
-
-pds_set_agps_config_req_tlvs = { # 47
- 16: "PDS/Set AGPS Config Request/Server",
- 17: "PDS/Set AGPS Config Request/Server URL",
- 18: "PDS/Set AGPS Config Request/Network Mode",
- }
-
-pds_set_agps_config_rsp_tlvs = { # 47
- 2: "PDS/Set AGPS Config Response/Result Code",
- }
-
-pds_get_svc_autotrack_rsp_tlvs = { # 48
- 1: "PDS/Get Service Auto-Tracking State Response/State",
- 2: "PDS/Get Service Auto-Tracking State Response/Result Code",
- }
-
-pds_set_svc_autotrack_req_tlvs = { # 49
- 1: "PDS/Set Service Auto-Tracking State Request/State",
- }
-
-pds_set_svc_autotrack_rsp_tlvs = { # 49
- 2: "PDS/Set Service Auto-Tracking State Response/Result Code",
- }
-
-pds_get_com_autotrack_rsp_tlvs = { # 50
- 1: "PDS/Get COM Port Auto-Tracking Config Response/Config",
- 2: "PDS/Get COM Port Auto-Tracking Config Response/Result Code",
- }
-
-pds_set_com_autotrack_req_tlvs = { # 51
- 1: "PDS/Set COM Port Auto-Tracking Config Request/Config",
- }
-
-pds_set_com_autotrack_rsp_tlvs = { # 51
- 2: "PDS/Set COM Port Auto-Tracking Config Response/Result Code",
- }
-
-pds_reset_data_req_tlvs = { # 52
- 16: "PDS/Reset PDS Data Request/GPS Data",
- 17: "PDS/Reset PDS Data Request/Cell Data",
- }
-
-pds_reset_data_rsp_tlvs = { # 52
- 2: "PDS/Reset PDS Data Response/Result Code",
- }
-
-pds_single_fix_req_tlvs = { # 53
- 16: "PDS/Single Position Fix Request/Mode",
- 17: "PDS/Single Position Fix Request/Timeout",
- 18: "PDS/Single Position Fix Request/Accuracy",
- }
-
-pds_single_fix_rsp_tlvs = { # 53
- 2: "PDS/Single Position Fix Response/Result Code",
- }
-
-pds_get_version_rsp_tlvs = { # 54
- 1: "PDS/Get Service Version Response/Version",
- 2: "PDS/Get Service Version Response/Result Code",
- }
-
-pds_inject_xtra_req_tlvs = { # 55
- 1: "PDS/Inject XTRA Data Request/Data",
- }
-
-pds_inject_xtra_rsp_tlvs = { # 55
- 2: "PDS/Inject XTRA Data Response/Result Code",
- }
-
-pds_inject_position_req_tlvs = { # 56
- 16: "PDS/Inject Position Data Request/Timestamp",
- 17: "PDS/Inject Position Data Request/Latitude",
- 18: "PDS/Inject Position Data Request/Longitude",
- 19: "PDS/Inject Position Data Request/Altitude Ellipsoid",
- 20: "PDS/Inject Position Data Request/Altitude Sea Level",
- 21: "PDS/Inject Position Data Request/Horizontal Uncertainty",
- 22: "PDS/Inject Position Data Request/Vertical Uncertainty",
- 23: "PDS/Inject Position Data Request/Horizontal Confidence",
- 24: "PDS/Inject Position Data Request/Vertical Confidence",
- 25: "PDS/Inject Position Data Request/Source",
- }
-
-pds_inject_position_rsp_tlvs = { # 56
- 2: "PDS/Inject Position Data Response/Result Code",
- }
-
-pds_inject_wifi_req_tlvs = { # 57
- 16: "PDS/Inject Wi-Fi Position Data Request/Time",
- 17: "PDS/Inject Wi-Fi Position Data Request/Position",
- 18: "PDS/Inject Wi-Fi Position Data Request/AP Info",
- }
-
-pds_inject_wifi_rsp_tlvs = { # 57
- 2: "PDS/Inject Wi-Fi Position Data Response/Result Code",
- }
-
-pds_get_sbas_config_rsp_tlvs = { # 58
- 2: "PDS/Get SBAS Config Response/Result Code",
- 16: "PDS/Get SBAS Config Response/Config",
- }
-
-pds_set_sbas_config_req_tlvs = { # 59
- 16: "PDS/Set SBAS Config Request/Config",
- }
-
-pds_set_sbas_config_rsp_tlvs = { # 59
- 2: "PDS/Set SBAS Config Response/Result Code",
- }
-
-pds_send_ni_response_req_tlvs = { # 60
- 1: "PDS/Send Network Initiated Response Request/Action",
- 16: "PDS/Send Network Initiated Response Request/VX",
- 17: "PDS/Send Network Initiated Response Request/SUPL",
- 18: "PDS/Send Network Initiated Response Request/UMTS CP",
- }
-
-pds_send_ni_response_rsp_tlvs = { # 60
- 2: "PDS/Send Network Initiated Response Response/Result Code",
- }
-
-pds_inject_abs_time_req_tlvs = { # 61
- 1: "PDS/Inject Absolute Time Request/Time",
- }
-
-pds_inject_abs_time_rsp_tlvs = { # 61
- 2: "PDS/Inject Absolute Time Response/Result Code",
- }
-
-pds_inject_efs_req_tlvs = { # 62
- 1: "PDS/Inject EFS Data Request/Date File",
- }
-
-pds_inject_efs_rsp_tlvs = { # 62
- 2: "PDS/Inject EFS Data Response/Result Code",
- }
-
-pds_get_dpo_config_rsp_tlvs = { # 63
- 2: "PDS/Get DPO Config Response/Result Code",
- 16: "PDS/Get DPO Config Response/Config",
- }
-
-pds_set_dpo_config_req_tlvs = { # 64
- 1: "PDS/Set DPO Config Request/Config",
- }
-
-pds_set_dpo_config_rsp_tlvs = { # 64
- 2: "PDS/Set DPO Config Response/Result Code",
- }
-
-pds_get_odp_config_rsp_tlvs = { # 65
- 2: "PDS/Get ODP Config Response/Result Code",
- 16: "PDS/Get ODP Config Response/Config",
- }
-
-pds_set_odp_config_req_tlvs = { # 66
- 16: "PDS/Set ODP Config Request/Config",
- }
-
-pds_set_odp_config_rsp_tlvs = { # 66
- 2: "PDS/Set ODP Config Response/Result Code",
- }
-
-pds_cancel_single_fix_rsp_tlvs = { # 67
- 2: "PDS/Cancel Single Position Fix Response/Result Code",
- }
-
-pds_get_gps_state_rsp_tlvs = { # 68
- 2: "PDS/Get GPS State Response/Result Code",
- 16: "PDS/Get GPS State Response/State",
- }
-
-pds_get_methods_rsp_tlvs = { # 80
- 2: "PDS/Get Position Methods State Response/Result Code",
- 16: "PDS/Get Position Methods State Response/XTRA Time",
- 17: "PDS/Get Position Methods State Response/XTRA Data",
- 18: "PDS/Get Position Methods State Response/Wi-Fi",
- }
-
-pds_set_methods_req_tlvs = { # 81
- 16: "PDS/Set Position Methods State Request/XTRA Time",
- 17: "PDS/Set Position Methods State Request/XTRA Data",
- 18: "PDS/Set Position Methods State Request/Wi-Fi",
- }
-
-pds_set_methods_rsp_tlvs = { # 81
- 2: "PDS/Set Position Methods State Response/Result Code",
- }
-
-pds_cmds = {
- 0: ("RESET", None, pds_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", pds_set_event_req_tlvs, pds_set_event_rsp_tlvs, pds_set_event_ind_tlvs),
- 32: ("GET_STATE", None, pds_get_state_rsp_tlvs, pds_get_state_ind_tlvs),
- 33: ("SET_STATE", pds_set_state_req_tlvs, pds_set_state_rsp_tlvs, None),
- 34: ("START_SESSION", pds_start_session_req_tlvs, pds_start_session_rsp_tlvs, None),
- 35: ("GET_SESSION_INFO", None, pds_get_session_info_rsp_tlvs, None),
- 36: ("FIX_POSITION", None, pds_fix_position_rsp_tlvs, None),
- 37: ("END_SESSION", None, pds_end_session_rsp_tlvs, None),
- 38: ("GET_NMEA_CFG", None, pds_get_nmea_cfg_rsp_tlvs, None),
- 39: ("SET_NMEA_CFG", pds_set_nmea_cfg_req_tlvs, pds_set_nmea_cfg_rsp_tlvs, None),
- 40: ("INJECT_TIME", pds_inject_time_req_tlvs, pds_inject_time_rsp_tlvs, None),
- 41: ("GET_DEFAULTS", None, pds_get_defaults_rsp_tlvs, None),
- 42: ("SET_DEFAULTS", pds_set_defaults_req_tlvs, pds_set_defaults_rsp_tlvs, None),
- 43: ("GET_XTRA_PARAMS", None, pds_get_xtra_params_rsp_tlvs, None),
- 44: ("SET_XTRA_PARAMS", pds_set_xtra_params_req_tlvs, pds_set_xtra_params_rsp_tlvs, None),
- 45: ("FORCE_XTRA_DL", None, pds_force_xtra_dl_rsp_tlvs, None),
- 46: ("GET_AGPS_CONFIG", pds_get_agps_config_req_tlvs, pds_get_agps_config_rsp_tlvs, None),
- 47: ("SET_AGPS_CONFIG", pds_set_agps_config_req_tlvs, pds_set_agps_config_rsp_tlvs, None),
- 48: ("GET_SVC_AUTOTRACK", None, pds_get_svc_autotrack_rsp_tlvs, None),
- 49: ("SET_SVC_AUTOTRACK", pds_set_svc_autotrack_req_tlvs, pds_set_svc_autotrack_rsp_tlvs, None),
- 50: ("GET_COM_AUTOTRACK", None, pds_get_com_autotrack_rsp_tlvs, None),
- 51: ("SET_COM_AUTOTRACK", pds_set_com_autotrack_req_tlvs, pds_set_com_autotrack_rsp_tlvs, None),
- 52: ("RESET_DATA", pds_reset_data_req_tlvs, pds_reset_data_rsp_tlvs, None),
- 53: ("SINGLE_FIX", pds_single_fix_req_tlvs, pds_single_fix_rsp_tlvs, None),
- 54: ("GET_VERSION", None, pds_get_version_rsp_tlvs, None),
- 55: ("INJECT_XTRA", pds_inject_xtra_req_tlvs, pds_inject_xtra_rsp_tlvs, None),
- 56: ("INJECT_POSITION", pds_inject_position_req_tlvs, pds_inject_position_rsp_tlvs, None),
- 57: ("INJECT_WIFI", pds_inject_wifi_req_tlvs, pds_inject_wifi_rsp_tlvs, None),
- 58: ("GET_SBAS_CONFIG", None, pds_get_sbas_config_rsp_tlvs, None),
- 59: ("SET_SBAS_CONFIG", pds_set_sbas_config_req_tlvs, pds_set_sbas_config_rsp_tlvs, None),
- 60: ("SEND_NI_RESPONSE", pds_send_ni_response_req_tlvs, pds_send_ni_response_rsp_tlvs, None),
- 61: ("INJECT_ABS_TIME", pds_inject_abs_time_req_tlvs, pds_inject_abs_time_rsp_tlvs, None),
- 62: ("INJECT_EFS", pds_inject_efs_req_tlvs, pds_inject_efs_rsp_tlvs, None),
- 63: ("GET_DPO_CONFIG", None, pds_get_dpo_config_rsp_tlvs, None),
- 64: ("SET_DPO_CONFIG", pds_set_dpo_config_req_tlvs, pds_set_dpo_config_rsp_tlvs, None),
- 65: ("GET_ODP_CONFIG", None, pds_get_odp_config_rsp_tlvs, None),
- 66: ("SET_ODP_CONFIG", pds_set_odp_config_req_tlvs, pds_set_odp_config_rsp_tlvs, None),
- 67: ("CANCEL_SINGLE_FIX", None, pds_cancel_single_fix_rsp_tlvs, None),
- 68: ("GET_GPS_STATE", None, pds_get_gps_state_rsp_tlvs, None),
- 80: ("GET_METHODS", None, pds_get_methods_rsp_tlvs, None),
- 81: ("SET_METHODS", pds_set_methods_req_tlvs, pds_set_methods_rsp_tlvs, None),
- 82: ("INJECT_SENSOR", None, None, None),
- 83: ("INJECT_TIME_SYNC", None, None, None),
- 84: ("GET_SENSOR_CFG", None, None, None),
- 85: ("SET_SENSOR_CFG", None, None, None),
- 86: ("GET_NAV_CFG", None, None, None),
- 87: ("SET_NAV_CFG", None, None, None),
- 90: ("SET_WLAN_BLANK", None, None, None),
- 91: ("SET_LBS_SC_RPT", None, None, None),
- 92: ("SET_LBS_SC", None, None, None),
- 93: ("GET_LBS_ENCRYPT_CFG", None, None, None),
- 94: ("SET_LBS_UPDATE_RATE", None, None, None),
- 95: ("SET_CELLDB_CONTROL", None, None, None),
- 96: ("READY_IND", None, None, None),
- }
-rms_reset_rsp_tlvs = { # 0
- 2: "RMS/Reset Response/Result Code",
- }
-
-rms_get_sms_wake_rsp_tlvs = { # 32
- 2: "RMS/Get SMS Wake Response/Result Code",
- 16: "RMS/Get SMS Wake Response/State",
- 17: "RMS/Get SMS Wake Request/Mask",
- }
-
-rms_set_sms_wake_req_tlvs = { # 33
- 16: "RMS/Set SMS Wake Request/State",
- 17: "RMS/Set SMS Wake Request/Mask",
- }
-
-rms_set_sms_wake_rsp_tlvs = { # 33
- 2: "RMS/Set SMS Wake Response/Result Code",
- }
-
-rms_cmds = {
- 0: ("RESET", None, rms_reset_rsp_tlvs, None),
- 32: ("GET_SMS_WAKE", None, rms_get_sms_wake_rsp_tlvs, None),
- 33: ("SET_SMS_WAKE", rms_set_sms_wake_req_tlvs, rms_set_sms_wake_rsp_tlvs, None),
- }
-voice_orig_ussd_req_tlvs = { # 58
- 1: "Voice/Initiate USSD Request/Info",
- }
-
-voice_orig_ussd_rsp_tlvs = { # 58
- 2: "Voice/Initiate USSD Response/Result Code",
- 16: "Voice/Initiate USSD Response/Fail Cause",
- 17: "Voice/Initiate USSD Response/Alpha ID",
- 18: "Voice/Initiate USSD Response/Data",
- }
-
-voice_answer_ussd_req_tlvs = { # 59
- 1: "Voice/Answer USSD Request/Info",
- }
-
-voice_answer_ussd_rsp_tlvs = { # 59
- 2: "Voice/Answer USSD Response/Result Code",
- }
-
-voice_cancel_ussd_rsp_tlvs = { # 60
- 2: "Voice/Cancel USSD Response/Result Code",
- }
-
-voice_ussd_ind_ind_tlvs = { # 62
- 1: "Voice/USSD Indication/Type",
- 16: "Voice/USSD Indication/Data",
- }
-
-voice_async_orig_ussd_req_tlvs = { # 67
- 1: "Voice/Async Initiate USSD Request/Info",
- }
-
-voice_async_orig_ussd_rsp_tlvs = { # 67
- 2: "Voice/Async Initiate USSD Response/Result Code",
- }
-
-voice_async_orig_ussd_ind_tlvs = { # 67
- 16: "Voice/USSD Async Indication/Error",
- 17: "Voice/USSD Async Indication/Fail Cause",
- 18: "Voice/USSD Async Indication/Info",
- 19: "Voice/USSD Async Indication/Alpha ID",
- }
-
-voice_cmds = {
- 3: ("INDICATION_REG", None, None, None),
- 32: ("CALL_ORIGINATE", None, None, None),
- 33: ("CALL_END", None, None, None),
- 34: ("CALL_ANSWER", None, None, None),
- 36: ("GET_CALL_INFO", None, None, None),
- 37: ("OTASP_STATUS_IND", None, None, None),
- 38: ("INFO_REC_IND", None, None, None),
- 39: ("SEND_FLASH", None, None, None),
- 40: ("BURST_DTMF", None, None, None),
- 41: ("START_CONT_DTMF", None, None, None),
- 42: ("STOP_CONT_DTMF", None, None, None),
- 43: ("DTMF_IND", None, None, None),
- 44: ("SET_PRIVACY_PREF", None, None, None),
- 45: ("PRIVACY_IND", None, None, None),
- 46: ("ALL_STATUS_IND", None, None, None),
- 47: ("GET_ALL_STATUS", None, None, None),
- 49: ("MANAGE_CALLS", None, None, None),
- 50: ("SUPS_NOTIFICATION_IND", None, None, None),
- 51: ("SET_SUPS_SERVICE", None, None, None),
- 52: ("GET_CALL_WAITING", None, None, None),
- 53: ("GET_CALL_BARRING", None, None, None),
- 54: ("GET_CLIP", None, None, None),
- 55: ("GET_CLIR", None, None, None),
- 56: ("GET_CALL_FWDING", None, None, None),
- 57: ("SET_CALL_BARRING_PWD", None, None, None),
- 58: ("ORIG_USSD", voice_orig_ussd_req_tlvs, voice_orig_ussd_rsp_tlvs, None),
- 59: ("ANSWER_USSD", voice_answer_ussd_req_tlvs, voice_answer_ussd_rsp_tlvs, None),
- 60: ("CANCEL_USSD", None, voice_cancel_ussd_rsp_tlvs, None),
- 61: ("USSD_RELEASE_IND", None, None, None),
- 62: ("USSD_IND", None, None, voice_ussd_ind_ind_tlvs),
- 63: ("UUS_IND", None, None, None),
- 64: ("SET_CONFIG", None, None, None),
- 65: ("GET_CONFIG", None, None, None),
- 66: ("SUPS_IND", None, None, None),
- 67: ("ASYNC_ORIG_USSD", voice_async_orig_ussd_req_tlvs, voice_async_orig_ussd_rsp_tlvs, voice_async_orig_ussd_ind_tlvs),
- 68: ("BIND_SUBSCRIPTION", None, None, None),
- 69: ("ALS_SET_LINE_SW", None, None, None),
- 70: ("ALS_SELECT_LINE", None, None, None),
- 71: ("AOC_RESET_ACM", None, None, None),
- 72: ("AOC_SET_ACM_MAX", None, None, None),
- 73: ("AOC_GET_CM_INFO", None, None, None),
- 74: ("AOC_LOW_FUNDS_IND", None, None, None),
- 75: ("GET_COLP", None, None, None),
- 76: ("GET_COLR", None, None, None),
- 77: ("GET_CNAP", None, None, None),
- 78: ("MANAGE_IP_CALLS", None, None, None),
- }
-wds_reset_rsp_tlvs = { # 0
- 2: "WDS/Reset Response/Result Code",
- }
-
-wds_set_event_req_tlvs = { # 1
- 16: "WDS/Set Event Report Request/Channel Rate Indicator",
- 17: "WDS/Set Event Report Request/Transfer Statistics Indicator",
- 18: "WDS/Set Event Report Request/Data Bearer Technology Indicator",
- 19: "WDS/Set Event Report Request/Dormancy Status Indicator",
- 20: "WDS/Set Event Report Request/MIP Status Indicator",
- 21: "WDS/Set Event Report Request/Current Data Bearer Technology Indicator",
- }
-
-wds_set_event_rsp_tlvs = { # 1
- 2: "WDS/Set Event Report Response/Result Code",
- }
-
-wds_set_event_ind_tlvs = { # 1
- 16: "WDS/Event Report/TX Packet Successes",
- 17: "WDS/Event Report/RX Packet Successes",
- 18: "WDS/Event Report/TX Packet Errors",
- 19: "WDS/Event Report/RX Packet Errors",
- 20: "WDS/Event Report/TX Overflows",
- 21: "WDS/Event Report/RX Overflows",
- 22: "WDS/Event Report/Channel Rates",
- 23: "WDS/Event Report/Data Bearer Technology",
- 24: "WDS/Event Report/Dormancy Status",
- 25: "WDS/Event Report/TX Bytes",
- 26: "WDS/Event Report/RX Bytes",
- 27: "WDS/Event Report/MIP Status",
- 29: "WDS/Event Report/Current Data Bearer Technology",
- }
-
-wds_abort_req_tlvs = { # 2
- 1: "WDS/Abort Request/Transaction ID",
- }
-
-wds_abort_rsp_tlvs = { # 2
- 2: "WDS/Abort Response/Result Code",
- }
-
-wds_start_net_req_tlvs = { # 32
- 16: "WDS/Start Network Interface Request/Primary DNS",
- 17: "WDS/Start Network Interface Request/Secondary DNS",
- 18: "WDS/Start Network Interface Request/Primary NBNS",
- 19: "WDS/Start Network Interface Request/Secondary NBNS",
- 20: "WDS/Start Network Interface Request/Context APN Name",
- 21: "WDS/Start Network Interface Request/IP Address",
- 22: "WDS/Start Network Interface Request/Authentication",
- 23: "WDS/Start Network Interface Request/Username",
- 24: "WDS/Start Network Interface Request/Password",
- 25: "WDS/Start Network Interface Request/IP Family",
- 48: "WDS/Start Network Interface Request/Technology Preference",
- 49: "WDS/Start Network Interface Request/3GPP Profile Identifier",
- 50: "WDS/Start Network Interface Request/3GPP2 Profile Identifier",
- 51: "WDS/Start Network Interface Request/Autoconnect",
- 52: "WDS/Start Network Interface Request/Extended Technology Preference",
- 53: "WDS/Start Network Interface Request/Call Type",
- }
-
-wds_start_net_rsp_tlvs = { # 32
- 1: "WDS/Start Network Interface Response/Packet Data Handle",
- 2: "WDS/Start Network Interface Response/Result Code",
- 16: "WDS/Start Network Interface Response/Call End Reason",
- 17: "WDS/Start Network Interface Response/Verbose Call End Reason",
- }
-
-wds_stop_net_req_tlvs = { # 33
- 1: "WDS/Stop Network Interface Request/Packet Data Handle",
- 16: "WDS/Stop Network Interface Request/Autoconnect",
- }
-
-wds_stop_net_rsp_tlvs = { # 33
- 2: "WDS/Stop Network Interface Response/Result Code",
- }
-
-wds_get_pkt_status_rsp_tlvs = { # 34
- 1: "WDS/Get Packet Service Status Response/Status",
- 2: "WDS/Get Packet Service Status Response/Result Code",
- }
-
-wds_get_pkt_status_ind_tlvs = { # 34
- 1: "WDS/Packet Service Status Report/Status",
- 16: "WDS/Packet Service Status Report/Call End Reason",
- 17: "WDS/Packet Service Status Report/Verbose Call End Reason",
- }
-
-wds_get_rates_rsp_tlvs = { # 35
- 1: "WDS/Get Channel Rates Response/Channel Rates",
- 2: "WDS/Get Channel Rates Response/Result Code",
- }
-
-wds_get_statistics_req_tlvs = { # 36
- 1: "WDS/Get Packet Statistics Request/Packet Stats Mask",
- }
-
-wds_get_statistics_rsp_tlvs = { # 36
- 2: "WDS/Get Packet Statistics Response/Result Code",
- 16: "WDS/Get Packet Statistics Response/TX Packet Successes",
- 17: "WDS/Get Packet Statistics Response/RX Packet Successes",
- 18: "WDS/Get Packet Statistics Response/TX Packet Errors",
- 19: "WDS/Get Packet Statistics Response/RX Packet Errors",
- 20: "WDS/Get Packet Statistics Response/TX Overflows",
- 21: "WDS/Get Packet Statistics Response/RX Overflows",
- 25: "WDS/Get Packet Statistics Response/TX Bytes",
- 26: "WDS/Get Packet Statistics Response/RX Bytes",
- 27: "WDS/Get Packet Statistics Response/Previous TX Bytes",
- 28: "WDS/Get Packet Statistics Response/Previous RX Bytes",
- }
-
-wds_g0_dormant_rsp_tlvs = { # 37
- 2: "WDS/Go Dormant Response/Result Code",
- }
-
-wds_g0_active_rsp_tlvs = { # 38
- 2: "WDS/Go Active Response/Result Code",
- }
-
-wds_create_profile_req_tlvs = { # 39
- 1: "WDS/Create Profile Request/Profile Type",
- 16: "WDS/Create Profile Request/Profile Name",
- 17: "WDS/Create Profile Request/PDP Type",
- 20: "WDS/Create Profile Request/APN Name",
- 21: "WDS/Create Profile Request/Primary DNS",
- 22: "WDS/Create Profile Request/Secondary DNS",
- 23: "WDS/Create Profile Request/UMTS Requested QoS",
- 24: "WDS/Create Profile Request/UMTS Minimum QoS",
- 25: "WDS/Create Profile Request/GPRS Requested QoS",
- 26: "WDS/Create Profile Request/GPRS Minimum QoS",
- 27: "WDS/Create Profile Request/Username",
- 28: "WDS/Create Profile Request/Password",
- 29: "WDS/Create Profile Request/Authentication",
- 30: "WDS/Create Profile Request/IP Address",
- 31: "WDS/Create Profile Request/P-CSCF",
- }
-
-wds_create_profile_rsp_tlvs = { # 39
- 1: "WDS/Create Profile Response/Profile Identifier",
- 2: "WDS/Create Profile Response/Result Code",
- }
-
-wds_modify_profile_req_tlvs = { # 40
- 1: "WDS/Modify Profile Request/Profile Identifier",
- 16: "WDS/Modify Profile Request/Profile Name",
- 17: "WDS/Modify Profile Request/PDP Type",
- 20: "WDS/Modify Profile Request/APN Name",
- 21: "WDS/Modify Profile Request/Primary DNS",
- 22: "WDS/Modify Profile Request/Secondary DNS",
- 23: "WDS/Modify Profile Request/UMTS Requested QoS",
- 24: "WDS/Modify Profile Request/UMTS Minimum QoS",
- 25: "WDS/Modify Profile Request/GPRS Requested QoS",
- 26: "WDS/Modify Profile Request/GPRS Minimum QoS",
- 27: "WDS/Modify Profile Request/Username",
- 28: "WDS/Modify Profile Request/Password",
- 29: "WDS/Modify Profile Request/Authentication",
- 30: "WDS/Modify Profile Request/IP Address",
- 31: "WDS/Modify Profile Request/P-CSCF",
- 32: "WDS/Modify Profile Request/PDP Access Control Flag",
- 33: "WDS/Modify Profile Request/P-CSCF Address Using DHCP",
- 34: "WDS/Modify Profile Request/IM CN Flag",
- 35: "WDS/Modify Profile Request/Traffic Flow Template ID1 Parameters",
- 36: "WDS/Modify Profile Request/Traffic Flow Template ID2 Parameters",
- 37: "WDS/Modify Profile Request/PDP Context Number",
- 38: "WDS/Modify Profile Request/PDP Context Secondary Flag",
- 39: "WDS/Modify Profile Request/PDP Context Primary ID",
- 40: "WDS/Modify Profile Request/IPv6 Address",
- 41: "WDS/Modify Profile Request/Requested QoS",
- 42: "WDS/Modify Profile Request/Minimum QoS",
- 43: "WDS/Modify Profile Request/Primary IPv6",
- 44: "WDS/Modify Profile Request/Secondary IPv6",
- 45: "WDS/Modify Profile Request/Address Allocation Preference",
- 46: "WDS/Modify Profile Request/LTE QoS Parameters",
- 144: "WDS/Modify Profile Request/Negotiate DNS Server Prefrence",
- 145: "WDS/Modify Profile Request/PPP Session Close Timer DO",
- 146: "WDS/Modify Profile Request/PPP Session Close Timer 1X",
- 147: "WDS/Modify Profile Request/Allow Linger",
- 148: "WDS/Modify Profile Request/LCP ACK Timeout",
- 149: "WDS/Modify Profile Request/IPCP ACK Timeout",
- 150: "WDS/Modify Profile Request/Authentication Timeout",
- 154: "WDS/Modify Profile Request/Authentication Protocol",
- 155: "WDS/Modify Profile Request/User ID",
- 156: "WDS/Modify Profile Request/Authentication Password",
- 157: "WDS/Modify Profile Request/Data Rate",
- 158: "WDS/Modify Profile Request/Application Type",
- 159: "WDS/Modify Profile Request/Data Mode",
- 160: "WDS/Modify Profile Request/Application Priority",
- 161: "WDS/Modify Profile Request/APN String",
- 162: "WDS/Modify Profile Request/PDN Type",
- 163: "WDS/Modify Profile Request/P-CSCF Address Needed",
- 164: "WDS/Modify Profile Request/Primary IPv4 Address",
- 165: "WDS/Modify Profile Request/Secondary IPv4 Address",
- 166: "WDS/Modify Profile Request/Primary IPv6 Address",
- 167: "WDS/Modify Profile Request/Secondary IPv6 Address",
- }
-
-wds_modify_profile_rsp_tlvs = { # 40
- 2: "WDS/Modify Profile Response/Result Code",
- 151: "WDS/Modify Profile Request/LCP Config Retry Count",
- 152: "WDS/Modify Profile Request/IPCP Config Retry Count",
- 153: "WDS/Modify Profile Request/Authentication Retry",
- 224: "WDS/Modify Profile Request/Extended Error Code",
- }
-
-wds_delete_profile_req_tlvs = { # 41
- 1: "WDS/Delete Profile Request/Profile Identifier",
- }
-
-wds_delete_profile_rsp_tlvs = { # 41
- 2: "WDS/Delete Profile Response/Result Code",
- }
-
-wds_get_profile_list_rsp_tlvs = { # 42
- 1: "WDS/Get Profile List Response/Profile List",
- 2: "WDS/Get Profile List Response/Result Code",
- }
-
-wds_get_profile_req_tlvs = { # 43
- 1: "WDS/Get Profile Settings Request/Profile Identifier",
- }
-
-wds_get_profile_rsp_tlvs = { # 43
- 2: "WDS/Get Profile Settings Response/Result Code",
- 16: "WDS/Get Profile Settings Response/Profile Name",
- 17: "WDS/Get Profile Settings Response/PDP Type",
- 20: "WDS/Get Profile Settings Response/APN Name",
- 21: "WDS/Get Profile Settings Response/Primary DNS",
- 22: "WDS/Get Profile Settings Response/Secondary DNS",
- 23: "WDS/Get Profile Settings Response/UMTS Requested QoS",
- 24: "WDS/Get Profile Settings Response/UMTS Minimum QoS",
- 25: "WDS/Get Profile Settings Response/GPRS Requested QoS",
- 26: "WDS/Get Profile Settings Response/GPRS Minimum QoS",
- 27: "WDS/Get Profile Settings Response/Username",
- 29: "WDS/Get Profile Settings Response/Authentication",
- 30: "WDS/Get Profile Settings Response/IP Address",
- 31: "WDS/Get Profile Settings Response/P-CSCF",
- }
-
-wds_get_defaults_req_tlvs = { # 44
- 1: "WDS/Get Default Settings Request/Profile Type",
- }
-
-wds_get_defaults_rsp_tlvs = { # 44
- 2: "WDS/Get Default Settings Response/Result Code",
- 16: "WDS/Get Default Settings Response/Profile Name",
- 17: "WDS/Get Default Settings Response/PDP Type",
- 20: "WDS/Get Default Settings Response/APN Name",
- 21: "WDS/Get Default Settings Response/Primary DNS",
- 22: "WDS/Get Default Settings Response/Secondary DNS",
- 23: "WDS/Get Default Settings Response/UMTS Requested QoS",
- 24: "WDS/Get Default Settings Response/UMTS Minimum QoS",
- 25: "WDS/Get Default Settings Response/GPRS Requested QoS",
- 26: "WDS/Get Default Settings Response/GPRS Minimum QoS",
- 27: "WDS/Get Default Settings Response/Username",
- 28: "WDS/Get Default Settings Response/Password",
- 29: "WDS/Get Default Settings Response/Authentication",
- 30: "WDS/Get Default Settings Response/IP Address",
- 31: "WDS/Get Default Settings Response/P-CSCF",
- 32: "WDS/Get Default Settings Response/PDP Access Control Flag",
- 33: "WDS/Get Default Settings Response/P-CSCF Address Using DHCP",
- 34: "WDS/Get Default Settings Response/IM CN Flag",
- 35: "WDS/Get Default Settings Response/Traffic Flow Template ID1 Parameters",
- 36: "WDS/Get Default Settings Response/Traffic Flow Template ID2 Parameters",
- 37: "WDS/Get Default Settings Response/PDP Context Number",
- 38: "WDS/Get Default Settings Response/PDP Context Secondary Flag",
- 39: "WDS/Get Default Settings Response/PDP Context Primary ID",
- 40: "WDS/Get Default Settings Response/IPv6 Address",
- 41: "WDS/Get Default Settings Response/Requested QoS",
- 42: "WDS/Get Default Settings Response/Minimum QoS",
- 43: "WDS/Get Default Settings Response/Primary DNS IPv6 Address",
- 44: "WDS/Get Default Settings Response/Secondary DNS IPv6 Address",
- 45: "WDS/Get Default Settings Response/DHCP NAS Preference",
- 46: "WDS/Get Default Settings Response/LTE QoS Parameters",
- 144: "WDS/Get Default Settings Response/Negotiate DSN Server Preferences",
- 145: "WDS/Get Default Settings Response/PPP Session CLose Timer DO",
- 146: "WDS/Get Default Settings Response/PPP Session Close Timer 1X",
- 147: "WDS/Get Default Settings Response/Allow Lingering Interface",
- 148: "WDS/Get Default Settings Response/LCP ACK Timeout",
- 149: "WDS/Get Default Settings Response/IPCP ACK Timeout",
- 150: "WDS/Get Default Settings Response/Authentication Timeout",
- 151: "WDS/Get Default Settings Response/LCP Config Retry Count",
- 152: "WDS/Get Default Settings Response/IPCP Config Retry Count",
- 153: "WDS/Get Default Settings Response/Authentication Retry",
- 154: "WDS/Get Default Settings Response/Authentication Protocol",
- 155: "WDS/Get Default Settings Response/User ID",
- 156: "WDS/Get Default Settings Response/Authentication Password",
- 157: "WDS/Get Default Settings Response/Data Rate",
- 158: "WDS/Get Default Settings Response/Application Type",
- 159: "WDS/Get Default Settings Response/Data Mode",
- 160: "WDS/Get Default Settings Response/Application Priority",
- 161: "WDS/Get Default Settings Response/APN String",
- 162: "WDS/Get Default Settings Response/PDN Type",
- 163: "WDS/Get Default Settings Response/P-CSCF Address Needed",
- 164: "WDS/Get Default Settings Response/Primary DNS Address",
- 165: "WDS/Get Default Settings Response/Secondary DNS Address",
- 166: "WDS/Get Default Settings Response/Primary IPv6 Address",
- 167: "WDS/Get Default Settings Response/Secondary IPv6 Address",
- 224: "WDS/Get Default Settings Response/Extended Error Code",
- }
-
-wds_get_settings_req_tlvs = { # 45
- 16: "WDS/Get Current Settings Request/Requested Settings",
- }
-
-wds_get_settings_rsp_tlvs = { # 45
- 2: "WDS/Get Current Settings Response/Result Code",
- 16: "WDS/Get Current Settings Response/Profile Name",
- 17: "WDS/Get Current Settings Response/PDP Type",
- 20: "WDS/Get Current Settings Response/APN Name",
- 21: "WDS/Get Current Settings Response/Primary DNS",
- 22: "WDS/Get Current Settings Response/Secondary DNS",
- 23: "WDS/Get Current Settings Response/UMTS Granted QoS",
- 25: "WDS/Get Current Settings Response/GPRS Granted QoS",
- 27: "WDS/Get Current Settings Response/Username",
- 29: "WDS/Get Current Settings Response/Authentication",
- 30: "WDS/Get Current Settings Response/IP Address",
- 31: "WDS/Get Current Settings Response/Profile ID",
- 32: "WDS/Get Current Settings Response/Gateway Address",
- 33: "WDS/Get Current Settings Response/Gateway Subnet Mask",
- 34: "WDS/Get Current Settings Response/P-CSCF",
- 35: "WDS/Get Current Settings Response/P-CSCF Server Address List",
- 36: "WDS/Get Current Settings Response/P-CSCF Domain Name List",
- 37: "WDS/Get Current Settings Response/IPv6 Address",
- 38: "WDS/Get Current Settings Response/IPv6 Gateway Address",
- 39: "WDS/Get Current Settings Response/Primary IPv6 DNS",
- 40: "WDS/Get Current Settings Response/Secondary IPv6 DNS",
- 41: "WDS/Get Current Settings Response/MTU",
- 42: "WDS/Get Current Settings Response/Domain Name List",
- 43: "WDS/Get Current Settings Response/IP Family",
- 44: "WDS/Get Current Settings Response/IM CN Flag",
- 45: "WDS/Get Current Settings Response/Extended Technology",
- 46: "WDS/Get Current Settings Response/P-CSCF IPv6 Address List",
- }
-
-wds_set_mip_req_tlvs = { # 46
- 1: "WDS/Set MIP Mode Request/Mobile IP Mode",
- }
-
-wds_set_mip_rsp_tlvs = { # 46
- 2: "WDS/Set MIP Mode Response/Result Code",
- }
-
-wds_get_mip_rsp_tlvs = { # 47
- 1: "WDS/Get MIP Mode Response/Mobile IP Mode",
- 2: "WDS/Get MIP Mode Response/Result Code",
- }
-
-wds_get_dormancy_rsp_tlvs = { # 48
- 1: "WDS/Get Dormancy Response/Dormancy Status",
- 2: "WDS/Get Dormancy Response/Result Code",
- }
-
-wds_get_autoconnect_rsp_tlvs = { # 52
- 1: "WDS/Get Autoconnect Setting Response/Autoconnect",
- 2: "WDS/Get Autoconnect Setting Response/Result Code",
- 16: "WDS/Get Autoconnect Setting Response/Roam",
- }
-
-wds_get_duration_rsp_tlvs = { # 53
- 1: "WDS/Get Data Session Duration Response/Duration",
- 2: "WDS/Get Data Session Duration Response/Result Code",
- 16: "WDS/Get Data Session Duration Response/Previous Duration",
- 17: "WDS/Get Data Session Duration Response/Active Duration",
- 18: "WDS/Get Data Session Duration Response/Previous Active Duration",
- }
-
-wds_get_modem_status_rsp_tlvs = { # 54
- 1: "WDS/Get Modem Status Response/Status",
- 2: "WDS/Get Modem Status Response/Result Code",
- 16: "WDS/Get Modem Status Response/Call End Reason",
- }
-
-wds_get_modem_status_ind_tlvs = { # 54
- 1: "WDS/Modem Status Report/Status",
- 16: "WDS/Modem Status Report/Call End Reason",
- }
-
-wds_get_data_bearer_rsp_tlvs = { # 55
- 1: "WDS/Get Data Bearer Technology Response/Technology",
- 2: "WDS/Get Data Bearer Technology Response/Result Code",
- 16: "WDS/Get Data Bearer Technology Response/Last Call Technology",
- }
-
-wds_get_modem_info_req_tlvs = { # 56
- 1: "WDS/Get Modem Info Request/Requested Status",
- 16: "WDS/Get Modem Info Request/Connection Status Indicator",
- 17: "WDS/Get Modem Info Request/Transfer Statistics Indicator",
- 18: "WDS/Get Modem Info Request/Dormancy Status Indicator",
- 19: "WDS/Get Modem Info Request/Data Bearer Technology Indicator",
- 20: "WDS/Get Modem Info Request/Channel Rate Indicator",
- }
-
-wds_get_modem_info_rsp_tlvs = { # 56
- 2: "WDS/Get Modem Info Response/Result Code",
- 16: "WDS/Get Modem Info Response/Status",
- 17: "WDS/Get Modem Info Response/Call End Reason",
- 18: "WDS/Get Modem Info Response/TX Bytes",
- 19: "WDS/Get Modem Info Response/RX Bytes",
- 20: "WDS/Get Modem Info Response/Dormancy Status",
- 21: "WDS/Get Modem Info Response/Technology",
- 22: "WDS/Get Modem Info Response/Rates",
- 23: "WDS/Get Modem Info Response/Previous TX Bytes",
- 24: "WDS/Get Modem Info Response/Previous RX Bytes",
- 25: "WDS/Get Modem Info Duration Response/Active Duration",
- }
-
-wds_get_modem_info_ind_tlvs = { # 56
- 16: "WDS/Modem Info Report/Status",
- 17: "WDS/Modem Info Report/Call End Reason",
- 18: "WDS/Modem Info Report/TX Bytes",
- 19: "WDS/Modem Info Report/RX Bytes",
- 20: "WDS/Modem Info Report/Dormancy Status",
- 21: "WDS/Modem Info Report/Technology",
- 22: "WDS/Modem Info Report/Rates",
- }
-
-wds_get_active_mip_rsp_tlvs = { # 60
- 1: "WDS/Get Active MIP Profile Response/Index",
- 2: "WDS/Get Active MIP Profile Response/Result Code",
- }
-
-wds_set_active_mip_req_tlvs = { # 61
- 1: "WDS/Set Active MIP Profile Request/Index",
- }
-
-wds_set_active_mip_rsp_tlvs = { # 61
- 2: "WDS/Set Active MIP Profile Response/Result Code",
- }
-
-wds_get_mip_profile_req_tlvs = { # 62
- 1: "WDS/Get MIP Profile Request/Index",
- }
-
-wds_get_mip_profile_rsp_tlvs = { # 62
- 2: "WDS/Get MIP Profile Response/Result Code",
- 16: "WDS/Get MIP Profile Response/State",
- 17: "WDS/Get MIP Profile Response/Home Address",
- 18: "WDS/Get MIP Profile Response/Primary Home Agent Address",
- 19: "WDS/Get MIP Profile Response/Secondary Home Agent Address",
- 20: "WDS/Get MIP Profile Response/Reverse Tunneling",
- 21: "WDS/Get MIP Profile Response/NAI",
- 22: "WDS/Get MIP Profile Response/HA SPI",
- 23: "WDS/Get MIP Profile Response/AAA SPI",
- 26: "WDS/Get MIP Profile Response/HA State",
- 27: "WDS/Get MIP Profile Response/AAA State",
- }
-
-wds_set_mip_profile_req_tlvs = { # 63
- 1: "WDS/Set MIP Profile Request/Index",
- 16: "WDS/Set MIP Profile Request/State",
- 17: "WDS/Set MIP Profile Request/Home Address",
- 18: "WDS/Set MIP Profile Request/Primary Home Agent Address",
- 19: "WDS/Set MIP Profile Request/Secondary Home Agent Address",
- 20: "WDS/Set MIP Profile Request/Reverse Tunneling",
- 21: "WDS/Set MIP Profile Request/NAI",
- 22: "WDS/Set MIP Profile Request/HA SPI",
- 23: "WDS/Set MIP Profile Requeste/AAA SPI",
- 24: "WDS/Set MIP Profile Request/MN-HA",
- 25: "WDS/Set MIP Profile Request/MN-AAA",
- }
-
-wds_set_mip_profile_rsp_tlvs = { # 63
- 2: "WDS/Set MIP Profile Response/Result Code",
- }
-
-wds_get_mip_params_rsp_tlvs = { # 64
- 2: "WDS/Get MIP Parameters Response/Result Code",
- 16: "WDS/Get MIP Parameters Response/Mobile IP Mode",
- 17: "WDS/Get MIP Parameters Response/Retry Attempt Limit",
- 18: "WDS/Get MIP Parameters Response/Retry Attempt Interval",
- 19: "WDS/Get MIP Parameters Response/Re-Registration Period",
- 20: "WDS/Get MIP Parameters Response/Re-Registration Only With Traffic",
- 21: "WDS/Get MIP Parameters Response/MN-HA Authenticator Calculator",
- 22: "WDS/Get MIP Parameters Response/MN-HA RFC 2002 BIS Authentication",
- }
-
-wds_set_mip_params_req_tlvs = { # 65
- 1: "WDS/Set MIP Parameters Request/SPC",
- 16: "WDS/Set MIP Parameters Request/Mobile IP Mode",
- 17: "WDS/Set MIP Parameters Request/Retry Attempt Limit",
- 18: "WDS/Set MIP Parameters Request/Retry Attempt Interval",
- 19: "WDS/Set MIP Parameters Request/Re-Registration Period",
- 20: "WDS/Set MIP Parameters Request/Re-Registration Only With Traffic",
- 21: "WDS/Set MIP Parameters Request/MN-HA Authenticator Calculator",
- 22: "WDS/Set MIP Parameters Request/MN-HA RFC 2002 BIS Authentication",
- }
-
-wds_set_mip_params_rsp_tlvs = { # 65
- 2: "WDS/Set MIP Parameters Response/Result Code",
- }
-
-wds_get_last_mip_status_rsp_tlvs = { # 66
- 1: "WDS/Get Last MIP Status Response/Status",
- 2: "WDS/Get Last MIP Status Response/Result Code",
- }
-
-wds_get_aaa_auth_status_rsp_tlvs = { # 67
- 1: "WDS/Get AN-AAA Authentication Status Response/Status",
- 2: "WDS/Get AN-AAA Authentication Status Response/Result Code",
- }
-
-wds_get_cur_data_bearer_rsp_tlvs = { # 68
- 1: "WDS/Get Current Data Bearer Technology Response/Technology",
- 2: "WDS/Get Current Data Bearer Technology Response/Result Code",
- }
-
-wds_get_call_list_req_tlvs = { # 69
- 16: "WDS/Get Call List Request/List Type",
- }
-
-wds_get_call_list_rsp_tlvs = { # 69
- 2: "WDS/Get Call List Response/Result Code",
- 16: "WDS/Get Call List Response/Full List",
- 17: "WDS/Get Call List Response/ID List",
- }
-
-wds_get_call_entry_req_tlvs = { # 70
- 1: "WDS/Get Call Record Request/Record ID",
- }
-
-wds_get_call_entry_rsp_tlvs = { # 70
- 1: "WDS/Get Call Record Response/Record",
- 2: "WDS/Get Call Record Response/Result Code",
- }
-
-wds_clear_call_list_rsp_tlvs = { # 71
- 2: "WDS/Clear Call List Response/Result Code",
- }
-
-wds_get_call_list_max_rsp_tlvs = { # 72
- 1: "WDS/Get Call List Max Size Response/Maximum",
- 2: "WDS/Get Call List Max Size Response/Result Code",
- }
-
-wds_set_autoconnect_req_tlvs = { # 81
- 1: "WDS/Set Autoconnect Setting Request/Autoconnect",
- 16: "WDS/Set Autoconnect Setting Request/Roam",
- }
-
-wds_set_autoconnect_rsp_tlvs = { # 81
- 2: "WDS/Set Autoconnect Setting Response/Result Code",
- }
-
-wds_get_dns_rsp_tlvs = { # 82
- 2: "WDS/Get DNS Setting Response/Result Code",
- 16: "WDS/Get DNS Setting Response/Primary",
- 17: "WDS/Get DNS Setting Response/Secondary",
- 18: "WDS/Get DNS Setting Response/Primary IPv6",
- 19: "WDS/Get DNS Setting Response/Secondary IPv6",
- }
-
-wds_set_dns_req_tlvs = { # 83
- 16: "WDS/Set DNS Setting Request/Primary",
- 17: "WDS/Set DNS Setting Request/Secondary",
- 18: "WDS/Set DNS Setting Request/Primary IPv6 Address",
- 19: "WDS/Set DNS Setting Request/Secondary IPv6 Address",
- }
-
-wds_set_dns_rsp_tlvs = { # 83
- 2: "WDS/Set DNS Setting Response/Result Code",
- }
-
-wds_cmds = {
- 0: ("RESET", None, wds_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", wds_set_event_req_tlvs, wds_set_event_rsp_tlvs, wds_set_event_ind_tlvs),
- 2: ("ABORT", wds_abort_req_tlvs, wds_abort_rsp_tlvs, None),
- 32: ("START_NET", wds_start_net_req_tlvs, wds_start_net_rsp_tlvs, None),
- 33: ("STOP_NET", wds_stop_net_req_tlvs, wds_stop_net_rsp_tlvs, None),
- 34: ("GET_PKT_STATUS", None, wds_get_pkt_status_rsp_tlvs, wds_get_pkt_status_ind_tlvs),
- 35: ("GET_RATES", None, wds_get_rates_rsp_tlvs, None),
- 36: ("GET_STATISTICS", wds_get_statistics_req_tlvs, wds_get_statistics_rsp_tlvs, None),
- 37: ("G0_DORMANT", None, wds_g0_dormant_rsp_tlvs, None),
- 38: ("G0_ACTIVE", None, wds_g0_active_rsp_tlvs, None),
- 39: ("CREATE_PROFILE", wds_create_profile_req_tlvs, wds_create_profile_rsp_tlvs, None),
- 40: ("MODIFY_PROFILE", wds_modify_profile_req_tlvs, wds_modify_profile_rsp_tlvs, None),
- 41: ("DELETE_PROFILE", wds_delete_profile_req_tlvs, wds_delete_profile_rsp_tlvs, None),
- 42: ("GET_PROFILE_LIST", None, wds_get_profile_list_rsp_tlvs, None),
- 43: ("GET_PROFILE", wds_get_profile_req_tlvs, wds_get_profile_rsp_tlvs, None),
- 44: ("GET_DEFAULTS", wds_get_defaults_req_tlvs, wds_get_defaults_rsp_tlvs, None),
- 45: ("GET_SETTINGS", wds_get_settings_req_tlvs, wds_get_settings_rsp_tlvs, None),
- 46: ("SET_MIP", wds_set_mip_req_tlvs, wds_set_mip_rsp_tlvs, None),
- 47: ("GET_MIP", None, wds_get_mip_rsp_tlvs, None),
- 48: ("GET_DORMANCY", None, wds_get_dormancy_rsp_tlvs, None),
- 52: ("GET_AUTOCONNECT", None, wds_get_autoconnect_rsp_tlvs, None),
- 53: ("GET_DURATION", None, wds_get_duration_rsp_tlvs, None),
- 54: ("GET_MODEM_STATUS", None, wds_get_modem_status_rsp_tlvs, wds_get_modem_status_ind_tlvs),
- 55: ("GET_DATA_BEARER", None, wds_get_data_bearer_rsp_tlvs, None),
- 56: ("GET_MODEM_INFO", wds_get_modem_info_req_tlvs, wds_get_modem_info_rsp_tlvs, wds_get_modem_info_ind_tlvs),
- 60: ("GET_ACTIVE_MIP", None, wds_get_active_mip_rsp_tlvs, None),
- 61: ("SET_ACTIVE_MIP", wds_set_active_mip_req_tlvs, wds_set_active_mip_rsp_tlvs, None),
- 62: ("GET_MIP_PROFILE", wds_get_mip_profile_req_tlvs, wds_get_mip_profile_rsp_tlvs, None),
- 63: ("SET_MIP_PROFILE", wds_set_mip_profile_req_tlvs, wds_set_mip_profile_rsp_tlvs, None),
- 64: ("GET_MIP_PARAMS", None, wds_get_mip_params_rsp_tlvs, None),
- 65: ("SET_MIP_PARAMS", wds_set_mip_params_req_tlvs, wds_set_mip_params_rsp_tlvs, None),
- 66: ("GET_LAST_MIP_STATUS", None, wds_get_last_mip_status_rsp_tlvs, None),
- 67: ("GET_AAA_AUTH_STATUS", None, wds_get_aaa_auth_status_rsp_tlvs, None),
- 68: ("GET_CUR_DATA_BEARER", None, wds_get_cur_data_bearer_rsp_tlvs, None),
- 69: ("GET_CALL_LIST", wds_get_call_list_req_tlvs, wds_get_call_list_rsp_tlvs, None),
- 70: ("GET_CALL_ENTRY", wds_get_call_entry_req_tlvs, wds_get_call_entry_rsp_tlvs, None),
- 71: ("CLEAR_CALL_LIST", None, wds_clear_call_list_rsp_tlvs, None),
- 72: ("GET_CALL_LIST_MAX", None, wds_get_call_list_max_rsp_tlvs, None),
- 77: ("SET_IP_FAMILY", None, None, None),
- 81: ("SET_AUTOCONNECT", wds_set_autoconnect_req_tlvs, wds_set_autoconnect_rsp_tlvs, None),
- 82: ("GET_DNS", None, wds_get_dns_rsp_tlvs, None),
- 83: ("SET_DNS", wds_set_dns_req_tlvs, wds_set_dns_rsp_tlvs, None),
- 84: ("GET_PRE_DORMANCY", None, None, None),
- 85: ("SET_CAM_TIMER", None, None, None),
- 86: ("GET_CAM_TIMER", None, None, None),
- 87: ("SET_SCRM", None, None, None),
- 88: ("GET_SCRM", None, None, None),
- 89: ("SET_RDUD", None, None, None),
- 90: ("GET_RDUD", None, None, None),
- 91: ("GET_SIPMIP_CALL_TYPE", None, None, None),
- 92: ("SET_PM_PERIOD", None, None, None),
- 93: ("SET_FORCE_LONG_SLEEP", None, None, None),
- 94: ("GET_PM_PERIOD", None, None, None),
- 95: ("GET_CALL_THROTTLE", None, None, None),
- 96: ("GET_NSAPI", None, None, None),
- 97: ("SET_DUN_CTRL_PREF", None, None, None),
- 98: ("GET_DUN_CTRL_INFO", None, None, None),
- 99: ("SET_DUN_CTRL_EVENT", None, None, None),
- 100: ("PENDING_DUN_CTRL", None, None, None),
- 105: ("GET_DATA_SYS", None, None, None),
- 106: ("GET_LAST_DATA_STATUS", None, None, None),
- 107: ("GET_CURR_DATA_SYS", None, None, None),
- 108: ("GET_PDN_THROTTLE", None, None, None),
- }
-wms_reset_rsp_tlvs = { # 0
- 2: "WMS/Reset Response/Result Code",
- }
-
-wms_set_event_req_tlvs = { # 1
- 16: "WMS/Set Event Report Request/New MT Message Indicator",
- }
-
-wms_set_event_rsp_tlvs = { # 1
- 2: "WMS/Set Event Report Response/Result Code",
- }
-
-wms_set_event_ind_tlvs = { # 1
- 16: "WMS/Event Report/Received MT Message",
- 17: "WMS/Event Report/Transfer Route MT Message",
- 18: "WMS/Event Report/Message Mode",
- }
-
-wms_raw_send_req_tlvs = { # 32
- 1: "WMS/Raw Send Request/Message Data",
- 16: "WMS/Raw Send Request/Force On DC",
- 17: "WMS/Raw Send Request/Follow On DC",
- 18: "WMS/Raw Send Request/Link Control",
- }
-
-wms_raw_send_rsp_tlvs = { # 32
- 2: "WMS/Raw Send Response/Result Code",
- 16: "WMS/Raw Send Response/Cause Code",
- 17: "WMS/Raw Send Response/Error Class",
- 18: "WMS/Raw Send Response/Cause Info",
- }
-
-wms_raw_write_req_tlvs = { # 33
- 1: "WMS/Raw Write Request/Message Data",
- }
-
-wms_raw_write_rsp_tlvs = { # 33
- 1: "WMS/Raw Write Response/Message Index",
- 2: "WMS/Raw Write Response/Result Code",
- }
-
-wms_raw_read_req_tlvs = { # 34
- 1: "WMS/Raw Read Request/Message Index",
- 16: "WMS/Raw Read Request/Message Mode",
- }
-
-wms_raw_read_rsp_tlvs = { # 34
- 1: "WMS/Raw Read Response/Message Data",
- 2: "WMS/Raw Read Response/Result Code",
- }
-
-wms_modify_tag_req_tlvs = { # 35
- 1: "WMS/Modify Tag Request/Message Tag",
- 16: "WMS/Modify Tag Request/Message Mode",
- }
-
-wms_modify_tag_rsp_tlvs = { # 35
- 2: "WMS/Modify Tag Response/Result Code",
- }
-
-wms_delete_req_tlvs = { # 36
- 1: "WMS/Delete Request/Memory Storage",
- 16: "WMS/Delete Request/Message Index",
- 17: "WMS/Delete Request/Message Tag",
- 18: "WMS/Delete Request/Message Mode",
- }
-
-wms_delete_rsp_tlvs = { # 36
- 2: "WMS/Delete Response/Result Code",
- }
-
-wms_get_msg_protocol_rsp_tlvs = { # 48
- 1: "WMS/Get Message Protocol Response/Message Protocol",
- 2: "WMS/Get Message Protocol Response/Result Code",
- }
-
-wms_get_msg_list_req_tlvs = { # 49
- 1: "WMS/List Messages Request/Memory Storage",
- 16: "WMS/List Messages Request/Message Tag",
- 17: "WMS/List Messages Request/Message Mode",
- }
-
-wms_get_msg_list_rsp_tlvs = { # 49
- 1: "WMS/List Messages Response/Message List",
- 2: "WMS/List Messages Response/Result Code",
- }
-
-wms_set_routes_req_tlvs = { # 50
- 1: "WMS/Set Routes Request/Route List",
- 16: "WMS/Set Routes Request/Transfer Status Report",
- }
-
-wms_set_routes_rsp_tlvs = { # 50
- 2: "WMS/Set Routes Response/Result Code",
- }
-
-wms_get_routes_rsp_tlvs = { # 51
- 1: "WMS/Get Routes Response/Route List",
- 2: "WMS/Get Routes Response/Result Code",
- 16: "WMS/Get Routes Response/Transfer Status Report",
- }
-
-wms_get_smsc_addr_rsp_tlvs = { # 52
- 1: "WMS/Get SMSC Address Response/Address",
- 2: "WMS/Get SMSC Address Response/Result Code",
- }
-
-wms_set_smsc_addr_req_tlvs = { # 53
- 1: "WMS/Set SMSC Address Request/Address",
- 16: "WMS/Set SMSC Address Request/Address Type",
- }
-
-wms_get_msg_list_max_req_tlvs = { # 54
- 1: "WMS/Get Storage Max Size Request/Memory Storage",
- 16: "WMS/Get Storage Max Size Request/Message Mode",
- }
-
-wms_get_msg_list_max_rsp_tlvs = { # 54
- 1: "WMS/Get Storage Max Size Response/Max Size",
- 2: "WMS/Get Storage Max Size Response/Result Code",
- 16: "WMS/Get Storage Max Size Response/Available Size",
- }
-
-wms_send_ack_req_tlvs = { # 55
- 1: "WMS/Send ACK Request/ACK",
- 16: "WMS/Send ACK Request/3GPP2 Failure Info",
- 17: "WMS/Send ACK Request/3GPP Failure Info",
- }
-
-wms_send_ack_rsp_tlvs = { # 55
- 2: "WMS/Send ACK Response/Result Code",
- }
-
-wms_set_retry_period_req_tlvs = { # 56
- 1: "WMS/Set Retry Period Request/Period",
- }
-
-wms_set_retry_period_rsp_tlvs = { # 56
- 2: "WMS/Set Retry Period Response/Result Code",
- }
-
-wms_set_retry_interval_req_tlvs = { # 57
- 1: "WMS/Set Retry Interval Request/Interval",
- }
-
-wms_set_retry_interval_rsp_tlvs = { # 57
- 2: "WMS/Set Retry Interval Response/Result Code",
- }
-
-wms_set_dc_disco_timer_req_tlvs = { # 58
- 1: "WMS/Set DC Disconnect Timer Request/Timer",
- }
-
-wms_set_dc_disco_timer_rsp_tlvs = { # 58
- 2: "WMS/Set DC Disconnect Timer Response/Result Code",
- }
-
-wms_set_memory_status_req_tlvs = { # 59
- 1: "WMS/Set Memory Status Request/Status",
- }
-
-wms_set_memory_status_rsp_tlvs = { # 59
- 2: "WMS/Set Memory Status Response/Result Code",
- }
-
-wms_set_bc_activation_req_tlvs = { # 60
- 1: "WMS/Set Broadcast Activation Request/BC Info",
- }
-
-wms_set_bc_activation_rsp_tlvs = { # 60
- 2: "WMS/Set Broadcast Activation Response/Result Code",
- }
-
-wms_set_bc_config_req_tlvs = { # 61
- 1: "WMS/Set Broadcast Config Request/Mode",
- 16: "WMS/Set Broadcast Config Request/3GPP Info",
- 17: "WMS/Set Broadcast Config Request/3GPP2 Info",
- }
-
-wms_set_bc_config_rsp_tlvs = { # 61
- 2: "WMS/Set Broadcast Config Response/Result Code",
- }
-
-wms_get_bc_config_req_tlvs = { # 62
- 1: "WMS/Get Broadcast Config Request/Mode",
- }
-
-wms_get_bc_config_rsp_tlvs = { # 62
- 2: "WMS/Get Broadcast Config Response/Result Code",
- 16: "WMS/Get Broadcast Config Response/3GPP Info",
- 17: "WMS/Get Broadcast Config Response/3GPP2 Info",
- }
-
-wms_memory_full_ind_ind_tlvs = { # 63
- 1: "WMS/Memory Full Indication/Info",
- }
-
-wms_get_domain_pref_rsp_tlvs = { # 64
- 1: "WMS/Get Domain Preference Response/Pref",
- 2: "WMS/Get Domain Preference Response/Result Code",
- }
-
-wms_set_domain_pref_req_tlvs = { # 65
- 1: "WMS/Set Domain Preference Request/Pref",
- }
-
-wms_set_domain_pref_rsp_tlvs = { # 65
- 2: "WMS/Set Domain Preference Response/Result Code",
- }
-
-wms_memory_send_req_tlvs = { # 66
- 1: "WMS/Send From Memory Store Request/Info",
- }
-
-wms_memory_send_rsp_tlvs = { # 66
- 2: "WMS/Send From Memory Store Response/Result Code",
- 16: "WMS/Send From Memory Store Response/Message ID",
- 17: "WMS/Send From Memory Store Response/Cause Code",
- 18: "WMS/Send From Memory Store Response/Error Class",
- 19: "WMS/Send From Memory Store Response/Cause Info",
- }
-
-wms_smsc_addr_ind_ind_tlvs = { # 70
- 1: "WMS/SMSC Address Indication/Address",
- }
-
-wms_cmds = {
- 0: ("RESET", None, wms_reset_rsp_tlvs, None),
- 1: ("SET_EVENT", wms_set_event_req_tlvs, wms_set_event_rsp_tlvs, wms_set_event_ind_tlvs),
- 32: ("RAW_SEND", wms_raw_send_req_tlvs, wms_raw_send_rsp_tlvs, None),
- 33: ("RAW_WRITE", wms_raw_write_req_tlvs, wms_raw_write_rsp_tlvs, None),
- 34: ("RAW_READ", wms_raw_read_req_tlvs, wms_raw_read_rsp_tlvs, None),
- 35: ("MODIFY_TAG", wms_modify_tag_req_tlvs, wms_modify_tag_rsp_tlvs, None),
- 36: ("DELETE", wms_delete_req_tlvs, wms_delete_rsp_tlvs, None),
- 48: ("GET_MSG_PROTOCOL", None, wms_get_msg_protocol_rsp_tlvs, None),
- 49: ("GET_MSG_LIST", wms_get_msg_list_req_tlvs, wms_get_msg_list_rsp_tlvs, None),
- 50: ("SET_ROUTES", wms_set_routes_req_tlvs, wms_set_routes_rsp_tlvs, None),
- 51: ("GET_ROUTES", None, wms_get_routes_rsp_tlvs, None),
- 52: ("GET_SMSC_ADDR", None, wms_get_smsc_addr_rsp_tlvs, None),
- 53: ("SET_SMSC_ADDR", wms_set_smsc_addr_req_tlvs, None, None),
- 54: ("GET_MSG_LIST_MAX", wms_get_msg_list_max_req_tlvs, wms_get_msg_list_max_rsp_tlvs, None),
- 55: ("SEND_ACK", wms_send_ack_req_tlvs, wms_send_ack_rsp_tlvs, None),
- 56: ("SET_RETRY_PERIOD", wms_set_retry_period_req_tlvs, wms_set_retry_period_rsp_tlvs, None),
- 57: ("SET_RETRY_INTERVAL", wms_set_retry_interval_req_tlvs, wms_set_retry_interval_rsp_tlvs, None),
- 58: ("SET_DC_DISCO_TIMER", wms_set_dc_disco_timer_req_tlvs, wms_set_dc_disco_timer_rsp_tlvs, None),
- 59: ("SET_MEMORY_STATUS", wms_set_memory_status_req_tlvs, wms_set_memory_status_rsp_tlvs, None),
- 60: ("SET_BC_ACTIVATION", wms_set_bc_activation_req_tlvs, wms_set_bc_activation_rsp_tlvs, None),
- 61: ("SET_BC_CONFIG", wms_set_bc_config_req_tlvs, wms_set_bc_config_rsp_tlvs, None),
- 62: ("GET_BC_CONFIG", wms_get_bc_config_req_tlvs, wms_get_bc_config_rsp_tlvs, None),
- 63: ("MEMORY_FULL_IND", None, None, wms_memory_full_ind_ind_tlvs),
- 64: ("GET_DOMAIN_PREF", None, wms_get_domain_pref_rsp_tlvs, None),
- 65: ("SET_DOMAIN_PREF", wms_set_domain_pref_req_tlvs, wms_set_domain_pref_rsp_tlvs, None),
- 66: ("MEMORY_SEND", wms_memory_send_req_tlvs, wms_memory_send_rsp_tlvs, None),
- 67: ("GET_MSG_WAITING", None, None, None),
- 68: ("MSG_WAITING_IND", None, None, None),
- 69: ("SET_PRIMARY_CLIENT", None, None, None),
- 70: ("SMSC_ADDR_IND", None, None, wms_smsc_addr_ind_ind_tlvs),
- 71: ("INDICATOR_REG", None, None, None),
- 72: ("GET_TRANSPORT_INFO", None, None, None),
- 73: ("TRANSPORT_INFO_IND", None, None, None),
- 74: ("GET_NW_REG_INFO", None, None, None),
- 75: ("NW_REG_INFO_IND", None, None, None),
- 76: ("BIND_SUBSCRIPTION", None, None, None),
- 77: ("GET_INDICATOR_REG", None, None, None),
- 78: ("GET_SMS_PARAMETERS", None, None, None),
- 79: ("SET_SMS_PARAMETERS", None, None, None),
- 80: ("CALL_STATUS_IND", None, None, None),
- }
-
-services = {
- 0: ("ctl", ctl_cmds),
- 1: ("wds", wds_cmds),
- 2: ("dms", dms_cmds),
- 3: ("nas", nas_cmds),
- 4: ("qos", None),
- 5: ("wms", wms_cmds),
- 6: ("pds", pds_cmds),
- 7: ("auth", auth_cmds),
- 9: ("voice", voice_cmds),
- 224: ("cat", cat_cmds),
- 225: ("rms", rms_cmds),
- 226: ("oma", oma_cmds),
- }
diff --git a/decode/qmux.py b/decode/qmux.py
deleted file mode 100644
index a5543ac2..00000000
--- a/decode/qmux.py
+++ /dev/null
@@ -1,205 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-import binascii
-import defs
-import struct
-
-from qmiprotocol import services
-
-TP_REQUEST = 0x00
-TP_RESPONSE = 0x02
-TP_INDICATION = 0x04
-
-def complete(data, direction):
- # We don't handle QMUX frames spanning packets yet
- return True
-
-def unpack(data, direction):
- return binascii.unhexlify(data)
-
-def service_to_string(s):
- try:
- return services[s][0]
- except KeyError:
- return ""
-
-def qmi_cmd_to_string(cmdno, service):
- (name, cmds) = services[service]
- return cmds[cmdno][0]
-
-class Tlv:
- def __init__(self, tlvid, size, data, service, cmdno, direction):
- self.id = tlvid
- self.size = size
- self.data = data
- if size != len(data):
- raise ValueError("Mismatched TLV size! (got %d expected %d)" % (len(data), size))
- self.service = service
- self.cmdno = cmdno
- self.direction = direction
-
- def show_data(self, prefix):
- line = ""
- for i in self.data:
- line += " %02x" % ord(i)
- print prefix + " Data: %s" % line
-
- def show(self, prefix):
- svc = services[self.service]
- cmd = [ None, None, None ]
- try:
- cmd = svc[1][self.cmdno]
- except KeyError:
- pass
- except TypeError:
- pass
- tlvlist = None
- if self.direction == TP_REQUEST:
- tlvlist = cmd[1]
- elif self.direction == TP_RESPONSE:
- tlvlist = cmd[2]
- elif self.direction == TP_INDICATION:
- tlvlist = cmd[3]
- else:
- raise ValueError("Unknown TLV direction %s" % self.direction)
-
- tlvname = "!!! UNKNOWN !!!"
- if self.service == 1 and self.cmdno == 77: # WDS/SET_IP_FAMILY
- tlvname = "WDS/Set IP Family/IP Family !!! NOT DEFINED !!!"
- else:
- try:
- tlvname = tlvlist[self.id]
- except KeyError:
- pass
- except TypeError:
- pass
-
- print prefix + " TLV: 0x%02x (%s)" % (self.id, tlvname)
- print prefix + " Size: 0x%04x" % self.size
- if self.id == 2:
- # Status response
- (status, error) = struct.unpack("<HH", self.data)
- if status == 0:
- sstatus = "SUCCESS"
- else:
- sstatus = "ERROR"
- print prefix + " Status: %d (%s)" % (status, sstatus)
-
- print prefix + " Error: %d" % error
- else:
- self.show_data(prefix)
- print ""
-
-def get_tlvs(data, service, cmdno, direction):
- tlvs = []
- while len(data) >= 3:
- (tlvid, size) = struct.unpack("<BH", data[:3])
- if size > len(data) - 3:
- raise ValueError("Malformed TLV ID %d size %d (len left %d)" % (tlvid, size, len(data)))
- tlvs.append(Tlv(tlvid, size, data[3:3 + size], service, cmdno, direction))
- data = data[size + 3:]
- if len(data) != 0:
- raise ValueError("leftover data parsing tlvs")
- return tlvs
-
-def show(data, prefix, direction):
- if len(data) < 7:
- return
-
- qmuxfmt = "<BHBBB"
- sz = struct.calcsize(qmuxfmt)
- (ifc, l, sender, service, cid) = struct.unpack(qmuxfmt, data[:sz])
-
- if ifc != 0x01:
- raise ValueError("Packet not QMUX")
-
- print prefix + "QMUX Header:"
- print prefix + " len: 0x%04x" % l
-
- ssender = ""
- if sender == 0x00:
- ssender = "(client)"
- elif sender == 0x80:
- ssender = "(service)"
- print prefix + " sender: 0x%02x %s" % (sender, ssender)
-
- sservice = service_to_string(service)
- print prefix + " svc: 0x%02x (%s)" % (service, sservice)
-
- scid = ""
- if cid == 0xff:
- scid = "(broadcast)"
- print prefix + " cid: 0x%02x %s" % (cid, scid)
-
- print ""
-
- # QMI header
- data = data[sz:]
- if service == 0:
- qmifmt = "<BBHH"
- else:
- qmifmt = "<BHHH"
-
- sz = struct.calcsize(qmifmt)
- (flags, txnid, cmdno, size) = struct.unpack(qmifmt, data[:sz])
-
- print prefix + "QMI Header:"
-
- sflags = ""
- if service == 0:
- # Besides the CTL service header being shorter, the flags are different
- if flags == 0x00:
- flags = TP_REQUEST
- elif flags == 0x01:
- flags = TP_RESPONSE
- elif flags == 0x02:
- flags = TP_INDICATION
-
- if flags == TP_REQUEST:
- sflags = "(request)"
- elif flags == TP_RESPONSE:
- sflags = "(response)"
- elif flags == TP_INDICATION:
- sflags = "(indication)"
- else:
- raise ValueError("Unknown flags %d" % flags)
- print prefix + " Flags: 0x%02x %s" % (flags, sflags)
-
- print prefix + " TXN: 0x%04x" % txnid
-
- scmd = "!!! UNKNOWN !!!"
- try:
- scmd = qmi_cmd_to_string(cmdno, service)
- except KeyError:
- pass
- except TypeError:
- pass
- print prefix + " Cmd: 0x%04x (%s)" % (cmdno, scmd)
-
- print prefix + " Size: 0x%04x" % size
- print ""
-
- data = data[sz:]
- tlvs = get_tlvs(data, service, cmdno, flags)
- for tlv in tlvs:
- tlv.show(prefix)
-
- print ""
-
-def get_funcs():
- return (complete, unpack, show)
-
diff --git a/decode/wmc.py b/decode/wmc.py
deleted file mode 100644
index f710407f..00000000
--- a/decode/wmc.py
+++ /dev/null
@@ -1,410 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-
-import binascii
-import struct
-import defs
-
-def complete(data, direction):
- if direction == defs.TO_MODEM:
- if data[len(data) - 2:] == "0d" or data[len(data) - 2:] == "7e":
- return True
- elif direction == defs.TO_HOST:
- if data[len(data) - 6:] == "30307e":
- # UML190 and UML290 fake CRC + term
- return True
- elif data[len(data) - 2:] == "7e":
- # PC5740 uses a real CRC
- return True
- else:
- raise ValueError("No data direction")
- return False
-
-
-def unpack(data, direction):
- # unpack the data
- if direction == defs.TO_MODEM:
- if data[:14] == "41542a574d433d":
- # remove the AT*WMC= bits, and the newline and CRC at the end
- data = data[14:]
- if data[len(data) - 2:] == "0d":
- data = data[:len(data) - 6]
- elif data[:2] == "c8" and data[len(data) - 2:] == "7e":
- # PC5740 doesn't use AT*WMC= framing
- data = data[:len(data) - 6]
- else:
- print "asdfasdfasfaf"
- elif direction == defs.TO_HOST:
- if data[len(data) - 2:] == "7e":
- # remove HDLC terminator and CRC
- data = data[:len(data) - 6]
- else:
- raise ValueError("No data direction")
-
- data = binascii.unhexlify(data)
-
- # PPP-unescape it
- escape = False
- new_data = ""
- for i in data:
- if ord(i) == 0x7D:
- escape = True
- elif escape == True:
- new_data += chr(ord(i) ^ 0x20)
- escape = False
- else:
- new_data += i
-
- return new_data
-
-def show_data(data, prefix):
- line = ""
- for i in data:
- line += " %02x" % ord(i)
- print prefix + " Data: %s" % line
-
-def show_device_info(data, prefix, direction):
- if direction != defs.TO_HOST:
- return
-
- fmt = "<"
- fmt += "27s" # unknown1
- fmt += "64s" # manf
- fmt += "64s" # model
- fmt += "64s" # fwrev
- fmt += "64s" # hwrev
- fmt += "64s" # unknown2
- fmt += "64s" # unknown3
- fmt += "10s" # min
- fmt += "12s" # unknown4
- fmt += "H" # home_sid
- fmt += "2s" # unknown5
- fmt += "H" # prlver
- fmt += "2s" # unknown6
- fmt += "H" # eriver
- fmt += "4s" # unknown7
-
- expected = struct.calcsize(fmt)
- if len(data) >= expected:
- (u1, manf, model, fwrev, hwrev, u2, u3, cdmamin, u4, homesid, u5, prlver, \
- u6, eriver, u7) = struct.unpack(fmt, data[:expected])
- print prefix + " Manf: %s" % manf
- print prefix + " Model: %s" % model
- print prefix + " FW Rev: %s" % fwrev
- print prefix + " HW Rev: %s" % hwrev
- print prefix + " MIN: %s" % cdmamin
- print prefix + " Home SID: %d" % homesid
- print prefix + " PRL Ver: %d" % prlver
- print prefix + " ERI Ver: %d" % eriver
- else:
- raise ValueError("Unexpected Info command response len (got %d expected %d)" % (len(data), expected))
-
- fmt2 = "<"
- fmt2 += "64s" # unknown8
- fmt2 += "14s" # meid
- fmt2 += "6s" # unknown10
- fmt2 += "16s" # imei
- fmt2 += "6s" # unknown11
- fmt2 += "16s" # unknown12
- fmt2 += "20s" # iccid
- fmt2 += "6s" # unknown13
-
- expected2 = struct.calcsize(fmt2)
- if len(data) >= expected + expected2:
- (u8, meid, u10, imei, u11, something, iccid, u13) = struct.unpack(fmt2, data[expected:expected + expected2])
- print prefix + " MEID: %s" % meid
- print prefix + " IMEI: %s" % imei
- print prefix + " ??? : %s" % something
- print prefix + " ICCID: %s" % iccid
-
- fmt3 = "<"
- fmt3 += "16s" # MCC
- fmt3 += "16s" # MNC
- fmt3 += "4s" # unknown11
- fmt3 += "4s" # unknown12
- fmt3 += "4s" # unknown13
- expected3 = struct.calcsize(fmt3)
- if len(data) >= expected + expected2 + expected3:
- (mcc, mnc, u11, u12, u13) = struct.unpack(fmt3, data[expected + expected2:])
- print prefix + " MCC: %s" % mcc
- print prefix + " MNC: %s" % mnc
-
-
-def state_to_string(state):
- states = { 0: "unknown",
- 1: "idle",
- 2: "connecting",
- 3: "authenticating",
- 4: "connected",
- 5: "dormant",
- 6: "updating NAM",
- 7: "updating PRL",
- 8: "disconnecting",
- 9: "error",
- 10: "updating UICC",
- 11: "updating PLMN" }
- try:
- return states[state]
- except KeyError:
- return "unknown"
-
-def show_connection_info(data, prefix, direction):
- if direction != defs.TO_HOST:
- return
-
- fmt = "<"
- fmt += "I" # rx_bytes
- fmt += "I" # tx_bytes
- fmt += "8s" # unknown1
- fmt += "B" # state
- fmt += "3s" # unknown2
-
- expected = struct.calcsize(fmt)
- if len(data) >= expected:
- (rxb, txb, u1, state, u2) = struct.unpack(fmt, data[:expected])
- print prefix + " RX Bytes: %d" % rxb
- print prefix + " TX Bytes: %d" % txb
- print prefix + " State: %d (%s)" % (state, state_to_string (state))
- else:
- raise ValueError("Unexpected Connection Info command response len (got %d expected %d)" % (len(data), expected))
-
- fmt3 = "<"
- fmt3 += "4s" # unknown3
- fmt3 += "16s" # ip4_address
- fmt3 += "8s" # netmask?
- fmt3 += "40s" # ip6_address
- expected3 = struct.calcsize(fmt3)
- if len(data) >= expected + expected3:
- (u3, ip4addr, netmask, ip6addr) = struct.unpack(fmt3, data[expected:])
- print prefix + " IP4 Addr: %s" % ip4addr
- print prefix + " IP6 Addr: %s" % ip6addr
-
-def get_signal(item):
- if item == 0x7D:
- return (item * -1, "(NO SIGNAL)")
- else:
- return (item * -1, "")
-
-def service_to_string(service):
- services = { 0: "none",
- 1: "AMPS",
- 2: "IS95-A",
- 3: "IS95-B",
- 4: "GSM",
- 5: "GPRS",
- 6: "1xRTT",
- 7: "EVDO r0",
- 8: "UMTS",
- 9: "EVDO rA",
- 10: "EDGE",
- 11: "HSDPA",
- 12: "HSUPA",
- 13: "HSPA",
- 14: "LTE",
- 15: "EVDO rA eHRPD" }
- try:
- return services[service]
- except KeyError:
- return "unknown"
-
-def show_network_info(data, prefix, direction):
- if direction != defs.TO_HOST:
- return
-
- fmt = "<"
- fmt += "B" # unknown1
- fmt += "3s" # unknown2
- fmt += "B" # service
- fmt += "B" # unknown3
- fmt += "H" # year
- fmt += "B" # month
- fmt += "B" # zero
- fmt += "B" # day
- fmt += "B" # zero
- fmt += "B" # hours
- fmt += "B" # zero
- fmt += "B" # minutes
- fmt += "B" # zero
- fmt += "B" # seconds
- fmt += "H" # counter1
- fmt += "H" # unknown4
- fmt += "3s" # unknown5
- fmt += "B" # 2g_dbm
-
- expected = struct.calcsize(fmt)
- if len(data) >= expected:
- (u1, u2, service, u3, year, month, z1, day, z2, hours, z3, minutes, z4, \
- seconds, counter1, u4, u5, two_g_dbm) = struct.unpack(fmt, data[:expected])
- print prefix + " Time: %04d/%02d/%02d %02d:%02d:%02d" % (year, month, day, hours, minutes, seconds)
- print prefix + " Service: %d (%s)" % (service, service_to_string (service))
- print prefix + " 2G dBm: %d dBm %s" % get_signal(two_g_dbm)
- else:
- raise ValueError("Unexpected Network Info command response len (got %d expected %d)" % (len(data), expected))
-
- fmt2 = "<"
- fmt2 += "3s" # unknown7
- fmt2 += "16s" # cdma_opname
- fmt2 += "18s" # unknown8
- fmt2 += "B" # 3g_dbm
- fmt2 += "3s" # unknown9
- fmt2 += "B" # unknown10
- fmt2 += "3s" # unknown11
- fmt2 += "B" # unknown12
- fmt2 += "8s" # 3gpp_opname
- fmt2 += "4s" # unknown13
- fmt2 += "I" # unknown14
- fmt2 += "I" # unknown15
- fmt2 += "44s" # unknown16
- fmt2 += "I" # mcc/mnc
-
- expected2 = struct.calcsize(fmt2)
- if len(data) >= expected + expected2:
- (u7, cdma_opname, u8, three_g_dbm, u9, u10, u11, u12, tgpp_opname, u13, \
- u14, u15, u16, mccmnc) = struct.unpack(fmt2, data[expected:expected + expected2])
- print prefix + " 3G dBm: %d dBm %s" % get_signal(three_g_dbm)
- print prefix + " CDMA Op: %s" % cdma_opname
- print prefix + " 3GPP Op: %s" % tgpp_opname
-
- # handle 2-digit MNC
- if mccmnc < 100000:
- mccmnc *= 10;
-
- mcc = mccmnc / 1000
- mnc = mccmnc - (mcc * 1000)
- if mcc > 100:
- print prefix + " MCC/MNC: %u-%u" % (mcc, mnc)
-
- fmt3 = "<"
- fmt3 += "B" # lte_dbm
- fmt3 += "3s" # unknown15
- fmt3 += "4s" # unknown16
- expected3 = struct.calcsize(fmt3)
- if len(data) >= expected + expected2 + expected3:
- (lte_dbm, u17, u18) = struct.unpack(fmt3, data[expected + expected2:])
- print prefix + " LTE dBm: %d dBm %s" % get_signal(lte_dbm)
-
-
-def show_init(data, prefix, direction):
- if len(data) == 0:
- # PC5740/old format
- return
-
- if direction == defs.TO_HOST:
- show_data(data, prefix)
- return
-
- fmt = "<"
- fmt += "H" # year
- fmt += "B" # month
- fmt += "B" # zero
- fmt += "B" # day
- fmt += "B" # zero
- fmt += "B" # hours
- fmt += "B" # zero
- fmt += "B" # minutes
- fmt += "B" # zero
- fmt += "B" # seconds
- expected = struct.calcsize(fmt)
- if len(data) >= expected:
- (year, month, z1, day, z2, hours, z3, minutes, z4, seconds) = struct.unpack(fmt, data[:expected])
- print prefix + " Time: %04d/%02d/%02d %02d:%02d:%02d" % (year, month, day, hours, minutes, seconds)
- else:
- raise ValueError ("Unexpected Init command length (got %d expected %d)" % (len(data), expected))
-
-def show_bearer_info(data, prefix, direction):
- pass
-
-def mode_to_string(mode):
- if mode == 0x00:
- return "CDMA/EVDO"
- elif mode == 0x01:
- return "CDMA only"
- elif mode == 0x02:
- return "EVDO only"
- elif mode == 0x0A:
- return "GSM/UMTS"
- elif mode == 0x0B:
- return "GSM/GPRS/EDGE only"
- elif mode == 0x0C:
- return "UMTS/HSPA only"
- elif mode == 0x14:
- return "Auto"
- return "unknown"
-
-def show_get_global_mode(data, prefix, direction):
- if direction != defs.TO_HOST:
- return
-
- fmt = "<"
- fmt += "B" # unknown1
- fmt += "B" # mode
- fmt += "B" # unknown2
- fmt += "B" # unknown3
-
- expected = struct.calcsize(fmt)
- if len(data) != expected:
- raise ValueError("Unexpected GET_GLOBAL_MODE command response len (got %d expected %d)" % (len(data), expected))
- (u1, mode, u2, u3) = struct.unpack(fmt, data)
-
- print prefix + " Mode: 0x%X (%s)" % (mode, mode_to_string(mode))
-
-def show_set_global_mode(data, prefix, direction):
- if direction != defs.TO_MODEM:
- return;
-
- fmt = "<"
- fmt += "B" # unknown1
- fmt += "B" # mode
- fmt += "B" # unknown2
- fmt += "B" # unknown3
-
- expected = struct.calcsize(fmt)
- if len(data) != expected:
- raise ValueError("Unexpected SET_GLOBAL_MODE command response len (got %d expected %d)" % (len(data), expected))
- (u1, mode, u2, u3) = struct.unpack(fmt, data)
-
- print prefix + " Mode: 0x%X (%s)" % (mode, mode_to_string(mode))
-
-
-cmds = { 0x03: ("GET_GLOBAL_MODE", show_get_global_mode),
- 0x04: ("SET_GLOBAL_MODE", show_set_global_mode),
- 0x06: ("DEVICE_INFO", show_device_info),
- 0x0A: ("CONNECTION_INFO", show_connection_info),
- 0x0B: ("NETWORK_INFO", show_network_info),
- 0x0D: ("INIT", show_init),
- 0x4D: ("EPS_BEARER_INFO", show_bearer_info)
- }
-
-def show(data, prefix, direction):
- if ord(data[:1]) != 0xC8:
- return
-
- data = data[1:] # skip 0xC8 header
- cmdno = ord(data[:1])
- try:
- cmdinfo = cmds[cmdno]
- except KeyError:
- return
- data = data[1:] # skip cmdno
-
- print prefix + "WMC Packet:"
- print prefix + " Cmd: 0x%02x (%s)" % (cmdno, cmdinfo[0])
- cmdinfo[1](data, prefix, direction)
- print ""
-
-def get_funcs():
- return (complete, unpack, show)
-
diff --git a/decode/xml2ascii.py b/decode/xml2ascii.py
deleted file mode 100755
index b14b0894..00000000
--- a/decode/xml2ascii.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2011 Red Hat, Inc.
-#
-# --- Dumps UsbSnoopy XML export files
-
-from xml.sax import saxutils
-from xml.sax import handler
-
-packets = []
-counts = {}
-
-class FindPackets(handler.ContentHandler):
- def __init__(self):
- self.inFunction = False
- self.inPayload = False
- self.ignore = False
- self.inTimestamp = False
- self.timestamp = None
- self.packet = None
-
- def startElement(self, name, attrs):
- if name == "function":
- self.inFunction = True
- elif name == "payloadbytes":
- self.inPayload = True
- elif name == "timestamp":
- self.inTimestamp = True
-
- def characters(self, ch):
- if self.ignore:
- return
-
- stripped = ch.strip()
- if self.inFunction and ch != "BULK_OR_INTERRUPT_TRANSFER":
- self.ignore = True
- return
- elif self.inTimestamp:
- self.timestamp = stripped
- elif self.inPayload and len(stripped) > 0:
- if self.packet == None:
- self.packet = stripped
- else:
- self.packet += stripped
-
- def endElement(self, name):
- if name == "function":
- self.inFunction = False
- elif name == "payloadbytes":
- self.inPayload = False
- elif name == "payload":
- if self.packet:
- import binascii
- bytes = binascii.a2b_hex(self.packet)
- print bytes
- self.packet = None
-
- self.ignore = False
- self.timestamp = None
- elif name == "timestamp":
- self.inTimestamp = False
-
-
-from xml.sax import make_parser
-from xml.sax import parse
-import sys
-
-if __name__ == "__main__":
- dh = FindPackets()
- parse(sys.argv[1], dh)
-
diff --git a/depcomp b/depcomp
new file mode 100755
index 00000000..65cbf709
--- /dev/null
+++ b/depcomp
@@ -0,0 +1,791 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2018-03-07.03; # UTC
+
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by 'PROGRAMS ARGS'.
+ object Object file output by 'PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputting dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'. Note that this directory component will
+# be either empty or ending with a '/' character. This is deliberate.
+set_dir_from ()
+{
+ case $1 in
+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+ *) dir=;;
+ esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+ echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+ # If the compiler actually managed to produce a dependency file,
+ # post-process it.
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form 'foo.o: dependency.h'.
+ # Do two passes, one to just change these to
+ # $object: dependency.h
+ # and one to simply output
+ # dependency.h:
+ # which is needed to avoid the deleted-header problem.
+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+ } > "$depfile"
+ rm -f "$tmpdepfile"
+ else
+ make_dummy_depfile
+ fi
+}
+
+# A tabulation character.
+tab=' '
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say). Also, it might not be
+## supported by the other compilers which use the 'gcc' depmode.
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The second -e expression handles DOS-style file names with drive
+ # letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the "deleted header file" problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+## Some versions of gcc put a space before the ':'. On the theory
+## that the space means something, we add a space to the output as
+## well. hp depmode also adds that space, but also prefixes the VPATH
+## to the object. Take care to not repeat it in the output.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like '#:fec' to the end of the
+ # dependency line.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+ | tr "$nl" ' ' >> "$depfile"
+ echo >> "$depfile"
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
+ else
+ make_dummy_depfile
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+xlc)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts '$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ set_dir_from "$object"
+ set_base_from "$object"
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ aix_post_process_depfile
+ ;;
+
+tcc)
+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+ # FIXME: That version still under development at the moment of writing.
+ # Make that this statement remains true also for stable, released
+ # versions.
+ # It will wrap lines (doesn't matter whether long or short) with a
+ # trailing '\', as in:
+ #
+ # foo.o : \
+ # foo.c \
+ # foo.h \
+ #
+ # It will put a trailing '\' even on the last line, and will use leading
+ # spaces rather than leading tabs (at least since its commit 0394caf7
+ # "Emit spaces for -MD").
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+ # We have to change lines of the first kind to '$object: \'.
+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+ # And for each line of the second kind, we have to emit a 'dep.h:'
+ # dummy dependency, to avoid the deleted-header problem.
+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file. A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+ # Portland's C compiler understands '-MD'.
+ # Will always output deps to 'file.d' where file is the root name of the
+ # source file under compilation, even if file resides in a subdirectory.
+ # The object file name does not affect the name of the '.d' file.
+ # pgcc 10.2 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using '\' :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+ set_dir_from "$object"
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
+ set_base_from "$source"
+ tmpdepfile=$base.d
+
+ # For projects that build the same source file twice into different object
+ # files, the pgcc approach of using the *source* file root name can cause
+ # problems in parallel builds. Use a locking strategy to avoid stomping on
+ # the same $tmpdepfile.
+ lockdir=$base.d-lock
+ trap "
+ echo '$0: caught signal, cleaning up...' >&2
+ rmdir '$lockdir'
+ exit 1
+ " 1 2 13 15
+ numtries=100
+ i=$numtries
+ while test $i -gt 0; do
+ # mkdir is a portable test-and-set.
+ if mkdir "$lockdir" 2>/dev/null; then
+ # This process acquired the lock.
+ "$@" -MD
+ stat=$?
+ # Release the lock.
+ rmdir "$lockdir"
+ break
+ else
+ # If the lock is being held by a different process, wait
+ # until the winning process is done or we timeout.
+ while test -d "$lockdir" && test $i -gt 0; do
+ sleep 1
+ i=`expr $i - 1`
+ done
+ fi
+ i=`expr $i - 1`
+ done
+ trap - 1 2 13 15
+ if test $i -le 0; then
+ echo "$0: failed to acquire lock after $numtries attempts" >&2
+ echo "$0: check lockdir '$lockdir'" >&2
+ exit 1
+ fi
+
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ set_dir_from "$object"
+ set_base_from "$object"
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add 'dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ make_dummy_depfile
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in 'foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ set_dir_from "$object"
+ set_base_from "$object"
+
+ if test "$libtool" = yes; then
+ # Libtool generates 2 separate objects for the 2 libraries. These
+ # two compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir$base.o.d # libtool 1.5
+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ # Same post-processing that is required for AIX mode.
+ aix_post_process_depfile
+ ;;
+
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/'"$tab"'/
+ G
+ p
+}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove '-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for ':'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
+ "$@" $dashmflag |
+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this sed invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ # makedepend may prepend the VPATH from the source file name to the object.
+ # No need to regex-escape $object, excess matching of '.' is harmless.
+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process the last invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed '1,2d' "$tmpdepfile" \
+ | tr ' ' "$nl" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove '-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E \
+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ | sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+ echo "$tab" >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/docs/Makefile.in b/docs/Makefile.in
new file mode 100644
index 00000000..8555ae3c
--- /dev/null
+++ b/docs/Makefile.in
@@ -0,0 +1,715 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = docs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = reference man
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am dist-hook distclean distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# require gtk-doc when making dist
+#
+@ENABLE_GTK_DOC_TRUE@dist-check-gtk-doc:
+@ENABLE_GTK_DOC_FALSE@dist-check-gtk-doc:
+@ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be enabled in order to make dist"
+@ENABLE_GTK_DOC_FALSE@ @false
+
+dist-hook: dist-check-gtk-doc
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/docs/man/Makefile.in b/docs/man/Makefile.in
new file mode 100644
index 00000000..834e3aaf
--- /dev/null
+++ b/docs/man/Makefile.in
@@ -0,0 +1,647 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = docs/man
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+man_MANS = ModemManager.8 mmcli.1
+EXTRA_DIST = $(man_MANS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/man/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/man/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+install-man8: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man8dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man8dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man8dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.8[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man8:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man8dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.8[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man8dir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+ for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man8dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1 install-man8
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man
+
+uninstall-man: uninstall-man1 uninstall-man8
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-man1 install-man8 install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-man uninstall-man1 uninstall-man8
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/docs/reference/Makefile.in b/docs/reference/Makefile.in
new file mode 100644
index 00000000..5c0e6214
--- /dev/null
+++ b/docs/reference/Makefile.in
@@ -0,0 +1,702 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = docs/reference
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = api libmm-glib
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/reference/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/reference/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/docs/reference/api/Makefile.in b/docs/reference/api/Makefile.in
new file mode 100644
index 00000000..d59614fe
--- /dev/null
+++ b/docs/reference/api/Makefile.in
@@ -0,0 +1,934 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = docs/reference/api
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = version.xml
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.xml.in \
+ $(top_srcdir)/gtk-doc.make
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# Logos
+LOGOS_PNG = \
+ $(top_srcdir)/data/ModemManager-logo-square.png \
+ $(top_srcdir)/data/ModemManager-logo-wide.png \
+ $(top_srcdir)/data/ModemManager-logo-wide-text.png
+
+
+# Diagrams
+DIAGRAMS_PNG = \
+ $(top_srcdir)/data/ModemManager-states.png \
+ $(top_srcdir)/data/ModemManager-interface-initialization-sequence.png \
+ $(top_srcdir)/data/ModemManager-interface-initialization-sequence-subclassed.png
+
+
+# The name of the module.
+DOC_MODULE = ModemManager
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS = --deprecated-guards="MM_DISABLE_DEPRECATED"
+
+# The directory containing the source code.
+DOC_SOURCE_DIR = $(top_srcdir)/include
+HFILE_GLOB =
+CFILE_GLOB =
+
+# Headers to ignore
+IGNORE_HFILES = \
+ ModemManager.h \
+ ModemManager-names.h \
+ $(NULL)
+
+
+# CFLAGS and LDFLAGS for compiling scan program. Only needed
+# if $(DOC_MODULE).types is non-empty.
+AM_CPPFLAGS = \
+ -I$(srcdir) \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ $(MM_CFLAGS) \
+ $(NULL)
+
+GTKDOC_LIBS = \
+ $(MM_LIBS) \
+ $(NULL)
+
+
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS = --output-format=xml --sgml-mode --name-space=mm
+
+# Images to copy into HTML directory
+HTML_IMAGES = \
+ $(DIAGRAMS_PNG) \
+ $(LOGOS_PNG) \
+ $(NULL)
+
+content_files =
+expand_content_files = \
+ ModemManager-overview.xml \
+ ModemManager-dbus-reference.xml \
+ ModemManager-migration-reference.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sim.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sms.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Bearer.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Messaging.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Oma.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml \
+ $(top_builddir)/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml \
+ $(NULL)
+
+extra_files = \
+ $(NULL)
+
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+@ENABLE_GTK_DOC_TRUE@GPATH = $(srcdir)
+@ENABLE_GTK_DOC_TRUE@TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
+@ENABLE_GTK_DOC_TRUE@SETUP_FILES = \
+@ENABLE_GTK_DOC_TRUE@ $(content_files) \
+@ENABLE_GTK_DOC_TRUE@ $(expand_content_files) \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MAIN_SGML_FILE) \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-sections.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-overrides.txt
+
+@ENABLE_GTK_DOC_FALSE@EXTRA_DIST = ModemManager-overview.xml \
+@ENABLE_GTK_DOC_FALSE@ ModemManager-dbus-reference.xml \
+@ENABLE_GTK_DOC_FALSE@ ModemManager-migration-reference.xml \
+@ENABLE_GTK_DOC_FALSE@ version.xml.in $(DIAGRAMS) $(NULL)
+@ENABLE_GTK_DOC_TRUE@EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) \
+@ENABLE_GTK_DOC_TRUE@ ModemManager-overview.xml \
+@ENABLE_GTK_DOC_TRUE@ ModemManager-dbus-reference.xml \
+@ENABLE_GTK_DOC_TRUE@ ModemManager-migration-reference.xml \
+@ENABLE_GTK_DOC_TRUE@ version.xml.in $(DIAGRAMS) $(NULL)
+@ENABLE_GTK_DOC_TRUE@DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
+@ENABLE_GTK_DOC_TRUE@ html-build.stamp pdf-build.stamp \
+@ENABLE_GTK_DOC_TRUE@ sgml.stamp html.stamp pdf.stamp
+
+@ENABLE_GTK_DOC_TRUE@SCANOBJ_FILES = \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).args \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).hierarchy \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).interfaces \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).prerequisites \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).signals
+
+@ENABLE_GTK_DOC_TRUE@REPORT_FILES = \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undocumented.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undeclared.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-unused.txt
+
+@ENABLE_GTK_DOC_FALSE@CLEANFILES = $(DOC_MODULE)-decl-list.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-decl.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-overrides.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-undeclared.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-undocumented.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-overrides.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-unused.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).args \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).hierarchy \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).interfaces \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).prerequisites \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).signals *.stamp -rf xml \
+@ENABLE_GTK_DOC_FALSE@ html tmpl $(NULL)
+@ENABLE_GTK_DOC_TRUE@CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_STAMPS) gtkdoc-check.test \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-decl-list.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-decl.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-overrides.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undeclared.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undocumented.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-overrides.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-unused.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).args \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).hierarchy \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).interfaces \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).prerequisites \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).signals *.stamp -rf xml \
+@ENABLE_GTK_DOC_TRUE@ html tmpl $(NULL)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
+
+#### setup ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SETUP_0 = @echo " DOC Preparing build";
+
+#### scan ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SCAN_0 = @echo " DOC Scanning header files";
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_INTROSPECT_0 = @echo " DOC Introspecting gobjects";
+
+#### xml ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XML = $(GTK_DOC_V_XML_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XML_0 = @echo " DOC Building XML";
+
+#### html ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_HTML_0 = @echo " DOC Building HTML";
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XREF_0 = @echo " DOC Fixing cross-references";
+
+#### pdf ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_PDF_0 = @echo " DOC Building PDF";
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/reference/api/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/reference/api/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+$(top_srcdir)/gtk-doc.make $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+@ENABLE_GTK_DOC_FALSE@dist-hook:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+check-am: all-am
+check: check-am
+@ENABLE_GTK_DOC_FALSE@all-local:
+all-am: Makefile all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+@ENABLE_GTK_DOC_FALSE@maintainer-clean-local:
+@ENABLE_GTK_DOC_FALSE@clean-local:
+@ENABLE_GTK_DOC_FALSE@distclean-local:
+@ENABLE_GTK_DOC_FALSE@install-data-local:
+@ENABLE_GTK_DOC_FALSE@uninstall-local:
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool clean-local cscopelist-am ctags-am dist-hook \
+ distclean distclean-generic distclean-libtool distclean-local \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-data-local \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ maintainer-clean-local mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-local
+
+.PRECIOUS: Makefile
+
+
+@ENABLE_GTK_DOC_TRUE@gtkdoc-check.test: Makefile
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+@ENABLE_GTK_DOC_TRUE@ echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+@ENABLE_GTK_DOC_TRUE@ chmod +x $@
+
+@ENABLE_GTK_DOC_TRUE@all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+@ENABLE_GTK_DOC_TRUE@.PHONY: all-gtk-doc
+
+@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc
+
+@ENABLE_GTK_DOC_TRUE@docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+@ENABLE_GTK_DOC_TRUE@$(REPORT_FILES): sgml-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@setup-build.stamp:
+@ENABLE_GTK_DOC_TRUE@ -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+@ENABLE_GTK_DOC_TRUE@ files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
+@ENABLE_GTK_DOC_TRUE@ if test "x$$files" != "x" ; then \
+@ENABLE_GTK_DOC_TRUE@ for file in $$files ; do \
+@ENABLE_GTK_DOC_TRUE@ destdir=`dirname $(abs_builddir)/$$file`; \
+@ENABLE_GTK_DOC_TRUE@ test -d "$$destdir" || mkdir -p "$$destdir"; \
+@ENABLE_GTK_DOC_TRUE@ test -f $(abs_srcdir)/$$file && \
+@ENABLE_GTK_DOC_TRUE@ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+@ENABLE_GTK_DOC_TRUE@ done; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ fi
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch setup-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_SCAN)_source_dir='' ; \
+@ENABLE_GTK_DOC_TRUE@ for i in $(DOC_SOURCE_DIR) ; do \
+@ENABLE_GTK_DOC_TRUE@ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+@ENABLE_GTK_DOC_TRUE@ done ; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+@ENABLE_GTK_DOC_TRUE@ scanobj_options=""; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$?" = "0"; then \
+@ENABLE_GTK_DOC_TRUE@ if test "x$(V)" = "x1"; then \
+@ENABLE_GTK_DOC_TRUE@ scanobj_options="--verbose"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+@ENABLE_GTK_DOC_TRUE@ else \
+@ENABLE_GTK_DOC_TRUE@ for i in $(SCANOBJ_FILES) ; do \
+@ENABLE_GTK_DOC_TRUE@ test -f $$i || touch $$i ; \
+@ENABLE_GTK_DOC_TRUE@ done \
+@ENABLE_GTK_DOC_TRUE@ fi
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch scan-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+@ENABLE_GTK_DOC_TRUE@ @true
+
+@ENABLE_GTK_DOC_TRUE@sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_XML)_source_dir='' ; \
+@ENABLE_GTK_DOC_TRUE@ for i in $(DOC_SOURCE_DIR) ; do \
+@ENABLE_GTK_DOC_TRUE@ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+@ENABLE_GTK_DOC_TRUE@ done ; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch sgml-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@sgml.stamp: sgml-build.stamp
+@ENABLE_GTK_DOC_TRUE@ @true
+
+@ENABLE_GTK_DOC_TRUE@xml/gtkdocentities.ent: Makefile
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package \"$(PACKAGE)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
+@ENABLE_GTK_DOC_TRUE@ ) > $@
+
+@ENABLE_GTK_DOC_TRUE@html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
+@ENABLE_GTK_DOC_TRUE@ mkhtml_options=""; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$?" = "0"; then \
+@ENABLE_GTK_DOC_TRUE@ if test "x$(V)" = "x1"; then \
+@ENABLE_GTK_DOC_TRUE@ mkhtml_options="$$mkhtml_options --verbose"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$?" = "0"; then \
+@ENABLE_GTK_DOC_TRUE@ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+@ENABLE_GTK_DOC_TRUE@ -@test "x$(HTML_IMAGES)" = "x" || \
+@ENABLE_GTK_DOC_TRUE@ for file in $(HTML_IMAGES) ; do \
+@ENABLE_GTK_DOC_TRUE@ if test -f $(abs_srcdir)/$$file ; then \
+@ENABLE_GTK_DOC_TRUE@ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ if test -f $(abs_builddir)/$$file ; then \
+@ENABLE_GTK_DOC_TRUE@ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ done;
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch html-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
+@ENABLE_GTK_DOC_TRUE@ mkpdf_options=""; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$?" = "0"; then \
+@ENABLE_GTK_DOC_TRUE@ if test "x$(V)" = "x1"; then \
+@ENABLE_GTK_DOC_TRUE@ mkpdf_options="$$mkpdf_options --verbose"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ if test "x$(HTML_IMAGES)" != "x"; then \
+@ENABLE_GTK_DOC_TRUE@ for img in $(HTML_IMAGES); do \
+@ENABLE_GTK_DOC_TRUE@ part=`dirname $$img`; \
+@ENABLE_GTK_DOC_TRUE@ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+@ENABLE_GTK_DOC_TRUE@ if test $$? != 0; then \
+@ENABLE_GTK_DOC_TRUE@ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ done; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch pdf-build.stamp
+
+##############
+
+@ENABLE_GTK_DOC_TRUE@clean-local:
+@ENABLE_GTK_DOC_TRUE@ @rm -f *~ *.bak
+@ENABLE_GTK_DOC_TRUE@ @rm -rf .libs
+@ENABLE_GTK_DOC_TRUE@ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+@ENABLE_GTK_DOC_TRUE@ rm -f $(DOC_MODULE).types; \
+@ENABLE_GTK_DOC_TRUE@ fi
+@ENABLE_GTK_DOC_TRUE@ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
+@ENABLE_GTK_DOC_TRUE@ rm -f $(DOC_MODULE)-sections.txt; \
+@ENABLE_GTK_DOC_TRUE@ fi
+
+@ENABLE_GTK_DOC_TRUE@distclean-local:
+@ENABLE_GTK_DOC_TRUE@ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+@ENABLE_GTK_DOC_TRUE@ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+@ENABLE_GTK_DOC_TRUE@ rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
+@ENABLE_GTK_DOC_TRUE@ fi
+
+@ENABLE_GTK_DOC_TRUE@maintainer-clean-local:
+@ENABLE_GTK_DOC_TRUE@ @rm -rf xml html
+
+@ENABLE_GTK_DOC_TRUE@install-data-local:
+@ENABLE_GTK_DOC_TRUE@ @installfiles=`echo $(builddir)/html/*`; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$installfiles" = '$(builddir)/html/*'; \
+@ENABLE_GTK_DOC_TRUE@ then echo 1>&2 'Nothing to install' ; \
+@ENABLE_GTK_DOC_TRUE@ else \
+@ENABLE_GTK_DOC_TRUE@ if test -n "$(DOC_MODULE_VERSION)"; then \
+@ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+@ENABLE_GTK_DOC_TRUE@ else \
+@ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ $(mkinstalldirs) $${installdir} ; \
+@ENABLE_GTK_DOC_TRUE@ for i in $$installfiles; do \
+@ENABLE_GTK_DOC_TRUE@ echo ' $(INSTALL_DATA) '$$i ; \
+@ENABLE_GTK_DOC_TRUE@ $(INSTALL_DATA) $$i $${installdir}; \
+@ENABLE_GTK_DOC_TRUE@ done; \
+@ENABLE_GTK_DOC_TRUE@ if test -n "$(DOC_MODULE_VERSION)"; then \
+@ENABLE_GTK_DOC_TRUE@ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+@ENABLE_GTK_DOC_TRUE@ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+@ENABLE_GTK_DOC_TRUE@ fi
+
+@ENABLE_GTK_DOC_TRUE@uninstall-local:
+@ENABLE_GTK_DOC_TRUE@ @if test -n "$(DOC_MODULE_VERSION)"; then \
+@ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+@ENABLE_GTK_DOC_TRUE@ else \
+@ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc is needed to run 'make dist'. ***"
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc was not found when 'configure' ran. ***"
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@ @echo "*** please install gtk-doc and rerun 'configure'. ***"
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@ @false
+
+@ENABLE_GTK_DOC_TRUE@dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
+@ENABLE_GTK_DOC_TRUE@ @mkdir $(distdir)/html
+@ENABLE_GTK_DOC_TRUE@ @cp ./html/* $(distdir)/html
+@ENABLE_GTK_DOC_TRUE@ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+@ENABLE_GTK_DOC_TRUE@ @-cp ./$(DOC_MODULE).types $(distdir)/
+@ENABLE_GTK_DOC_TRUE@ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+@ENABLE_GTK_DOC_TRUE@ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+@ENABLE_GTK_DOC_TRUE@ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+@ENABLE_GTK_DOC_TRUE@.PHONY : dist-hook-local docs
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/docs/reference/api/ModemManager-overrides.txt b/docs/reference/api/ModemManager-overrides.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/docs/reference/api/ModemManager-overrides.txt
diff --git a/docs/reference/api/html/ModemManager-API-break-replacements.html b/docs/reference/api/html/ModemManager-API-break-replacements.html
new file mode 100644
index 00000000..82bbfabd
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-API-break-replacements.html
@@ -0,0 +1,1101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API break replacements: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-compat.html" title="Part VI. Compatibility with older versions">
+<link rel="prev" href="ref-compat.html" title="Part VI. Compatibility with older versions">
+<link rel="next" href="ix01.html" title="Index">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#ModemManager-API-break-replacements.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-compat.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-compat.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ix01.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="ModemManager-API-break-replacements"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="ModemManager-API-break-replacements.top_of_page"></a>API break replacements</span></h2>
+<p>API break replacements</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="ModemManager-API-break-replacements.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U2100:CAPS" title="MM_MODEM_BAND_U2100">MM_MODEM_BAND_U2100</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U1900:CAPS" title="MM_MODEM_BAND_U1900">MM_MODEM_BAND_U1900</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U1800:CAPS" title="MM_MODEM_BAND_U1800">MM_MODEM_BAND_U1800</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U17IV:CAPS" title="MM_MODEM_BAND_U17IV">MM_MODEM_BAND_U17IV</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U850:CAPS" title="MM_MODEM_BAND_U850">MM_MODEM_BAND_U850</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U800:CAPS" title="MM_MODEM_BAND_U800">MM_MODEM_BAND_U800</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U2600:CAPS" title="MM_MODEM_BAND_U2600">MM_MODEM_BAND_U2600</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U900:CAPS" title="MM_MODEM_BAND_U900">MM_MODEM_BAND_U900</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U17IX:CAPS" title="MM_MODEM_BAND_U17IX">MM_MODEM_BAND_U17IX</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-I:CAPS" title="MM_MODEM_BAND_EUTRAN_I">MM_MODEM_BAND_EUTRAN_I</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-II:CAPS" title="MM_MODEM_BAND_EUTRAN_II">MM_MODEM_BAND_EUTRAN_II</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-III:CAPS" title="MM_MODEM_BAND_EUTRAN_III">MM_MODEM_BAND_EUTRAN_III</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-IV:CAPS" title="MM_MODEM_BAND_EUTRAN_IV">MM_MODEM_BAND_EUTRAN_IV</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-V:CAPS" title="MM_MODEM_BAND_EUTRAN_V">MM_MODEM_BAND_EUTRAN_V</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VI:CAPS" title="MM_MODEM_BAND_EUTRAN_VI">MM_MODEM_BAND_EUTRAN_VI</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VII:CAPS" title="MM_MODEM_BAND_EUTRAN_VII">MM_MODEM_BAND_EUTRAN_VII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VIII:CAPS" title="MM_MODEM_BAND_EUTRAN_VIII">MM_MODEM_BAND_EUTRAN_VIII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-IX:CAPS" title="MM_MODEM_BAND_EUTRAN_IX">MM_MODEM_BAND_EUTRAN_IX</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-X:CAPS" title="MM_MODEM_BAND_EUTRAN_X">MM_MODEM_BAND_EUTRAN_X</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XI:CAPS" title="MM_MODEM_BAND_EUTRAN_XI">MM_MODEM_BAND_EUTRAN_XI</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XII:CAPS" title="MM_MODEM_BAND_EUTRAN_XII">MM_MODEM_BAND_EUTRAN_XII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIII:CAPS" title="MM_MODEM_BAND_EUTRAN_XIII">MM_MODEM_BAND_EUTRAN_XIII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIV:CAPS" title="MM_MODEM_BAND_EUTRAN_XIV">MM_MODEM_BAND_EUTRAN_XIV</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XVII:CAPS" title="MM_MODEM_BAND_EUTRAN_XVII">MM_MODEM_BAND_EUTRAN_XVII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XVIII:CAPS" title="MM_MODEM_BAND_EUTRAN_XVIII">MM_MODEM_BAND_EUTRAN_XVIII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIX:CAPS" title="MM_MODEM_BAND_EUTRAN_XIX">MM_MODEM_BAND_EUTRAN_XIX</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XX:CAPS" title="MM_MODEM_BAND_EUTRAN_XX">MM_MODEM_BAND_EUTRAN_XX</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXI:CAPS" title="MM_MODEM_BAND_EUTRAN_XXI">MM_MODEM_BAND_EUTRAN_XXI</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXII:CAPS" title="MM_MODEM_BAND_EUTRAN_XXII">MM_MODEM_BAND_EUTRAN_XXII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXIII:CAPS" title="MM_MODEM_BAND_EUTRAN_XXIII">MM_MODEM_BAND_EUTRAN_XXIII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXIV:CAPS" title="MM_MODEM_BAND_EUTRAN_XXIV">MM_MODEM_BAND_EUTRAN_XXIV</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXV:CAPS" title="MM_MODEM_BAND_EUTRAN_XXV">MM_MODEM_BAND_EUTRAN_XXV</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXVI:CAPS" title="MM_MODEM_BAND_EUTRAN_XXVI">MM_MODEM_BAND_EUTRAN_XXVI</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIII:CAPS" title="MM_MODEM_BAND_EUTRAN_XXXIII">MM_MODEM_BAND_EUTRAN_XXXIII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIV:CAPS" title="MM_MODEM_BAND_EUTRAN_XXXIV">MM_MODEM_BAND_EUTRAN_XXXIV</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXV:CAPS" title="MM_MODEM_BAND_EUTRAN_XXXV">MM_MODEM_BAND_EUTRAN_XXXV</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVI:CAPS" title="MM_MODEM_BAND_EUTRAN_XXXVI">MM_MODEM_BAND_EUTRAN_XXXVI</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVII:CAPS" title="MM_MODEM_BAND_EUTRAN_XXXVII">MM_MODEM_BAND_EUTRAN_XXXVII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVIII:CAPS" title="MM_MODEM_BAND_EUTRAN_XXXVIII">MM_MODEM_BAND_EUTRAN_XXXVIII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIX:CAPS" title="MM_MODEM_BAND_EUTRAN_XXXIX">MM_MODEM_BAND_EUTRAN_XXXIX</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XL:CAPS" title="MM_MODEM_BAND_EUTRAN_XL">MM_MODEM_BAND_EUTRAN_XL</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLI:CAPS" title="MM_MODEM_BAND_EUTRAN_XLI">MM_MODEM_BAND_EUTRAN_XLI</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLII:CAPS" title="MM_MODEM_BAND_EUTRAN_XLII">MM_MODEM_BAND_EUTRAN_XLII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLIII:CAPS" title="MM_MODEM_BAND_EUTRAN_XLIII">MM_MODEM_BAND_EUTRAN_XLIII</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLIV:CAPS" title="MM_MODEM_BAND_EUTRAN_XLIV">MM_MODEM_BAND_EUTRAN_XLIV</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC0-CELLULAR-800:CAPS" title="MM_MODEM_BAND_CDMA_BC0_CELLULAR_800">MM_MODEM_BAND_CDMA_BC0_CELLULAR_800</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC1-PCS-1900:CAPS" title="MM_MODEM_BAND_CDMA_BC1_PCS_1900">MM_MODEM_BAND_CDMA_BC1_PCS_1900</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC2-TACS:CAPS" title="MM_MODEM_BAND_CDMA_BC2_TACS">MM_MODEM_BAND_CDMA_BC2_TACS</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC3-JTACS:CAPS" title="MM_MODEM_BAND_CDMA_BC3_JTACS">MM_MODEM_BAND_CDMA_BC3_JTACS</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC4-KOREAN-PCS:CAPS" title="MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS">MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC5-NMT450:CAPS" title="MM_MODEM_BAND_CDMA_BC5_NMT450">MM_MODEM_BAND_CDMA_BC5_NMT450</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC6-IMT2000:CAPS" title="MM_MODEM_BAND_CDMA_BC6_IMT2000">MM_MODEM_BAND_CDMA_BC6_IMT2000</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC7-CELLULAR-700:CAPS" title="MM_MODEM_BAND_CDMA_BC7_CELLULAR_700">MM_MODEM_BAND_CDMA_BC7_CELLULAR_700</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC8-1800:CAPS" title="MM_MODEM_BAND_CDMA_BC8_1800">MM_MODEM_BAND_CDMA_BC8_1800</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC9-900:CAPS" title="MM_MODEM_BAND_CDMA_BC9_900">MM_MODEM_BAND_CDMA_BC9_900</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC10-SECONDARY-800:CAPS" title="MM_MODEM_BAND_CDMA_BC10_SECONDARY_800">MM_MODEM_BAND_CDMA_BC10_SECONDARY_800</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC11-PAMR-400:CAPS" title="MM_MODEM_BAND_CDMA_BC11_PAMR_400">MM_MODEM_BAND_CDMA_BC11_PAMR_400</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC12-PAMR-800:CAPS" title="MM_MODEM_BAND_CDMA_BC12_PAMR_800">MM_MODEM_BAND_CDMA_BC12_PAMR_800</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC13-IMT2000-2500:CAPS" title="MM_MODEM_BAND_CDMA_BC13_IMT2000_2500">MM_MODEM_BAND_CDMA_BC13_IMT2000_2500</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC14-PCS2-1900:CAPS" title="MM_MODEM_BAND_CDMA_BC14_PCS2_1900">MM_MODEM_BAND_CDMA_BC14_PCS2_1900</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC15-AWS:CAPS" title="MM_MODEM_BAND_CDMA_BC15_AWS">MM_MODEM_BAND_CDMA_BC15_AWS</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC16-US-2500:CAPS" title="MM_MODEM_BAND_CDMA_BC16_US_2500">MM_MODEM_BAND_CDMA_BC16_US_2500</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC17-US-FLO-2500:CAPS" title="MM_MODEM_BAND_CDMA_BC17_US_FLO_2500">MM_MODEM_BAND_CDMA_BC17_US_FLO_2500</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC18-US-PS-700:CAPS" title="MM_MODEM_BAND_CDMA_BC18_US_PS_700">MM_MODEM_BAND_CDMA_BC18_US_PS_700</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC19-US-LOWER-700:CAPS" title="MM_MODEM_BAND_CDMA_BC19_US_LOWER_700">MM_MODEM_BAND_CDMA_BC19_US_LOWER_700</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="ModemManager-API-break-replacements.description"></a><h2>Description</h2>
+<p>These compatibility types and methods are flagged as deprecated and
+therefore shouldn't be used in newly written code. They are provided to
+avoid unnecessary API/ABI breaks.</p>
+</div>
+<div class="refsect1">
+<a name="ModemManager-API-break-replacements.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="ModemManager-API-break-replacements.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-U2100:CAPS"></a><h3>MM_MODEM_BAND_U2100</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_U2100 ((MMModemBandDeprecated)MM_MODEM_BAND_UTRAN_1)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_U2100</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-1:CAPS"><span class="type">MM_MODEM_BAND_UTRAN_1</span></a> instead.</p>
+</div>
+<p>WCDMA 2100 MHz (UTRAN band 1).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-U1900:CAPS"></a><h3>MM_MODEM_BAND_U1900</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_U1900 ((MMModemBandDeprecated)MM_MODEM_BAND_UTRAN_2)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_U1900</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-2:CAPS"><span class="type">MM_MODEM_BAND_UTRAN_2</span></a> instead.</p>
+</div>
+<p>WCDMA 1900 MHz (UTRAN band 2).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-U1800:CAPS"></a><h3>MM_MODEM_BAND_U1800</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_U1800 ((MMModemBandDeprecated)MM_MODEM_BAND_UTRAN_3)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_U1800</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-3:CAPS"><span class="type">MM_MODEM_BAND_UTRAN_3</span></a> instead.</p>
+</div>
+<p>WCDMA 1800 MHz (UTRAN band 3).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-U17IV:CAPS"></a><h3>MM_MODEM_BAND_U17IV</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_U17IV ((MMModemBandDeprecated)MM_MODEM_BAND_UTRAN_4)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_U17IV</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-4:CAPS"><span class="type">MM_MODEM_BAND_UTRAN_4</span></a> instead.</p>
+</div>
+<p>AWS 1700/2100 MHz (UTRAN band 4).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-U850:CAPS"></a><h3>MM_MODEM_BAND_U850</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_U850 ((MMModemBandDeprecated)MM_MODEM_BAND_UTRAN_5)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_U850</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-5:CAPS"><span class="type">MM_MODEM_BAND_UTRAN_5</span></a> instead.</p>
+</div>
+<p>UMTS 850 MHz (UTRAN band 5).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-U800:CAPS"></a><h3>MM_MODEM_BAND_U800</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_U800 ((MMModemBandDeprecated)MM_MODEM_BAND_UTRAN_6)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_U800</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-6:CAPS"><span class="type">MM_MODEM_BAND_UTRAN_6</span></a> instead.</p>
+</div>
+<p>UMTS 800 MHz (UTRAN band 6).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-U2600:CAPS"></a><h3>MM_MODEM_BAND_U2600</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_U2600 ((MMModemBandDeprecated)MM_MODEM_BAND_UTRAN_7)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_U2600</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-7:CAPS"><span class="type">MM_MODEM_BAND_UTRAN_7</span></a> instead.</p>
+</div>
+<p>UMTS 2600 MHz (UTRAN band 7).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-U900:CAPS"></a><h3>MM_MODEM_BAND_U900</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_U900 ((MMModemBandDeprecated)MM_MODEM_BAND_UTRAN_8)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_U900</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-8:CAPS"><span class="type">MM_MODEM_BAND_UTRAN_8</span></a> instead.</p>
+</div>
+<p>UMTS 900 MHz (UTRAN band 8).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-U17IX:CAPS"></a><h3>MM_MODEM_BAND_U17IX</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_U17IX ((MMModemBandDeprecated)MM_MODEM_BAND_UTRAN_9)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_U17IX</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-9:CAPS"><span class="type">MM_MODEM_BAND_UTRAN_9</span></a> instead.</p>
+</div>
+<p>UMTS 1700 MHz (UTRAN band 9).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-I:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_I</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_I ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_1)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_I</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-1:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_1</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 1.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-II:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_II</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_II ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_2)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_II</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-2:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_2</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 2.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-III:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_III</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_III ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_3)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_III</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-3:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_3</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 3.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-IV:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_IV</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_IV ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_4)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_IV</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-4:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_4</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 4.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-V:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_V</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_V ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_5)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_V</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-5:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_5</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 5.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-VI:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_VI</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_VI ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_6)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_VI</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-6:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_6</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 6.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-VII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_VII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_VII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_7)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_VII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-7:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_7</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 7.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-VIII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_VIII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_VIII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_8)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_VIII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-8:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_8</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 8.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-IX:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_IX</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_IX ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_9)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_IX</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-9:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_9</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 9.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-X:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_X</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_X ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_10)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_X</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-10:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_10</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 10.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XI:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XI</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XI ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_11)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XI</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-11:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_11</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 11.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_12)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-12:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_12</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 12.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XIII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XIII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XIII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_13)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XIII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-13:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_13</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 13.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XIV:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XIV</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XIV ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_14)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XIV</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-14:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_14</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 14.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XVII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XVII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XVII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_17)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XVII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-17:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_17</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 17.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XVIII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XVIII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XVIII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_18)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XVIII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-18:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_18</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 18.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XIX:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XIX</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XIX ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_19)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XIX</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-19:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_19</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 19.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XX:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XX</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XX ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_20)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XX</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-20:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_20</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 20.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXI:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXI</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXI ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_21)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXI</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-21:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_21</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 21.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_22)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-22:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_22</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 22.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXIII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXIII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXIII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_23)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXIII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-23:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_23</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 23.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXIV:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXIV</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXIV ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_24)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXIV</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-24:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_24</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 24.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXV:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXV</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXV ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_25)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXV</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-25:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_25</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 25.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXVI:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXVI</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXVI ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_26)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXVI</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-26:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_26</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 26.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXXIII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXXIII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXXIII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_33)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXXIII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-33:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_33</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 33.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXXIV:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXXIV</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXXIV ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_34)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXXIV</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-34:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_34</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 34.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXXV:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXXV</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXXV ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_35)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXXV</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-35:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_35</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 35.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXXVI:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXXVI</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXXVI ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_36)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXXVI</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-36:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_36</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 36.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXXVII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXXVII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXXVII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_37)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXXVII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-37:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_37</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 37.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXXVIII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXXVIII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXXVIII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_38)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXXVIII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-38:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_38</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 38.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XXXIX:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XXXIX</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XXXIX ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_39)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XXXIX</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-39:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_39</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 39.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XL:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XL</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XL ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_40)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XL</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-40:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_40</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 40.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XLI:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XLI</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XLI ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_41)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XLI</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-41:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_41</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 41.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XLII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XLII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XLII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_42)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XLII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-42:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_42</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 42.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XLIII:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XLIII</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XLIII ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_43)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XLIII</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-43:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_43</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 43.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-EUTRAN-XLIV:CAPS"></a><h3>MM_MODEM_BAND_EUTRAN_XLIV</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_EUTRAN_XLIV ((MMModemBandDeprecated)MM_MODEM_BAND_EUTRAN_44)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_EUTRAN_XLIV</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-44:CAPS"><span class="type">MM_MODEM_BAND_EUTRAN_44</span></a> instead.</p>
+</div>
+<p>E-UTRAN band 44.</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC0-CELLULAR-800:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC0_CELLULAR_800</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC0_CELLULAR_800 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC0)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC0_CELLULAR_800</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC0:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC0</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 0 (US Cellular 850MHz)</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC1-PCS-1900:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC1_PCS_1900</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC1_PCS_1900 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC1)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC1_PCS_1900</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC1:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC1</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 1 (US PCS 1900MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC2-TACS:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC2_TACS</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC2_TACS ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC2)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC2_TACS</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC2:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC2</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 2 (UK TACS 900MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC3-JTACS:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC3_JTACS</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC3_JTACS ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC3)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC3_JTACS</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC3:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC3</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 3 (Japanese TACS).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC4-KOREAN-PCS:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC4)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC4:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC4</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 4 (Korean PCS).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC5-NMT450:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC5_NMT450</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC5_NMT450 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC5)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC5_NMT450</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC5:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC5</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 5 (NMT 450MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC6-IMT2000:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC6_IMT2000</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC6_IMT2000 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC6)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC6_IMT2000</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC6:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC6</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 6 (IMT2000 2100MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC7-CELLULAR-700:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC7_CELLULAR_700</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC7_CELLULAR_700 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC7)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC7_CELLULAR_700</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC7:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC7</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 7 (Cellular 700MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC8-1800:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC8_1800</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC8_1800 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC8)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC8_1800</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC8:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC8</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 8 (1800MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC9-900:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC9_900</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC9_900 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC9)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC9_900</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC9:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC9</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 9 (900MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC10-SECONDARY-800:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC10_SECONDARY_800</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC10_SECONDARY_800 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC10)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC10_SECONDARY_800</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC10:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC10</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 10 (US Secondary 800).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC11-PAMR-400:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC11_PAMR_400</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC11_PAMR_400 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC11)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC11_PAMR_400</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC11:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC11</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 11 (European PAMR 400MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC12-PAMR-800:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC12_PAMR_800</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC12_PAMR_800 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC12)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC12_PAMR_800</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC12:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC12</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 12 (PAMR 800MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC13-IMT2000-2500:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC13_IMT2000_2500</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC13_IMT2000_2500 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC13)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC13_IMT2000_2500</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC13:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC13</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 13 (IMT2000 2500MHz Expansion).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC14-PCS2-1900:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC14_PCS2_1900</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC14_PCS2_1900 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC14)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC14_PCS2_1900</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC14:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC14</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 14 (More US PCS 1900MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC15-AWS:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC15_AWS</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC15_AWS ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC15)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC15_AWS</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC15:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC15</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 15 (AWS 1700MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC16-US-2500:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC16_US_2500</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC16_US_2500 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC16)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC16_US_2500</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC16:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC16</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 16 (US 2500MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC17-US-FLO-2500:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC17_US_FLO_2500</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC17_US_FLO_2500 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC17)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC17_US_FLO_2500</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC17:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC17</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 17 (US 2500MHz Forward Link Only).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC18-US-PS-700:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC18_US_PS_700</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC18_US_PS_700 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC18)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC18_US_PS_700</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC18:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC18</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 18 (US 700MHz Public Safety).</p>
+<p class="since">Since: 1.0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-BAND-CDMA-BC19-US-LOWER-700:CAPS"></a><h3>MM_MODEM_BAND_CDMA_BC19_US_LOWER_700</h3>
+<pre class="programlisting">#define MM_MODEM_BAND_CDMA_BC19_US_LOWER_700 ((MMModemBandDeprecated)MM_MODEM_BAND_CDMA_BC19)
+</pre>
+<div class="warning">
+<p><code class="literal">MM_MODEM_BAND_CDMA_BC19_US_LOWER_700</code> has been deprecated since version 1.8.0 and should not be used in newly-written code.</p>
+<p>Use <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC19:CAPS"><span class="type">MM_MODEM_BAND_CDMA_BC19</span></a> instead.</p>
+</div>
+<p>CDMA Band Class 19 (US Lower 700MHz).</p>
+<p class="since">Since: 1.0</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ModemManager-Common-udev-tags.html b/docs/reference/api/html/ModemManager-Common-udev-tags.html
new file mode 100644
index 00000000..1af9f43a
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-Common-udev-tags.html
@@ -0,0 +1,276 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Common udev tags: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-udev.html" title="Part III. Common udev tag definitions">
+<link rel="prev" href="ref-udev.html" title="Part III. Common udev tag definitions">
+<link rel="next" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#ModemManager-Common-udev-tags.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-udev.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-udev.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="ModemManager-Common-udev-tags"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="ModemManager-Common-udev-tags.top_of_page"></a>Common udev tags</span></h2>
+<p>Common udev tags — generic udev tags supported</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="ModemManager-Common-udev-tags.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-CANDIDATE:CAPS" title="ID_MM_CANDIDATE">ID_MM_CANDIDATE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-PHYSDEV-UID:CAPS" title="ID_MM_PHYSDEV_UID">ID_MM_PHYSDEV_UID</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-IGNORE:CAPS" title="ID_MM_PORT_IGNORE">ID_MM_PORT_IGNORE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-DEVICE-PROCESS:CAPS" title="ID_MM_DEVICE_PROCESS">ID_MM_DEVICE_PROCESS</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-DEVICE-IGNORE:CAPS" title="ID_MM_DEVICE_IGNORE">ID_MM_DEVICE_IGNORE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-DEVICE-MANUAL-SCAN-ONLY:CAPS" title="ID_MM_DEVICE_MANUAL_SCAN_ONLY">ID_MM_DEVICE_MANUAL_SCAN_ONLY</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-PLATFORM-DRIVER-PROBE:CAPS" title="ID_MM_PLATFORM_DRIVER_PROBE">ID_MM_PLATFORM_DRIVER_PROBE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-AT-PPP:CAPS" title="ID_MM_PORT_TYPE_AT_PPP">ID_MM_PORT_TYPE_AT_PPP</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-AT-PRIMARY:CAPS" title="ID_MM_PORT_TYPE_AT_PRIMARY">ID_MM_PORT_TYPE_AT_PRIMARY</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-AT-SECONDARY:CAPS" title="ID_MM_PORT_TYPE_AT_SECONDARY">ID_MM_PORT_TYPE_AT_SECONDARY</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-GPS:CAPS" title="ID_MM_PORT_TYPE_GPS">ID_MM_PORT_TYPE_GPS</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-QCDM:CAPS" title="ID_MM_PORT_TYPE_QCDM">ID_MM_PORT_TYPE_QCDM</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-TTY-BAUDRATE:CAPS" title="ID_MM_TTY_BAUDRATE">ID_MM_TTY_BAUDRATE</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Common-udev-tags.html#ID-MM-TTY-FLOW-CONTROL:CAPS" title="ID_MM_TTY_FLOW_CONTROL">ID_MM_TTY_FLOW_CONTROL</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Common-udev-tags.description"></a><h2>Description</h2>
+<p>This section defines generic udev tags that are used by ModemManager,
+associated to full devices or to specific ports in a given device.</p>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Common-udev-tags.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Common-udev-tags.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="ID-MM-CANDIDATE:CAPS"></a><h3>ID_MM_CANDIDATE</h3>
+<pre class="programlisting">#define ID_MM_CANDIDATE "ID_MM_CANDIDATE"
+</pre>
+<p>This is a port-specific tag added automatically when all other
+ModemManager related tags have already been set.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-PHYSDEV-UID:CAPS"></a><h3>ID_MM_PHYSDEV_UID</h3>
+<pre class="programlisting">#define ID_MM_PHYSDEV_UID "ID_MM_PHYSDEV_UID"
+</pre>
+<p>This is a device-specific tag that allows users to 'name' modem
+devices with a predefined 'unique ID' string.</p>
+<p>When this tag is given per-port, the daemon will consider that all
+ports with the same UID value are associated to the same device.
+This is useful for e.g. modems that expose multiple RS232 ports
+connected to the system via different platform ports (or USB to
+RS232 adapters).</p>
+<p>This UID is exposed in
+the '<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Device" title='The "Device" property'>Device</a>'
+property and can then be used in mmcli calls to refer unequivocally
+to a specific device, regardless of its modem index, e.g.:
+ $ mmcli --modem=UID ...</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-PORT-IGNORE:CAPS"></a><h3>ID_MM_PORT_IGNORE</h3>
+<pre class="programlisting">#define ID_MM_PORT_IGNORE "ID_MM_PORT_IGNORE"
+</pre>
+<p>This is a port-specific tag that allows explicitly ignoring a given port
+in a device.</p>
+<p>This tag applies to all types of ports.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-DEVICE-PROCESS:CAPS"></a><h3>ID_MM_DEVICE_PROCESS</h3>
+<pre class="programlisting">#define ID_MM_DEVICE_PROCESS "ID_MM_DEVICE_PROCESS"
+</pre>
+<p>This is a device-specific tag that allows explicitly requesting the
+processing of all ports exposed by the device. This tag is usually
+used by users when the daemon runs with WHITELIST-ONLY filter policy
+type, and is associated to the MM_FILTER_RULE_EXPLICIT_WHITELIST rule.</p>
+<p>This tag may also be specified in specific ports, e.g. when the modem
+exposes a single platform port without any parent device.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-DEVICE-IGNORE:CAPS"></a><h3>ID_MM_DEVICE_IGNORE</h3>
+<pre class="programlisting">#define ID_MM_DEVICE_IGNORE "ID_MM_DEVICE_IGNORE"
+</pre>
+<p>This is a device-specific tag that allows explicitly blacklisting
+devices that expose TTY devices so that they are never probed.</p>
+<p>This tag is used when the daemon runs with DEFAULT or PARANOID
+filter policy type, and is associated to the MM_FILTER_RULE_TTY_BLACKLIST
+rule.</p>
+<p>This tag is ignored when the STRICT filter policy is used.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-DEVICE-MANUAL-SCAN-ONLY:CAPS"></a><h3>ID_MM_DEVICE_MANUAL_SCAN_ONLY</h3>
+<pre class="programlisting">#define ID_MM_DEVICE_MANUAL_SCAN_ONLY "ID_MM_DEVICE_MANUAL_SCAN_ONLY"
+</pre>
+<p>This is a device-specific tag that allows explicitly greylisting
+devices that expose TTY devices so that they are never probed
+automatically. Instead, an explicit manual scan request may be sent
+to the daemon so that the TTY ports exposed by the device are
+probed.</p>
+<p>This tag is used when the daemon runs with DEFAULT or PARANOID
+filter policy type, and is associated to the MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY
+rule.</p>
+<p>This tag is ignored when the STRICT filter policy is used.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-PLATFORM-DRIVER-PROBE:CAPS"></a><h3>ID_MM_PLATFORM_DRIVER_PROBE</h3>
+<pre class="programlisting">#define ID_MM_PLATFORM_DRIVER_PROBE "ID_MM_PLATFORM_DRIVER_PROBE"
+</pre>
+<p>This is a port-specific tag applied to platform ports so that they
+are probed automatically by the daemon. Platform ports that don't
+have this tag will never probed. This tag is a bit redundant, as
+the user could also use ID_MM_DEVICE_PROCESS for the same purpose.</p>
+<p>This tag is associated to the MM_FILTER_RULE_TTY_PLATFORM_DRIVER
+rule, which is only meaningful when the daemon runs with the
+DEFAULT filter policy type, as that is the only one that would
+allow probing all ports not explicitly forbidden before the last
+MM_FILTER_RULE_TTY_DEFAULT_ALLOWED rule.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-PORT-TYPE-AT-PPP:CAPS"></a><h3>ID_MM_PORT_TYPE_AT_PPP</h3>
+<pre class="programlisting">#define ID_MM_PORT_TYPE_AT_PPP "ID_MM_PORT_TYPE_AT_PPP"
+</pre>
+<p>This is a port-specific tag applied to TTYs that we know in advance
+are AT ports to be used as data ports exclusively.</p>
+<p>This tag will also prevent QCDM probing on the port.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-PORT-TYPE-AT-PRIMARY:CAPS"></a><h3>ID_MM_PORT_TYPE_AT_PRIMARY</h3>
+<pre class="programlisting">#define ID_MM_PORT_TYPE_AT_PRIMARY "ID_MM_PORT_TYPE_AT_PRIMARY"
+</pre>
+<p>This is a port-specific tag applied to TTYs that we know in advance
+are AT ports to be used as primary control ports.</p>
+<p>This tag will also prevent QCDM probing on the port.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-PORT-TYPE-AT-SECONDARY:CAPS"></a><h3>ID_MM_PORT_TYPE_AT_SECONDARY</h3>
+<pre class="programlisting">#define ID_MM_PORT_TYPE_AT_SECONDARY "ID_MM_PORT_TYPE_AT_SECONDARY"
+</pre>
+<p>This is a port-specific tag applied to TTYs that we know in advance
+are AT ports to be used as secondary control ports.</p>
+<p>This tag will also prevent QCDM probing on the port.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-PORT-TYPE-GPS:CAPS"></a><h3>ID_MM_PORT_TYPE_GPS</h3>
+<pre class="programlisting">#define ID_MM_PORT_TYPE_GPS "ID_MM_PORT_TYPE_GPS"
+</pre>
+<p>This is a port-specific tag applied to TTYs that we know in advance
+are GPS data ports where we expect to receive NMEA traces.</p>
+<p>This tag also prevents AT and QCDM probing in the port.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-PORT-TYPE-QCDM:CAPS"></a><h3>ID_MM_PORT_TYPE_QCDM</h3>
+<pre class="programlisting">#define ID_MM_PORT_TYPE_QCDM "ID_MM_PORT_TYPE_QCDM"
+</pre>
+<p>This is a port-specific tag applied to TTYs that we know in advance
+are QCDM ports.</p>
+<p>The only purpose of this tag is to prevent AT probing in the port.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-TTY-BAUDRATE:CAPS"></a><h3>ID_MM_TTY_BAUDRATE</h3>
+<pre class="programlisting">#define ID_MM_TTY_BAUDRATE "ID_MM_TTY_BAUDRATE"
+</pre>
+<p>This is a port-specific tag applied to TTYs that require a specific
+baudrate to work. USB modems will usually allow auto-bauding
+configuration, so this tag is really only meaningful to true RS232
+devices.</p>
+<p>The value of the tag should be the number of bauds per second to
+use when talking to the port, e.g. "115200". If not given, the
+default of 57600bps is assumed.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ID-MM-TTY-FLOW-CONTROL:CAPS"></a><h3>ID_MM_TTY_FLOW_CONTROL</h3>
+<pre class="programlisting">#define ID_MM_TTY_FLOW_CONTROL "ID_MM_TTY_FLOW_CONTROL"
+</pre>
+<p>This is a port-specific tag applied to TTYs that require a specific
+flow control mechanism to work not only in data mode but also in
+control mode.</p>
+<p>The value of the tag should be either 'none', 'xon-xoff' or
+'rts-cts', and must be a flow control value supported by the device
+where it's configured. If not given, it is assumed that the TTYs
+don't require any specific flow control setting in command mode.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ModemManager-Errors.html b/docs/reference/api/html/ModemManager-Errors.html
new file mode 100644
index 00000000..bbab8c99
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-Errors.html
@@ -0,0 +1,1187 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Errors: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-common-types.html" title="Part II. Common types and definitions">
+<link rel="prev" href="ModemManager-Flags-and-Enumerations.html" title="Flags and Enumerations">
+<link rel="next" href="ref-udev.html" title="Part III. Common udev tag definitions">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#ModemManager-Errors.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-common-types.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ModemManager-Flags-and-Enumerations.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-udev.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="ModemManager-Errors"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="ModemManager-Errors.top_of_page"></a>Errors</span></h2>
+<p>Errors — Common errors in the API.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="ModemManager-Errors.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Errors.html#MMConnectionError" title="enum MMConnectionError">MMConnectionError</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Errors.html#MMCoreError" title="enum MMCoreError">MMCoreError</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Errors.html#MMMessageError" title="enum MMMessageError">MMMessageError</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Errors.html#MMMobileEquipmentError" title="enum MMMobileEquipmentError">MMMobileEquipmentError</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Errors.html#MMSerialError" title="enum MMSerialError">MMSerialError</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Errors.html#MMCdmaActivationError" title="enum MMCdmaActivationError">MMCdmaActivationError</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Errors.description"></a><h2>Description</h2>
+<p>This section defines errors that may be reported when using methods from the
+ModemManager interface.</p>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Errors.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Errors.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMConnectionError"></a><h3>enum MMConnectionError</h3>
+<p>Connection errors that may be reported by ModemManager.</p>
+<div class="refsect3">
+<a name="MMConnectionError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CONNECTION-ERROR-UNKNOWN:CAPS"></a>MM_CONNECTION_ERROR_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown connection error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CONNECTION-ERROR-NO-CARRIER:CAPS"></a>MM_CONNECTION_ERROR_NO_CARRIER</p></td>
+<td class="enum_member_description">
+<p>No carrier.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CONNECTION-ERROR-NO-DIALTONE:CAPS"></a>MM_CONNECTION_ERROR_NO_DIALTONE</p></td>
+<td class="enum_member_description">
+<p>No dialtone.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CONNECTION-ERROR-BUSY:CAPS"></a>MM_CONNECTION_ERROR_BUSY</p></td>
+<td class="enum_member_description">
+<p>Busy.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CONNECTION-ERROR-NO-ANSWER:CAPS"></a>MM_CONNECTION_ERROR_NO_ANSWER</p></td>
+<td class="enum_member_description">
+<p>No answer.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMCoreError"></a><h3>enum MMCoreError</h3>
+<p>Common errors that may be reported by ModemManager.</p>
+<div class="refsect3">
+<a name="MMCoreError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-FAILED:CAPS"></a>MM_CORE_ERROR_FAILED</p></td>
+<td class="enum_member_description">
+<p>Operation failed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-CANCELLED:CAPS"></a>MM_CORE_ERROR_CANCELLED</p></td>
+<td class="enum_member_description">
+<p>Operation was cancelled.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-ABORTED:CAPS"></a>MM_CORE_ERROR_ABORTED</p></td>
+<td class="enum_member_description">
+<p>Operation was aborted.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-UNSUPPORTED:CAPS"></a>MM_CORE_ERROR_UNSUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Operation is not supported.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-NO-PLUGINS:CAPS"></a>MM_CORE_ERROR_NO_PLUGINS</p></td>
+<td class="enum_member_description">
+<p>Cannot operate without valid plugins.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-UNAUTHORIZED:CAPS"></a>MM_CORE_ERROR_UNAUTHORIZED</p></td>
+<td class="enum_member_description">
+<p>Authorization is required to perform the operation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-INVALID-ARGS:CAPS"></a>MM_CORE_ERROR_INVALID_ARGS</p></td>
+<td class="enum_member_description">
+<p>Invalid arguments given.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-IN-PROGRESS:CAPS"></a>MM_CORE_ERROR_IN_PROGRESS</p></td>
+<td class="enum_member_description">
+<p>Operation is already in progress.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-WRONG-STATE:CAPS"></a>MM_CORE_ERROR_WRONG_STATE</p></td>
+<td class="enum_member_description">
+<p>Operation cannot be executed in the current state.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-CONNECTED:CAPS"></a>MM_CORE_ERROR_CONNECTED</p></td>
+<td class="enum_member_description">
+<p>Operation cannot be executed while being connected.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-TOO-MANY:CAPS"></a>MM_CORE_ERROR_TOO_MANY</p></td>
+<td class="enum_member_description">
+<p>Too many items.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-NOT-FOUND:CAPS"></a>MM_CORE_ERROR_NOT_FOUND</p></td>
+<td class="enum_member_description">
+<p>Item not found.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-RETRY:CAPS"></a>MM_CORE_ERROR_RETRY</p></td>
+<td class="enum_member_description">
+<p>Operation cannot yet be performed, retry later.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CORE-ERROR-EXISTS:CAPS"></a>MM_CORE_ERROR_EXISTS</p></td>
+<td class="enum_member_description">
+<p>Item already exists.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMMessageError"></a><h3>enum MMMessageError</h3>
+<p>Enumeration of message errors, as defined in 3GPP TS 27.005 version 10 section 3.2.5.</p>
+<div class="refsect3">
+<a name="MMMessageError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-ME-FAILURE:CAPS"></a>MM_MESSAGE_ERROR_ME_FAILURE</p></td>
+<td class="enum_member_description">
+<p>ME failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SMS-SERVICE-RESERVED:CAPS"></a>MM_MESSAGE_ERROR_SMS_SERVICE_RESERVED</p></td>
+<td class="enum_member_description">
+<p>SMS service reserved.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-NOT-ALLOWED:CAPS"></a>MM_MESSAGE_ERROR_NOT_ALLOWED</p></td>
+<td class="enum_member_description">
+<p>Operation not allowed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-NOT-SUPPORTED:CAPS"></a>MM_MESSAGE_ERROR_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Operation not supported.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-INVALID-PDU-PARAMETER:CAPS"></a>MM_MESSAGE_ERROR_INVALID_PDU_PARAMETER</p></td>
+<td class="enum_member_description">
+<p>Invalid PDU mode parameter.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-INVALID-TEXT-PARAMETER:CAPS"></a>MM_MESSAGE_ERROR_INVALID_TEXT_PARAMETER</p></td>
+<td class="enum_member_description">
+<p>Invalid text mode parameter.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SIM-NOT-INSERTED:CAPS"></a>MM_MESSAGE_ERROR_SIM_NOT_INSERTED</p></td>
+<td class="enum_member_description">
+<p>SIM not inserted.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SIM-PIN:CAPS"></a>MM_MESSAGE_ERROR_SIM_PIN</p></td>
+<td class="enum_member_description">
+<p>SIM PIN required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-PH-SIM-PIN:CAPS"></a>MM_MESSAGE_ERROR_PH_SIM_PIN</p></td>
+<td class="enum_member_description">
+<p>PH-SIM PIN required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SIM-FAILURE:CAPS"></a>MM_MESSAGE_ERROR_SIM_FAILURE</p></td>
+<td class="enum_member_description">
+<p>SIM failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SIM-BUSY:CAPS"></a>MM_MESSAGE_ERROR_SIM_BUSY</p></td>
+<td class="enum_member_description">
+<p>SIM busy.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SIM-WRONG:CAPS"></a>MM_MESSAGE_ERROR_SIM_WRONG</p></td>
+<td class="enum_member_description">
+<p>SIM wrong.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SIM-PUK:CAPS"></a>MM_MESSAGE_ERROR_SIM_PUK</p></td>
+<td class="enum_member_description">
+<p>SIM PUK required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SIM-PIN2:CAPS"></a>MM_MESSAGE_ERROR_SIM_PIN2</p></td>
+<td class="enum_member_description">
+<p>SIM PIN2 required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SIM-PUK2:CAPS"></a>MM_MESSAGE_ERROR_SIM_PUK2</p></td>
+<td class="enum_member_description">
+<p>SIM PUK2 required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-MEMORY-FAILURE:CAPS"></a>MM_MESSAGE_ERROR_MEMORY_FAILURE</p></td>
+<td class="enum_member_description">
+<p>Memory failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-INVALID-INDEX:CAPS"></a>MM_MESSAGE_ERROR_INVALID_INDEX</p></td>
+<td class="enum_member_description">
+<p>Invalid index.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-MEMORY-FULL:CAPS"></a>MM_MESSAGE_ERROR_MEMORY_FULL</p></td>
+<td class="enum_member_description">
+<p>Memory full.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-SMSC-ADDRESS-UNKNOWN:CAPS"></a>MM_MESSAGE_ERROR_SMSC_ADDRESS_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>SMSC address unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-NO-NETWORK:CAPS"></a>MM_MESSAGE_ERROR_NO_NETWORK</p></td>
+<td class="enum_member_description">
+<p>No network.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-NETWORK-TIMEOUT:CAPS"></a>MM_MESSAGE_ERROR_NETWORK_TIMEOUT</p></td>
+<td class="enum_member_description">
+<p>Network timeout.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-NO-CNMA-ACK-EXPECTED:CAPS"></a>MM_MESSAGE_ERROR_NO_CNMA_ACK_EXPECTED</p></td>
+<td class="enum_member_description">
+<p>No CNMA Acknowledgement expected.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MESSAGE-ERROR-UNKNOWN:CAPS"></a>MM_MESSAGE_ERROR_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMMobileEquipmentError"></a><h3>enum MMMobileEquipmentError</h3>
+<p>Enumeration of Mobile Equipment errors, as defined in 3GPP TS 07.07 version 7.8.0.</p>
+<div class="refsect3">
+<a name="MMMobileEquipmentError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-PHONE-FAILURE:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_PHONE_FAILURE</p></td>
+<td class="enum_member_description">
+<p>Phone failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NO-CONNECTION:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NO_CONNECTION</p></td>
+<td class="enum_member_description">
+<p>No connection to phone.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-LINK-RESERVED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_LINK_RESERVED</p></td>
+<td class="enum_member_description">
+<p>Phone-adaptor link reserved.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NOT-ALLOWED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED</p></td>
+<td class="enum_member_description">
+<p>Operation not allowed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NOT-SUPPORTED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Operation not supported.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-PH-SIM-PIN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_PH_SIM_PIN</p></td>
+<td class="enum_member_description">
+<p>PH-SIM PIN required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-PH-FSIM-PIN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_PH_FSIM_PIN</p></td>
+<td class="enum_member_description">
+<p>PH-FSIM PIN required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-PH-FSIM-PUK:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_PH_FSIM_PUK</p></td>
+<td class="enum_member_description">
+<p>PH-FSIM PUK required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SIM-NOT-INSERTED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SIM_NOT_INSERTED</p></td>
+<td class="enum_member_description">
+<p>SIM not inserted.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SIM-PIN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SIM_PIN</p></td>
+<td class="enum_member_description">
+<p>SIM PIN required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SIM-PUK:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SIM_PUK</p></td>
+<td class="enum_member_description">
+<p>SIM PUK required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SIM-FAILURE:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SIM_FAILURE</p></td>
+<td class="enum_member_description">
+<p>SIM failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SIM-BUSY:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SIM_BUSY</p></td>
+<td class="enum_member_description">
+<p>SIM busy.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SIM-WRONG:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SIM_WRONG</p></td>
+<td class="enum_member_description">
+<p>SIM wrong.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-INCORRECT-PASSWORD:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_INCORRECT_PASSWORD</p></td>
+<td class="enum_member_description">
+<p>Incorrect password.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SIM-PIN2:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SIM_PIN2</p></td>
+<td class="enum_member_description">
+<p>SIM PIN2 required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SIM-PUK2:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SIM_PUK2</p></td>
+<td class="enum_member_description">
+<p>SIM PUK2 required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-MEMORY-FULL:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_MEMORY_FULL</p></td>
+<td class="enum_member_description">
+<p>Memory full.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-INVALID-INDEX:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_INVALID_INDEX</p></td>
+<td class="enum_member_description">
+<p>Invalid index.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NOT-FOUND:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NOT_FOUND</p></td>
+<td class="enum_member_description">
+<p>Not found.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-MEMORY-FAILURE:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_MEMORY_FAILURE</p></td>
+<td class="enum_member_description">
+<p>Memory failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-TEXT-TOO-LONG:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_TEXT_TOO_LONG</p></td>
+<td class="enum_member_description">
+<p>Text string too long.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-INVALID-CHARS:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_INVALID_CHARS</p></td>
+<td class="enum_member_description">
+<p>Invalid characters in text string.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-DIAL-STRING-TOO-LONG:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_DIAL_STRING_TOO_LONG</p></td>
+<td class="enum_member_description">
+<p>Dial string too long.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-DIAL-STRING-INVALID:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_DIAL_STRING_INVALID</p></td>
+<td class="enum_member_description">
+<p>Invalid characters in dial string.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NO-NETWORK:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NO_NETWORK</p></td>
+<td class="enum_member_description">
+<p>No network service.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NETWORK-TIMEOUT:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NETWORK_TIMEOUT</p></td>
+<td class="enum_member_description">
+<p>Network timeout.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NETWORK-NOT-ALLOWED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NETWORK_NOT_ALLOWED</p></td>
+<td class="enum_member_description">
+<p>Network not allowed - Emergency calls only.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NETWORK-PIN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NETWORK_PIN</p></td>
+<td class="enum_member_description">
+<p>Network personalisation PIN required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NETWORK-PUK:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NETWORK_PUK</p></td>
+<td class="enum_member_description">
+<p>Network personalisation PUK required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NETWORK-SUBSET-PIN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NETWORK_SUBSET_PIN</p></td>
+<td class="enum_member_description">
+<p>Network subset personalisation PIN required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-NETWORK-SUBSET-PUK:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_NETWORK_SUBSET_PUK</p></td>
+<td class="enum_member_description">
+<p>Network subset personalisation PUK required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SERVICE-PIN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SERVICE_PIN</p></td>
+<td class="enum_member_description">
+<p>Service provider personalisation PIN required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-SERVICE-PUK:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_SERVICE_PUK</p></td>
+<td class="enum_member_description">
+<p>Service provider personalisation PUK required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-CORP-PIN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_CORP_PIN</p></td>
+<td class="enum_member_description">
+<p>Corporate personalisation PIN required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-CORP-PUK:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_CORP_PUK</p></td>
+<td class="enum_member_description">
+<p>Corporate personalisation PUK required.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-HIDDEN-KEY-REQUIRED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_HIDDEN_KEY_REQUIRED</p></td>
+<td class="enum_member_description">
+<p>Hidden key required. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-EAP-METHOD-NOT-SUPPORTED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_EAP_METHOD_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>EAP method not supported. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-INCORRECT-PARAMETERS:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_INCORRECT_PARAMETERS</p></td>
+<td class="enum_member_description">
+<p>Incorrect parameters. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-UNKNOWN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-IMSI-UNKNOWN-IN-HLR:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_IMSI_UNKNOWN_IN_HLR</p></td>
+<td class="enum_member_description">
+<p>IMSI unknown in HLR.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-ILLEGAL-MS:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_ILLEGAL_MS</p></td>
+<td class="enum_member_description">
+<p>Illegal MS.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-IMSI-UNKNOWN-IN-VLR:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_IMSI_UNKNOWN_IN_VLR</p></td>
+<td class="enum_member_description">
+<p>IMSI unknown in VLR.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-ILLEGAL-ME:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_ILLEGAL_ME</p></td>
+<td class="enum_member_description">
+<p>Illegal ME.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-SERVICE-NOT-ALLOWED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_SERVICE_NOT_ALLOWED</p></td>
+<td class="enum_member_description">
+<p>GPRS service not allowed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-AND-NON-GPRS-SERVICES-NOT-ALLOWED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED</p></td>
+<td class="enum_member_description">
+<p>GPRS and non-GPRS services not allowed. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-PLMN-NOT-ALLOWED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_PLMN_NOT_ALLOWED</p></td>
+<td class="enum_member_description">
+<p>PLMN not allowed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-LOCATION-NOT-ALLOWED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_LOCATION_NOT_ALLOWED</p></td>
+<td class="enum_member_description">
+<p>Location area not allowed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-ROAMING-NOT-ALLOWED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_ROAMING_NOT_ALLOWED</p></td>
+<td class="enum_member_description">
+<p>Roaming not allowed in this location area.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-NO-CELLS-IN-LOCATION-AREA:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_NO_CELLS_IN_LOCATION_AREA</p></td>
+<td class="enum_member_description">
+<p>No cells in this location area.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-NETWORK-FAILURE:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_NETWORK_FAILURE</p></td>
+<td class="enum_member_description">
+<p>Network failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-CONGESTION:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_CONGESTION</p></td>
+<td class="enum_member_description">
+<p>Congestion.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-NOT-AUTHORIZED-FOR-CSG:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_NOT_AUTHORIZED_FOR_CSG</p></td>
+<td class="enum_member_description">
+<p>GPRS not authorized for CSG. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-INSUFFICIENT-RESOURCES:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_INSUFFICIENT_RESOURCES</p></td>
+<td class="enum_member_description">
+<p>Insufficient resources.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-MISSING-OR-UNKNOWN-APN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_MISSING_OR_UNKNOWN_APN</p></td>
+<td class="enum_member_description">
+<p>Missing or unknown APN.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-UNKNOWN-PDP-ADDRESS-OR-TYPE:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_UNKNOWN_PDP_ADDRESS_OR_TYPE</p></td>
+<td class="enum_member_description">
+<p>Unknown PDP address or type. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-USER-AUTHENTICATION-FAILED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_USER_AUTHENTICATION_FAILED</p></td>
+<td class="enum_member_description">
+<p>User authentication failed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-ACTIVATION-REJECTED-BY-GGSN-OR-GW:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_ACTIVATION_REJECTED_BY_GGSN_OR_GW</p></td>
+<td class="enum_member_description">
+<p>Activation rejected by GGSN or gateway. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-ACTIVATION-REJECTED-UNSPECIFIED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_ACTIVATION_REJECTED_UNSPECIFIED</p></td>
+<td class="enum_member_description">
+<p>Activation rejected (reason unspecified). Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-SERVICE-OPTION-NOT-SUPPORTED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_SERVICE_OPTION_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Service option not supported.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-SERVICE-OPTION-NOT-SUBSCRIBED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_SERVICE_OPTION_NOT_SUBSCRIBED</p></td>
+<td class="enum_member_description">
+<p>Requested service option not subscribed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-SERVICE-OPTION-OUT-OF-ORDER:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_SERVICE_OPTION_OUT_OF_ORDER</p></td>
+<td class="enum_member_description">
+<p>Service option temporarily out of order.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-FEATURE-NOT-SUPPORTED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_FEATURE_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Feature not supported. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-SEMANTIC-ERROR-IN-TFT-OPERATION:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_SEMANTIC_ERROR_IN_TFT_OPERATION</p></td>
+<td class="enum_member_description">
+<p>Semantic error in TFT operation. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-SYNTACTICAL-ERROR-IN-TFT-OPERATION:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_SYNTACTICAL_ERROR_IN_TFT_OPERATION</p></td>
+<td class="enum_member_description">
+<p>Syntactical error in TFT operation. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-UNKNOWN-PDP-CONTEXT:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_UNKNOWN_PDP_CONTEXT</p></td>
+<td class="enum_member_description">
+<p>Unknown PDP context. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-SEMANTIC-ERRORS-IN-PACKET-FILTER:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_SEMANTIC_ERRORS_IN_PACKET_FILTER</p></td>
+<td class="enum_member_description">
+<p>Semantic errors in packet filter. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-SYNTACTICAL-ERROR-IN-PACKET-FILTER:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_SYNTACTICAL_ERROR_IN_PACKET_FILTER</p></td>
+<td class="enum_member_description">
+<p>Syntactical error in packet filter. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-PDP-CONTEXT-WITHOUT-TFT-ALREADY-ACTIVATED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_PDP_CONTEXT_WITHOUT_TFT_ALREADY_ACTIVATED</p></td>
+<td class="enum_member_description">
+<p>PDP context witout TFT already activated. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-UNKNOWN:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unspecified GPRS error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-PDP-AUTH-FAILURE:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_PDP_AUTH_FAILURE</p></td>
+<td class="enum_member_description">
+<p>PDP authentication failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-INVALID-MOBILE-CLASS:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_INVALID_MOBILE_CLASS</p></td>
+<td class="enum_member_description">
+<p>Invalid mobile class.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-LAST-PDN-DISCONNECTION-NOT-ALLOWED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_LAST_PDN_DISCONNECTION_NOT_ALLOWED</p></td>
+<td class="enum_member_description">
+<p>Last PDN disconnection not allowed. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-SEMANTICALLY-INCORRECT-MESSAGE:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_SEMANTICALLY_INCORRECT_MESSAGE</p></td>
+<td class="enum_member_description">
+<p>Semantically incorrect message. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-MANDATORY-IE-ERROR:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_MANDATORY_IE_ERROR</p></td>
+<td class="enum_member_description">
+<p>Mandatory IE error. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-IE-NOT-IMPLEMENTED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_IE_NOT_IMPLEMENTED</p></td>
+<td class="enum_member_description">
+<p>IE not implemented. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-CONDITIONAL-IE-ERROR:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_CONDITIONAL_IE_ERROR</p></td>
+<td class="enum_member_description">
+<p>Conditional IE error. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-UNSPECIFIED-PROTOCOL-ERROR:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_UNSPECIFIED_PROTOCOL_ERROR</p></td>
+<td class="enum_member_description">
+<p>Unspecified protocol error. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-OPERATOR-DETERMINED-BARRING:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_OPERATOR_DETERMINED_BARRING</p></td>
+<td class="enum_member_description">
+<p>Operator determined barring. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-MAXIMUM-NUMBER-OF-PDP-CONTEXTS-REACHED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_MAXIMUM_NUMBER_OF_PDP_CONTEXTS_REACHED</p></td>
+<td class="enum_member_description">
+<p>Maximum number of PDP contexts reached. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-REQUESTED-APN-NOT-SUPPORTED:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_REQUESTED_APN_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Requested APN not supported. Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MOBILE-EQUIPMENT-ERROR-GPRS-REQUEST-REJECTED-BCM-VIOLATION:CAPS"></a>MM_MOBILE_EQUIPMENT_ERROR_GPRS_REQUEST_REJECTED_BCM_VIOLATION</p></td>
+<td class="enum_member_description">
+<p>Request rejected (BCM violation). Since: 1.8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSerialError"></a><h3>enum MMSerialError</h3>
+<p>Serial errors that may be reported by ModemManager.</p>
+<div class="refsect3">
+<a name="MMSerialError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SERIAL-ERROR-UNKNOWN:CAPS"></a>MM_SERIAL_ERROR_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown serial error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SERIAL-ERROR-OPEN-FAILED:CAPS"></a>MM_SERIAL_ERROR_OPEN_FAILED</p></td>
+<td class="enum_member_description">
+<p>Could not open the serial device.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SERIAL-ERROR-SEND-FAILED:CAPS"></a>MM_SERIAL_ERROR_SEND_FAILED</p></td>
+<td class="enum_member_description">
+<p>Could not write to the serial device.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SERIAL-ERROR-RESPONSE-TIMEOUT:CAPS"></a>MM_SERIAL_ERROR_RESPONSE_TIMEOUT</p></td>
+<td class="enum_member_description">
+<p>A response was not received on time.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SERIAL-ERROR-OPEN-FAILED-NO-DEVICE:CAPS"></a>MM_SERIAL_ERROR_OPEN_FAILED_NO_DEVICE</p></td>
+<td class="enum_member_description">
+<p>Could not open the serial port, no device.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SERIAL-ERROR-FLASH-FAILED:CAPS"></a>MM_SERIAL_ERROR_FLASH_FAILED</p></td>
+<td class="enum_member_description">
+<p>Could not flash the device.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SERIAL-ERROR-NOT-OPEN:CAPS"></a>MM_SERIAL_ERROR_NOT_OPEN</p></td>
+<td class="enum_member_description">
+<p>The serial port is not open.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SERIAL-ERROR-PARSE-FAILED:CAPS"></a>MM_SERIAL_ERROR_PARSE_FAILED</p></td>
+<td class="enum_member_description">
+<p>The serial port specific parsing failed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SERIAL-ERROR-FRAME-NOT-FOUND:CAPS"></a>MM_SERIAL_ERROR_FRAME_NOT_FOUND</p></td>
+<td class="enum_member_description">
+<p>The serial port reported that the frame marker wasn't found (e.g. for QCDM).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMCdmaActivationError"></a><h3>enum MMCdmaActivationError</h3>
+<p>CDMA Activation errors.</p>
+<div class="refsect3">
+<a name="MMCdmaActivationError.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-NONE:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_NONE</p></td>
+<td class="enum_member_description">
+<p>No error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-UNKNOWN:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>An error occurred.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-ROAMING:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_ROAMING</p></td>
+<td class="enum_member_description">
+<p>Device cannot activate while roaming.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-WRONG-RADIO-INTERFACE:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_WRONG_RADIO_INTERFACE</p></td>
+<td class="enum_member_description">
+<p>Device cannot activate on this network type (eg EVDO vs 1xRTT).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-COULD-NOT-CONNECT:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_COULD_NOT_CONNECT</p></td>
+<td class="enum_member_description">
+<p>Device could not connect to the network for activation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-SECURITY-AUTHENTICATION-FAILED:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_SECURITY_AUTHENTICATION_FAILED</p></td>
+<td class="enum_member_description">
+<p>Device could not authenticate to the network for activation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-PROVISIONING-FAILED:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_PROVISIONING_FAILED</p></td>
+<td class="enum_member_description">
+<p>Later stages of device provisioning failed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-NO-SIGNAL:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_NO_SIGNAL</p></td>
+<td class="enum_member_description">
+<p>No signal available.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-TIMED-OUT:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_TIMED_OUT</p></td>
+<td class="enum_member_description">
+<p>Activation timed out.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CDMA-ACTIVATION-ERROR-START-FAILED:CAPS"></a>MM_CDMA_ACTIVATION_ERROR_START_FAILED</p></td>
+<td class="enum_member_description">
+<p>API call for initial activation failed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ModemManager-Flags-and-Enumerations.html b/docs/reference/api/html/ModemManager-Flags-and-Enumerations.html
new file mode 100644
index 00000000..a6140b11
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-Flags-and-Enumerations.html
@@ -0,0 +1,4455 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Flags and Enumerations: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-common-types.html" title="Part II. Common types and definitions">
+<link rel="prev" href="ModemManager-Version-checks.html" title="Version checks">
+<link rel="next" href="ModemManager-Errors.html" title="Errors">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#ModemManager-Flags-and-Enumerations.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-common-types.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ModemManager-Version-checks.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ModemManager-Errors.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="ModemManager-Flags-and-Enumerations"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="ModemManager-Flags-and-Enumerations.top_of_page"></a>Flags and Enumerations</span></h2>
+<p>Flags and Enumerations — Common enumerations and types in the API.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="ModemManager-Flags-and-Enumerations.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerType" title="enum MMBearerType">MMBearerType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily" title="enum MMBearerIpFamily">MMBearerIpFamily</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod" title="enum MMBearerIpMethod">MMBearerIpMethod</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth" title="enum MMBearerAllowedAuth">MMBearerAllowedAuth</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMCallDirection" title="enum MMCallDirection">MMCallDirection</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMCallState" title="enum MMCallState">MMCallState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMCallStateReason" title="enum MMCallStateReason">MMCallStateReason</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMFirmwareImageType" title="enum MMFirmwareImageType">MMFirmwareImageType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppFacility" title="enum MMModem3gppFacility">MMModem3gppFacility</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppNetworkAvailability" title="enum MMModem3gppNetworkAvailability">MMModem3gppNetworkAvailability</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState" title="enum MMModem3gppSubscriptionState">MMModem3gppSubscriptionState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState" title="enum MMModem3gppRegistrationState">MMModem3gppRegistrationState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppUssdSessionState" title="enum MMModem3gppUssdSessionState">MMModem3gppUssdSessionState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation" title="enum MMModem3gppEpsUeModeOperation">MMModem3gppEpsUeModeOperation</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology" title="enum MMModemAccessTechnology">MMModemAccessTechnology</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemBand" title="enum MMModemBand">MMModemBand</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCapability" title="enum MMModemCapability">MMModemCapability</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState" title="enum MMModemCdmaActivationState">MMModemCdmaActivationState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState" title="enum MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol" title="enum MMModemCdmaRmProtocol">MMModemCdmaRmProtocol</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemContactsStorage" title="enum MMModemContactsStorage">MMModemContactsStorage</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLocationSource" title="enum MMModemLocationSource">MMModemLocationSource</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLocationAssistanceDataType" title="enum MMModemLocationAssistanceDataType">MMModemLocationAssistanceDataType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLock" title="enum MMModemLock">MMModemLock</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemMode" title="enum MMModemMode">MMModemMode</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemState" title="enum MMModemState">MMModemState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemStateFailedReason" title="enum MMModemStateFailedReason">MMModemStateFailedReason</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemStateChangeReason" title="enum MMModemStateChangeReason">MMModemStateChangeReason</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemPowerState" title="enum MMModemPowerState">MMModemPowerState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemPortType" title="enum MMModemPortType">MMModemPortType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemFirmwareUpdateMethod" title="enum MMModemFirmwareUpdateMethod">MMModemFirmwareUpdateMethod</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaFeature" title="enum MMOmaFeature">MMOmaFeature</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionState" title="enum MMOmaSessionState">MMOmaSessionState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionStateFailedReason" title="enum MMOmaSessionStateFailedReason">MMOmaSessionStateFailedReason</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionType" title="enum MMOmaSessionType">MMOmaSessionType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsPduType" title="enum MMSmsPduType">MMSmsPduType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsState" title="enum MMSmsState">MMSmsState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsDeliveryState" title="enum MMSmsDeliveryState">MMSmsDeliveryState</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsStorage" title="enum MMSmsStorage">MMSmsStorage</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsValidityType" title="enum MMSmsValidityType">MMSmsValidityType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId" title="enum MMSmsCdmaTeleserviceId">MMSmsCdmaTeleserviceId</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory" title="enum MMSmsCdmaServiceCategory">MMSmsCdmaServiceCategory</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Flags-and-Enumerations.description"></a><h2>Description</h2>
+<p>This section defines enumerations and types that are used in the
+ModemManager interface.</p>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Flags-and-Enumerations.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Flags-and-Enumerations.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMBearerType"></a><h3>enum MMBearerType</h3>
+<p>Type of context (2G/3G) or bearer (4G).</p>
+<div class="refsect3">
+<a name="MMBearerType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-TYPE-UNKNOWN:CAPS"></a>MM_BEARER_TYPE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown bearer.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-TYPE-DEFAULT:CAPS"></a>MM_BEARER_TYPE_DEFAULT</p></td>
+<td class="enum_member_description">
+<p>Primary context (2G/3G) or default bearer (4G),
+defined by the user of the API.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-TYPE-DEFAULT-ATTACH:CAPS"></a>MM_BEARER_TYPE_DEFAULT_ATTACH</p></td>
+<td class="enum_member_description">
+<p>The initial default bearer established
+during LTE attach procedure, automatically connected as long as the device is
+regitered in the LTE network.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-TYPE-DEDICATED:CAPS"></a>MM_BEARER_TYPE_DEDICATED</p></td>
+<td class="enum_member_description">
+<p>Secondary context (2G/3G) or dedicated bearer
+(4G), defined by the user of the API. These bearers use the same IP address
+used by a primary context or default bearer and provide a dedicated flow for
+specific traffic with different QoS settings.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMBearerIpFamily"></a><h3>enum MMBearerIpFamily</h3>
+<p>Type of IP family to be used in a given Bearer.</p>
+<div class="refsect3">
+<a name="MMBearerIpFamily.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-IP-FAMILY-NONE:CAPS"></a>MM_BEARER_IP_FAMILY_NONE</p></td>
+<td class="enum_member_description">
+<p>None or unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-IP-FAMILY-IPV4:CAPS"></a>MM_BEARER_IP_FAMILY_IPV4</p></td>
+<td class="enum_member_description">
+<p>IPv4.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-IP-FAMILY-IPV6:CAPS"></a>MM_BEARER_IP_FAMILY_IPV6</p></td>
+<td class="enum_member_description">
+<p>IPv6.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-IP-FAMILY-IPV4V6:CAPS"></a>MM_BEARER_IP_FAMILY_IPV4V6</p></td>
+<td class="enum_member_description">
+<p>IPv4 and IPv6.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-IP-FAMILY-ANY:CAPS"></a>MM_BEARER_IP_FAMILY_ANY</p></td>
+<td class="enum_member_description">
+<p>Mask specifying all IP families.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMBearerIpMethod"></a><h3>enum MMBearerIpMethod</h3>
+<p>Type of IP method configuration to be used in a given Bearer.</p>
+<div class="refsect3">
+<a name="MMBearerIpMethod.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-IP-METHOD-UNKNOWN:CAPS"></a>MM_BEARER_IP_METHOD_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown method.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-IP-METHOD-PPP:CAPS"></a>MM_BEARER_IP_METHOD_PPP</p></td>
+<td class="enum_member_description">
+<p>Use PPP to get IP addresses and DNS information.
+For IPv6, use PPP to retrieve the 64-bit Interface Identifier, use the IID to
+construct an IPv6 link-local address by following RFC 5072, and then run
+DHCP over the PPP link to retrieve DNS settings.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-IP-METHOD-STATIC:CAPS"></a>MM_BEARER_IP_METHOD_STATIC</p></td>
+<td class="enum_member_description">
+<p>Use the provided static IP configuration given
+by the modem to configure the IP data interface. Note that DNS servers may
+not be provided by the network or modem firmware.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-IP-METHOD-DHCP:CAPS"></a>MM_BEARER_IP_METHOD_DHCP</p></td>
+<td class="enum_member_description">
+<p>Begin DHCP or IPv6 SLAAC on the data interface to
+obtain any necessary IP configuration details that are not already provided
+by the IP configuration. For IPv4 bearers DHCP should be used. For IPv6
+bearers SLAAC should be used, and the IP configuration may already contain
+a link-local address that should be assigned to the interface before SLAAC
+is started to obtain the rest of the configuration.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMBearerAllowedAuth"></a><h3>enum MMBearerAllowedAuth</h3>
+<p>Allowed authentication methods when authenticating with the network.</p>
+<div class="refsect3">
+<a name="MMBearerAllowedAuth.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-ALLOWED-AUTH-UNKNOWN:CAPS"></a>MM_BEARER_ALLOWED_AUTH_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-ALLOWED-AUTH-NONE:CAPS"></a>MM_BEARER_ALLOWED_AUTH_NONE</p></td>
+<td class="enum_member_description">
+<p>None.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-ALLOWED-AUTH-PAP:CAPS"></a>MM_BEARER_ALLOWED_AUTH_PAP</p></td>
+<td class="enum_member_description">
+<p>PAP.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-ALLOWED-AUTH-CHAP:CAPS"></a>MM_BEARER_ALLOWED_AUTH_CHAP</p></td>
+<td class="enum_member_description">
+<p>CHAP.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-ALLOWED-AUTH-MSCHAP:CAPS"></a>MM_BEARER_ALLOWED_AUTH_MSCHAP</p></td>
+<td class="enum_member_description">
+<p>MS-CHAP.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-ALLOWED-AUTH-MSCHAPV2:CAPS"></a>MM_BEARER_ALLOWED_AUTH_MSCHAPV2</p></td>
+<td class="enum_member_description">
+<p>MS-CHAP v2.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-BEARER-ALLOWED-AUTH-EAP:CAPS"></a>MM_BEARER_ALLOWED_AUTH_EAP</p></td>
+<td class="enum_member_description">
+<p>EAP.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMCallDirection"></a><h3>enum MMCallDirection</h3>
+<div class="refsect3">
+<a name="MMCallDirection.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-DIRECTION-UNKNOWN:CAPS"></a>MM_CALL_DIRECTION_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-DIRECTION-INCOMING:CAPS"></a>MM_CALL_DIRECTION_INCOMING</p></td>
+<td class="enum_member_description">
+<p>call from network.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-DIRECTION-OUTGOING:CAPS"></a>MM_CALL_DIRECTION_OUTGOING</p></td>
+<td class="enum_member_description">
+<p>call to network.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMCallState"></a><h3>enum MMCallState</h3>
+<p>State of Call</p>
+<div class="refsect3">
+<a name="MMCallState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-UNKNOWN:CAPS"></a>MM_CALL_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>default state for a new outgoing call.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-DIALING:CAPS"></a>MM_CALL_STATE_DIALING</p></td>
+<td class="enum_member_description">
+<p>outgoing call started. Wait for free channel.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-RINGING-OUT:CAPS"></a>MM_CALL_STATE_RINGING_OUT</p></td>
+<td class="enum_member_description">
+<p>outgoing call attached to GSM network, waiting for an answer.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-RINGING-IN:CAPS"></a>MM_CALL_STATE_RINGING_IN</p></td>
+<td class="enum_member_description">
+<p>incoming call is waiting for an answer.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-ACTIVE:CAPS"></a>MM_CALL_STATE_ACTIVE</p></td>
+<td class="enum_member_description">
+<p>call is active between two peers.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-HELD:CAPS"></a>MM_CALL_STATE_HELD</p></td>
+<td class="enum_member_description">
+<p>held call (by +CHLD AT command).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-WAITING:CAPS"></a>MM_CALL_STATE_WAITING</p></td>
+<td class="enum_member_description">
+<p>waiting call (by +CCWA AT command).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-TERMINATED:CAPS"></a>MM_CALL_STATE_TERMINATED</p></td>
+<td class="enum_member_description">
+<p>call is terminated.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMCallStateReason"></a><h3>enum MMCallStateReason</h3>
+<div class="refsect3">
+<a name="MMCallStateReason.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-REASON-UNKNOWN:CAPS"></a>MM_CALL_STATE_REASON_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Default value for a new outgoing call.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-REASON-OUTGOING-STARTED:CAPS"></a>MM_CALL_STATE_REASON_OUTGOING_STARTED</p></td>
+<td class="enum_member_description">
+<p>Outgoing call is started.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-REASON-INCOMING-NEW:CAPS"></a>MM_CALL_STATE_REASON_INCOMING_NEW</p></td>
+<td class="enum_member_description">
+<p>Received a new incoming call.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-REASON-ACCEPTED:CAPS"></a>MM_CALL_STATE_REASON_ACCEPTED</p></td>
+<td class="enum_member_description">
+<p>Dialing or Ringing call is accepted.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-REASON-TERMINATED:CAPS"></a>MM_CALL_STATE_REASON_TERMINATED</p></td>
+<td class="enum_member_description">
+<p>Call is correctly terminated.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-REASON-REFUSED-OR-BUSY:CAPS"></a>MM_CALL_STATE_REASON_REFUSED_OR_BUSY</p></td>
+<td class="enum_member_description">
+<p>Remote peer is busy or refused call.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-REASON-ERROR:CAPS"></a>MM_CALL_STATE_REASON_ERROR</p></td>
+<td class="enum_member_description">
+<p>Wrong number or generic network error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-CALL-STATE-REASON-AUDIO-SETUP-FAILED:CAPS"></a>MM_CALL_STATE_REASON_AUDIO_SETUP_FAILED</p></td>
+<td class="enum_member_description">
+<p>Error setting up audio channel.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMFirmwareImageType"></a><h3>enum MMFirmwareImageType</h3>
+<p>Type of firmware image.</p>
+<div class="refsect3">
+<a name="MMFirmwareImageType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-FIRMWARE-IMAGE-TYPE-UNKNOWN:CAPS"></a>MM_FIRMWARE_IMAGE_TYPE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown firmware type.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-FIRMWARE-IMAGE-TYPE-GENERIC:CAPS"></a>MM_FIRMWARE_IMAGE_TYPE_GENERIC</p></td>
+<td class="enum_member_description">
+<p>Generic firmware image.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS"></a>MM_FIRMWARE_IMAGE_TYPE_GOBI</p></td>
+<td class="enum_member_description">
+<p>Firmware image of Gobi devices.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModem3gppFacility"></a><h3>enum MMModem3gppFacility</h3>
+<p>A bitfield describing which facilities have a lock enabled, i.e.,
+requires a pin or unlock code. The facilities include the
+personalizations (device locks) described in 3GPP spec TS 22.022,
+and the PIN and PIN2 locks, which are SIM locks.</p>
+<div class="refsect3">
+<a name="MMModem3gppFacility.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-FACILITY-NONE:CAPS"></a>MM_MODEM_3GPP_FACILITY_NONE</p></td>
+<td class="enum_member_description">
+<p>No facility.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-FACILITY-SIM:CAPS"></a>MM_MODEM_3GPP_FACILITY_SIM</p></td>
+<td class="enum_member_description">
+<p>SIM lock.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-FACILITY-FIXED-DIALING:CAPS"></a>MM_MODEM_3GPP_FACILITY_FIXED_DIALING</p></td>
+<td class="enum_member_description">
+<p>Fixed dialing (PIN2) SIM lock.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-FACILITY-PH-SIM:CAPS"></a>MM_MODEM_3GPP_FACILITY_PH_SIM</p></td>
+<td class="enum_member_description">
+<p>Device is locked to a specific SIM.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-FACILITY-PH-FSIM:CAPS"></a>MM_MODEM_3GPP_FACILITY_PH_FSIM</p></td>
+<td class="enum_member_description">
+<p>Device is locked to first SIM inserted.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-FACILITY-NET-PERS:CAPS"></a>MM_MODEM_3GPP_FACILITY_NET_PERS</p></td>
+<td class="enum_member_description">
+<p>Network personalization.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-FACILITY-NET-SUB-PERS:CAPS"></a>MM_MODEM_3GPP_FACILITY_NET_SUB_PERS</p></td>
+<td class="enum_member_description">
+<p>Network subset personalization.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-FACILITY-PROVIDER-PERS:CAPS"></a>MM_MODEM_3GPP_FACILITY_PROVIDER_PERS</p></td>
+<td class="enum_member_description">
+<p>Service provider personalization.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-FACILITY-CORP-PERS:CAPS"></a>MM_MODEM_3GPP_FACILITY_CORP_PERS</p></td>
+<td class="enum_member_description">
+<p>Corporate personalization.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModem3gppNetworkAvailability"></a><h3>enum MMModem3gppNetworkAvailability</h3>
+<p>Network availability status as defined in 3GPP TS 27.007 section 7.3</p>
+<div class="refsect3">
+<a name="MMModem3gppNetworkAvailability.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-NETWORK-AVAILABILITY-UNKNOWN:CAPS"></a>MM_MODEM_3GPP_NETWORK_AVAILABILITY_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown availability.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-NETWORK-AVAILABILITY-AVAILABLE:CAPS"></a>MM_MODEM_3GPP_NETWORK_AVAILABILITY_AVAILABLE</p></td>
+<td class="enum_member_description">
+<p>Network is available.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-NETWORK-AVAILABILITY-CURRENT:CAPS"></a>MM_MODEM_3GPP_NETWORK_AVAILABILITY_CURRENT</p></td>
+<td class="enum_member_description">
+<p>Network is the current one.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-NETWORK-AVAILABILITY-FORBIDDEN:CAPS"></a>MM_MODEM_3GPP_NETWORK_AVAILABILITY_FORBIDDEN</p></td>
+<td class="enum_member_description">
+<p>Network is forbidden.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModem3gppSubscriptionState"></a><h3>enum MMModem3gppSubscriptionState</h3>
+<p>Describes the current subscription status of the SIM. This value is only available after the
+modem attempts to register with the network.</p>
+<div class="refsect3">
+<a name="MMModem3gppSubscriptionState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-SUBSCRIPTION-STATE-UNKNOWN:CAPS"></a>MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>The subscription state is unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-SUBSCRIPTION-STATE-UNPROVISIONED:CAPS"></a>MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNPROVISIONED</p></td>
+<td class="enum_member_description">
+<p>The account is unprovisioned.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-SUBSCRIPTION-STATE-PROVISIONED:CAPS"></a>MM_MODEM_3GPP_SUBSCRIPTION_STATE_PROVISIONED</p></td>
+<td class="enum_member_description">
+<p>The account is provisioned and has data available.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-SUBSCRIPTION-STATE-OUT-OF-DATA:CAPS"></a>MM_MODEM_3GPP_SUBSCRIPTION_STATE_OUT_OF_DATA</p></td>
+<td class="enum_member_description">
+<p>The account is provisioned but there is no data left.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModem3gppRegistrationState"></a><h3>enum MMModem3gppRegistrationState</h3>
+<p>GSM registration code as defined in 3GPP TS 27.007.</p>
+<div class="refsect3">
+<a name="MMModem3gppRegistrationState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-IDLE:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_IDLE</p></td>
+<td class="enum_member_description">
+<p>Not registered, not searching for new operator to register.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-HOME:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_HOME</p></td>
+<td class="enum_member_description">
+<p>Registered on home network.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-SEARCHING:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_SEARCHING</p></td>
+<td class="enum_member_description">
+<p>Not registered, searching for new operator to register with.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-DENIED:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_DENIED</p></td>
+<td class="enum_member_description">
+<p>Registration denied.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-UNKNOWN:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown registration status.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-ROAMING:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING</p></td>
+<td class="enum_member_description">
+<p>Registered on a roaming network.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-HOME-SMS-ONLY:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_HOME_SMS_ONLY</p></td>
+<td class="enum_member_description">
+<p>Registered for "SMS only", home network (applicable only when on LTE).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-ROAMING-SMS-ONLY:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_SMS_ONLY</p></td>
+<td class="enum_member_description">
+<p>Registered for "SMS only", roaming network (applicable only when on LTE).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-EMERGENCY-ONLY:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_EMERGENCY_ONLY</p></td>
+<td class="enum_member_description">
+<p>Emergency services only.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-HOME-CSFB-NOT-PREFERRED:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED</p></td>
+<td class="enum_member_description">
+<p>Registered for "CSFB not preferred", home network (applicable only when on LTE).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-REGISTRATION-STATE-ROAMING-CSFB-NOT-PREFERRED:CAPS"></a>MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED</p></td>
+<td class="enum_member_description">
+<p>Registered for "CSFB not preferred", roaming network (applicable only when on LTE).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModem3gppUssdSessionState"></a><h3>enum MMModem3gppUssdSessionState</h3>
+<p>State of a USSD session.</p>
+<div class="refsect3">
+<a name="MMModem3gppUssdSessionState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-USSD-SESSION-STATE-UNKNOWN:CAPS"></a>MM_MODEM_3GPP_USSD_SESSION_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown state.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-USSD-SESSION-STATE-IDLE:CAPS"></a>MM_MODEM_3GPP_USSD_SESSION_STATE_IDLE</p></td>
+<td class="enum_member_description">
+<p>No active session.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-USSD-SESSION-STATE-ACTIVE:CAPS"></a>MM_MODEM_3GPP_USSD_SESSION_STATE_ACTIVE</p></td>
+<td class="enum_member_description">
+<p>A session is active and the mobile is waiting for a response.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-USSD-SESSION-STATE-USER-RESPONSE:CAPS"></a>MM_MODEM_3GPP_USSD_SESSION_STATE_USER_RESPONSE</p></td>
+<td class="enum_member_description">
+<p>The network is waiting for the client's response.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModem3gppEpsUeModeOperation"></a><h3>enum MMModem3gppEpsUeModeOperation</h3>
+<p>UE mode of operation for EPS, as per 3GPP TS 24.301.</p>
+<div class="refsect3">
+<a name="MMModem3gppEpsUeModeOperation.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-UNKNOWN:CAPS"></a>MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown or not applicable.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-PS-1:CAPS"></a>MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_PS_1</p></td>
+<td class="enum_member_description">
+<p>PS mode 1 of operation: EPS only, voice-centric.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-PS-2:CAPS"></a>MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_PS_2</p></td>
+<td class="enum_member_description">
+<p>PS mode 2 of operation: EPS only, data-centric.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-CSPS-1:CAPS"></a>MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_CSPS_1</p></td>
+<td class="enum_member_description">
+<p>CS/PS mode 1 of operation: EPS and non-EPS, voice-centric.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-CSPS-2:CAPS"></a>MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_CSPS_2</p></td>
+<td class="enum_member_description">
+<p>CS/PS mode 2 of operation: EPS and non-EPS, data-centric.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemAccessTechnology"></a><h3>enum MMModemAccessTechnology</h3>
+<p>Describes various access technologies that a device uses when registered with
+or connected to a network.</p>
+<div class="refsect3">
+<a name="MMModemAccessTechnology.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-UNKNOWN:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>The access technology used is unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-POTS:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_POTS</p></td>
+<td class="enum_member_description">
+<p>Analog wireline telephone.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-GSM:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_GSM</p></td>
+<td class="enum_member_description">
+<p>GSM.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-GSM-COMPACT:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_GSM_COMPACT</p></td>
+<td class="enum_member_description">
+<p>Compact GSM.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-GPRS:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_GPRS</p></td>
+<td class="enum_member_description">
+<p>GPRS.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-EDGE:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_EDGE</p></td>
+<td class="enum_member_description">
+<p>EDGE (ETSI 27.007: "GSM w/EGPRS").</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-UMTS:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_UMTS</p></td>
+<td class="enum_member_description">
+<p>UMTS (ETSI 27.007: "UTRAN").</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-HSDPA:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_HSDPA</p></td>
+<td class="enum_member_description">
+<p>HSDPA (ETSI 27.007: "UTRAN w/HSDPA").</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-HSUPA:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_HSUPA</p></td>
+<td class="enum_member_description">
+<p>HSUPA (ETSI 27.007: "UTRAN w/HSUPA").</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-HSPA:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_HSPA</p></td>
+<td class="enum_member_description">
+<p>HSPA (ETSI 27.007: "UTRAN w/HSDPA and HSUPA").</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-HSPA-PLUS:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_HSPA_PLUS</p></td>
+<td class="enum_member_description">
+<p>HSPA+ (ETSI 27.007: "UTRAN w/HSPA+").</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-1XRTT:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_1XRTT</p></td>
+<td class="enum_member_description">
+<p>CDMA2000 1xRTT.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-EVDO0:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_EVDO0</p></td>
+<td class="enum_member_description">
+<p>CDMA2000 EVDO revision 0.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-EVDOA:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_EVDOA</p></td>
+<td class="enum_member_description">
+<p>CDMA2000 EVDO revision A.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-EVDOB:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_EVDOB</p></td>
+<td class="enum_member_description">
+<p>CDMA2000 EVDO revision B.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-LTE:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_LTE</p></td>
+<td class="enum_member_description">
+<p>LTE (ETSI 27.007: "E-UTRAN")</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-ACCESS-TECHNOLOGY-ANY:CAPS"></a>MM_MODEM_ACCESS_TECHNOLOGY_ANY</p></td>
+<td class="enum_member_description">
+<p>Mask specifying all access technologies.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemBand"></a><h3>enum MMModemBand</h3>
+<p>Radio bands supported by the device when connecting to a mobile network.</p>
+<div class="refsect3">
+<a name="MMModemBand.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UNKNOWN:CAPS"></a>MM_MODEM_BAND_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown or invalid band.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EGSM:CAPS"></a>MM_MODEM_BAND_EGSM</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 900 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-DCS:CAPS"></a>MM_MODEM_BAND_DCS</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 1800 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-PCS:CAPS"></a>MM_MODEM_BAND_PCS</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 1900 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-G850:CAPS"></a>MM_MODEM_BAND_G850</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 850 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-1:CAPS"></a>MM_MODEM_BAND_UTRAN_1</p></td>
+<td class="enum_member_description">
+<p>UMTS 2100 MHz (IMT, UTRAN band 1).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-3:CAPS"></a>MM_MODEM_BAND_UTRAN_3</p></td>
+<td class="enum_member_description">
+<p>UMTS 1800 MHz (DCS, UTRAN band 3).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-4:CAPS"></a>MM_MODEM_BAND_UTRAN_4</p></td>
+<td class="enum_member_description">
+<p>UMTS 1700 MHz (AWS A-F, UTRAN band 4).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-6:CAPS"></a>MM_MODEM_BAND_UTRAN_6</p></td>
+<td class="enum_member_description">
+<p>UMTS 800 MHz (UTRAN band 6).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-5:CAPS"></a>MM_MODEM_BAND_UTRAN_5</p></td>
+<td class="enum_member_description">
+<p>UMTS 850 MHz (CLR, UTRAN band 5).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-8:CAPS"></a>MM_MODEM_BAND_UTRAN_8</p></td>
+<td class="enum_member_description">
+<p>UMTS 900 MHz (E-GSM, UTRAN band 8).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-9:CAPS"></a>MM_MODEM_BAND_UTRAN_9</p></td>
+<td class="enum_member_description">
+<p>UMTS 1700 MHz (UTRAN band 9).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-2:CAPS"></a>MM_MODEM_BAND_UTRAN_2</p></td>
+<td class="enum_member_description">
+<p>UMTS 1900 MHz (PCS A-F, UTRAN band 2).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-7:CAPS"></a>MM_MODEM_BAND_UTRAN_7</p></td>
+<td class="enum_member_description">
+<p>UMTS 2600 MHz (IMT-E, UTRAN band 7).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-G450:CAPS"></a>MM_MODEM_BAND_G450</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 450 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-G480:CAPS"></a>MM_MODEM_BAND_G480</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 480 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-G750:CAPS"></a>MM_MODEM_BAND_G750</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 750 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-G380:CAPS"></a>MM_MODEM_BAND_G380</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 380 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-G410:CAPS"></a>MM_MODEM_BAND_G410</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 410 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-G710:CAPS"></a>MM_MODEM_BAND_G710</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 710 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-G810:CAPS"></a>MM_MODEM_BAND_G810</p></td>
+<td class="enum_member_description">
+<p>GSM/GPRS/EDGE 810 MHz.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-1:CAPS"></a>MM_MODEM_BAND_EUTRAN_1</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 1.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-2:CAPS"></a>MM_MODEM_BAND_EUTRAN_2</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 2.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-3:CAPS"></a>MM_MODEM_BAND_EUTRAN_3</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 3.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-4:CAPS"></a>MM_MODEM_BAND_EUTRAN_4</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 4.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-5:CAPS"></a>MM_MODEM_BAND_EUTRAN_5</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 5.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-6:CAPS"></a>MM_MODEM_BAND_EUTRAN_6</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 6.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-7:CAPS"></a>MM_MODEM_BAND_EUTRAN_7</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 7.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-8:CAPS"></a>MM_MODEM_BAND_EUTRAN_8</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 8.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-9:CAPS"></a>MM_MODEM_BAND_EUTRAN_9</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 9.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-10:CAPS"></a>MM_MODEM_BAND_EUTRAN_10</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 10.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-11:CAPS"></a>MM_MODEM_BAND_EUTRAN_11</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 11.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-12:CAPS"></a>MM_MODEM_BAND_EUTRAN_12</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 12.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-13:CAPS"></a>MM_MODEM_BAND_EUTRAN_13</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 13.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-14:CAPS"></a>MM_MODEM_BAND_EUTRAN_14</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 14.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-17:CAPS"></a>MM_MODEM_BAND_EUTRAN_17</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 17.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-18:CAPS"></a>MM_MODEM_BAND_EUTRAN_18</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 18.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-19:CAPS"></a>MM_MODEM_BAND_EUTRAN_19</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 19.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-20:CAPS"></a>MM_MODEM_BAND_EUTRAN_20</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 20.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-21:CAPS"></a>MM_MODEM_BAND_EUTRAN_21</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 21.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-22:CAPS"></a>MM_MODEM_BAND_EUTRAN_22</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 22.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-23:CAPS"></a>MM_MODEM_BAND_EUTRAN_23</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 23.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-24:CAPS"></a>MM_MODEM_BAND_EUTRAN_24</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 24.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-25:CAPS"></a>MM_MODEM_BAND_EUTRAN_25</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 25.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-26:CAPS"></a>MM_MODEM_BAND_EUTRAN_26</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 26.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-27:CAPS"></a>MM_MODEM_BAND_EUTRAN_27</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 27.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-28:CAPS"></a>MM_MODEM_BAND_EUTRAN_28</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 28.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-29:CAPS"></a>MM_MODEM_BAND_EUTRAN_29</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 29.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-30:CAPS"></a>MM_MODEM_BAND_EUTRAN_30</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 30.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-31:CAPS"></a>MM_MODEM_BAND_EUTRAN_31</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 31.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-32:CAPS"></a>MM_MODEM_BAND_EUTRAN_32</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 32.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-33:CAPS"></a>MM_MODEM_BAND_EUTRAN_33</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 33.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-34:CAPS"></a>MM_MODEM_BAND_EUTRAN_34</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 34.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-35:CAPS"></a>MM_MODEM_BAND_EUTRAN_35</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 35.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-36:CAPS"></a>MM_MODEM_BAND_EUTRAN_36</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 36.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-37:CAPS"></a>MM_MODEM_BAND_EUTRAN_37</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 37.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-38:CAPS"></a>MM_MODEM_BAND_EUTRAN_38</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 38.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-39:CAPS"></a>MM_MODEM_BAND_EUTRAN_39</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 39.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-40:CAPS"></a>MM_MODEM_BAND_EUTRAN_40</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 40.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-41:CAPS"></a>MM_MODEM_BAND_EUTRAN_41</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 41.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-42:CAPS"></a>MM_MODEM_BAND_EUTRAN_42</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 42.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-43:CAPS"></a>MM_MODEM_BAND_EUTRAN_43</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 43.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-44:CAPS"></a>MM_MODEM_BAND_EUTRAN_44</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 44.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-45:CAPS"></a>MM_MODEM_BAND_EUTRAN_45</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 45.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-46:CAPS"></a>MM_MODEM_BAND_EUTRAN_46</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 46.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-47:CAPS"></a>MM_MODEM_BAND_EUTRAN_47</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 47.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-48:CAPS"></a>MM_MODEM_BAND_EUTRAN_48</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 48.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-49:CAPS"></a>MM_MODEM_BAND_EUTRAN_49</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 49.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-50:CAPS"></a>MM_MODEM_BAND_EUTRAN_50</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 50.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-51:CAPS"></a>MM_MODEM_BAND_EUTRAN_51</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 51.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-52:CAPS"></a>MM_MODEM_BAND_EUTRAN_52</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 52.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-53:CAPS"></a>MM_MODEM_BAND_EUTRAN_53</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 53.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-54:CAPS"></a>MM_MODEM_BAND_EUTRAN_54</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 54.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-55:CAPS"></a>MM_MODEM_BAND_EUTRAN_55</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 55.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-56:CAPS"></a>MM_MODEM_BAND_EUTRAN_56</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 56.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-57:CAPS"></a>MM_MODEM_BAND_EUTRAN_57</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 57.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-58:CAPS"></a>MM_MODEM_BAND_EUTRAN_58</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 58.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-59:CAPS"></a>MM_MODEM_BAND_EUTRAN_59</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 59.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-60:CAPS"></a>MM_MODEM_BAND_EUTRAN_60</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 60.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-61:CAPS"></a>MM_MODEM_BAND_EUTRAN_61</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 61.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-62:CAPS"></a>MM_MODEM_BAND_EUTRAN_62</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 62.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-63:CAPS"></a>MM_MODEM_BAND_EUTRAN_63</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 63.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-64:CAPS"></a>MM_MODEM_BAND_EUTRAN_64</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 64.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-65:CAPS"></a>MM_MODEM_BAND_EUTRAN_65</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 65.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-66:CAPS"></a>MM_MODEM_BAND_EUTRAN_66</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 66.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-67:CAPS"></a>MM_MODEM_BAND_EUTRAN_67</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 67.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-68:CAPS"></a>MM_MODEM_BAND_EUTRAN_68</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 68.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-69:CAPS"></a>MM_MODEM_BAND_EUTRAN_69</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 69.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-70:CAPS"></a>MM_MODEM_BAND_EUTRAN_70</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 70.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-EUTRAN-71:CAPS"></a>MM_MODEM_BAND_EUTRAN_71</p></td>
+<td class="enum_member_description">
+<p>E-UTRAN band 71.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC0:CAPS"></a>MM_MODEM_BAND_CDMA_BC0</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 0 (US Cellular 850MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC1:CAPS"></a>MM_MODEM_BAND_CDMA_BC1</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 1 (US PCS 1900MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC2:CAPS"></a>MM_MODEM_BAND_CDMA_BC2</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 2 (UK TACS 900MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC3:CAPS"></a>MM_MODEM_BAND_CDMA_BC3</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 3 (Japanese TACS).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC4:CAPS"></a>MM_MODEM_BAND_CDMA_BC4</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 4 (Korean PCS).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC5:CAPS"></a>MM_MODEM_BAND_CDMA_BC5</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 5 (NMT 450MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC6:CAPS"></a>MM_MODEM_BAND_CDMA_BC6</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 6 (IMT2000 2100MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC7:CAPS"></a>MM_MODEM_BAND_CDMA_BC7</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 7 (Cellular 700MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC8:CAPS"></a>MM_MODEM_BAND_CDMA_BC8</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 8 (1800MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC9:CAPS"></a>MM_MODEM_BAND_CDMA_BC9</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 9 (900MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC10:CAPS"></a>MM_MODEM_BAND_CDMA_BC10</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 10 (US Secondary 800).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC11:CAPS"></a>MM_MODEM_BAND_CDMA_BC11</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 11 (European PAMR 400MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC12:CAPS"></a>MM_MODEM_BAND_CDMA_BC12</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 12 (PAMR 800MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC13:CAPS"></a>MM_MODEM_BAND_CDMA_BC13</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 13 (IMT2000 2500MHz Expansion).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC14:CAPS"></a>MM_MODEM_BAND_CDMA_BC14</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 14 (More US PCS 1900MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC15:CAPS"></a>MM_MODEM_BAND_CDMA_BC15</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 15 (AWS 1700MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC16:CAPS"></a>MM_MODEM_BAND_CDMA_BC16</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 16 (US 2500MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC17:CAPS"></a>MM_MODEM_BAND_CDMA_BC17</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 17 (US 2500MHz Forward Link Only).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC18:CAPS"></a>MM_MODEM_BAND_CDMA_BC18</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 18 (US 700MHz Public Safety).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-CDMA-BC19:CAPS"></a>MM_MODEM_BAND_CDMA_BC19</p></td>
+<td class="enum_member_description">
+<p>CDMA Band Class 19 (US Lower 700MHz).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-10:CAPS"></a>MM_MODEM_BAND_UTRAN_10</p></td>
+<td class="enum_member_description">
+<p>UMTS 1700 MHz (EAWS A-G, UTRAN band 10).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-11:CAPS"></a>MM_MODEM_BAND_UTRAN_11</p></td>
+<td class="enum_member_description">
+<p>UMTS 1500 MHz (LPDC, UTRAN band 11).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-12:CAPS"></a>MM_MODEM_BAND_UTRAN_12</p></td>
+<td class="enum_member_description">
+<p>UMTS 700 MHz (LSMH A/B/C, UTRAN band 12).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-13:CAPS"></a>MM_MODEM_BAND_UTRAN_13</p></td>
+<td class="enum_member_description">
+<p>UMTS 700 MHz (USMH C, UTRAN band 13).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-14:CAPS"></a>MM_MODEM_BAND_UTRAN_14</p></td>
+<td class="enum_member_description">
+<p>UMTS 700 MHz (USMH D, UTRAN band 14).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-19:CAPS"></a>MM_MODEM_BAND_UTRAN_19</p></td>
+<td class="enum_member_description">
+<p>UMTS 800 MHz (UTRAN band 19).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-20:CAPS"></a>MM_MODEM_BAND_UTRAN_20</p></td>
+<td class="enum_member_description">
+<p>UMTS 800 MHz (EUDD, UTRAN band 20).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-21:CAPS"></a>MM_MODEM_BAND_UTRAN_21</p></td>
+<td class="enum_member_description">
+<p>UMTS 1500 MHz (UPDC, UTRAN band 21).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-22:CAPS"></a>MM_MODEM_BAND_UTRAN_22</p></td>
+<td class="enum_member_description">
+<p>UMTS 3500 MHz (UTRAN band 22).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-25:CAPS"></a>MM_MODEM_BAND_UTRAN_25</p></td>
+<td class="enum_member_description">
+<p>UMTS 1900 MHz (EPCS A-G, UTRAN band 25).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-26:CAPS"></a>MM_MODEM_BAND_UTRAN_26</p></td>
+<td class="enum_member_description">
+<p>UMTS 850 MHz (ECLR, UTRAN band 26).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-UTRAN-32:CAPS"></a>MM_MODEM_BAND_UTRAN_32</p></td>
+<td class="enum_member_description">
+<p>UMTS 1500 MHz (L-band, UTRAN band 32).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-BAND-ANY:CAPS"></a>MM_MODEM_BAND_ANY</p></td>
+<td class="enum_member_description">
+<p>For certain operations, allow the modem to select a band automatically.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemCapability"></a><h3>enum MMModemCapability</h3>
+<p>Flags describing one or more of the general access technology families that a
+modem supports.</p>
+<div class="refsect3">
+<a name="MMModemCapability.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CAPABILITY-NONE:CAPS"></a>MM_MODEM_CAPABILITY_NONE</p></td>
+<td class="enum_member_description">
+<p>Modem has no capabilities.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CAPABILITY-POTS:CAPS"></a>MM_MODEM_CAPABILITY_POTS</p></td>
+<td class="enum_member_description">
+<p>Modem supports the analog wired telephone network (ie 56k dialup) and does not have wireless/cellular capabilities.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CAPABILITY-CDMA-EVDO:CAPS"></a>MM_MODEM_CAPABILITY_CDMA_EVDO</p></td>
+<td class="enum_member_description">
+<p>Modem supports at least one of CDMA 1xRTT, EVDO revision 0, EVDO revision A, or EVDO revision B.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CAPABILITY-GSM-UMTS:CAPS"></a>MM_MODEM_CAPABILITY_GSM_UMTS</p></td>
+<td class="enum_member_description">
+<p>Modem supports at least one of GSM, GPRS, EDGE, UMTS, HSDPA, HSUPA, or HSPA+ packet switched data capability.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CAPABILITY-LTE:CAPS"></a>MM_MODEM_CAPABILITY_LTE</p></td>
+<td class="enum_member_description">
+<p>Modem has LTE data capability.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CAPABILITY-LTE-ADVANCED:CAPS"></a>MM_MODEM_CAPABILITY_LTE_ADVANCED</p></td>
+<td class="enum_member_description">
+<p>Modem has LTE Advanced data capability.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CAPABILITY-IRIDIUM:CAPS"></a>MM_MODEM_CAPABILITY_IRIDIUM</p></td>
+<td class="enum_member_description">
+<p>Modem has Iridium capabilities.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CAPABILITY-ANY:CAPS"></a>MM_MODEM_CAPABILITY_ANY</p></td>
+<td class="enum_member_description">
+<p>Mask specifying all capabilities.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemCdmaActivationState"></a><h3>enum MMModemCdmaActivationState</h3>
+<p>Activation state of a CDMA modem.</p>
+<div class="refsect3">
+<a name="MMModemCdmaActivationState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-ACTIVATION-STATE-UNKNOWN:CAPS"></a>MM_MODEM_CDMA_ACTIVATION_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown activation state.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-ACTIVATION-STATE-NOT-ACTIVATED:CAPS"></a>MM_MODEM_CDMA_ACTIVATION_STATE_NOT_ACTIVATED</p></td>
+<td class="enum_member_description">
+<p>Device is not activated</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-ACTIVATION-STATE-ACTIVATING:CAPS"></a>MM_MODEM_CDMA_ACTIVATION_STATE_ACTIVATING</p></td>
+<td class="enum_member_description">
+<p>Device is activating</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-ACTIVATION-STATE-PARTIALLY-ACTIVATED:CAPS"></a>MM_MODEM_CDMA_ACTIVATION_STATE_PARTIALLY_ACTIVATED</p></td>
+<td class="enum_member_description">
+<p>Device is partially activated; carrier-specific steps required to continue.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-ACTIVATION-STATE-ACTIVATED:CAPS"></a>MM_MODEM_CDMA_ACTIVATION_STATE_ACTIVATED</p></td>
+<td class="enum_member_description">
+<p>Device is ready for use.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemCdmaRegistrationState"></a><h3>enum MMModemCdmaRegistrationState</h3>
+<p>Registration state of a CDMA modem.</p>
+<div class="refsect3">
+<a name="MMModemCdmaRegistrationState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-REGISTRATION-STATE-UNKNOWN:CAPS"></a>MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Registration status is unknown or the device is not registered.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-REGISTRATION-STATE-REGISTERED:CAPS"></a>MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED</p></td>
+<td class="enum_member_description">
+<p>Registered, but roaming status is unknown or cannot be provided by the device. The device may or may not be roaming.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-REGISTRATION-STATE-HOME:CAPS"></a>MM_MODEM_CDMA_REGISTRATION_STATE_HOME</p></td>
+<td class="enum_member_description">
+<p>Currently registered on the home network.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-REGISTRATION-STATE-ROAMING:CAPS"></a>MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING</p></td>
+<td class="enum_member_description">
+<p>Currently registered on a roaming network.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemCdmaRmProtocol"></a><h3>enum MMModemCdmaRmProtocol</h3>
+<p>Protocol of the Rm interface in modems with CDMA capabilities.</p>
+<div class="refsect3">
+<a name="MMModemCdmaRmProtocol.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-RM-PROTOCOL-UNKNOWN:CAPS"></a>MM_MODEM_CDMA_RM_PROTOCOL_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown protocol.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-RM-PROTOCOL-ASYNC:CAPS"></a>MM_MODEM_CDMA_RM_PROTOCOL_ASYNC</p></td>
+<td class="enum_member_description">
+<p>Asynchronous data or fax.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-RM-PROTOCOL-PACKET-RELAY:CAPS"></a>MM_MODEM_CDMA_RM_PROTOCOL_PACKET_RELAY</p></td>
+<td class="enum_member_description">
+<p>Packet data service, Relay Layer Rm interface.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-RM-PROTOCOL-PACKET-NETWORK-PPP:CAPS"></a>MM_MODEM_CDMA_RM_PROTOCOL_PACKET_NETWORK_PPP</p></td>
+<td class="enum_member_description">
+<p>Packet data service, Network Layer Rm interface, PPP.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-RM-PROTOCOL-PACKET-NETWORK-SLIP:CAPS"></a>MM_MODEM_CDMA_RM_PROTOCOL_PACKET_NETWORK_SLIP</p></td>
+<td class="enum_member_description">
+<p>Packet data service, Network Layer Rm interface, SLIP.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CDMA-RM-PROTOCOL-STU-III:CAPS"></a>MM_MODEM_CDMA_RM_PROTOCOL_STU_III</p></td>
+<td class="enum_member_description">
+<p>STU-III service.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemContactsStorage"></a><h3>enum MMModemContactsStorage</h3>
+<p>Specifies different storage locations for contact information.</p>
+<div class="refsect3">
+<a name="MMModemContactsStorage.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CONTACTS-STORAGE-UNKNOWN:CAPS"></a>MM_MODEM_CONTACTS_STORAGE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown location.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CONTACTS-STORAGE-ME:CAPS"></a>MM_MODEM_CONTACTS_STORAGE_ME</p></td>
+<td class="enum_member_description">
+<p>Device's local memory.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CONTACTS-STORAGE-SM:CAPS"></a>MM_MODEM_CONTACTS_STORAGE_SM</p></td>
+<td class="enum_member_description">
+<p>Card inserted in the device (like a SIM/RUIM).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-CONTACTS-STORAGE-MT:CAPS"></a>MM_MODEM_CONTACTS_STORAGE_MT</p></td>
+<td class="enum_member_description">
+<p>Combined device/ME and SIM/SM phonebook.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemLocationSource"></a><h3>enum MMModemLocationSource</h3>
+<p>Sources of location information supported by the modem.</p>
+<div class="refsect3">
+<a name="MMModemLocationSource.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCATION-SOURCE-NONE:CAPS"></a>MM_MODEM_LOCATION_SOURCE_NONE</p></td>
+<td class="enum_member_description">
+<p>None.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCATION-SOURCE-3GPP-LAC-CI:CAPS"></a>MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI</p></td>
+<td class="enum_member_description">
+<p>Location Area Code and Cell ID.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCATION-SOURCE-GPS-RAW:CAPS"></a>MM_MODEM_LOCATION_SOURCE_GPS_RAW</p></td>
+<td class="enum_member_description">
+<p>GPS location given by predefined keys.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCATION-SOURCE-GPS-NMEA:CAPS"></a>MM_MODEM_LOCATION_SOURCE_GPS_NMEA</p></td>
+<td class="enum_member_description">
+<p>GPS location given as NMEA traces.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCATION-SOURCE-CDMA-BS:CAPS"></a>MM_MODEM_LOCATION_SOURCE_CDMA_BS</p></td>
+<td class="enum_member_description">
+<p>CDMA base station position.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCATION-SOURCE-GPS-UNMANAGED:CAPS"></a>MM_MODEM_LOCATION_SOURCE_GPS_UNMANAGED</p></td>
+<td class="enum_member_description">
+<p>No location given, just GPS module setup.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCATION-SOURCE-AGPS:CAPS"></a>MM_MODEM_LOCATION_SOURCE_AGPS</p></td>
+<td class="enum_member_description">
+<p>A-GPS location requested.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemLocationAssistanceDataType"></a><h3>enum MMModemLocationAssistanceDataType</h3>
+<p>Type of assistance data that may be injected to the GNSS module.</p>
+<div class="refsect3">
+<a name="MMModemLocationAssistanceDataType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCATION-ASSISTANCE-DATA-TYPE-NONE:CAPS"></a>MM_MODEM_LOCATION_ASSISTANCE_DATA_TYPE_NONE</p></td>
+<td class="enum_member_description">
+<p>None.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCATION-ASSISTANCE-DATA-TYPE-XTRA:CAPS"></a>MM_MODEM_LOCATION_ASSISTANCE_DATA_TYPE_XTRA</p></td>
+<td class="enum_member_description">
+<p>Qualcomm gpsOneXTRA.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemLock"></a><h3>enum MMModemLock</h3>
+<p>Enumeration of possible lock reasons.</p>
+<div class="refsect3">
+<a name="MMModemLock.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-UNKNOWN:CAPS"></a>MM_MODEM_LOCK_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Lock reason unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-NONE:CAPS"></a>MM_MODEM_LOCK_NONE</p></td>
+<td class="enum_member_description">
+<p>Modem is unlocked.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-SIM-PIN:CAPS"></a>MM_MODEM_LOCK_SIM_PIN</p></td>
+<td class="enum_member_description">
+<p>SIM requires the PIN code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-SIM-PIN2:CAPS"></a>MM_MODEM_LOCK_SIM_PIN2</p></td>
+<td class="enum_member_description">
+<p>SIM requires the PIN2 code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-SIM-PUK:CAPS"></a>MM_MODEM_LOCK_SIM_PUK</p></td>
+<td class="enum_member_description">
+<p>SIM requires the PUK code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-SIM-PUK2:CAPS"></a>MM_MODEM_LOCK_SIM_PUK2</p></td>
+<td class="enum_member_description">
+<p>SIM requires the PUK2 code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-SP-PIN:CAPS"></a>MM_MODEM_LOCK_PH_SP_PIN</p></td>
+<td class="enum_member_description">
+<p>Modem requires the service provider PIN code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-SP-PUK:CAPS"></a>MM_MODEM_LOCK_PH_SP_PUK</p></td>
+<td class="enum_member_description">
+<p>Modem requires the service provider PUK code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-NET-PIN:CAPS"></a>MM_MODEM_LOCK_PH_NET_PIN</p></td>
+<td class="enum_member_description">
+<p>Modem requires the network PIN code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-NET-PUK:CAPS"></a>MM_MODEM_LOCK_PH_NET_PUK</p></td>
+<td class="enum_member_description">
+<p>Modem requires the network PUK code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-SIM-PIN:CAPS"></a>MM_MODEM_LOCK_PH_SIM_PIN</p></td>
+<td class="enum_member_description">
+<p>Modem requires the PIN code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-CORP-PIN:CAPS"></a>MM_MODEM_LOCK_PH_CORP_PIN</p></td>
+<td class="enum_member_description">
+<p>Modem requires the corporate PIN code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-CORP-PUK:CAPS"></a>MM_MODEM_LOCK_PH_CORP_PUK</p></td>
+<td class="enum_member_description">
+<p>Modem requires the corporate PUK code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-FSIM-PIN:CAPS"></a>MM_MODEM_LOCK_PH_FSIM_PIN</p></td>
+<td class="enum_member_description">
+<p>Modem requires the PH-FSIM PIN code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-FSIM-PUK:CAPS"></a>MM_MODEM_LOCK_PH_FSIM_PUK</p></td>
+<td class="enum_member_description">
+<p>Modem requires the PH-FSIM PUK code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-NETSUB-PIN:CAPS"></a>MM_MODEM_LOCK_PH_NETSUB_PIN</p></td>
+<td class="enum_member_description">
+<p>Modem requires the network subset PIN code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-LOCK-PH-NETSUB-PUK:CAPS"></a>MM_MODEM_LOCK_PH_NETSUB_PUK</p></td>
+<td class="enum_member_description">
+<p>Modem requires the network subset PUK code.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemMode"></a><h3>enum MMModemMode</h3>
+<p>Bitfield to indicate which access modes are supported, allowed or
+preferred in a given device.</p>
+<div class="refsect3">
+<a name="MMModemMode.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-MODE-NONE:CAPS"></a>MM_MODEM_MODE_NONE</p></td>
+<td class="enum_member_description">
+<p>None.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-MODE-CS:CAPS"></a>MM_MODEM_MODE_CS</p></td>
+<td class="enum_member_description">
+<p>CSD, GSM, and other circuit-switched technologies.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-MODE-2G:CAPS"></a>MM_MODEM_MODE_2G</p></td>
+<td class="enum_member_description">
+<p>GPRS, EDGE.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-MODE-3G:CAPS"></a>MM_MODEM_MODE_3G</p></td>
+<td class="enum_member_description">
+<p>UMTS, HSxPA.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-MODE-4G:CAPS"></a>MM_MODEM_MODE_4G</p></td>
+<td class="enum_member_description">
+<p>LTE.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-MODE-ANY:CAPS"></a>MM_MODEM_MODE_ANY</p></td>
+<td class="enum_member_description">
+<p>Any mode can be used (only this value allowed for POTS modems).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemState"></a><h3>enum MMModemState</h3>
+<p>Enumeration of possible modem states.</p>
+<div class="refsect3">
+<a name="MMModemState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-FAILED:CAPS"></a>MM_MODEM_STATE_FAILED</p></td>
+<td class="enum_member_description">
+<p>The modem is unusable.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-UNKNOWN:CAPS"></a>MM_MODEM_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>State unknown or not reportable.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-INITIALIZING:CAPS"></a>MM_MODEM_STATE_INITIALIZING</p></td>
+<td class="enum_member_description">
+<p>The modem is currently being initialized.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-LOCKED:CAPS"></a>MM_MODEM_STATE_LOCKED</p></td>
+<td class="enum_member_description">
+<p>The modem needs to be unlocked.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-DISABLED:CAPS"></a>MM_MODEM_STATE_DISABLED</p></td>
+<td class="enum_member_description">
+<p>The modem is not enabled and is powered down.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-DISABLING:CAPS"></a>MM_MODEM_STATE_DISABLING</p></td>
+<td class="enum_member_description">
+<p>The modem is currently transitioning to the <em class="parameter"><code>MM_MODEM_STATE_DISABLED</code></em>
+ state.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-ENABLING:CAPS"></a>MM_MODEM_STATE_ENABLING</p></td>
+<td class="enum_member_description">
+<p>The modem is currently transitioning to the <em class="parameter"><code>MM_MODEM_STATE_ENABLED</code></em>
+ state.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-ENABLED:CAPS"></a>MM_MODEM_STATE_ENABLED</p></td>
+<td class="enum_member_description">
+<p>The modem is enabled and powered on but not registered with a network provider and not available for data connections.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-SEARCHING:CAPS"></a>MM_MODEM_STATE_SEARCHING</p></td>
+<td class="enum_member_description">
+<p>The modem is searching for a network provider to register with.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-REGISTERED:CAPS"></a>MM_MODEM_STATE_REGISTERED</p></td>
+<td class="enum_member_description">
+<p>The modem is registered with a network provider, and data connections and messaging may be available for use.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-DISCONNECTING:CAPS"></a>MM_MODEM_STATE_DISCONNECTING</p></td>
+<td class="enum_member_description">
+<p>The modem is disconnecting and deactivating the last active packet data bearer. This state will not be entered if more than one packet data bearer is active and one of the active bearers is deactivated.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-CONNECTING:CAPS"></a>MM_MODEM_STATE_CONNECTING</p></td>
+<td class="enum_member_description">
+<p>The modem is activating and connecting the first packet data bearer. Subsequent bearer activations when another bearer is already active do not cause this state to be entered.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-CONNECTED:CAPS"></a>MM_MODEM_STATE_CONNECTED</p></td>
+<td class="enum_member_description">
+<p>One or more packet data bearers is active and connected.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemStateFailedReason"></a><h3>enum MMModemStateFailedReason</h3>
+<p>Enumeration of possible errors when the modem is in <em class="parameter"><code>MM_MODEM_STATE_FAILED</code></em>
+.</p>
+<div class="refsect3">
+<a name="MMModemStateFailedReason.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-FAILED-REASON-NONE:CAPS"></a>MM_MODEM_STATE_FAILED_REASON_NONE</p></td>
+<td class="enum_member_description">
+<p>No error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-FAILED-REASON-UNKNOWN:CAPS"></a>MM_MODEM_STATE_FAILED_REASON_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-FAILED-REASON-SIM-MISSING:CAPS"></a>MM_MODEM_STATE_FAILED_REASON_SIM_MISSING</p></td>
+<td class="enum_member_description">
+<p>SIM is required but missing.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-FAILED-REASON-SIM-ERROR:CAPS"></a>MM_MODEM_STATE_FAILED_REASON_SIM_ERROR</p></td>
+<td class="enum_member_description">
+<p>SIM is available, but unusable (e.g. permanently locked).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemStateChangeReason"></a><h3>enum MMModemStateChangeReason</h3>
+<p>Enumeration of possible reasons to have changed the modem state.</p>
+<div class="refsect3">
+<a name="MMModemStateChangeReason.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-CHANGE-REASON-UNKNOWN:CAPS"></a>MM_MODEM_STATE_CHANGE_REASON_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Reason unknown or not reportable.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-CHANGE-REASON-USER-REQUESTED:CAPS"></a>MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED</p></td>
+<td class="enum_member_description">
+<p>State change was requested by an interface user.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-CHANGE-REASON-SUSPEND:CAPS"></a>MM_MODEM_STATE_CHANGE_REASON_SUSPEND</p></td>
+<td class="enum_member_description">
+<p>State change was caused by a system suspend.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-STATE-CHANGE-REASON-FAILURE:CAPS"></a>MM_MODEM_STATE_CHANGE_REASON_FAILURE</p></td>
+<td class="enum_member_description">
+<p>State change was caused by an unrecoverable error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemPowerState"></a><h3>enum MMModemPowerState</h3>
+<p>Power state of the modem.</p>
+<div class="refsect3">
+<a name="MMModemPowerState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-POWER-STATE-UNKNOWN:CAPS"></a>MM_MODEM_POWER_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown power state.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-POWER-STATE-OFF:CAPS"></a>MM_MODEM_POWER_STATE_OFF</p></td>
+<td class="enum_member_description">
+<p>Off.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-POWER-STATE-LOW:CAPS"></a>MM_MODEM_POWER_STATE_LOW</p></td>
+<td class="enum_member_description">
+<p>Low-power mode.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-POWER-STATE-ON:CAPS"></a>MM_MODEM_POWER_STATE_ON</p></td>
+<td class="enum_member_description">
+<p>Full power mode.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemPortType"></a><h3>enum MMModemPortType</h3>
+<p>Type of modem port.</p>
+<div class="refsect3">
+<a name="MMModemPortType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-PORT-TYPE-UNKNOWN:CAPS"></a>MM_MODEM_PORT_TYPE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-PORT-TYPE-NET:CAPS"></a>MM_MODEM_PORT_TYPE_NET</p></td>
+<td class="enum_member_description">
+<p>Net port.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-PORT-TYPE-AT:CAPS"></a>MM_MODEM_PORT_TYPE_AT</p></td>
+<td class="enum_member_description">
+<p>AT port.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-PORT-TYPE-QCDM:CAPS"></a>MM_MODEM_PORT_TYPE_QCDM</p></td>
+<td class="enum_member_description">
+<p>QCDM port.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-PORT-TYPE-GPS:CAPS"></a>MM_MODEM_PORT_TYPE_GPS</p></td>
+<td class="enum_member_description">
+<p>GPS port.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-PORT-TYPE-QMI:CAPS"></a>MM_MODEM_PORT_TYPE_QMI</p></td>
+<td class="enum_member_description">
+<p>QMI port.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-PORT-TYPE-MBIM:CAPS"></a>MM_MODEM_PORT_TYPE_MBIM</p></td>
+<td class="enum_member_description">
+<p>MBIM port.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemFirmwareUpdateMethod"></a><h3>enum MMModemFirmwareUpdateMethod</h3>
+<p>Type of firmware update method supported by the module.</p>
+<div class="refsect3">
+<a name="MMModemFirmwareUpdateMethod.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-FIRMWARE-UPDATE-METHOD-NONE:CAPS"></a>MM_MODEM_FIRMWARE_UPDATE_METHOD_NONE</p></td>
+<td class="enum_member_description">
+<p>No method specified.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-FIRMWARE-UPDATE-METHOD-FASTBOOT:CAPS"></a>MM_MODEM_FIRMWARE_UPDATE_METHOD_FASTBOOT</p></td>
+<td class="enum_member_description">
+<p>Device supports fastboot-based update.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-MODEM-FIRMWARE-UPDATE-METHOD-QMI-PDC:CAPS"></a>MM_MODEM_FIRMWARE_UPDATE_METHOD_QMI_PDC</p></td>
+<td class="enum_member_description">
+<p>Device supports QMI PDC based update.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMOmaFeature"></a><h3>enum MMOmaFeature</h3>
+<p>Features that can be enabled or disabled in the OMA device management support.</p>
+<div class="refsect3">
+<a name="MMOmaFeature.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-FEATURE-NONE:CAPS"></a>MM_OMA_FEATURE_NONE</p></td>
+<td class="enum_member_description">
+<p>None.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-FEATURE-DEVICE-PROVISIONING:CAPS"></a>MM_OMA_FEATURE_DEVICE_PROVISIONING</p></td>
+<td class="enum_member_description">
+<p>Device provisioning service.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-FEATURE-PRL-UPDATE:CAPS"></a>MM_OMA_FEATURE_PRL_UPDATE</p></td>
+<td class="enum_member_description">
+<p>PRL update service.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-FEATURE-HANDS-FREE-ACTIVATION:CAPS"></a>MM_OMA_FEATURE_HANDS_FREE_ACTIVATION</p></td>
+<td class="enum_member_description">
+<p>Hands free activation service.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMOmaSessionState"></a><h3>enum MMOmaSessionState</h3>
+<p>State of the OMA device management session.</p>
+<div class="refsect3">
+<a name="MMOmaSessionState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-FAILED:CAPS"></a>MM_OMA_SESSION_STATE_FAILED</p></td>
+<td class="enum_member_description">
+<p>Failed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-UNKNOWN:CAPS"></a>MM_OMA_SESSION_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-STARTED:CAPS"></a>MM_OMA_SESSION_STATE_STARTED</p></td>
+<td class="enum_member_description">
+<p>Started.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-RETRYING:CAPS"></a>MM_OMA_SESSION_STATE_RETRYING</p></td>
+<td class="enum_member_description">
+<p>Retrying.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-CONNECTING:CAPS"></a>MM_OMA_SESSION_STATE_CONNECTING</p></td>
+<td class="enum_member_description">
+<p>Connecting.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-CONNECTED:CAPS"></a>MM_OMA_SESSION_STATE_CONNECTED</p></td>
+<td class="enum_member_description">
+<p>Connected.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-AUTHENTICATED:CAPS"></a>MM_OMA_SESSION_STATE_AUTHENTICATED</p></td>
+<td class="enum_member_description">
+<p>Authenticated.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-MDN-DOWNLOADED:CAPS"></a>MM_OMA_SESSION_STATE_MDN_DOWNLOADED</p></td>
+<td class="enum_member_description">
+<p>MDN downloaded.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-MSID-DOWNLOADED:CAPS"></a>MM_OMA_SESSION_STATE_MSID_DOWNLOADED</p></td>
+<td class="enum_member_description">
+<p>MSID downloaded.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-PRL-DOWNLOADED:CAPS"></a>MM_OMA_SESSION_STATE_PRL_DOWNLOADED</p></td>
+<td class="enum_member_description">
+<p>PRL downloaded.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-MIP-PROFILE-DOWNLOADED:CAPS"></a>MM_OMA_SESSION_STATE_MIP_PROFILE_DOWNLOADED</p></td>
+<td class="enum_member_description">
+<p>MIP profile downloaded.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-COMPLETED:CAPS"></a>MM_OMA_SESSION_STATE_COMPLETED</p></td>
+<td class="enum_member_description">
+<p>Session completed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMOmaSessionStateFailedReason"></a><h3>enum MMOmaSessionStateFailedReason</h3>
+<p>Reason of failure in the OMA device management session.</p>
+<div class="refsect3">
+<a name="MMOmaSessionStateFailedReason.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-FAILED-REASON-UNKNOWN:CAPS"></a>MM_OMA_SESSION_STATE_FAILED_REASON_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>No reason or unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-FAILED-REASON-NETWORK-UNAVAILABLE:CAPS"></a>MM_OMA_SESSION_STATE_FAILED_REASON_NETWORK_UNAVAILABLE</p></td>
+<td class="enum_member_description">
+<p>Network unavailable.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-FAILED-REASON-SERVER-UNAVAILABLE:CAPS"></a>MM_OMA_SESSION_STATE_FAILED_REASON_SERVER_UNAVAILABLE</p></td>
+<td class="enum_member_description">
+<p>Server unavailable.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-FAILED-REASON-AUTHENTICATION-FAILED:CAPS"></a>MM_OMA_SESSION_STATE_FAILED_REASON_AUTHENTICATION_FAILED</p></td>
+<td class="enum_member_description">
+<p>Authentication failed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-FAILED-REASON-MAX-RETRY-EXCEEDED:CAPS"></a>MM_OMA_SESSION_STATE_FAILED_REASON_MAX_RETRY_EXCEEDED</p></td>
+<td class="enum_member_description">
+<p>Maximum retries exceeded.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-STATE-FAILED-REASON-SESSION-CANCELLED:CAPS"></a>MM_OMA_SESSION_STATE_FAILED_REASON_SESSION_CANCELLED</p></td>
+<td class="enum_member_description">
+<p>Session cancelled.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMOmaSessionType"></a><h3>enum MMOmaSessionType</h3>
+<p>Type of OMA device management session.</p>
+<div class="refsect3">
+<a name="MMOmaSessionType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-TYPE-UNKNOWN:CAPS"></a>MM_OMA_SESSION_TYPE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown session type.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-TYPE-CLIENT-INITIATED-DEVICE-CONFIGURE:CAPS"></a>MM_OMA_SESSION_TYPE_CLIENT_INITIATED_DEVICE_CONFIGURE</p></td>
+<td class="enum_member_description">
+<p>Client-initiated device configure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-TYPE-CLIENT-INITIATED-PRL-UPDATE:CAPS"></a>MM_OMA_SESSION_TYPE_CLIENT_INITIATED_PRL_UPDATE</p></td>
+<td class="enum_member_description">
+<p>Client-initiated PRL update.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-TYPE-CLIENT-INITIATED-HANDS-FREE-ACTIVATION:CAPS"></a>MM_OMA_SESSION_TYPE_CLIENT_INITIATED_HANDS_FREE_ACTIVATION</p></td>
+<td class="enum_member_description">
+<p>Client-initiated hands free activation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-TYPE-NETWORK-INITIATED-DEVICE-CONFIGURE:CAPS"></a>MM_OMA_SESSION_TYPE_NETWORK_INITIATED_DEVICE_CONFIGURE</p></td>
+<td class="enum_member_description">
+<p>Network-initiated device configure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-TYPE-NETWORK-INITIATED-PRL-UPDATE:CAPS"></a>MM_OMA_SESSION_TYPE_NETWORK_INITIATED_PRL_UPDATE</p></td>
+<td class="enum_member_description">
+<p>Network-initiated PRL update.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-TYPE-DEVICE-INITIATED-PRL-UPDATE:CAPS"></a>MM_OMA_SESSION_TYPE_DEVICE_INITIATED_PRL_UPDATE</p></td>
+<td class="enum_member_description">
+<p>Device-initiated PRL update.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-OMA-SESSION-TYPE-DEVICE-INITIATED-HANDS-FREE-ACTIVATION:CAPS"></a>MM_OMA_SESSION_TYPE_DEVICE_INITIATED_HANDS_FREE_ACTIVATION</p></td>
+<td class="enum_member_description">
+<p>Device-initiated hands free activation.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSmsPduType"></a><h3>enum MMSmsPduType</h3>
+<p>Type of PDUs used in the SMS.</p>
+<div class="refsect3">
+<a name="MMSmsPduType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-UNKNOWN:CAPS"></a>MM_SMS_PDU_TYPE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown type.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-DELIVER:CAPS"></a>MM_SMS_PDU_TYPE_DELIVER</p></td>
+<td class="enum_member_description">
+<p>3GPP Mobile-Terminated (MT) message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-SUBMIT:CAPS"></a>MM_SMS_PDU_TYPE_SUBMIT</p></td>
+<td class="enum_member_description">
+<p>3GPP Mobile-Originated (MO) message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"></a>MM_SMS_PDU_TYPE_STATUS_REPORT</p></td>
+<td class="enum_member_description">
+<p>3GPP status report (MT).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-CDMA-DELIVER:CAPS"></a>MM_SMS_PDU_TYPE_CDMA_DELIVER</p></td>
+<td class="enum_member_description">
+<p>3GPP2 Mobile-Terminated (MT) message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-CDMA-SUBMIT:CAPS"></a>MM_SMS_PDU_TYPE_CDMA_SUBMIT</p></td>
+<td class="enum_member_description">
+<p>3GPP2 Mobile-Originated (MO) message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-CDMA-CANCELLATION:CAPS"></a>MM_SMS_PDU_TYPE_CDMA_CANCELLATION</p></td>
+<td class="enum_member_description">
+<p>3GPP2 Cancellation (MO) message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-CDMA-DELIVERY-ACKNOWLEDGEMENT:CAPS"></a>MM_SMS_PDU_TYPE_CDMA_DELIVERY_ACKNOWLEDGEMENT</p></td>
+<td class="enum_member_description">
+<p>3GPP2 Delivery Acknowledgement (MT) message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-CDMA-USER-ACKNOWLEDGEMENT:CAPS"></a>MM_SMS_PDU_TYPE_CDMA_USER_ACKNOWLEDGEMENT</p></td>
+<td class="enum_member_description">
+<p>3GPP2 User Acknowledgement (MT or MO) message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-PDU-TYPE-CDMA-READ-ACKNOWLEDGEMENT:CAPS"></a>MM_SMS_PDU_TYPE_CDMA_READ_ACKNOWLEDGEMENT</p></td>
+<td class="enum_member_description">
+<p>3GPP2 Read Acknowledgement (MT or MO) message.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSmsState"></a><h3>enum MMSmsState</h3>
+<p>State of a given SMS.</p>
+<div class="refsect3">
+<a name="MMSmsState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STATE-UNKNOWN:CAPS"></a>MM_SMS_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>State unknown or not reportable.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STATE-STORED:CAPS"></a>MM_SMS_STATE_STORED</p></td>
+<td class="enum_member_description">
+<p>The message has been neither received nor yet sent.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STATE-RECEIVING:CAPS"></a>MM_SMS_STATE_RECEIVING</p></td>
+<td class="enum_member_description">
+<p>The message is being received but is not yet complete.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STATE-RECEIVED:CAPS"></a>MM_SMS_STATE_RECEIVED</p></td>
+<td class="enum_member_description">
+<p>The message has been completely received.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STATE-SENDING:CAPS"></a>MM_SMS_STATE_SENDING</p></td>
+<td class="enum_member_description">
+<p>The message is queued for delivery.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STATE-SENT:CAPS"></a>MM_SMS_STATE_SENT</p></td>
+<td class="enum_member_description">
+<p>The message was successfully sent.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSmsDeliveryState"></a><h3>enum MMSmsDeliveryState</h3>
+<p>Enumeration of known SMS delivery states as defined in 3GPP TS 03.40 and
+3GPP2 N.S0005-O, section 6.5.2.125.</p>
+<p>States out of the known ranges may also be valid (either reserved or SC-specific).</p>
+<div class="refsect3">
+<a name="MMSmsDeliveryState.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-COMPLETED-RECEIVED:CAPS"></a>MM_SMS_DELIVERY_STATE_COMPLETED_RECEIVED</p></td>
+<td class="enum_member_description">
+<p>Delivery completed, message received by the SME.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-COMPLETED-FORWARDED-UNCONFIRMED:CAPS"></a>MM_SMS_DELIVERY_STATE_COMPLETED_FORWARDED_UNCONFIRMED</p></td>
+<td class="enum_member_description">
+<p>Forwarded by the SC to the SME but the SC is unable to confirm delivery.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-COMPLETED-REPLACED-BY-SC:CAPS"></a>MM_SMS_DELIVERY_STATE_COMPLETED_REPLACED_BY_SC</p></td>
+<td class="enum_member_description">
+<p>Message replaced by the SC.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-CONGESTION:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_CONGESTION</p></td>
+<td class="enum_member_description">
+<p>Temporary error, congestion.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-SME-BUSY:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_SME_BUSY</p></td>
+<td class="enum_member_description">
+<p>Temporary error, SME busy.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-NO-RESPONSE-FROM-SME:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_NO_RESPONSE_FROM_SME</p></td>
+<td class="enum_member_description">
+<p>Temporary error, no response from the SME.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-SERVICE-REJECTED:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_SERVICE_REJECTED</p></td>
+<td class="enum_member_description">
+<p>Temporary error, service rejected.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-QOS-NOT-AVAILABLE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_QOS_NOT_AVAILABLE</p></td>
+<td class="enum_member_description">
+<p>Temporary error, QoS not available.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-IN-SME:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_IN_SME</p></td>
+<td class="enum_member_description">
+<p>Temporary error in the SME.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-REMOTE-PROCEDURE:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_REMOTE_PROCEDURE</p></td>
+<td class="enum_member_description">
+<p>Permanent remote procedure error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-INCOMPATIBLE-DESTINATION:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_INCOMPATIBLE_DESTINATION</p></td>
+<td class="enum_member_description">
+<p>Permanent error, incompatible destination.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-CONNECTION-REJECTED:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_CONNECTION_REJECTED</p></td>
+<td class="enum_member_description">
+<p>Permanent error, connection rejected by the SME.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-NOT-OBTAINABLE:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_NOT_OBTAINABLE</p></td>
+<td class="enum_member_description">
+<p>Permanent error, not obtainable.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-QOS-NOT-AVAILABLE:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_QOS_NOT_AVAILABLE</p></td>
+<td class="enum_member_description">
+<p>Permanent error, QoS not available.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-NO-INTERWORKING-AVAILABLE:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_NO_INTERWORKING_AVAILABLE</p></td>
+<td class="enum_member_description">
+<p>Permanent error, no interworking available.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-VALIDITY-PERIOD-EXPIRED:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_VALIDITY_PERIOD_EXPIRED</p></td>
+<td class="enum_member_description">
+<p>Permanent error, message validity period expired.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-DELETED-BY-ORIGINATING-SME:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_DELETED_BY_ORIGINATING_SME</p></td>
+<td class="enum_member_description">
+<p>Permanent error, deleted by originating SME.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-DELETED-BY-SC-ADMINISTRATION:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_DELETED_BY_SC_ADMINISTRATION</p></td>
+<td class="enum_member_description">
+<p>Permanent error, deleted by SC administration.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-ERROR-MESSAGE-DOES-NOT-EXIST:CAPS"></a>MM_SMS_DELIVERY_STATE_ERROR_MESSAGE_DOES_NOT_EXIST</p></td>
+<td class="enum_member_description">
+<p>Permanent error, message does no longer exist.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-CONGESTION:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_CONGESTION</p></td>
+<td class="enum_member_description">
+<p>Permanent error, congestion.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-SME-BUSY:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_SME_BUSY</p></td>
+<td class="enum_member_description">
+<p>Permanent error, SME busy.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-NO-RESPONSE-FROM-SME:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_NO_RESPONSE_FROM_SME</p></td>
+<td class="enum_member_description">
+<p>Permanent error, no response from the SME.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-SERVICE-REJECTED:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_SERVICE_REJECTED</p></td>
+<td class="enum_member_description">
+<p>Permanent error, service rejected.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-QOS-NOT-AVAILABLE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_QOS_NOT_AVAILABLE</p></td>
+<td class="enum_member_description">
+<p>Permanent error, QoS not available.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-IN-SME:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_IN_SME</p></td>
+<td class="enum_member_description">
+<p>Permanent error in SME.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-UNKNOWN:CAPS"></a>MM_SMS_DELIVERY_STATE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown state.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-ADDRESS-VACANT:CAPS"></a>MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_ADDRESS_VACANT</p></td>
+<td class="enum_member_description">
+<p>Permanent error in network, address vacant.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-ADDRESS-TRANSLATION-FAILURE:CAPS"></a>MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_ADDRESS_TRANSLATION_FAILURE</p></td>
+<td class="enum_member_description">
+<p>Permanent error in network, address translation failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-NETWORK-RESOURCE-OUTAGE:CAPS"></a>MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_NETWORK_RESOURCE_OUTAGE</p></td>
+<td class="enum_member_description">
+<p>Permanent error in network, network resource outage.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-NETWORK-FAILURE:CAPS"></a>MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_NETWORK_FAILURE</p></td>
+<td class="enum_member_description">
+<p>Permanent error in network, network failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-INVALID-TELESERVICE-ID:CAPS"></a>MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_INVALID_TELESERVICE_ID</p></td>
+<td class="enum_member_description">
+<p>Permanent error in network, invalid teleservice id.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-OTHER:CAPS"></a>MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_OTHER</p></td>
+<td class="enum_member_description">
+<p>Permanent error, other network problem.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-NO-PAGE-RESPONSE:CAPS"></a>MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_NO_PAGE_RESPONSE</p></td>
+<td class="enum_member_description">
+<p>Permanent error in terminal, no page response.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-DESTINATION-BUSY:CAPS"></a>MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_DESTINATION_BUSY</p></td>
+<td class="enum_member_description">
+<p>Permanent error in terminal, destination busy.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-NO-ACKNOWLEDGMENT:CAPS"></a>MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_NO_ACKNOWLEDGMENT</p></td>
+<td class="enum_member_description">
+<p>Permanent error in terminal, no acknowledgement.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-DESTINATION-RESOURCE-SHORTAGE:CAPS"></a>MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_DESTINATION_RESOURCE_SHORTAGE</p></td>
+<td class="enum_member_description">
+<p>Permanent error in terminal, destination resource shortage.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-SMS-DELIVERY-POSTPONED:CAPS"></a>MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_SMS_DELIVERY_POSTPONED</p></td>
+<td class="enum_member_description">
+<p>Permanent error in terminal, SMS delivery postponed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-DESTINATION-OUT-OF-SERVICE:CAPS"></a>MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_DESTINATION_OUT_OF_SERVICE</p></td>
+<td class="enum_member_description">
+<p>Permanent error in terminal, destination out of service.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-DESTINATION-NO-LONGER-AT-THIS-ADDRESS:CAPS"></a>MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_DESTINATION_NO_LONGER_AT_THIS_ADDRESS</p></td>
+<td class="enum_member_description">
+<p>Permanent error in terminal, destination no longer at this address.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-OTHER:CAPS"></a>MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_OTHER</p></td>
+<td class="enum_member_description">
+<p>Permanent error, other terminal problem.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-RADIO-INTERFACE-PROBLEM-RESOURCE-SHORTAGE:CAPS"></a>MM_SMS_DELIVERY_STATE_RADIO_INTERFACE_PROBLEM_RESOURCE_SHORTAGE</p></td>
+<td class="enum_member_description">
+<p>Permanent error in radio interface, resource shortage.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-RADIO-INTERFACE-PROBLEM-INCOMPATIBILITY:CAPS"></a>MM_SMS_DELIVERY_STATE_RADIO_INTERFACE_PROBLEM_INCOMPATIBILITY</p></td>
+<td class="enum_member_description">
+<p>Permanent error in radio interface, problem incompatibility.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-RADIO-INTERFACE-PROBLEM-OTHER:CAPS"></a>MM_SMS_DELIVERY_STATE_RADIO_INTERFACE_PROBLEM_OTHER</p></td>
+<td class="enum_member_description">
+<p>Permanent error, other radio interface problem.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-ENCODING:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_ENCODING</p></td>
+<td class="enum_member_description">
+<p>Permanent error, encoding.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-SMS-ORIGINATION-DENIED:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_SMS_ORIGINATION_DENIED</p></td>
+<td class="enum_member_description">
+<p>Permanent error, SMS origination denied.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-SMS-TERMINATION-DENIED:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_SMS_TERMINATION_DENIED</p></td>
+<td class="enum_member_description">
+<p>Permanent error, SMS termination denied.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-SUPPLEMENTARY-SERVICE-NOT-SUPPORTED:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_SUPPLEMENTARY_SERVICE_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Permanent error, supplementary service not supported.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-SMS-NOT-SUPPORTED:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_SMS_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Permanent error, SMS not supported.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-MISSING-EXPECTED-PARAMETER:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_MISSING_EXPECTED_PARAMETER</p></td>
+<td class="enum_member_description">
+<p>Permanent error, missing expected parameter.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-MISSING-MANDATORY-PARAMETER:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_MISSING_MANDATORY_PARAMETER</p></td>
+<td class="enum_member_description">
+<p>Permanent error, missing mandatory parameter.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-UNRECOGNIZED-PARAMETER-VALUE:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_UNRECOGNIZED_PARAMETER_VALUE</p></td>
+<td class="enum_member_description">
+<p>Permanent error, unrecognized parameter value.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-UNEXPECTED-PARAMETER-VALUE:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_UNEXPECTED_PARAMETER_VALUE</p></td>
+<td class="enum_member_description">
+<p>Permanent error, unexpected parameter value.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-USER-DATA-SIZE-ERROR:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_USER_DATA_SIZE_ERROR</p></td>
+<td class="enum_member_description">
+<p>Permanent error, user data size error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-OTHER:CAPS"></a>MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_OTHER</p></td>
+<td class="enum_member_description">
+<p>Permanent error, other general problem.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-ADDRESS-VACANT:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_ADDRESS_VACANT</p></td>
+<td class="enum_member_description">
+<p>Temporary error in network, address vacant.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-ADDRESS-TRANSLATION-FAILURE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_ADDRESS_TRANSLATION_FAILURE</p></td>
+<td class="enum_member_description">
+<p>Temporary error in network, address translation failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-NETWORK-RESOURCE-OUTAGE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_NETWORK_RESOURCE_OUTAGE</p></td>
+<td class="enum_member_description">
+<p>Temporary error in network, network resource outage.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-NETWORK-FAILURE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_NETWORK_FAILURE</p></td>
+<td class="enum_member_description">
+<p>Temporary error in network, network failure.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-INVALID-TELESERVICE-ID:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_INVALID_TELESERVICE_ID</p></td>
+<td class="enum_member_description">
+<p>Temporary error in network, invalid teleservice id.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-OTHER:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_OTHER</p></td>
+<td class="enum_member_description">
+<p>Temporary error, other network problem.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-NO-PAGE-RESPONSE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_NO_PAGE_RESPONSE</p></td>
+<td class="enum_member_description">
+<p>Temporary error in terminal, no page response.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-DESTINATION-BUSY:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_DESTINATION_BUSY</p></td>
+<td class="enum_member_description">
+<p>Temporary error in terminal, destination busy.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-NO-ACKNOWLEDGMENT:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_NO_ACKNOWLEDGMENT</p></td>
+<td class="enum_member_description">
+<p>Temporary error in terminal, no acknowledgement.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-DESTINATION-RESOURCE-SHORTAGE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_DESTINATION_RESOURCE_SHORTAGE</p></td>
+<td class="enum_member_description">
+<p>Temporary error in terminal, destination resource shortage.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-SMS-DELIVERY-POSTPONED:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_SMS_DELIVERY_POSTPONED</p></td>
+<td class="enum_member_description">
+<p>Temporary error in terminal, SMS delivery postponed.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-DESTINATION-OUT-OF-SERVICE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_DESTINATION_OUT_OF_SERVICE</p></td>
+<td class="enum_member_description">
+<p>Temporary error in terminal, destination out of service.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-DESTINATION-NO-LONGER-AT-THIS-ADDRESS:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_DESTINATION_NO_LONGER_AT_THIS_ADDRESS</p></td>
+<td class="enum_member_description">
+<p>Temporary error in terminal, destination no longer at this address.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-OTHER:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_OTHER</p></td>
+<td class="enum_member_description">
+<p>Temporary error, other terminal problem.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-RADIO-INTERFACE-PROBLEM-RESOURCE-SHORTAGE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_RADIO_INTERFACE_PROBLEM_RESOURCE_SHORTAGE</p></td>
+<td class="enum_member_description">
+<p>Temporary error in radio interface, resource shortage.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-RADIO-INTERFACE-PROBLEM-INCOMPATIBILITY:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_RADIO_INTERFACE_PROBLEM_INCOMPATIBILITY</p></td>
+<td class="enum_member_description">
+<p>Temporary error in radio interface, problem incompatibility.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-RADIO-INTERFACE-PROBLEM-OTHER:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_RADIO_INTERFACE_PROBLEM_OTHER</p></td>
+<td class="enum_member_description">
+<p>Temporary error, other radio interface problem.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-ENCODING:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_ENCODING</p></td>
+<td class="enum_member_description">
+<p>Temporary error, encoding.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-SMS-ORIGINATION-DENIED:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_SMS_ORIGINATION_DENIED</p></td>
+<td class="enum_member_description">
+<p>Temporary error, SMS origination denied.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-SMS-TERMINATION-DENIED:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_SMS_TERMINATION_DENIED</p></td>
+<td class="enum_member_description">
+<p>Temporary error, SMS termination denied.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-SUPPLEMENTARY-SERVICE-NOT-SUPPORTED:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_SUPPLEMENTARY_SERVICE_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Temporary error, supplementary service not supported.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-SMS-NOT-SUPPORTED:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_SMS_NOT_SUPPORTED</p></td>
+<td class="enum_member_description">
+<p>Temporary error, SMS not supported.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-MISSING-EXPECTED-PARAMETER:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_MISSING_EXPECTED_PARAMETER</p></td>
+<td class="enum_member_description">
+<p>Temporary error, missing expected parameter.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-MISSING-MANDATORY-PARAMETER:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_MISSING_MANDATORY_PARAMETER</p></td>
+<td class="enum_member_description">
+<p>Temporary error, missing mandatory parameter.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-UNRECOGNIZED-PARAMETER-VALUE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_UNRECOGNIZED_PARAMETER_VALUE</p></td>
+<td class="enum_member_description">
+<p>Temporary error, unrecognized parameter value.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-UNEXPECTED-PARAMETER-VALUE:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_UNEXPECTED_PARAMETER_VALUE</p></td>
+<td class="enum_member_description">
+<p>Temporary error, unexpected parameter value.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-USER-DATA-SIZE-ERROR:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_USER_DATA_SIZE_ERROR</p></td>
+<td class="enum_member_description">
+<p>Temporary error, user data size error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-OTHER:CAPS"></a>MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_OTHER</p></td>
+<td class="enum_member_description">
+<p>Temporary error, other general problem.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSmsStorage"></a><h3>enum MMSmsStorage</h3>
+<p>Storage for SMS messages.</p>
+<div class="refsect3">
+<a name="MMSmsStorage.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STORAGE-UNKNOWN:CAPS"></a>MM_SMS_STORAGE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Storage unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STORAGE-SM:CAPS"></a>MM_SMS_STORAGE_SM</p></td>
+<td class="enum_member_description">
+<p>SIM card storage area.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STORAGE-ME:CAPS"></a>MM_SMS_STORAGE_ME</p></td>
+<td class="enum_member_description">
+<p>Mobile equipment storage area.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STORAGE-MT:CAPS"></a>MM_SMS_STORAGE_MT</p></td>
+<td class="enum_member_description">
+<p>Sum of SIM and Mobile equipment storages</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STORAGE-SR:CAPS"></a>MM_SMS_STORAGE_SR</p></td>
+<td class="enum_member_description">
+<p>Status report message storage area.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STORAGE-BM:CAPS"></a>MM_SMS_STORAGE_BM</p></td>
+<td class="enum_member_description">
+<p>Broadcast message storage area.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-STORAGE-TA:CAPS"></a>MM_SMS_STORAGE_TA</p></td>
+<td class="enum_member_description">
+<p>Terminal adaptor message storage area.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSmsValidityType"></a><h3>enum MMSmsValidityType</h3>
+<p>Type of SMS validity value.</p>
+<div class="refsect3">
+<a name="MMSmsValidityType.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-VALIDITY-TYPE-UNKNOWN:CAPS"></a>MM_SMS_VALIDITY_TYPE_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Validity type unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-VALIDITY-TYPE-RELATIVE:CAPS"></a>MM_SMS_VALIDITY_TYPE_RELATIVE</p></td>
+<td class="enum_member_description">
+<p>Relative validity.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-VALIDITY-TYPE-ABSOLUTE:CAPS"></a>MM_SMS_VALIDITY_TYPE_ABSOLUTE</p></td>
+<td class="enum_member_description">
+<p>Absolute validity.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-VALIDITY-TYPE-ENHANCED:CAPS"></a>MM_SMS_VALIDITY_TYPE_ENHANCED</p></td>
+<td class="enum_member_description">
+<p>Enhanced validity.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSmsCdmaTeleserviceId"></a><h3>enum MMSmsCdmaTeleserviceId</h3>
+<p>Teleservice IDs supported for CDMA SMS, as defined in 3GPP2 X.S0004-550-E
+(section 2.256) and 3GPP2 C.S0015-B (section 3.4.3.1).</p>
+<div class="refsect3">
+<a name="MMSmsCdmaTeleserviceId.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-TELESERVICE-ID-UNKNOWN:CAPS"></a>MM_SMS_CDMA_TELESERVICE_ID_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-TELESERVICE-ID-CMT91:CAPS"></a>MM_SMS_CDMA_TELESERVICE_ID_CMT91</p></td>
+<td class="enum_member_description">
+<p>IS-91 Extended Protocol Enhanced Services.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-TELESERVICE-ID-WPT:CAPS"></a>MM_SMS_CDMA_TELESERVICE_ID_WPT</p></td>
+<td class="enum_member_description">
+<p>Wireless Paging Teleservice.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-TELESERVICE-ID-WMT:CAPS"></a>MM_SMS_CDMA_TELESERVICE_ID_WMT</p></td>
+<td class="enum_member_description">
+<p>Wireless Messaging Teleservice.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-TELESERVICE-ID-VMN:CAPS"></a>MM_SMS_CDMA_TELESERVICE_ID_VMN</p></td>
+<td class="enum_member_description">
+<p>Voice Mail Notification.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-TELESERVICE-ID-WAP:CAPS"></a>MM_SMS_CDMA_TELESERVICE_ID_WAP</p></td>
+<td class="enum_member_description">
+<p>Wireless Application Protocol.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-TELESERVICE-ID-WEMT:CAPS"></a>MM_SMS_CDMA_TELESERVICE_ID_WEMT</p></td>
+<td class="enum_member_description">
+<p>Wireless Enhanced Messaging Teleservice.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-TELESERVICE-ID-SCPT:CAPS"></a>MM_SMS_CDMA_TELESERVICE_ID_SCPT</p></td>
+<td class="enum_member_description">
+<p>Service Category Programming Teleservice.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-TELESERVICE-ID-CATPT:CAPS"></a>MM_SMS_CDMA_TELESERVICE_ID_CATPT</p></td>
+<td class="enum_member_description">
+<p>Card Application Toolkit Protocol Teleservice.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSmsCdmaServiceCategory"></a><h3>enum MMSmsCdmaServiceCategory</h3>
+<p>Service category for CDMA SMS, as defined in 3GPP2 C.R1001-D (section 9.3).</p>
+<div class="refsect3">
+<a name="MMSmsCdmaServiceCategory.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="enum_members_name">
+<col class="enum_members_description">
+<col width="200px" class="enum_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-UNKNOWN:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-EMERGENCY-BROADCAST:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_EMERGENCY_BROADCAST</p></td>
+<td class="enum_member_description">
+<p>Emergency broadcast.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-ADMINISTRATIVE:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_ADMINISTRATIVE</p></td>
+<td class="enum_member_description">
+<p>Administrative.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-MAINTENANCE:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_MAINTENANCE</p></td>
+<td class="enum_member_description">
+<p>Maintenance.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-GENERAL-NEWS-LOCAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_LOCAL</p></td>
+<td class="enum_member_description">
+<p>General news (local).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-GENERAL-NEWS-REGIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_REGIONAL</p></td>
+<td class="enum_member_description">
+<p>General news (regional).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-GENERAL-NEWS-NATIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_NATIONAL</p></td>
+<td class="enum_member_description">
+<p>General news (national).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-GENERAL-NEWS-INTERNATIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_INTERNATIONAL</p></td>
+<td class="enum_member_description">
+<p>General news (international).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-BUSINESS-NEWS-LOCAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_LOCAL</p></td>
+<td class="enum_member_description">
+<p>Business/Financial news (local).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-BUSINESS-NEWS-REGIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_REGIONAL</p></td>
+<td class="enum_member_description">
+<p>Business/Financial news (regional).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-BUSINESS-NEWS-NATIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_NATIONAL</p></td>
+<td class="enum_member_description">
+<p>Business/Financial news (national).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-BUSINESS-NEWS-INTERNATIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_INTERNATIONAL</p></td>
+<td class="enum_member_description">
+<p>Business/Financial news (international).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-SPORTS-NEWS-LOCAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_LOCAL</p></td>
+<td class="enum_member_description">
+<p>Sports news (local).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-SPORTS-NEWS-REGIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_REGIONAL</p></td>
+<td class="enum_member_description">
+<p>Sports news (regional).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-SPORTS-NEWS-NATIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_NATIONAL</p></td>
+<td class="enum_member_description">
+<p>Sports news (national).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-SPORTS-NEWS-INTERNATIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_INTERNATIONAL</p></td>
+<td class="enum_member_description">
+<p>Sports news (international).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-ENTERTAINMENT-NEWS-LOCAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_LOCAL</p></td>
+<td class="enum_member_description">
+<p>Entertainment news (local).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-ENTERTAINMENT-NEWS-REGIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_REGIONAL</p></td>
+<td class="enum_member_description">
+<p>Entertainment news (regional).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-ENTERTAINMENT-NEWS-NATIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_NATIONAL</p></td>
+<td class="enum_member_description">
+<p>Entertainment news (national).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-ENTERTAINMENT-NEWS-INTERNATIONAL:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_INTERNATIONAL</p></td>
+<td class="enum_member_description">
+<p>Entertainment news (international).</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-LOCAL-WEATHER:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_LOCAL_WEATHER</p></td>
+<td class="enum_member_description">
+<p>Local weather.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-TRAFFIC-REPORT:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_TRAFFIC_REPORT</p></td>
+<td class="enum_member_description">
+<p>Area traffic report.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-FLIGHT-SCHEDULES:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_FLIGHT_SCHEDULES</p></td>
+<td class="enum_member_description">
+<p>Local airport flight schedules.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-RESTAURANTS:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_RESTAURANTS</p></td>
+<td class="enum_member_description">
+<p>Restaurants.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-LODGINGS:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_LODGINGS</p></td>
+<td class="enum_member_description">
+<p>Lodgings.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-RETAIL-DIRECTORY:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_RETAIL_DIRECTORY</p></td>
+<td class="enum_member_description">
+<p>Retail directory.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-ADVERTISEMENTS:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_ADVERTISEMENTS</p></td>
+<td class="enum_member_description">
+<p>Advertisements.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-STOCK-QUOTES:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_STOCK_QUOTES</p></td>
+<td class="enum_member_description">
+<p>Stock quotes.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-EMPLOYMENT:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_EMPLOYMENT</p></td>
+<td class="enum_member_description">
+<p>Employment.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-HOSPITALS:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_HOSPITALS</p></td>
+<td class="enum_member_description">
+<p>Medical / Health / Hospitals.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-TECHNOLOGY-NEWS:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_TECHNOLOGY_NEWS</p></td>
+<td class="enum_member_description">
+<p>Technology news.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-MULTICATEGORY:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_MULTICATEGORY</p></td>
+<td class="enum_member_description">
+<p>Multi-category.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-PRESIDENTIAL-ALERT:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_PRESIDENTIAL_ALERT</p></td>
+<td class="enum_member_description">
+<p>Presidential alert.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-EXTREME-THREAT:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_EXTREME_THREAT</p></td>
+<td class="enum_member_description">
+<p>Extreme threat.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-SEVERE-THREAT:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_SEVERE_THREAT</p></td>
+<td class="enum_member_description">
+<p>Severe threat.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-CHILD-ABDUCTION-EMERGENCY:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY</p></td>
+<td class="enum_member_description">
+<p>Child abduction emergency.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-TEST:CAPS"></a>MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_TEST</p></td>
+<td class="enum_member_description">
+<p>CMAS test.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ModemManager-Version-checks.html b/docs/reference/api/html/ModemManager-Version-checks.html
new file mode 100644
index 00000000..585d74e4
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-Version-checks.html
@@ -0,0 +1,145 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Version checks: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-common-types.html" title="Part II. Common types and definitions">
+<link rel="prev" href="ref-common-types.html" title="Part II. Common types and definitions">
+<link rel="next" href="ModemManager-Flags-and-Enumerations.html" title="Flags and Enumerations">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#ModemManager-Version-checks.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-common-types.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-common-types.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ModemManager-Flags-and-Enumerations.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="ModemManager-Version-checks"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="ModemManager-Version-checks.top_of_page"></a>Version checks</span></h2>
+<p>Version checks — Version information in the API.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="ModemManager-Version-checks.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="ModemManager-Version-checks.html#MM-CHECK-VERSION:CAPS" title="MM_CHECK_VERSION()">MM_CHECK_VERSION</a><span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Version-checks.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Version-checks.html#MM-MAJOR-VERSION:CAPS" title="MM_MAJOR_VERSION">MM_MAJOR_VERSION</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Version-checks.html#MM-MINOR-VERSION:CAPS" title="MM_MINOR_VERSION">MM_MINOR_VERSION</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="ModemManager-Version-checks.html#MM-MICRO-VERSION:CAPS" title="MM_MICRO_VERSION">MM_MICRO_VERSION</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Version-checks.description"></a><h2>Description</h2>
+<p>This section defines types that are used to identify the ModemManager version.</p>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Version-checks.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="MM-CHECK-VERSION:CAPS"></a><h3>MM_CHECK_VERSION()</h3>
+<pre class="programlisting">#define MM_CHECK_VERSION(major,minor,micro)</pre>
+<div class="refsect3">
+<a name="MM-CHECK-VERSION.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>major</p></td>
+<td class="parameter_description"><p>major version (e.g. 1 for version 1.2.5)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>minor</p></td>
+<td class="parameter_description"><p>minor version (e.g. 2 for version 1.2.5)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>micro</p></td>
+<td class="parameter_description"><p>micro version (e.g. 5 for version 1.2.5)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MM-CHECK-VERSION.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the version of the ModemManager header files
+is the same as or newer than the passed-in version.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="ModemManager-Version-checks.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MM-MAJOR-VERSION:CAPS"></a><h3>MM_MAJOR_VERSION</h3>
+<pre class="programlisting">#define MM_MAJOR_VERSION (1)
+</pre>
+<p>Evaluates to the major version number of ModemManager which this source
+is compiled against.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MINOR-VERSION:CAPS"></a><h3>MM_MINOR_VERSION</h3>
+<pre class="programlisting">#define MM_MINOR_VERSION (10)
+</pre>
+<p>Evaluates to the minor version number of ModemManager which this source
+is compiled against.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MICRO-VERSION:CAPS"></a><h3>MM_MICRO_VERSION</h3>
+<pre class="programlisting">#define MM_MICRO_VERSION (0)
+</pre>
+<p>Evaluates to the micro version number of ModemManager which this source
+compiled against.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ModemManager-interface-initialization-sequence-subclassed.png b/docs/reference/api/html/ModemManager-interface-initialization-sequence-subclassed.png
new file mode 100644
index 00000000..7202f8dd
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-interface-initialization-sequence-subclassed.png
Binary files differ
diff --git a/docs/reference/api/html/ModemManager-interface-initialization-sequence.png b/docs/reference/api/html/ModemManager-interface-initialization-sequence.png
new file mode 100644
index 00000000..f31898ce
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-interface-initialization-sequence.png
Binary files differ
diff --git a/docs/reference/api/html/ModemManager-logo-square.png b/docs/reference/api/html/ModemManager-logo-square.png
new file mode 100644
index 00000000..6dcb8e21
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-logo-square.png
Binary files differ
diff --git a/docs/reference/api/html/ModemManager-logo-wide-text.png b/docs/reference/api/html/ModemManager-logo-wide-text.png
new file mode 100644
index 00000000..122fd8a1
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-logo-wide-text.png
Binary files differ
diff --git a/docs/reference/api/html/ModemManager-logo-wide.png b/docs/reference/api/html/ModemManager-logo-wide.png
new file mode 100644
index 00000000..88e3e51b
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-logo-wide.png
Binary files differ
diff --git a/docs/reference/api/html/ModemManager-states.png b/docs/reference/api/html/ModemManager-states.png
new file mode 100644
index 00000000..de42aaaa
--- /dev/null
+++ b/docs/reference/api/html/ModemManager-states.png
Binary files differ
diff --git a/docs/reference/api/html/ModemManager.devhelp2 b/docs/reference/api/html/ModemManager.devhelp2
new file mode 100644
index 00000000..66535228
--- /dev/null
+++ b/docs/reference/api/html/ModemManager.devhelp2
@@ -0,0 +1,1039 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<book xmlns="http://www.devhelp.net/book" title="ModemManager Reference Manual" link="index.html" author="Dan WilliamsAleksander Morgado" name="ModemManager" version="2" language="c">
+ <chapters>
+ <sub name="ModemManager Overview" link="ref-overview.html">
+ <sub name="Introduction" link="ref-overview-introduction.html"/>
+ <sub name="Modem detection" link="ref-overview-modem-detection.html">
+ <sub name="Builds with udev support" link="ref-overview-modem-detection.html#id-1.2.3.2"/>
+ <sub name="Builds without udev support" link="ch02s02.html"/>
+ </sub>
+ <sub name="Modem filter" link="ref-overview-modem-filter.html">
+ <sub name="Filter rules" link="ref-overview-modem-filter.html#id-1.2.4.4"/>
+ <sub name="Filter policies" link="ch03s02.html"/>
+ </sub>
+ <sub name="Port probing" link="ref-overview-modem-port-probing.html">
+ <sub name="Pre-probing filters" link="ref-overview-modem-port-probing.html#id-1.2.5.4"/>
+ <sub name="Probing sequence" link="ch04s02.html"/>
+ <sub name="Post-probing filters" link="ch04s03.html"/>
+ <sub name="Probing setup examples" link="ch04s04.html"/>
+ </sub>
+ <sub name="Modem object creation" link="ref-overview-modem-object-creation.html"/>
+ <sub name="Modem state machine" link="ref-overview-modem-state-machine.html">
+ <sub name="Initialization" link="ref-overview-modem-state-machine.html#id-1.2.7.5"/>
+ <sub name="Enabling" link="ch06s02.html"/>
+ <sub name="Connection &amp; disconnection" link="ch06s03.html"/>
+ <sub name="Disabling" link="ch06s04.html"/>
+ </sub>
+ <sub name="Plugin-specific Modems" link="ref-overview-plugin-specific-modems.html"/>
+ </sub>
+ <sub name="Common types and definitions" link="ref-common-types.html">
+ <sub name="Version checks" link="ModemManager-Version-checks.html"/>
+ <sub name="Flags and Enumerations" link="ModemManager-Flags-and-Enumerations.html"/>
+ <sub name="Errors" link="ModemManager-Errors.html"/>
+ </sub>
+ <sub name="Common udev tag definitions" link="ref-udev.html">
+ <sub name="Common udev tags" link="ModemManager-Common-udev-tags.html"/>
+ </sub>
+ <sub name="D-Bus Reference" link="ref-dbus.html">
+ <sub name="The org.freedesktop.ModemManager1 bus name" link="ref-dbus-bus-name.html"/>
+ <sub name="Standard interfaces" link="ref-dbus-standard-interfaces.html">
+ <sub name="org.freedesktop.DBus.Properties" link="ref-dbus-standard-interfaces.html#ref-dbus-standard-interfaces-properties"/>
+ <sub name="org.freedesktop.DBus.Introspectable" link="ref-dbus-standard-interfaces-introspectables.html"/>
+ <sub name="org.freedesktop.DBus.ObjectManager" link="ref-dbus-standard-interfaces-objectmanager.html"/>
+ </sub>
+ <sub name="The /org/freedesktop/ModemManager1 object" link="ref-dbus-object-manager.html">
+ <sub name="org.freedesktop.ModemManager1" link="gdbus-org.freedesktop.ModemManager1.html"/>
+ </sub>
+ <sub name="The /org/freedesktop/ModemManager/Modems objects" link="ref-dbus-object-modem.html">
+ <sub name="org.freedesktop.ModemManager1.Modem" link="gdbus-org.freedesktop.ModemManager1.Modem.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Simple" link="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Modem3gpp" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.ModemCdma" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Messaging" link="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Location" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Time" link="gdbus-org.freedesktop.ModemManager1.Modem.Time.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Voice" link="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Firmware" link="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Signal" link="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html"/>
+ <sub name="org.freedesktop.ModemManager1.Modem.Oma" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html"/>
+ </sub>
+ <sub name="The /org/freedesktop/ModemManager/Bearers objects" link="ref-dbus-object-bearer.html">
+ <sub name="org.freedesktop.ModemManager1.Bearer" link="gdbus-org.freedesktop.ModemManager1.Bearer.html"/>
+ </sub>
+ <sub name="The /org/freedesktop/ModemManager/SIMs objects" link="ref-dbus-object-sim.html">
+ <sub name="org.freedesktop.ModemManager1.Sim" link="gdbus-org.freedesktop.ModemManager1.Sim.html"/>
+ </sub>
+ <sub name="The /org/freedesktop/ModemManager/SMSs objects" link="ref-dbus-object-sms.html">
+ <sub name="org.freedesktop.ModemManager1.Sms" link="gdbus-org.freedesktop.ModemManager1.Sms.html"/>
+ </sub>
+ <sub name="The /org/freedesktop/ModemManager/Calls objects" link="ref-dbus-object-call.html">
+ <sub name="org.freedesktop.ModemManager1.Call" link="gdbus-org.freedesktop.ModemManager1.Call.html"/>
+ </sub>
+ </sub>
+ <sub name="Migrating from ModemManager 0.6 to ModemManager 1.0" link="ref-migrating.html">
+ <sub name="" link="ch16.html">
+ <sub name="Listing available modems" link="ch16.html#id-1.6.3.1"/>
+ <sub name="PIN unlocking" link="ch16s02.html"/>
+ <sub name="Connection and disconnection" link="ch16s03.html"/>
+ <sub name="Simple connection" link="ch16s04.html"/>
+ </sub>
+ </sub>
+ <sub name="Compatibility with older versions" link="ref-compat.html">
+ <sub name="API break replacements" link="ModemManager-API-break-replacements.html"/>
+ </sub>
+ <sub name="Index" link="ix01.html"/>
+ </chapters>
+ <functions>
+ <keyword type="macro" name="MM_CHECK_VERSION()" link="ModemManager-Version-checks.html#MM-CHECK-VERSION:CAPS"/>
+ <keyword type="macro" name="MM_MAJOR_VERSION" link="ModemManager-Version-checks.html#MM-MAJOR-VERSION:CAPS"/>
+ <keyword type="macro" name="MM_MINOR_VERSION" link="ModemManager-Version-checks.html#MM-MINOR-VERSION:CAPS"/>
+ <keyword type="macro" name="MM_MICRO_VERSION" link="ModemManager-Version-checks.html#MM-MICRO-VERSION:CAPS"/>
+ <keyword type="enum" name="enum MMBearerType" link="ModemManager-Flags-and-Enumerations.html#MMBearerType"/>
+ <keyword type="enum" name="enum MMBearerIpFamily" link="ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"/>
+ <keyword type="enum" name="enum MMBearerIpMethod" link="ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod"/>
+ <keyword type="enum" name="enum MMBearerAllowedAuth" link="ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"/>
+ <keyword type="enum" name="enum MMCallDirection" link="ModemManager-Flags-and-Enumerations.html#MMCallDirection"/>
+ <keyword type="enum" name="enum MMCallState" link="ModemManager-Flags-and-Enumerations.html#MMCallState"/>
+ <keyword type="enum" name="enum MMCallStateReason" link="ModemManager-Flags-and-Enumerations.html#MMCallStateReason"/>
+ <keyword type="enum" name="enum MMFirmwareImageType" link="ModemManager-Flags-and-Enumerations.html#MMFirmwareImageType"/>
+ <keyword type="enum" name="enum MMModem3gppFacility" link="ModemManager-Flags-and-Enumerations.html#MMModem3gppFacility"/>
+ <keyword type="enum" name="enum MMModem3gppNetworkAvailability" link="ModemManager-Flags-and-Enumerations.html#MMModem3gppNetworkAvailability"/>
+ <keyword type="enum" name="enum MMModem3gppSubscriptionState" link="ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"/>
+ <keyword type="enum" name="enum MMModem3gppRegistrationState" link="ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"/>
+ <keyword type="enum" name="enum MMModem3gppUssdSessionState" link="ModemManager-Flags-and-Enumerations.html#MMModem3gppUssdSessionState"/>
+ <keyword type="enum" name="enum MMModem3gppEpsUeModeOperation" link="ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"/>
+ <keyword type="enum" name="enum MMModemAccessTechnology" link="ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"/>
+ <keyword type="enum" name="enum MMModemBand" link="ModemManager-Flags-and-Enumerations.html#MMModemBand"/>
+ <keyword type="enum" name="enum MMModemCapability" link="ModemManager-Flags-and-Enumerations.html#MMModemCapability"/>
+ <keyword type="enum" name="enum MMModemCdmaActivationState" link="ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState"/>
+ <keyword type="enum" name="enum MMModemCdmaRegistrationState" link="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"/>
+ <keyword type="enum" name="enum MMModemCdmaRmProtocol" link="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol"/>
+ <keyword type="enum" name="enum MMModemContactsStorage" link="ModemManager-Flags-and-Enumerations.html#MMModemContactsStorage"/>
+ <keyword type="enum" name="enum MMModemLocationSource" link="ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"/>
+ <keyword type="enum" name="enum MMModemLocationAssistanceDataType" link="ModemManager-Flags-and-Enumerations.html#MMModemLocationAssistanceDataType"/>
+ <keyword type="enum" name="enum MMModemLock" link="ModemManager-Flags-and-Enumerations.html#MMModemLock"/>
+ <keyword type="enum" name="enum MMModemMode" link="ModemManager-Flags-and-Enumerations.html#MMModemMode"/>
+ <keyword type="enum" name="enum MMModemState" link="ModemManager-Flags-and-Enumerations.html#MMModemState"/>
+ <keyword type="enum" name="enum MMModemStateFailedReason" link="ModemManager-Flags-and-Enumerations.html#MMModemStateFailedReason"/>
+ <keyword type="enum" name="enum MMModemStateChangeReason" link="ModemManager-Flags-and-Enumerations.html#MMModemStateChangeReason"/>
+ <keyword type="enum" name="enum MMModemPowerState" link="ModemManager-Flags-and-Enumerations.html#MMModemPowerState"/>
+ <keyword type="enum" name="enum MMModemPortType" link="ModemManager-Flags-and-Enumerations.html#MMModemPortType"/>
+ <keyword type="enum" name="enum MMModemFirmwareUpdateMethod" link="ModemManager-Flags-and-Enumerations.html#MMModemFirmwareUpdateMethod"/>
+ <keyword type="enum" name="enum MMOmaFeature" link="ModemManager-Flags-and-Enumerations.html#MMOmaFeature"/>
+ <keyword type="enum" name="enum MMOmaSessionState" link="ModemManager-Flags-and-Enumerations.html#MMOmaSessionState"/>
+ <keyword type="enum" name="enum MMOmaSessionStateFailedReason" link="ModemManager-Flags-and-Enumerations.html#MMOmaSessionStateFailedReason"/>
+ <keyword type="enum" name="enum MMOmaSessionType" link="ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"/>
+ <keyword type="enum" name="enum MMSmsPduType" link="ModemManager-Flags-and-Enumerations.html#MMSmsPduType"/>
+ <keyword type="enum" name="enum MMSmsState" link="ModemManager-Flags-and-Enumerations.html#MMSmsState"/>
+ <keyword type="enum" name="enum MMSmsDeliveryState" link="ModemManager-Flags-and-Enumerations.html#MMSmsDeliveryState"/>
+ <keyword type="enum" name="enum MMSmsStorage" link="ModemManager-Flags-and-Enumerations.html#MMSmsStorage"/>
+ <keyword type="enum" name="enum MMSmsValidityType" link="ModemManager-Flags-and-Enumerations.html#MMSmsValidityType"/>
+ <keyword type="enum" name="enum MMSmsCdmaTeleserviceId" link="ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId"/>
+ <keyword type="enum" name="enum MMSmsCdmaServiceCategory" link="ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory"/>
+ <keyword type="enum" name="enum MMConnectionError" link="ModemManager-Errors.html#MMConnectionError"/>
+ <keyword type="enum" name="enum MMCoreError" link="ModemManager-Errors.html#MMCoreError"/>
+ <keyword type="enum" name="enum MMMessageError" link="ModemManager-Errors.html#MMMessageError"/>
+ <keyword type="enum" name="enum MMMobileEquipmentError" link="ModemManager-Errors.html#MMMobileEquipmentError"/>
+ <keyword type="enum" name="enum MMSerialError" link="ModemManager-Errors.html#MMSerialError"/>
+ <keyword type="enum" name="enum MMCdmaActivationError" link="ModemManager-Errors.html#MMCdmaActivationError"/>
+ <keyword type="macro" name="ID_MM_CANDIDATE" link="ModemManager-Common-udev-tags.html#ID-MM-CANDIDATE:CAPS"/>
+ <keyword type="macro" name="ID_MM_PHYSDEV_UID" link="ModemManager-Common-udev-tags.html#ID-MM-PHYSDEV-UID:CAPS"/>
+ <keyword type="macro" name="ID_MM_PORT_IGNORE" link="ModemManager-Common-udev-tags.html#ID-MM-PORT-IGNORE:CAPS"/>
+ <keyword type="macro" name="ID_MM_DEVICE_PROCESS" link="ModemManager-Common-udev-tags.html#ID-MM-DEVICE-PROCESS:CAPS"/>
+ <keyword type="macro" name="ID_MM_DEVICE_IGNORE" link="ModemManager-Common-udev-tags.html#ID-MM-DEVICE-IGNORE:CAPS"/>
+ <keyword type="macro" name="ID_MM_DEVICE_MANUAL_SCAN_ONLY" link="ModemManager-Common-udev-tags.html#ID-MM-DEVICE-MANUAL-SCAN-ONLY:CAPS"/>
+ <keyword type="macro" name="ID_MM_PLATFORM_DRIVER_PROBE" link="ModemManager-Common-udev-tags.html#ID-MM-PLATFORM-DRIVER-PROBE:CAPS"/>
+ <keyword type="macro" name="ID_MM_PORT_TYPE_AT_PPP" link="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-AT-PPP:CAPS"/>
+ <keyword type="macro" name="ID_MM_PORT_TYPE_AT_PRIMARY" link="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-AT-PRIMARY:CAPS"/>
+ <keyword type="macro" name="ID_MM_PORT_TYPE_AT_SECONDARY" link="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-AT-SECONDARY:CAPS"/>
+ <keyword type="macro" name="ID_MM_PORT_TYPE_GPS" link="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-GPS:CAPS"/>
+ <keyword type="macro" name="ID_MM_PORT_TYPE_QCDM" link="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-QCDM:CAPS"/>
+ <keyword type="macro" name="ID_MM_TTY_BAUDRATE" link="ModemManager-Common-udev-tags.html#ID-MM-TTY-BAUDRATE:CAPS"/>
+ <keyword type="macro" name="ID_MM_TTY_FLOW_CONTROL" link="ModemManager-Common-udev-tags.html#ID-MM-TTY-FLOW-CONTROL:CAPS"/>
+ <keyword type="method" name="The ScanDevices() method" link="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ScanDevices"/>
+ <keyword type="method" name="The SetLogging() method" link="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.SetLogging"/>
+ <keyword type="method" name="The ReportKernelEvent() method" link="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent"/>
+ <keyword type="method" name="The InhibitDevice() method" link="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.InhibitDevice"/>
+ <keyword type="property" name="The &quot;Version&quot; property" link="gdbus-org.freedesktop.ModemManager1.html#gdbus-property-org-freedesktop-ModemManager1.Version"/>
+ <keyword type="method" name="The Enable() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Enable"/>
+ <keyword type="method" name="The ListBearers() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers"/>
+ <keyword type="method" name="The CreateBearer() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer"/>
+ <keyword type="method" name="The DeleteBearer() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer"/>
+ <keyword type="method" name="The Reset() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Reset"/>
+ <keyword type="method" name="The FactoryReset() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset"/>
+ <keyword type="method" name="The SetPowerState() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState"/>
+ <keyword type="method" name="The SetCurrentCapabilities() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities"/>
+ <keyword type="method" name="The SetCurrentModes() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes"/>
+ <keyword type="method" name="The SetCurrentBands() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands"/>
+ <keyword type="method" name="The Command() method" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Command"/>
+ <keyword type="signal" name="The &quot;StateChanged&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-signal-org-freedesktop-ModemManager1-Modem.StateChanged"/>
+ <keyword type="property" name="The &quot;Sim&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Sim"/>
+ <keyword type="property" name="The &quot;Bearers&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers"/>
+ <keyword type="property" name="The &quot;SupportedCapabilities&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities"/>
+ <keyword type="property" name="The &quot;CurrentCapabilities&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentCapabilities"/>
+ <keyword type="property" name="The &quot;MaxBearers&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxBearers"/>
+ <keyword type="property" name="The &quot;MaxActiveBearers&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxActiveBearers"/>
+ <keyword type="property" name="The &quot;Manufacturer&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer"/>
+ <keyword type="property" name="The &quot;Model&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Model"/>
+ <keyword type="property" name="The &quot;Revision&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Revision"/>
+ <keyword type="property" name="The &quot;HardwareRevision&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision"/>
+ <keyword type="property" name="The &quot;DeviceIdentifier&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier"/>
+ <keyword type="property" name="The &quot;Device&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Device"/>
+ <keyword type="property" name="The &quot;Drivers&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers"/>
+ <keyword type="property" name="The &quot;Plugin&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin"/>
+ <keyword type="property" name="The &quot;PrimaryPort&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort"/>
+ <keyword type="property" name="The &quot;Ports&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Ports"/>
+ <keyword type="property" name="The &quot;EquipmentIdentifier&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier"/>
+ <keyword type="property" name="The &quot;UnlockRequired&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRequired"/>
+ <keyword type="property" name="The &quot;UnlockRetries&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries"/>
+ <keyword type="property" name="The &quot;State&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.State"/>
+ <keyword type="property" name="The &quot;StateFailedReason&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason"/>
+ <keyword type="property" name="The &quot;AccessTechnologies&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.AccessTechnologies"/>
+ <keyword type="property" name="The &quot;SignalQuality&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality"/>
+ <keyword type="property" name="The &quot;OwnNumbers&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers"/>
+ <keyword type="property" name="The &quot;PowerState&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PowerState"/>
+ <keyword type="property" name="The &quot;SupportedModes&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes"/>
+ <keyword type="property" name="The &quot;CurrentModes&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes"/>
+ <keyword type="property" name="The &quot;SupportedBands&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands"/>
+ <keyword type="property" name="The &quot;CurrentBands&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands"/>
+ <keyword type="property" name="The &quot;SupportedIpFamilies&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedIpFamilies"/>
+ <keyword type="method" name="The Connect() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect"/>
+ <keyword type="method" name="The Disconnect() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect"/>
+ <keyword type="method" name="The GetStatus() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus"/>
+ <keyword type="method" name="The Register() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register"/>
+ <keyword type="method" name="The Scan() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan"/>
+ <keyword type="method" name="The SetEpsUeModeOperation() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation"/>
+ <keyword type="method" name="The SetInitialEpsBearerSettings() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings"/>
+ <keyword type="property" name="The &quot;Imei&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei"/>
+ <keyword type="property" name="The &quot;RegistrationState&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.RegistrationState"/>
+ <keyword type="property" name="The &quot;OperatorCode&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode"/>
+ <keyword type="property" name="The &quot;OperatorName&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName"/>
+ <keyword type="property" name="The &quot;EnabledFacilityLocks&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EnabledFacilityLocks"/>
+ <keyword type="property" name="The &quot;SubscriptionState&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.SubscriptionState"/>
+ <keyword type="property" name="The &quot;EpsUeModeOperation&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EpsUeModeOperation"/>
+ <keyword type="property" name="The &quot;Pco&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco"/>
+ <keyword type="property" name="The &quot;InitialEpsBearer&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer"/>
+ <keyword type="property" name="The &quot;InitialEpsBearerSettings&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings"/>
+ <keyword type="method" name="The Initiate() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate"/>
+ <keyword type="method" name="The Respond() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond"/>
+ <keyword type="method" name="The Cancel() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel"/>
+ <keyword type="property" name="The &quot;State&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.State"/>
+ <keyword type="property" name="The &quot;NetworkNotification&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification"/>
+ <keyword type="property" name="The &quot;NetworkRequest&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest"/>
+ <keyword type="method" name="The Activate() method" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate"/>
+ <keyword type="method" name="The ActivateManual() method" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual"/>
+ <keyword type="signal" name="The &quot;ActivationStateChanged&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationStateChanged"/>
+ <keyword type="property" name="The &quot;ActivationState&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationState"/>
+ <keyword type="property" name="The &quot;Meid&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid"/>
+ <keyword type="property" name="The &quot;Esn&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn"/>
+ <keyword type="property" name="The &quot;Sid&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Sid"/>
+ <keyword type="property" name="The &quot;Nid&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Nid"/>
+ <keyword type="property" name="The &quot;Cdma1xRegistrationState&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Cdma1xRegistrationState"/>
+ <keyword type="property" name="The &quot;EvdoRegistrationState&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.EvdoRegistrationState"/>
+ <keyword type="method" name="The List() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List"/>
+ <keyword type="method" name="The Delete() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete"/>
+ <keyword type="method" name="The Create() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create"/>
+ <keyword type="signal" name="The &quot;Added&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added"/>
+ <keyword type="signal" name="The &quot;Deleted&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Deleted"/>
+ <keyword type="property" name="The &quot;Messages&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages"/>
+ <keyword type="property" name="The &quot;SupportedStorages&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages"/>
+ <keyword type="property" name="The &quot;DefaultStorage&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.DefaultStorage"/>
+ <keyword type="method" name="The Setup() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup"/>
+ <keyword type="method" name="The GetLocation() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation"/>
+ <keyword type="method" name="The SetSuplServer() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer"/>
+ <keyword type="method" name="The InjectAssistanceData() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData"/>
+ <keyword type="method" name="The SetGpsRefreshRate() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate"/>
+ <keyword type="property" name="The &quot;Capabilities&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Capabilities"/>
+ <keyword type="property" name="The &quot;SupportedAssistanceData&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SupportedAssistanceData"/>
+ <keyword type="property" name="The &quot;Enabled&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Enabled"/>
+ <keyword type="property" name="The &quot;SignalsLocation&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SignalsLocation"/>
+ <keyword type="property" name="The &quot;Location&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location"/>
+ <keyword type="property" name="The &quot;SuplServer&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer"/>
+ <keyword type="property" name="The &quot;AssistanceDataServers&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers"/>
+ <keyword type="property" name="The &quot;GpsRefreshRate&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.GpsRefreshRate"/>
+ <keyword type="method" name="The GetNetworkTime() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime"/>
+ <keyword type="signal" name="The &quot;NetworkTimeChanged&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Time.NetworkTimeChanged"/>
+ <keyword type="property" name="The &quot;NetworkTimezone&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone"/>
+ <keyword type="method" name="The ListCalls() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.ListCalls"/>
+ <keyword type="method" name="The DeleteCall() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.DeleteCall"/>
+ <keyword type="method" name="The CreateCall() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.CreateCall"/>
+ <keyword type="signal" name="The &quot;CallAdded&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallAdded"/>
+ <keyword type="signal" name="The &quot;CallDeleted&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallDeleted"/>
+ <keyword type="property" name="The &quot;Calls&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Voice.Calls"/>
+ <keyword type="method" name="The List() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List"/>
+ <keyword type="method" name="The Select() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select"/>
+ <keyword type="property" name="The &quot;UpdateSettings&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings"/>
+ <keyword type="method" name="The Setup() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup"/>
+ <keyword type="property" name="The &quot;Rate&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Rate"/>
+ <keyword type="property" name="The &quot;Cdma&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma"/>
+ <keyword type="property" name="The &quot;Evdo&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo"/>
+ <keyword type="property" name="The &quot;Gsm&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm"/>
+ <keyword type="property" name="The &quot;Umts&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts"/>
+ <keyword type="property" name="The &quot;Lte&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte"/>
+ <keyword type="method" name="The Setup() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup"/>
+ <keyword type="method" name="The StartClientInitiatedSession() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession"/>
+ <keyword type="method" name="The AcceptNetworkInitiatedSession() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession"/>
+ <keyword type="method" name="The CancelSession() method" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession"/>
+ <keyword type="signal" name="The &quot;SessionStateChanged&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Oma.SessionStateChanged"/>
+ <keyword type="property" name="The &quot;Features&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.Features"/>
+ <keyword type="property" name="The &quot;PendingNetworkInitiatedSessions&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions"/>
+ <keyword type="property" name="The &quot;SessionType&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionType"/>
+ <keyword type="property" name="The &quot;SessionState&quot; property" link="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionState"/>
+ <keyword type="method" name="The Connect() method" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect"/>
+ <keyword type="method" name="The Disconnect() method" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect"/>
+ <keyword type="property" name="The &quot;Interface&quot; property" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface"/>
+ <keyword type="property" name="The &quot;Connected&quot; property" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Connected"/>
+ <keyword type="property" name="The &quot;Suspended&quot; property" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Suspended"/>
+ <keyword type="property" name="The &quot;Ip4Config&quot; property" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config"/>
+ <keyword type="property" name="The &quot;Ip6Config&quot; property" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config"/>
+ <keyword type="property" name="The &quot;Stats&quot; property" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats"/>
+ <keyword type="property" name="The &quot;IpTimeout&quot; property" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.IpTimeout"/>
+ <keyword type="property" name="The &quot;BearerType&quot; property" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.BearerType"/>
+ <keyword type="property" name="The &quot;Properties&quot; property" link="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties"/>
+ <keyword type="method" name="The SendPin() method" link="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin"/>
+ <keyword type="method" name="The SendPuk() method" link="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk"/>
+ <keyword type="method" name="The EnablePin() method" link="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin"/>
+ <keyword type="method" name="The ChangePin() method" link="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin"/>
+ <keyword type="property" name="The &quot;SimIdentifier&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier"/>
+ <keyword type="property" name="The &quot;Imsi&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi"/>
+ <keyword type="property" name="The &quot;OperatorIdentifier&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier"/>
+ <keyword type="property" name="The &quot;OperatorName&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName"/>
+ <keyword type="method" name="The Send() method" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Send"/>
+ <keyword type="method" name="The Store() method" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Store"/>
+ <keyword type="property" name="The &quot;State&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.State"/>
+ <keyword type="property" name="The &quot;PduType&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.PduType"/>
+ <keyword type="property" name="The &quot;Number&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Number"/>
+ <keyword type="property" name="The &quot;Text&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Text"/>
+ <keyword type="property" name="The &quot;Data&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Data"/>
+ <keyword type="property" name="The &quot;SMSC&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC"/>
+ <keyword type="property" name="The &quot;Validity&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Validity"/>
+ <keyword type="property" name="The &quot;Class&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Class"/>
+ <keyword type="property" name="The &quot;TeleserviceId&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.TeleserviceId"/>
+ <keyword type="property" name="The &quot;ServiceCategory&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.ServiceCategory"/>
+ <keyword type="property" name="The &quot;DeliveryReportRequest&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryReportRequest"/>
+ <keyword type="property" name="The &quot;MessageReference&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.MessageReference"/>
+ <keyword type="property" name="The &quot;Timestamp&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp"/>
+ <keyword type="property" name="The &quot;DischargeTimestamp&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp"/>
+ <keyword type="property" name="The &quot;DeliveryState&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryState"/>
+ <keyword type="property" name="The &quot;Storage&quot; property" link="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Storage"/>
+ <keyword type="method" name="The Start() method" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Start"/>
+ <keyword type="method" name="The Accept() method" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Accept"/>
+ <keyword type="method" name="The Hangup() method" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Hangup"/>
+ <keyword type="method" name="The SendDtmf() method" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.SendDtmf"/>
+ <keyword type="signal" name="The &quot;DtmfReceived&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-signal-org-freedesktop-ModemManager1-Call.DtmfReceived"/>
+ <keyword type="signal" name="The &quot;StateChanged&quot; signal" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-signal-org-freedesktop-ModemManager1-Call.StateChanged"/>
+ <keyword type="property" name="The &quot;State&quot; property" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.State"/>
+ <keyword type="property" name="The &quot;StateReason&quot; property" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.StateReason"/>
+ <keyword type="property" name="The &quot;Direction&quot; property" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Direction"/>
+ <keyword type="property" name="The &quot;Number&quot; property" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Number"/>
+ <keyword type="property" name="The &quot;AudioPort&quot; property" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioPort"/>
+ <keyword type="property" name="The &quot;AudioFormat&quot; property" link="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioFormat"/>
+ <keyword type="macro" name="MM_MODEM_BAND_U2100" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U2100:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_UTRAN_1 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_U1900" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U1900:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_UTRAN_2 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_U1800" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U1800:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_UTRAN_3 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_U17IV" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U17IV:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_UTRAN_4 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_U850" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U850:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_UTRAN_5 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_U800" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U800:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_UTRAN_6 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_U2600" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U2600:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_UTRAN_7 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_U900" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U900:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_UTRAN_8 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_U17IX" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U17IX:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_UTRAN_9 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_I" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-I:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_1 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_II" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-II:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_2 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_III" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-III:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_3 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_IV" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-IV:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_4 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_V" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-V:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_5 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_VI" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VI:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_6 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_VII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_7 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_VIII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VIII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_8 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_IX" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-IX:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_9 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_X" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-X:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_10 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XI" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XI:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_11 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_12 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XIII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_13 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XIV" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIV:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_14 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XVII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XVII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_17 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XVIII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XVIII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_18 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XIX" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIX:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_19 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XX" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XX:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_20 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXI" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXI:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_21 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_22 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXIII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXIII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_23 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXIV" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXIV:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_24 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXV" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXV:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_25 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXVI" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXVI:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_26 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXXIII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_33 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXXIV" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIV:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_34 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXXV" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXV:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_35 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXXVI" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVI:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_36 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXXVII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_37 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXXVIII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVIII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_38 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XXXIX" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIX:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_39 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XL" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XL:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_40 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XLI" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLI:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_41 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XLII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_42 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XLIII" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLIII:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_43 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_EUTRAN_XLIV" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLIV:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_EUTRAN_44 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC0_CELLULAR_800" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC0-CELLULAR-800:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC0 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC1_PCS_1900" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC1-PCS-1900:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC1 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC2_TACS" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC2-TACS:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC2 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC3_JTACS" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC3-JTACS:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC3 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC4-KOREAN-PCS:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC4 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC5_NMT450" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC5-NMT450:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC5 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC6_IMT2000" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC6-IMT2000:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC6 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC7_CELLULAR_700" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC7-CELLULAR-700:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC7 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC8_1800" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC8-1800:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC8 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC9_900" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC9-900:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC9 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC10_SECONDARY_800" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC10-SECONDARY-800:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC10 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC11_PAMR_400" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC11-PAMR-400:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC11 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC12_PAMR_800" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC12-PAMR-800:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC12 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC13_IMT2000_2500" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC13-IMT2000-2500:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC13 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC14_PCS2_1900" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC14-PCS2-1900:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC14 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC15_AWS" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC15-AWS:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC15 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC16_US_2500" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC16-US-2500:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC16 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC17_US_FLO_2500" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC17-US-FLO-2500:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC17 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC18_US_PS_700" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC18-US-PS-700:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC18 instead." since="1.0"/>
+ <keyword type="macro" name="MM_MODEM_BAND_CDMA_BC19_US_LOWER_700" link="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC19-US-LOWER-700:CAPS" deprecated="1.8.0: Use #MM_MODEM_BAND_CDMA_BC19 instead." since="1.0"/>
+ <keyword type="constant" name="MM_BEARER_TYPE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-TYPE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_TYPE_DEFAULT" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-TYPE-DEFAULT:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_TYPE_DEFAULT_ATTACH" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-TYPE-DEFAULT-ATTACH:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_TYPE_DEDICATED" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-TYPE-DEDICATED:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_IP_FAMILY_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-FAMILY-NONE:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_IP_FAMILY_IPV4" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-FAMILY-IPV4:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_IP_FAMILY_IPV6" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-FAMILY-IPV6:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_IP_FAMILY_IPV4V6" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-FAMILY-IPV4V6:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_IP_FAMILY_ANY" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-FAMILY-ANY:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_IP_METHOD_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-METHOD-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_IP_METHOD_PPP" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-METHOD-PPP:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_IP_METHOD_STATIC" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-METHOD-STATIC:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_IP_METHOD_DHCP" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-METHOD-DHCP:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_ALLOWED_AUTH_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_ALLOWED_AUTH_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-NONE:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_ALLOWED_AUTH_PAP" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-PAP:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_ALLOWED_AUTH_CHAP" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-CHAP:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_ALLOWED_AUTH_MSCHAP" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-MSCHAP:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_ALLOWED_AUTH_MSCHAPV2" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-MSCHAPV2:CAPS"/>
+ <keyword type="constant" name="MM_BEARER_ALLOWED_AUTH_EAP" link="ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-EAP:CAPS"/>
+ <keyword type="constant" name="MM_CALL_DIRECTION_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-DIRECTION-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_CALL_DIRECTION_INCOMING" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-DIRECTION-INCOMING:CAPS"/>
+ <keyword type="constant" name="MM_CALL_DIRECTION_OUTGOING" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-DIRECTION-OUTGOING:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_DIALING" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-DIALING:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_RINGING_OUT" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-RINGING-OUT:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_RINGING_IN" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-RINGING-IN:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_ACTIVE" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-ACTIVE:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_HELD" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-HELD:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_WAITING" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-WAITING:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_TERMINATED" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-TERMINATED:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_REASON_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-REASON-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_REASON_OUTGOING_STARTED" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-REASON-OUTGOING-STARTED:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_REASON_INCOMING_NEW" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-REASON-INCOMING-NEW:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_REASON_ACCEPTED" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-REASON-ACCEPTED:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_REASON_TERMINATED" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-REASON-TERMINATED:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_REASON_REFUSED_OR_BUSY" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-REASON-REFUSED-OR-BUSY:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_REASON_ERROR" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-REASON-ERROR:CAPS"/>
+ <keyword type="constant" name="MM_CALL_STATE_REASON_AUDIO_SETUP_FAILED" link="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-REASON-AUDIO-SETUP-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_FIRMWARE_IMAGE_TYPE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_FIRMWARE_IMAGE_TYPE_GENERIC" link="ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GENERIC:CAPS"/>
+ <keyword type="constant" name="MM_FIRMWARE_IMAGE_TYPE_GOBI" link="ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_FACILITY_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-FACILITY-NONE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_FACILITY_SIM" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-FACILITY-SIM:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_FACILITY_FIXED_DIALING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-FACILITY-FIXED-DIALING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_FACILITY_PH_SIM" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-FACILITY-PH-SIM:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_FACILITY_PH_FSIM" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-FACILITY-PH-FSIM:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_FACILITY_NET_PERS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-FACILITY-NET-PERS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_FACILITY_NET_SUB_PERS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-FACILITY-NET-SUB-PERS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_FACILITY_PROVIDER_PERS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-FACILITY-PROVIDER-PERS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_FACILITY_CORP_PERS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-FACILITY-CORP-PERS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_NETWORK_AVAILABILITY_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-NETWORK-AVAILABILITY-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_NETWORK_AVAILABILITY_AVAILABLE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-NETWORK-AVAILABILITY-AVAILABLE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_NETWORK_AVAILABILITY_CURRENT" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-NETWORK-AVAILABILITY-CURRENT:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_NETWORK_AVAILABILITY_FORBIDDEN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-NETWORK-AVAILABILITY-FORBIDDEN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-SUBSCRIPTION-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNPROVISIONED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-SUBSCRIPTION-STATE-UNPROVISIONED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_SUBSCRIPTION_STATE_PROVISIONED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-SUBSCRIPTION-STATE-PROVISIONED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_SUBSCRIPTION_STATE_OUT_OF_DATA" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-SUBSCRIPTION-STATE-OUT-OF-DATA:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_IDLE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-IDLE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_HOME" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-HOME:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_SEARCHING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-SEARCHING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_DENIED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-DENIED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-ROAMING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_HOME_SMS_ONLY" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-HOME-SMS-ONLY:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_SMS_ONLY" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-ROAMING-SMS-ONLY:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_EMERGENCY_ONLY" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-EMERGENCY-ONLY:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_HOME_CSFB_NOT_PREFERRED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-HOME-CSFB-NOT-PREFERRED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_REGISTRATION_STATE_ROAMING_CSFB_NOT_PREFERRED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-REGISTRATION-STATE-ROAMING-CSFB-NOT-PREFERRED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_USSD_SESSION_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-USSD-SESSION-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_USSD_SESSION_STATE_IDLE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-USSD-SESSION-STATE-IDLE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_USSD_SESSION_STATE_ACTIVE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-USSD-SESSION-STATE-ACTIVE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_USSD_SESSION_STATE_USER_RESPONSE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-USSD-SESSION-STATE-USER-RESPONSE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_PS_1" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-PS-1:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_PS_2" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-PS-2:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_CSPS_1" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-CSPS-1:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_3GPP_EPS_UE_MODE_OPERATION_CSPS_2" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-3GPP-EPS-UE-MODE-OPERATION-CSPS-2:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_POTS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-POTS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_GSM" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-GSM:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_GSM_COMPACT" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-GSM-COMPACT:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_GPRS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-GPRS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_EDGE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-EDGE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_UMTS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-UMTS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_HSDPA" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-HSDPA:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_HSUPA" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-HSUPA:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_HSPA" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-HSPA:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_HSPA_PLUS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-HSPA-PLUS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_1XRTT" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-1XRTT:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_EVDO0" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-EVDO0:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_EVDOA" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-EVDOA:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_EVDOB" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-EVDOB:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_LTE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-LTE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_ACCESS_TECHNOLOGY_ANY" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-ANY:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EGSM" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EGSM:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_DCS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-DCS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_PCS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-PCS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_G850" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-G850:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_1" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-1:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_3" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-3:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_4" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-4:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_6" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-6:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_5" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-5:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_8" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-8:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_9" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-9:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_2" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-2:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_7" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-7:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_G450" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-G450:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_G480" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-G480:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_G750" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-G750:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_G380" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-G380:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_G410" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-G410:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_G710" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-G710:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_G810" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-G810:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_1" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-1:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_2" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-2:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_3" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-3:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_4" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-4:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_5" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-5:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_6" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-6:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_7" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-7:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_8" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-8:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_9" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-9:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_10" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-10:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_11" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-11:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_12" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-12:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_13" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-13:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_14" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-14:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_17" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-17:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_18" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-18:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_19" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-19:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_20" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-20:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_21" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-21:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_22" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-22:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_23" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-23:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_24" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-24:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_25" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-25:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_26" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-26:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_27" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-27:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_28" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-28:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_29" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-29:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_30" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-30:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_31" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-31:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_32" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-32:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_33" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-33:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_34" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-34:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_35" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-35:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_36" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-36:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_37" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-37:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_38" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-38:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_39" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-39:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_40" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-40:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_41" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-41:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_42" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-42:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_43" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-43:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_44" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-44:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_45" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-45:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_46" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-46:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_47" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-47:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_48" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-48:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_49" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-49:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_50" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-50:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_51" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-51:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_52" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-52:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_53" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-53:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_54" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-54:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_55" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-55:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_56" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-56:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_57" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-57:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_58" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-58:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_59" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-59:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_60" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-60:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_61" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-61:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_62" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-62:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_63" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-63:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_64" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-64:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_65" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-65:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_66" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-66:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_67" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-67:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_68" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-68:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_69" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-69:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_70" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-70:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_EUTRAN_71" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-EUTRAN-71:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC0" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC0:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC1" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC1:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC2" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC2:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC3" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC3:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC4" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC4:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC5" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC5:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC6" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC6:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC7" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC7:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC8" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC8:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC9" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC9:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC10" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC10:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC11" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC11:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC12" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC12:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC13" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC13:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC14" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC14:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC15" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC15:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC16" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC16:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC17" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC17:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC18" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC18:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_CDMA_BC19" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-CDMA-BC19:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_10" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-10:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_11" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-11:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_12" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-12:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_13" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-13:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_14" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-14:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_19" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-19:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_20" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-20:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_21" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-21:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_22" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-22:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_25" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-25:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_26" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-26:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_UTRAN_32" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-UTRAN-32:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_BAND_ANY" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-ANY:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CAPABILITY_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-NONE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CAPABILITY_POTS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-POTS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CAPABILITY_CDMA_EVDO" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-CDMA-EVDO:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CAPABILITY_GSM_UMTS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-GSM-UMTS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CAPABILITY_LTE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-LTE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CAPABILITY_LTE_ADVANCED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-LTE-ADVANCED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CAPABILITY_IRIDIUM" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-IRIDIUM:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CAPABILITY_ANY" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-ANY:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_ACTIVATION_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-ACTIVATION-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_ACTIVATION_STATE_NOT_ACTIVATED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-ACTIVATION-STATE-NOT-ACTIVATED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_ACTIVATION_STATE_ACTIVATING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-ACTIVATION-STATE-ACTIVATING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_ACTIVATION_STATE_PARTIALLY_ACTIVATED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-ACTIVATION-STATE-PARTIALLY-ACTIVATED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_ACTIVATION_STATE_ACTIVATED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-ACTIVATION-STATE-ACTIVATED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-REGISTRATION-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_REGISTRATION_STATE_REGISTERED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-REGISTRATION-STATE-REGISTERED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_REGISTRATION_STATE_HOME" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-REGISTRATION-STATE-HOME:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_REGISTRATION_STATE_ROAMING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-REGISTRATION-STATE-ROAMING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_RM_PROTOCOL_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-RM-PROTOCOL-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_RM_PROTOCOL_ASYNC" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-RM-PROTOCOL-ASYNC:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_RM_PROTOCOL_PACKET_RELAY" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-RM-PROTOCOL-PACKET-RELAY:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_RM_PROTOCOL_PACKET_NETWORK_PPP" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-RM-PROTOCOL-PACKET-NETWORK-PPP:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_RM_PROTOCOL_PACKET_NETWORK_SLIP" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-RM-PROTOCOL-PACKET-NETWORK-SLIP:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CDMA_RM_PROTOCOL_STU_III" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CDMA-RM-PROTOCOL-STU-III:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CONTACTS_STORAGE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CONTACTS-STORAGE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CONTACTS_STORAGE_ME" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CONTACTS-STORAGE-ME:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CONTACTS_STORAGE_SM" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CONTACTS-STORAGE-SM:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_CONTACTS_STORAGE_MT" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CONTACTS-STORAGE-MT:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCATION_SOURCE_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-NONE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-3GPP-LAC-CI:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCATION_SOURCE_GPS_RAW" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-GPS-RAW:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCATION_SOURCE_GPS_NMEA" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-GPS-NMEA:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCATION_SOURCE_CDMA_BS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-CDMA-BS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCATION_SOURCE_GPS_UNMANAGED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-GPS-UNMANAGED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCATION_SOURCE_AGPS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-AGPS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCATION_ASSISTANCE_DATA_TYPE_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-ASSISTANCE-DATA-TYPE-NONE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCATION_ASSISTANCE_DATA_TYPE_XTRA" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-ASSISTANCE-DATA-TYPE-XTRA:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-NONE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_SIM_PIN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-SIM-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_SIM_PIN2" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-SIM-PIN2:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_SIM_PUK" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-SIM-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_SIM_PUK2" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-SIM-PUK2:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_SP_PIN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-SP-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_SP_PUK" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-SP-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_NET_PIN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-NET-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_NET_PUK" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-NET-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_SIM_PIN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-SIM-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_CORP_PIN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-CORP-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_CORP_PUK" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-CORP-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_FSIM_PIN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-FSIM-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_FSIM_PUK" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-FSIM-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_NETSUB_PIN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-NETSUB-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_LOCK_PH_NETSUB_PUK" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCK-PH-NETSUB-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_MODE_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-MODE-NONE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_MODE_CS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-MODE-CS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_MODE_2G" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-MODE-2G:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_MODE_3G" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-MODE-3G:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_MODE_4G" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-MODE-4G:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_MODE_ANY" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-MODE-ANY:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_FAILED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_INITIALIZING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-INITIALIZING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_LOCKED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-LOCKED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_DISABLED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-DISABLED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_DISABLING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-DISABLING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_ENABLING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-ENABLING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_ENABLED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-ENABLED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_SEARCHING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-SEARCHING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_REGISTERED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-REGISTERED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_DISCONNECTING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-DISCONNECTING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_CONNECTING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-CONNECTING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_CONNECTED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-CONNECTED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_FAILED_REASON_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-FAILED-REASON-NONE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_FAILED_REASON_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-FAILED-REASON-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_FAILED_REASON_SIM_MISSING" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-FAILED-REASON-SIM-MISSING:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_FAILED_REASON_SIM_ERROR" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-FAILED-REASON-SIM-ERROR:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_CHANGE_REASON_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-CHANGE-REASON-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-CHANGE-REASON-USER-REQUESTED:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_CHANGE_REASON_SUSPEND" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-CHANGE-REASON-SUSPEND:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_STATE_CHANGE_REASON_FAILURE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-CHANGE-REASON-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_POWER_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-POWER-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_POWER_STATE_OFF" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-POWER-STATE-OFF:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_POWER_STATE_LOW" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-POWER-STATE-LOW:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_POWER_STATE_ON" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-POWER-STATE-ON:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_PORT_TYPE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-PORT-TYPE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_PORT_TYPE_NET" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-PORT-TYPE-NET:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_PORT_TYPE_AT" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-PORT-TYPE-AT:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_PORT_TYPE_QCDM" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-PORT-TYPE-QCDM:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_PORT_TYPE_GPS" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-PORT-TYPE-GPS:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_PORT_TYPE_QMI" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-PORT-TYPE-QMI:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_PORT_TYPE_MBIM" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-PORT-TYPE-MBIM:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_FIRMWARE_UPDATE_METHOD_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-FIRMWARE-UPDATE-METHOD-NONE:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_FIRMWARE_UPDATE_METHOD_FASTBOOT" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-FIRMWARE-UPDATE-METHOD-FASTBOOT:CAPS"/>
+ <keyword type="constant" name="MM_MODEM_FIRMWARE_UPDATE_METHOD_QMI_PDC" link="ModemManager-Flags-and-Enumerations.html#MM-MODEM-FIRMWARE-UPDATE-METHOD-QMI-PDC:CAPS"/>
+ <keyword type="constant" name="MM_OMA_FEATURE_NONE" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-FEATURE-NONE:CAPS"/>
+ <keyword type="constant" name="MM_OMA_FEATURE_DEVICE_PROVISIONING" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-FEATURE-DEVICE-PROVISIONING:CAPS"/>
+ <keyword type="constant" name="MM_OMA_FEATURE_PRL_UPDATE" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-FEATURE-PRL-UPDATE:CAPS"/>
+ <keyword type="constant" name="MM_OMA_FEATURE_HANDS_FREE_ACTIVATION" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-FEATURE-HANDS-FREE-ACTIVATION:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_FAILED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_STARTED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-STARTED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_RETRYING" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-RETRYING:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_CONNECTING" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-CONNECTING:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_CONNECTED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-CONNECTED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_AUTHENTICATED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-AUTHENTICATED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_MDN_DOWNLOADED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-MDN-DOWNLOADED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_MSID_DOWNLOADED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-MSID-DOWNLOADED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_PRL_DOWNLOADED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-PRL-DOWNLOADED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_MIP_PROFILE_DOWNLOADED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-MIP-PROFILE-DOWNLOADED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_COMPLETED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-COMPLETED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_FAILED_REASON_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-FAILED-REASON-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_FAILED_REASON_NETWORK_UNAVAILABLE" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-FAILED-REASON-NETWORK-UNAVAILABLE:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_FAILED_REASON_SERVER_UNAVAILABLE" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-FAILED-REASON-SERVER-UNAVAILABLE:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_FAILED_REASON_AUTHENTICATION_FAILED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-FAILED-REASON-AUTHENTICATION-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_FAILED_REASON_MAX_RETRY_EXCEEDED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-FAILED-REASON-MAX-RETRY-EXCEEDED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_STATE_FAILED_REASON_SESSION_CANCELLED" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-FAILED-REASON-SESSION-CANCELLED:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_TYPE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-TYPE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_TYPE_CLIENT_INITIATED_DEVICE_CONFIGURE" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-TYPE-CLIENT-INITIATED-DEVICE-CONFIGURE:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_TYPE_CLIENT_INITIATED_PRL_UPDATE" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-TYPE-CLIENT-INITIATED-PRL-UPDATE:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_TYPE_CLIENT_INITIATED_HANDS_FREE_ACTIVATION" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-TYPE-CLIENT-INITIATED-HANDS-FREE-ACTIVATION:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_TYPE_NETWORK_INITIATED_DEVICE_CONFIGURE" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-TYPE-NETWORK-INITIATED-DEVICE-CONFIGURE:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_TYPE_NETWORK_INITIATED_PRL_UPDATE" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-TYPE-NETWORK-INITIATED-PRL-UPDATE:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_TYPE_DEVICE_INITIATED_PRL_UPDATE" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-TYPE-DEVICE-INITIATED-PRL-UPDATE:CAPS"/>
+ <keyword type="constant" name="MM_OMA_SESSION_TYPE_DEVICE_INITIATED_HANDS_FREE_ACTIVATION" link="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-TYPE-DEVICE-INITIATED-HANDS-FREE-ACTIVATION:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_DELIVER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-DELIVER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_SUBMIT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-SUBMIT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_STATUS_REPORT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_CDMA_DELIVER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-CDMA-DELIVER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_CDMA_SUBMIT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-CDMA-SUBMIT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_CDMA_CANCELLATION" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-CDMA-CANCELLATION:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_CDMA_DELIVERY_ACKNOWLEDGEMENT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-CDMA-DELIVERY-ACKNOWLEDGEMENT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_CDMA_USER_ACKNOWLEDGEMENT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-CDMA-USER-ACKNOWLEDGEMENT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_PDU_TYPE_CDMA_READ_ACKNOWLEDGEMENT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-CDMA-READ-ACKNOWLEDGEMENT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STATE_STORED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STATE-STORED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STATE_RECEIVING" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STATE-RECEIVING:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STATE_RECEIVED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STATE-RECEIVED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STATE_SENDING" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STATE-SENDING:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STATE_SENT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STATE-SENT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_COMPLETED_RECEIVED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-COMPLETED-RECEIVED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_COMPLETED_FORWARDED_UNCONFIRMED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-COMPLETED-FORWARDED-UNCONFIRMED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_COMPLETED_REPLACED_BY_SC" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-COMPLETED-REPLACED-BY-SC:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_CONGESTION" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-CONGESTION:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_SME_BUSY" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-SME-BUSY:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_NO_RESPONSE_FROM_SME" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-NO-RESPONSE-FROM-SME:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_SERVICE_REJECTED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-SERVICE-REJECTED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_QOS_NOT_AVAILABLE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-QOS-NOT-AVAILABLE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_ERROR_IN_SME" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-ERROR-IN-SME:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_REMOTE_PROCEDURE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-REMOTE-PROCEDURE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_INCOMPATIBLE_DESTINATION" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-INCOMPATIBLE-DESTINATION:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_CONNECTION_REJECTED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-CONNECTION-REJECTED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_NOT_OBTAINABLE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-NOT-OBTAINABLE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_QOS_NOT_AVAILABLE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-QOS-NOT-AVAILABLE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_NO_INTERWORKING_AVAILABLE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-NO-INTERWORKING-AVAILABLE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_VALIDITY_PERIOD_EXPIRED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-VALIDITY-PERIOD-EXPIRED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_DELETED_BY_ORIGINATING_SME" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-DELETED-BY-ORIGINATING-SME:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_DELETED_BY_SC_ADMINISTRATION" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-DELETED-BY-SC-ADMINISTRATION:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_ERROR_MESSAGE_DOES_NOT_EXIST" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-ERROR-MESSAGE-DOES-NOT-EXIST:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_CONGESTION" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-CONGESTION:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_SME_BUSY" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-SME-BUSY:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_NO_RESPONSE_FROM_SME" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-NO-RESPONSE-FROM-SME:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_SERVICE_REJECTED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-SERVICE-REJECTED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_QOS_NOT_AVAILABLE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-QOS-NOT-AVAILABLE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_FATAL_ERROR_IN_SME" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-FATAL-ERROR-IN-SME:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_ADDRESS_VACANT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-ADDRESS-VACANT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_ADDRESS_TRANSLATION_FAILURE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-ADDRESS-TRANSLATION-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_NETWORK_RESOURCE_OUTAGE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-NETWORK-RESOURCE-OUTAGE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_NETWORK_FAILURE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-NETWORK-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_INVALID_TELESERVICE_ID" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-INVALID-TELESERVICE-ID:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_NETWORK_PROBLEM_OTHER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-NETWORK-PROBLEM-OTHER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_NO_PAGE_RESPONSE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-NO-PAGE-RESPONSE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_DESTINATION_BUSY" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-DESTINATION-BUSY:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_NO_ACKNOWLEDGMENT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-NO-ACKNOWLEDGMENT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_DESTINATION_RESOURCE_SHORTAGE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-DESTINATION-RESOURCE-SHORTAGE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_SMS_DELIVERY_POSTPONED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-SMS-DELIVERY-POSTPONED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_DESTINATION_OUT_OF_SERVICE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-DESTINATION-OUT-OF-SERVICE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_DESTINATION_NO_LONGER_AT_THIS_ADDRESS" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-DESTINATION-NO-LONGER-AT-THIS-ADDRESS:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TERMINAL_PROBLEM_OTHER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TERMINAL-PROBLEM-OTHER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_RADIO_INTERFACE_PROBLEM_RESOURCE_SHORTAGE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-RADIO-INTERFACE-PROBLEM-RESOURCE-SHORTAGE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_RADIO_INTERFACE_PROBLEM_INCOMPATIBILITY" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-RADIO-INTERFACE-PROBLEM-INCOMPATIBILITY:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_RADIO_INTERFACE_PROBLEM_OTHER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-RADIO-INTERFACE-PROBLEM-OTHER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_ENCODING" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-ENCODING:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_SMS_ORIGINATION_DENIED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-SMS-ORIGINATION-DENIED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_SMS_TERMINATION_DENIED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-SMS-TERMINATION-DENIED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_SUPPLEMENTARY_SERVICE_NOT_SUPPORTED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-SUPPLEMENTARY-SERVICE-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_SMS_NOT_SUPPORTED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-SMS-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_MISSING_EXPECTED_PARAMETER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-MISSING-EXPECTED-PARAMETER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_MISSING_MANDATORY_PARAMETER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-MISSING-MANDATORY-PARAMETER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_UNRECOGNIZED_PARAMETER_VALUE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-UNRECOGNIZED-PARAMETER-VALUE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_UNEXPECTED_PARAMETER_VALUE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-UNEXPECTED-PARAMETER-VALUE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_USER_DATA_SIZE_ERROR" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-USER-DATA-SIZE-ERROR:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_GENERAL_PROBLEM_OTHER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-GENERAL-PROBLEM-OTHER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_ADDRESS_VACANT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-ADDRESS-VACANT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_ADDRESS_TRANSLATION_FAILURE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-ADDRESS-TRANSLATION-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_NETWORK_RESOURCE_OUTAGE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-NETWORK-RESOURCE-OUTAGE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_NETWORK_FAILURE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-NETWORK-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_INVALID_TELESERVICE_ID" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-INVALID-TELESERVICE-ID:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_NETWORK_PROBLEM_OTHER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-NETWORK-PROBLEM-OTHER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_NO_PAGE_RESPONSE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-NO-PAGE-RESPONSE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_DESTINATION_BUSY" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-DESTINATION-BUSY:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_NO_ACKNOWLEDGMENT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-NO-ACKNOWLEDGMENT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_DESTINATION_RESOURCE_SHORTAGE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-DESTINATION-RESOURCE-SHORTAGE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_SMS_DELIVERY_POSTPONED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-SMS-DELIVERY-POSTPONED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_DESTINATION_OUT_OF_SERVICE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-DESTINATION-OUT-OF-SERVICE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_DESTINATION_NO_LONGER_AT_THIS_ADDRESS" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-DESTINATION-NO-LONGER-AT-THIS-ADDRESS:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_TERMINAL_PROBLEM_OTHER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-TERMINAL-PROBLEM-OTHER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_RADIO_INTERFACE_PROBLEM_RESOURCE_SHORTAGE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-RADIO-INTERFACE-PROBLEM-RESOURCE-SHORTAGE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_RADIO_INTERFACE_PROBLEM_INCOMPATIBILITY" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-RADIO-INTERFACE-PROBLEM-INCOMPATIBILITY:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_RADIO_INTERFACE_PROBLEM_OTHER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-RADIO-INTERFACE-PROBLEM-OTHER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_ENCODING" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-ENCODING:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_SMS_ORIGINATION_DENIED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-SMS-ORIGINATION-DENIED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_SMS_TERMINATION_DENIED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-SMS-TERMINATION-DENIED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_SUPPLEMENTARY_SERVICE_NOT_SUPPORTED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-SUPPLEMENTARY-SERVICE-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_SMS_NOT_SUPPORTED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-SMS-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_MISSING_EXPECTED_PARAMETER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-MISSING-EXPECTED-PARAMETER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_MISSING_MANDATORY_PARAMETER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-MISSING-MANDATORY-PARAMETER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_UNRECOGNIZED_PARAMETER_VALUE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-UNRECOGNIZED-PARAMETER-VALUE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_UNEXPECTED_PARAMETER_VALUE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-UNEXPECTED-PARAMETER-VALUE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_USER_DATA_SIZE_ERROR" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-USER-DATA-SIZE-ERROR:CAPS"/>
+ <keyword type="constant" name="MM_SMS_DELIVERY_STATE_TEMPORARY_GENERAL_PROBLEM_OTHER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-DELIVERY-STATE-TEMPORARY-GENERAL-PROBLEM-OTHER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STORAGE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STORAGE_SM" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-SM:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STORAGE_ME" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-ME:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STORAGE_MT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-MT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STORAGE_SR" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-SR:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STORAGE_BM" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-BM:CAPS"/>
+ <keyword type="constant" name="MM_SMS_STORAGE_TA" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-TA:CAPS"/>
+ <keyword type="constant" name="MM_SMS_VALIDITY_TYPE_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-VALIDITY-TYPE-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_SMS_VALIDITY_TYPE_RELATIVE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-VALIDITY-TYPE-RELATIVE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_VALIDITY_TYPE_ABSOLUTE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-VALIDITY-TYPE-ABSOLUTE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_VALIDITY_TYPE_ENHANCED" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-VALIDITY-TYPE-ENHANCED:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_TELESERVICE_ID_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_TELESERVICE_ID_CMT91" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-CMT91:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_TELESERVICE_ID_WPT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-WPT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_TELESERVICE_ID_WMT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-WMT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_TELESERVICE_ID_VMN" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-VMN:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_TELESERVICE_ID_WAP" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-WAP:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_TELESERVICE_ID_WEMT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-WEMT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_TELESERVICE_ID_SCPT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-SCPT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_TELESERVICE_ID_CATPT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-CATPT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_UNKNOWN" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_EMERGENCY_BROADCAST" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-EMERGENCY-BROADCAST:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_ADMINISTRATIVE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-ADMINISTRATIVE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_MAINTENANCE" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-MAINTENANCE:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_LOCAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-GENERAL-NEWS-LOCAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_REGIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-GENERAL-NEWS-REGIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_NATIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-GENERAL-NEWS-NATIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_GENERAL_NEWS_INTERNATIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-GENERAL-NEWS-INTERNATIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_LOCAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-BUSINESS-NEWS-LOCAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_REGIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-BUSINESS-NEWS-REGIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_NATIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-BUSINESS-NEWS-NATIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_BUSINESS_NEWS_INTERNATIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-BUSINESS-NEWS-INTERNATIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_LOCAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-SPORTS-NEWS-LOCAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_REGIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-SPORTS-NEWS-REGIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_NATIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-SPORTS-NEWS-NATIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_SPORTS_NEWS_INTERNATIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-SPORTS-NEWS-INTERNATIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_LOCAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-ENTERTAINMENT-NEWS-LOCAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_REGIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-ENTERTAINMENT-NEWS-REGIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_NATIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-ENTERTAINMENT-NEWS-NATIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_ENTERTAINMENT_NEWS_INTERNATIONAL" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-ENTERTAINMENT-NEWS-INTERNATIONAL:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_LOCAL_WEATHER" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-LOCAL-WEATHER:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_TRAFFIC_REPORT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-TRAFFIC-REPORT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_FLIGHT_SCHEDULES" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-FLIGHT-SCHEDULES:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_RESTAURANTS" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-RESTAURANTS:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_LODGINGS" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-LODGINGS:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_RETAIL_DIRECTORY" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-RETAIL-DIRECTORY:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_ADVERTISEMENTS" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-ADVERTISEMENTS:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_STOCK_QUOTES" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-STOCK-QUOTES:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_EMPLOYMENT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-EMPLOYMENT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_HOSPITALS" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-HOSPITALS:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_TECHNOLOGY_NEWS" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-TECHNOLOGY-NEWS:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_MULTICATEGORY" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-MULTICATEGORY:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_PRESIDENTIAL_ALERT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-PRESIDENTIAL-ALERT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_EXTREME_THREAT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-EXTREME-THREAT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_SEVERE_THREAT" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-SEVERE-THREAT:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-CHILD-ABDUCTION-EMERGENCY:CAPS"/>
+ <keyword type="constant" name="MM_SMS_CDMA_SERVICE_CATEGORY_CMAS_TEST" link="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-CMAS-TEST:CAPS"/>
+ <keyword type="constant" name="MM_CONNECTION_ERROR_UNKNOWN" link="ModemManager-Errors.html#MM-CONNECTION-ERROR-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_CONNECTION_ERROR_NO_CARRIER" link="ModemManager-Errors.html#MM-CONNECTION-ERROR-NO-CARRIER:CAPS"/>
+ <keyword type="constant" name="MM_CONNECTION_ERROR_NO_DIALTONE" link="ModemManager-Errors.html#MM-CONNECTION-ERROR-NO-DIALTONE:CAPS"/>
+ <keyword type="constant" name="MM_CONNECTION_ERROR_BUSY" link="ModemManager-Errors.html#MM-CONNECTION-ERROR-BUSY:CAPS"/>
+ <keyword type="constant" name="MM_CONNECTION_ERROR_NO_ANSWER" link="ModemManager-Errors.html#MM-CONNECTION-ERROR-NO-ANSWER:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_FAILED" link="ModemManager-Errors.html#MM-CORE-ERROR-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_CANCELLED" link="ModemManager-Errors.html#MM-CORE-ERROR-CANCELLED:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_ABORTED" link="ModemManager-Errors.html#MM-CORE-ERROR-ABORTED:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_UNSUPPORTED" link="ModemManager-Errors.html#MM-CORE-ERROR-UNSUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_NO_PLUGINS" link="ModemManager-Errors.html#MM-CORE-ERROR-NO-PLUGINS:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_UNAUTHORIZED" link="ModemManager-Errors.html#MM-CORE-ERROR-UNAUTHORIZED:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_INVALID_ARGS" link="ModemManager-Errors.html#MM-CORE-ERROR-INVALID-ARGS:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_IN_PROGRESS" link="ModemManager-Errors.html#MM-CORE-ERROR-IN-PROGRESS:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_WRONG_STATE" link="ModemManager-Errors.html#MM-CORE-ERROR-WRONG-STATE:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_CONNECTED" link="ModemManager-Errors.html#MM-CORE-ERROR-CONNECTED:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_TOO_MANY" link="ModemManager-Errors.html#MM-CORE-ERROR-TOO-MANY:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_NOT_FOUND" link="ModemManager-Errors.html#MM-CORE-ERROR-NOT-FOUND:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_RETRY" link="ModemManager-Errors.html#MM-CORE-ERROR-RETRY:CAPS"/>
+ <keyword type="constant" name="MM_CORE_ERROR_EXISTS" link="ModemManager-Errors.html#MM-CORE-ERROR-EXISTS:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_ME_FAILURE" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-ME-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SMS_SERVICE_RESERVED" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SMS-SERVICE-RESERVED:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_NOT_ALLOWED" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-NOT-ALLOWED:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_NOT_SUPPORTED" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_INVALID_PDU_PARAMETER" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-INVALID-PDU-PARAMETER:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_INVALID_TEXT_PARAMETER" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-INVALID-TEXT-PARAMETER:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SIM_NOT_INSERTED" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SIM-NOT-INSERTED:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SIM_PIN" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SIM-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_PH_SIM_PIN" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-PH-SIM-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SIM_FAILURE" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SIM-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SIM_BUSY" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SIM-BUSY:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SIM_WRONG" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SIM-WRONG:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SIM_PUK" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SIM-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SIM_PIN2" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SIM-PIN2:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SIM_PUK2" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SIM-PUK2:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_MEMORY_FAILURE" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-MEMORY-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_INVALID_INDEX" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-INVALID-INDEX:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_MEMORY_FULL" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-MEMORY-FULL:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_SMSC_ADDRESS_UNKNOWN" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-SMSC-ADDRESS-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_NO_NETWORK" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-NO-NETWORK:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_NETWORK_TIMEOUT" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-NETWORK-TIMEOUT:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_NO_CNMA_ACK_EXPECTED" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-NO-CNMA-ACK-EXPECTED:CAPS"/>
+ <keyword type="constant" name="MM_MESSAGE_ERROR_UNKNOWN" link="ModemManager-Errors.html#MM-MESSAGE-ERROR-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_PHONE_FAILURE" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-PHONE-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NO_CONNECTION" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NO-CONNECTION:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_LINK_RESERVED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-LINK-RESERVED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NOT_ALLOWED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NOT-ALLOWED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_PH_SIM_PIN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-PH-SIM-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_PH_FSIM_PIN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-PH-FSIM-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_PH_FSIM_PUK" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-PH-FSIM-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SIM_NOT_INSERTED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SIM-NOT-INSERTED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SIM_PIN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SIM-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SIM_PUK" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SIM-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SIM_FAILURE" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SIM-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SIM_BUSY" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SIM-BUSY:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SIM_WRONG" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SIM-WRONG:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_INCORRECT_PASSWORD" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-INCORRECT-PASSWORD:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SIM_PIN2" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SIM-PIN2:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SIM_PUK2" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SIM-PUK2:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_MEMORY_FULL" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-MEMORY-FULL:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_INVALID_INDEX" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-INVALID-INDEX:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NOT_FOUND" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NOT-FOUND:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_MEMORY_FAILURE" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-MEMORY-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_TEXT_TOO_LONG" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-TEXT-TOO-LONG:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_INVALID_CHARS" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-INVALID-CHARS:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_DIAL_STRING_TOO_LONG" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-DIAL-STRING-TOO-LONG:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_DIAL_STRING_INVALID" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-DIAL-STRING-INVALID:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NO_NETWORK" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NO-NETWORK:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NETWORK_TIMEOUT" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NETWORK-TIMEOUT:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NETWORK_NOT_ALLOWED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NETWORK-NOT-ALLOWED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NETWORK_PIN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NETWORK-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NETWORK_PUK" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NETWORK-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NETWORK_SUBSET_PIN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NETWORK-SUBSET-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_NETWORK_SUBSET_PUK" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-NETWORK-SUBSET-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SERVICE_PIN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SERVICE-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_SERVICE_PUK" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-SERVICE-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_CORP_PIN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-CORP-PIN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_CORP_PUK" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-CORP-PUK:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_HIDDEN_KEY_REQUIRED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-HIDDEN-KEY-REQUIRED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_EAP_METHOD_NOT_SUPPORTED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-EAP-METHOD-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_INCORRECT_PARAMETERS" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-INCORRECT-PARAMETERS:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_UNKNOWN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_IMSI_UNKNOWN_IN_HLR" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-IMSI-UNKNOWN-IN-HLR:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_ILLEGAL_MS" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-ILLEGAL-MS:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_IMSI_UNKNOWN_IN_VLR" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-IMSI-UNKNOWN-IN-VLR:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_ILLEGAL_ME" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-ILLEGAL-ME:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_SERVICE_NOT_ALLOWED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-SERVICE-NOT-ALLOWED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-AND-NON-GPRS-SERVICES-NOT-ALLOWED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_PLMN_NOT_ALLOWED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-PLMN-NOT-ALLOWED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_LOCATION_NOT_ALLOWED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-LOCATION-NOT-ALLOWED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_ROAMING_NOT_ALLOWED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-ROAMING-NOT-ALLOWED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_NO_CELLS_IN_LOCATION_AREA" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-NO-CELLS-IN-LOCATION-AREA:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_NETWORK_FAILURE" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-NETWORK-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_CONGESTION" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-CONGESTION:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_NOT_AUTHORIZED_FOR_CSG" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-NOT-AUTHORIZED-FOR-CSG:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_INSUFFICIENT_RESOURCES" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-INSUFFICIENT-RESOURCES:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_MISSING_OR_UNKNOWN_APN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-MISSING-OR-UNKNOWN-APN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_UNKNOWN_PDP_ADDRESS_OR_TYPE" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-UNKNOWN-PDP-ADDRESS-OR-TYPE:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_USER_AUTHENTICATION_FAILED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-USER-AUTHENTICATION-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_ACTIVATION_REJECTED_BY_GGSN_OR_GW" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-ACTIVATION-REJECTED-BY-GGSN-OR-GW:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_ACTIVATION_REJECTED_UNSPECIFIED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-ACTIVATION-REJECTED-UNSPECIFIED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_SERVICE_OPTION_NOT_SUPPORTED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-SERVICE-OPTION-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_SERVICE_OPTION_NOT_SUBSCRIBED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-SERVICE-OPTION-NOT-SUBSCRIBED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_SERVICE_OPTION_OUT_OF_ORDER" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-SERVICE-OPTION-OUT-OF-ORDER:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_FEATURE_NOT_SUPPORTED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-FEATURE-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_SEMANTIC_ERROR_IN_TFT_OPERATION" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-SEMANTIC-ERROR-IN-TFT-OPERATION:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_SYNTACTICAL_ERROR_IN_TFT_OPERATION" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-SYNTACTICAL-ERROR-IN-TFT-OPERATION:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_UNKNOWN_PDP_CONTEXT" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-UNKNOWN-PDP-CONTEXT:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_SEMANTIC_ERRORS_IN_PACKET_FILTER" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-SEMANTIC-ERRORS-IN-PACKET-FILTER:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_SYNTACTICAL_ERROR_IN_PACKET_FILTER" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-SYNTACTICAL-ERROR-IN-PACKET-FILTER:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_PDP_CONTEXT_WITHOUT_TFT_ALREADY_ACTIVATED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-PDP-CONTEXT-WITHOUT-TFT-ALREADY-ACTIVATED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_UNKNOWN" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_PDP_AUTH_FAILURE" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-PDP-AUTH-FAILURE:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_INVALID_MOBILE_CLASS" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-INVALID-MOBILE-CLASS:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_LAST_PDN_DISCONNECTION_NOT_ALLOWED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-LAST-PDN-DISCONNECTION-NOT-ALLOWED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_SEMANTICALLY_INCORRECT_MESSAGE" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-SEMANTICALLY-INCORRECT-MESSAGE:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_MANDATORY_IE_ERROR" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-MANDATORY-IE-ERROR:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_IE_NOT_IMPLEMENTED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-IE-NOT-IMPLEMENTED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_CONDITIONAL_IE_ERROR" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-CONDITIONAL-IE-ERROR:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_UNSPECIFIED_PROTOCOL_ERROR" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-UNSPECIFIED-PROTOCOL-ERROR:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_OPERATOR_DETERMINED_BARRING" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-OPERATOR-DETERMINED-BARRING:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_MAXIMUM_NUMBER_OF_PDP_CONTEXTS_REACHED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-MAXIMUM-NUMBER-OF-PDP-CONTEXTS-REACHED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_REQUESTED_APN_NOT_SUPPORTED" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-REQUESTED-APN-NOT-SUPPORTED:CAPS"/>
+ <keyword type="constant" name="MM_MOBILE_EQUIPMENT_ERROR_GPRS_REQUEST_REJECTED_BCM_VIOLATION" link="ModemManager-Errors.html#MM-MOBILE-EQUIPMENT-ERROR-GPRS-REQUEST-REJECTED-BCM-VIOLATION:CAPS"/>
+ <keyword type="constant" name="MM_SERIAL_ERROR_UNKNOWN" link="ModemManager-Errors.html#MM-SERIAL-ERROR-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_SERIAL_ERROR_OPEN_FAILED" link="ModemManager-Errors.html#MM-SERIAL-ERROR-OPEN-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_SERIAL_ERROR_SEND_FAILED" link="ModemManager-Errors.html#MM-SERIAL-ERROR-SEND-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_SERIAL_ERROR_RESPONSE_TIMEOUT" link="ModemManager-Errors.html#MM-SERIAL-ERROR-RESPONSE-TIMEOUT:CAPS"/>
+ <keyword type="constant" name="MM_SERIAL_ERROR_OPEN_FAILED_NO_DEVICE" link="ModemManager-Errors.html#MM-SERIAL-ERROR-OPEN-FAILED-NO-DEVICE:CAPS"/>
+ <keyword type="constant" name="MM_SERIAL_ERROR_FLASH_FAILED" link="ModemManager-Errors.html#MM-SERIAL-ERROR-FLASH-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_SERIAL_ERROR_NOT_OPEN" link="ModemManager-Errors.html#MM-SERIAL-ERROR-NOT-OPEN:CAPS"/>
+ <keyword type="constant" name="MM_SERIAL_ERROR_PARSE_FAILED" link="ModemManager-Errors.html#MM-SERIAL-ERROR-PARSE-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_SERIAL_ERROR_FRAME_NOT_FOUND" link="ModemManager-Errors.html#MM-SERIAL-ERROR-FRAME-NOT-FOUND:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_NONE" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-NONE:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_UNKNOWN" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-UNKNOWN:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_ROAMING" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-ROAMING:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_WRONG_RADIO_INTERFACE" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-WRONG-RADIO-INTERFACE:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_COULD_NOT_CONNECT" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-COULD-NOT-CONNECT:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_SECURITY_AUTHENTICATION_FAILED" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-SECURITY-AUTHENTICATION-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_PROVISIONING_FAILED" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-PROVISIONING-FAILED:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_NO_SIGNAL" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-NO-SIGNAL:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_TIMED_OUT" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-TIMED-OUT:CAPS"/>
+ <keyword type="constant" name="MM_CDMA_ACTIVATION_ERROR_START_FAILED" link="ModemManager-Errors.html#MM-CDMA-ACTIVATION-ERROR-START-FAILED:CAPS"/>
+ </functions>
+</book>
diff --git a/docs/reference/api/html/ch02s02.html b/docs/reference/api/html/ch02s02.html
new file mode 100644
index 00000000..1260f473
--- /dev/null
+++ b/docs/reference/api/html/ch02s02.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Builds without udev support: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview-modem-detection.html" title="Modem detection">
+<link rel="prev" href="ref-overview-modem-detection.html" title="Modem detection">
+<link rel="next" href="ref-overview-modem-filter.html" title="Modem filter">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview-modem-detection.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-overview-modem-detection.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-overview-modem-filter.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.3.3"></a>Builds without udev support</h2></div></div></div>
+<p>
+ When the udev daemon isn't available in the system, the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent" title="The ReportKernelEvent() method">ReportKernelEvent</a>
+ method in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.html" title="org.freedesktop.ModemManager1">Manager interface</a>
+ may be used to notify the ModemManager daemons of device addition and removals.
+ </p>
+<p>
+ When udev support is disabled in the build, the <span class="emphasis"><em>ID_MM_CANDIDATE</em></span>
+ tag and manual scan requests are still applicable. ModemManager has a built-in parser
+ of udev rule files that is enabled when udev itself isn't available.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch03s02.html b/docs/reference/api/html/ch03s02.html
new file mode 100644
index 00000000..03b95c5f
--- /dev/null
+++ b/docs/reference/api/html/ch03s02.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Filter policies: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview-modem-filter.html" title="Modem filter">
+<link rel="prev" href="ref-overview-modem-filter.html" title="Modem filter">
+<link rel="next" href="ref-overview-modem-port-probing.html" title="Port probing">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview-modem-filter.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-overview-modem-filter.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-overview-modem-port-probing.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.5"></a>Filter policies</h2></div></div></div>
+<p>
+ The predefined filter policies are:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p><span class="emphasis"><em>Whitelist only</em></span></p>
+<p>
+ This is a policy where only the MM_FILTER_RULE_EXPLICIT_WHITELIST rule is enabled.
+ </p>
+<pre class="programlisting"># /usr/sbin/ModemManager --filter-policy=WHITELIST-ONLY</pre>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Default</em></span></p>
+<p>
+ This is a policy where the following rules are enabled:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">MM_FILTER_RULE_EXPLICIT_WHITELIST</li>
+<li class="listitem">MM_FILTER_RULE_VIRTUAL</li>
+<li class="listitem">MM_FILTER_RULE_NET</li>
+<li class="listitem">MM_FILTER_RULE_CDC_WDM</li>
+<li class="listitem">MM_FILTER_RULE_TTY</li>
+<li class="listitem">MM_FILTER_RULE_TTY_BLACKLIST</li>
+<li class="listitem">MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY</li>
+<li class="listitem">MM_FILTER_RULE_TTY_PLATFORM_DRIVER</li>
+<li class="listitem">MM_FILTER_RULE_TTY_DEFAULT_ALLOWED</li>
+</ul></div>
+<p>
+ </p>
+<p>
+ This policy is the default one when a different one not explicitly
+ selected, and is equivalent to the way ModemManager has worked in previous
+ releases. This policy is the least restrictive one, and will end up
+ allowing port probing of all TTYs not explicitly blacklisted in one way
+ or another.
+ </p>
+<pre class="programlisting"># /usr/sbin/ModemManager --filter-policy=DEFAULT</pre>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Strict</em></span></p>
+<p>
+ This is a policy where the following rules are enabled:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">MM_FILTER_RULE_EXPLICIT_WHITELIST</li>
+<li class="listitem">MM_FILTER_RULE_VIRTUAL</li>
+<li class="listitem">MM_FILTER_RULE_NET</li>
+<li class="listitem">MM_FILTER_RULE_CDC_WDM</li>
+<li class="listitem">MM_FILTER_RULE_TTY</li>
+<li class="listitem">MM_FILTER_RULE_TTY_PLATFORM_DRIVER</li>
+<li class="listitem">MM_FILTER_RULE_TTY_DRIVER</li>
+<li class="listitem">MM_FILTER_RULE_TTY_ACM_INTERFACE</li>
+<li class="listitem">MM_FILTER_RULE_TTY_WITH_NET</li>
+<li class="listitem">MM_FILTER_RULE_TTY_DEFAULT_FORBIDDEN</li>
+</ul></div>
+<p>
+ </p>
+<p>
+ This policy is stricter than the default one, as by default all TTYs are
+ forbidden except for the ones explicitly allowed by one of the TTY-specific
+ rules. Distributions or users should use this policy if they don't want
+ ModemManager to mess around with TTY ports that may not be exposed by
+ actual modems.
+ </p>
+<pre class="programlisting"># /usr/sbin/ModemManager --filter-policy=STRICT</pre>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Paranoid</em></span></p>
+<p>
+ This policy is a mix of the Default and Strict ones:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
+<li class="listitem">MM_FILTER_RULE_EXPLICIT_WHITELIST</li>
+<li class="listitem">MM_FILTER_RULE_VIRTUAL</li>
+<li class="listitem">MM_FILTER_RULE_NET</li>
+<li class="listitem">MM_FILTER_RULE_CDC_WDM</li>
+<li class="listitem">MM_FILTER_RULE_TTY</li>
+<li class="listitem">MM_FILTER_RULE_TTY_BLACKLIST</li>
+<li class="listitem">MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY</li>
+<li class="listitem">MM_FILTER_RULE_TTY_PLATFORM_DRIVER</li>
+<li class="listitem">MM_FILTER_RULE_TTY_DRIVER</li>
+<li class="listitem">MM_FILTER_RULE_TTY_ACM_INTERFACE</li>
+<li class="listitem">MM_FILTER_RULE_TTY_WITH_NET</li>
+<li class="listitem">MM_FILTER_RULE_TTY_DEFAULT_FORBIDDEN</li>
+</ul></div>
+<p>
+ </p>
+<p>
+ This policy is equivalent to the Strict policy, but where the ModemManager
+ provided blacklist and manual scan only greylist are also used. It is not
+ recommended to use this option in normal setups as the blacklists may be
+ obsoleted in future ModemManager versions (in favor of using the Strict
+ policy as default).
+ </p>
+<pre class="programlisting"># /usr/sbin/ModemManager --filter-policy=PARANOID</pre>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Custom</em></span></p>
+<p>
+ Any of the previously defined predefined policies may be modified rule per rule
+ by explicitly enabling or disabling rules via environment variables.
+ </p>
+<p>
+ E.g. this would launch ModemManager with the Default filter policy but with all
+ net and cdc-wdm ports forbidden completely:
+ </p>
+<pre class="programlisting">
+# MM_FILTER_RULE_NET=0 \
+ MM_FILTER_RULE_CDC_WDM=0 \
+ /usr/sbin/ModemManager --filter-policy=DEFAULT</pre>
+<p>
+ </p>
+<p>
+ E.g. this would launch ModemManager with the Whitelist-only filter policy but also
+ explicitly allowing all net and cdc-wdm ports. Note that in this case, all virtual
+ net ports (e.g. 'lo') are also being allowed.
+ </p>
+<pre class="programlisting">
+# MM_FILTER_RULE_NET=1 \
+ MM_FILTER_RULE_CDC_WDM=1 \
+ /usr/sbin/ModemManager --filter-policy=WHITELIST-ONLY</pre>
+<p>
+ </p>
+</li>
+</ul></div>
+<p>
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch04s02.html b/docs/reference/api/html/ch04s02.html
new file mode 100644
index 00000000..4ad762c7
--- /dev/null
+++ b/docs/reference/api/html/ch04s02.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Probing sequence: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview-modem-port-probing.html" title="Port probing">
+<link rel="prev" href="ref-overview-modem-port-probing.html" title="Port probing">
+<link rel="next" href="ch04s03.html" title="Post-probing filters">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview-modem-port-probing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-overview-modem-port-probing.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch04s03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.5.5"></a>Probing sequence</h2></div></div></div>
+<p>
+ Whenever all pre-probing filters of a given plugin pass, ModemManager will run
+ the probing sequence as requested by the specific plugin. The main purpose of the
+ probing sequence step is to determine the type of port being probed, and also
+ prepare the information required in any expected post-probing filter.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p><span class="emphasis"><em>Custom initialization</em></span></p>
+<p>
+ This property allows plugins to provide an asynchronous method which will get
+ executed as soon as the AT port gets opened. This method may be used for any
+ purpose, like running an early command in the ports as soon as possible, or
+ querying the modem for info about the port layout.
+ </p>
+<p>
+ This configuration is specified by the <span class="type">MM_PLUGIN_CUSTOM_INIT</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>AT allowed</em></span></p>
+<p>
+ This boolean property allows plugins to specify that they expect and support
+ AT serial ports.
+ </p>
+<p>
+ This configuration is specified by the <span class="type">MM_PLUGIN_ALLOWED_AT</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Single AT expected</em></span></p>
+<p>
+ This boolean property allows plugins to specify that they only expect and support
+ one AT serial port. Whenever the first AT port is grabbed, any remaining AT probing
+ in ports of the same device will get cancelled.
+ </p>
+<p>
+ This configuration is specified by the <span class="type">MM_PLUGIN_ALLOWED_SINGLE_AT</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Custom AT probing</em></span></p>
+<p>
+ This property allows plugins to specify custom commands to check whether a port
+ is AT or not. By default, the 'AT' command will be used if no custom one specified.
+ </p>
+<p>
+ This configuration is specified by the <span class="type">MM_PLUGIN_CUSTOM_AT_PROBE</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>QCDM allowed</em></span></p>
+<p>
+ This boolean property allows plugins to specify that they expect and support
+ QCDM serial ports.
+ </p>
+<p>
+ This configuration is specified by the <span class="type">MM_PLUGIN_ALLOWED_QCDM</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Check Icera support</em></span></p>
+<p>
+ This boolean property allows plugins to specify that they want to have the Icera
+ support checks included in the probing sequence. They can afterwards get the result
+ of the support check to decide whether they want to create a Icera-based modem
+ object or not.
+ </p>
+<p>
+ This configuration is specified by the <span class="type">MM_PLUGIN_ICERA_PROBE</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+</ul></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch04s03.html b/docs/reference/api/html/ch04s03.html
new file mode 100644
index 00000000..585ad788
--- /dev/null
+++ b/docs/reference/api/html/ch04s03.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Post-probing filters: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview-modem-port-probing.html" title="Port probing">
+<link rel="prev" href="ch04s02.html" title="Probing sequence">
+<link rel="next" href="ch04s04.html" title="Probing setup examples">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview-modem-port-probing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch04s02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch04s04.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.5.6"></a>Post-probing filters</h2></div></div></div>
+<p>
+ Post-probing filters are required to identify whether a plugin can handle a given
+ modem, in special cases where the information retrieved from udev is either not
+ enough or wrong. This covers, for example, RS232 modems connected through a RS232
+ to USB converter, where udev-reported vendor ID is that of the converter, not the
+ one of the modem.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p><span class="emphasis"><em>Allowed vendor strings</em></span></p>
+<p>
+ Plugins can provide a list of vendor strings to be used as post-probing
+ filters. If the vendor string reported by the device via AT commands
+ is found in the list provided by the plugin, the plugin will report that
+ it can handle this modem.
+ </p>
+<p>
+ This filter is specified by the <span class="type">MM_PLUGIN_ALLOWED_VENDOR_STRINGS</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Product strings</em></span></p>
+<p>
+ Plugins can provide a list of pairs of vendor and product
+ strings to be used as post-probing filters.
+ </p>
+<p>
+ If the vendor and product string pair reported by the device via AT
+ commands is found in the 'allowed' list provided by the plugin, the
+ plugin will report that it can handle this modem. This additional filter
+ should be used when the plugin is expected to work only with a given
+ specific product of a given vendor.
+ </p>
+<p>
+ If the vendor and product string pair reported by the device via AT
+ commands is found in the 'forbidden list provided by the plugin, the
+ plugin will report that it cannot handle this modem. This additional filter
+ should be used when the plugin supports all devices of a given vendor, except for some specific ones.
+ </p>
+<p>
+ These filters are specified by the <span class="type">MM_PLUGIN_ALLOWED_PRODUCT_STRINGS</span>
+ and <span class="type">MM_PLUGIN_FORBIDDEN_PRODUCT_STRINGS</span> properties in the
+ <span class="structname">MMPlugin</span> object provided by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Icera support</em></span></p>
+<p>
+ Plugins can specify that they only support Icera-based modems, or that they
+ do not support any Icera-based modem. When either of this configurations is
+ enabled, the Icera support checks will be included in the
+ probing sequence, and the result of the check will help to determine whether
+ the plugin supports the modem or not.
+ </p>
+<p>
+ This filter is specified by the <span class="type">MM_PLUGIN_ALLOWED_ICERA</span> and
+ <span class="type">MM_PLUGIN_FORBIDDEN_ICERA</span> properties in the
+ <span class="structname">MMPlugin</span> object provided by the plugin.
+ </p>
+</li>
+</ul></div>
+<div class="note"><p>
+ Plugins which require post-probing filters will always be sorted last, and
+ therefore they will be the last ones being checked for pre-probing filters. This
+ is due to the fact that we need to assume that these plugins aren't able to
+ determine port support just with pre-probing filters, as we want to avoid
+ unnecessary probing sequences launched. Also note that the Generic plugin is
+ anyway always the last one in the list.
+ </p></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch04s04.html b/docs/reference/api/html/ch04s04.html
new file mode 100644
index 00000000..b1981a01
--- /dev/null
+++ b/docs/reference/api/html/ch04s04.html
@@ -0,0 +1,246 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Probing setup examples: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview-modem-port-probing.html" title="Port probing">
+<link rel="prev" href="ch04s03.html" title="Post-probing filters">
+<link rel="next" href="ref-overview-modem-object-creation.html" title="Modem object creation">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview-modem-port-probing.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch04s03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-overview-modem-object-creation.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.5.7"></a>Probing setup examples</h2></div></div></div>
+<div class="example">
+<a name="id-1.2.5.7.2"></a><p class="title"><b>Example 1. Probing setup for a plugin requiring udev-based vendor/product checks</b></p>
+<div class="example-contents">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="usertype">G_MODULE_EXPORT</span><span class="normal"> MMPlugin </span><span class="symbol">*</span>
+<span class="function">mm_plugin_create</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
+<span class="cbracket">{</span>
+<span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">subsystems</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"tty"</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">;</span>
+<span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">guint16</span><span class="normal"> vendor_ids</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="number">0xabcd</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
+<span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">mm_uint16_pair</span><span class="normal"> product_ids</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span>
+<span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="number">0x1234</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0xffff</span><span class="normal"> </span><span class="cbracket">}</span>
+<span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
+<span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">vendor_strings</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"vendor"</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">;</span>
+
+<span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function">MM_PLUGIN</span><span class="normal"> </span><span class="symbol">(</span>
+<span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">MM_TYPE_PLUGIN_IRIDIUM</span><span class="symbol">,</span>
+<span class="normal"> MM_PLUGIN_NAME</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Example"</span><span class="symbol">,</span>
+
+<span class="normal"> </span><span class="comment">/* Next items are pre-probing filters */</span>
+<span class="normal"> MM_PLUGIN_ALLOWED_SUBSYSTEMS</span><span class="symbol">,</span><span class="normal"> subsystems</span><span class="symbol">,</span>
+<span class="normal"> MM_PLUGIN_ALLOWED_VENDOR_IDS</span><span class="symbol">,</span><span class="normal"> vendor_ids</span><span class="symbol">,</span>
+<span class="normal"> MM_PLUGIN_ALLOWED_PRODUCT_IDS</span><span class="symbol">,</span><span class="normal"> product_ids</span><span class="symbol">,</span>
+
+<span class="normal"> </span><span class="comment">/* Next items are probing sequence setup */</span>
+<span class="normal"> MM_PLUGIN_ALLOWED_AT</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">,</span>
+
+<span class="normal"> </span><span class="comment">/* No post-probing filters */</span>
+<span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">));</span>
+<span class="cbracket">}</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+</div>
+<br class="example-break"><div class="example">
+<a name="id-1.2.5.7.3"></a><p class="title"><b>Example 2. Probing setup for a plugin requiring AT-probed vendor/product checks</b></p>
+<div class="example-contents">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="usertype">G_MODULE_EXPORT</span><span class="normal"> MMPlugin </span><span class="symbol">*</span>
+<span class="function">mm_plugin_create</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
+<span class="cbracket">{</span>
+<span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">subsystems</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"tty"</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">;</span>
+<span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">vendor_strings</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"vendor"</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">;</span>
+<span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">mm_str_pair</span><span class="normal"> product_strings</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"another-vendor"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"product xyz"</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
+
+<span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function">MM_PLUGIN</span><span class="normal"> </span><span class="symbol">(</span>
+<span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">MM_TYPE_PLUGIN_IRIDIUM</span><span class="symbol">,</span>
+<span class="normal"> MM_PLUGIN_NAME</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Example"</span><span class="symbol">,</span>
+
+<span class="normal"> </span><span class="comment">/* Next items are pre-probing filters */</span>
+<span class="normal"> MM_PLUGIN_ALLOWED_SUBSYSTEMS</span><span class="symbol">,</span><span class="normal"> subsystems</span><span class="symbol">,</span>
+
+<span class="normal"> </span><span class="comment">/* Next items are probing sequence setup */</span>
+<span class="normal"> MM_PLUGIN_ALLOWED_AT</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">,</span>
+
+<span class="normal"> </span><span class="comment">/* Next items are post-probing filters */</span>
+<span class="normal"> MM_PLUGIN_VENDOR_STRINGS</span><span class="symbol">,</span><span class="normal"> vendor_strings</span><span class="symbol">,</span>
+<span class="normal"> MM_PLUGIN_PRODUCT_STRINGS</span><span class="symbol">,</span><span class="normal"> product_strings</span><span class="symbol">,</span>
+<span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">));</span>
+<span class="cbracket">}</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+</div>
+<br class="example-break"><div class="example">
+<a name="id-1.2.5.7.4"></a><p class="title"><b>Example 3. Probing setup for a plugin with custom initialization requirements</b></p>
+<div class="example-contents">
+ <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td class="listing_lines" align="right"><pre>1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43</pre></td>
+ <td class="listing_code"><pre class="programlisting"><span class="keyword">static</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean">gboolean</a></span>
+<span class="function">parse_custom_at</span><span class="normal"> </span><span class="symbol">(</span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">response</span><span class="symbol">,</span>
+<span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">error</span><span class="symbol">,</span>
+<span class="normal"> </span><span class="usertype">GValue</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">result</span><span class="symbol">,</span>
+<span class="normal"> </span><span class="usertype">GError</span><span class="normal"> </span><span class="symbol">**</span><span class="normal">result_error</span><span class="symbol">)</span>
+<span class="cbracket">{</span>
+<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">)</span><span class="normal"> </span><span class="cbracket">{</span>
+<span class="normal"> </span><span class="symbol">*</span><span class="normal">result_error </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#g-error-copy">g_error_copy</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">error</span><span class="symbol">);</span>
+<span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS">FALSE</a></span><span class="symbol">;</span>
+<span class="normal"> </span><span class="cbracket">}</span>
+
+<span class="normal"> </span><span class="comment">/* Otherwise, done. And also report that it's an AT port. */</span>
+<span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/gobject/unstable/gobject-Generic-values.html#g-value-init">g_value_init</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">result</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#G-TYPE-BOOLEAN:CAPS">G_TYPE_BOOLEAN</a></span><span class="symbol">);</span>
+<span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/gobject/unstable/gobject-Standard-Parameter-and-Value-Types.html#g-value-set-boolean">g_value_set_boolean</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">result</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">);</span>
+<span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">;</span>
+<span class="cbracket">}</span>
+
+<span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">MMPortProbeAtCommand</span><span class="normal"> custom_at_probe</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span>
+<span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"AT+SOMETHING"</span><span class="symbol">,</span><span class="normal"> parse_custom_at </span><span class="cbracket">}</span><span class="symbol">,</span>
+<span class="normal"> </span><span class="cbracket">{</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span>
+<span class="cbracket">}</span><span class="symbol">;</span>
+
+<span class="usertype">G_MODULE_EXPORT</span><span class="normal"> MMPlugin </span><span class="symbol">*</span>
+<span class="function">mm_plugin_create</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
+<span class="cbracket">{</span>
+<span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">gchar</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">subsystems</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="string">"tty"</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a> </span><span class="cbracket">}</span><span class="symbol">;</span>
+<span class="normal"> </span><span class="keyword">static</span><span class="normal"> </span><span class="keyword">const</span><span class="normal"> </span><span class="usertype">guint16</span><span class="normal"> vendor_ids</span><span class="symbol">[]</span><span class="normal"> </span><span class="symbol">=</span><span class="normal"> </span><span class="cbracket">{</span><span class="normal"> </span><span class="number">0xabcd</span><span class="symbol">,</span><span class="normal"> </span><span class="number">0</span><span class="normal"> </span><span class="cbracket">}</span><span class="symbol">;</span>
+
+<span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function">MM_PLUGIN</span><span class="normal"> </span><span class="symbol">(</span>
+<span class="normal"> </span><span class="function"><a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-new">g_object_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">MM_TYPE_PLUGIN_EXAMPLE</span><span class="symbol">,</span>
+<span class="normal"> MM_PLUGIN_NAME</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Example"</span><span class="symbol">,</span>
+
+<span class="normal"> </span><span class="comment">/* Next items are pre-probing filters */</span>
+<span class="normal"> MM_PLUGIN_ALLOWED_SUBSYSTEMS</span><span class="symbol">,</span><span class="normal"> subsystems</span><span class="symbol">,</span>
+<span class="normal"> MM_PLUGIN_ALLOWED_VENDOR_IDS</span><span class="symbol">,</span><span class="normal"> vendor_ids</span><span class="symbol">,</span>
+
+<span class="normal"> </span><span class="comment">/* Next items are probing sequence setup */</span>
+<span class="normal"> MM_PLUGIN_CUSTOM_AT_PROBE</span><span class="symbol">,</span><span class="normal"> custom_at_probe</span><span class="symbol">,</span>
+<span class="normal"> MM_PLUGIN_ALLOWED_AT</span><span class="symbol">,</span><span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">,</span>
+
+<span class="normal"> </span><span class="comment">/* No post-probing filters */</span>
+<span class="normal"> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">));</span>
+<span class="cbracket">}</span></pre></td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+</div>
+<br class="example-break">
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch06s02.html b/docs/reference/api/html/ch06s02.html
new file mode 100644
index 00000000..2cc41d98
--- /dev/null
+++ b/docs/reference/api/html/ch06s02.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Enabling: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview-modem-state-machine.html" title="Modem state machine">
+<link rel="prev" href="ref-overview-modem-state-machine.html" title="Modem state machine">
+<link rel="next" href="ch06s03.html" title="Connection &amp; disconnection">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview-modem-state-machine.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-overview-modem-state-machine.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch06s03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.7.6"></a>Enabling</h2></div></div></div>
+<p>
+ Modem enabling is the user-requested sequence with the sole purpose of bringing
+ the modem to a state where it can get connected.
+ </p>
+<p>
+ As with the initialization sequence, the global enabling sequence is itself
+ splitted into N per-interface enabling steps (being N the number of interfaces
+ exported by the modem). Those interfaces implemented by the object but not
+ supported by the modem will not be enabled.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p><span class="emphasis"><em>Modem interface enabling</em></span></p>
+<p>
+ The sequence to enable the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">Modem interface</a>
+ takes care of different important steps, such as <span class="emphasis"><em>powering up the
+ radio interface</em></span> or <span class="emphasis"><em>configuring</em></span> the best charset
+ to use.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>3GPP interface enabling</em></span></p>
+<p>
+ Modems with 3GPP capabilities will enable the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html" title="org.freedesktop.ModemManager1.Modem.Modem3gpp">3GPP interface</a>
+ as part of the global enabling sequence. This sequence involves setting up the
+ <span class="emphasis"><em>automatic registration</em></span> of the device in the network, as well
+ as configuring 3GPP specific <span class="emphasis"><em>indicators and unsolicited message
+ handlers</em></span>.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>CDMA interface enabling</em></span></p>
+<p>
+ Modems with CDMA capabilities will enable the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html" title="org.freedesktop.ModemManager1.Modem.ModemCdma">CDMA interface</a>
+ as part of the global enabling sequence. This sequence involves setting up the
+ <span class="emphasis"><em>periodic checks of registration</em></span> in the CDMA network.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Additional feature-specific interface enablings</em></span></p>
+<p>
+ Each feature-specific interface will have its own enabling sequence, with operations
+ which are directly related to the purpose of the interface. For example, enabling the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html" title="org.freedesktop.ModemManager1.Modem.Location">Location</a>
+ interface will involve setting up the initial location information; and enabling the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html" title="org.freedesktop.ModemManager1.Modem.Messaging">Messaging</a>
+ interface will involve loading the initial list of SMS available in the SIM or Modem.
+ </p>
+</li>
+</ul></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch06s03.html b/docs/reference/api/html/ch06s03.html
new file mode 100644
index 00000000..4e98d39e
--- /dev/null
+++ b/docs/reference/api/html/ch06s03.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Connection &amp; disconnection: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview-modem-state-machine.html" title="Modem state machine">
+<link rel="prev" href="ch06s02.html" title="Enabling">
+<link rel="next" href="ch06s04.html" title="Disabling">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview-modem-state-machine.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch06s02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch06s04.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.7.7"></a>Connection &amp; disconnection</h2></div></div></div>
+<p>
+ Connecting the Modem is done through the <span class="emphasis"><em>Bearer</em></span> objects. Once such an
+ object is created, the user can request to get the given bearer connected.
+ </p>
+<p>
+ Broadband Modems will usually create Broadband Bearers. This kind of bearers can run either
+ the CDMA connection sequence (if the modem has CDMA capabilities) or the 3GPP connection
+ sequence (if the modem has 3GPP capabilities). For the special case of mixed 3GPP+CDMA
+ modems, it is assumed that the plugin implementation needs to decide how the connection gets
+ done. By default, anyway, the 3GPP sequence is used in this case.
+ </p>
+<div class="note"><p>
+ Modems which are both LTE (3GPP) and CDMA can hand over from LTE to CDMA transparently and
+ automatically when no LTE network is available, even keeping the same IP address. When this
+ happens, the modem will get notified about the access technology change, and ModemManager
+ will update that information.
+ </p></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch06s04.html b/docs/reference/api/html/ch06s04.html
new file mode 100644
index 00000000..ac0a3310
--- /dev/null
+++ b/docs/reference/api/html/ch06s04.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Disabling: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview-modem-state-machine.html" title="Modem state machine">
+<link rel="prev" href="ch06s03.html" title="Connection &amp; disconnection">
+<link rel="next" href="ref-overview-plugin-specific-modems.html" title="Plugin-specific Modems">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview-modem-state-machine.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch06s03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-overview-plugin-specific-modems.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.7.8"></a>Disabling</h2></div></div></div>
+<p>
+ Users can disable the modems, which will bring them to a state where they are in low power
+ mode (e.g. RF switched off) and not registered in any network.
+ </p>
+<p>
+ As with the initialization or enabling sequences, the global disabling sequence is itself
+ splitted into N per-interface disabling steps (being N the number of interfaces
+ exported by the modem). Those interfaces implemented by the object but not
+ supported by the modem will not be disabled.
+ </p>
+<div class="note"><p>
+ The global disabling sequence will go on disabling the interfaces one by one, but
+ starting with the interface which was last enabled during the enabling sequence, and
+ backwards. This ensures that the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">Modem interface</a>
+ gets disabled last.
+ </p></div>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p><span class="emphasis"><em>Additional feature-specific interface disablings</em></span></p>
+<p>
+ Each feature-specific interface will have its own disabling sequence, with operations
+ which are directly related to the purpose of the interface. For example, disabling the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html" title="org.freedesktop.ModemManager1.Modem.Location">Location</a>
+ interface will involve shutting down the location gathering; and disabling the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html" title="org.freedesktop.ModemManager1.Modem.Messaging">Messaging</a>
+ interface will involve unexporting all SMS objects from DBus.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>CDMA interface disabling</em></span></p>
+<p>
+ Modems with CDMA capabilities will disable the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html" title="org.freedesktop.ModemManager1.Modem.ModemCdma">CDMA interface</a>
+ as part of the global disabling sequence. This sequence involves cancelling the
+ <span class="emphasis"><em>periodic checks of registration</em></span> in the CDMA network.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>3GPP interface disabling</em></span></p>
+<p>
+ Modems with 3GPP capabilities will disable the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html" title="org.freedesktop.ModemManager1.Modem.Modem3gpp">3GPP interface</a>
+ as part of the global disabling sequence. This sequence involves, among other things,
+ cleaning up 3GPP specific <span class="emphasis"><em>indicators and unsolicited message handlers</em></span>.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Modem interface disabling</em></span></p>
+<p>
+ The sequence to disable the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">Modem interface</a>
+ takes care of different important steps, such as <span class="emphasis"><em>powering down the
+ radio interface</em></span>.
+ </p>
+</li>
+</ul></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch16.html b/docs/reference/api/html/ch16.html
new file mode 100644
index 00000000..723dbd56
--- /dev/null
+++ b/docs/reference/api/html/ch16.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-migrating.html" title="Part V. Migrating from ModemManager 0.6 to ModemManager 1.0">
+<link rel="prev" href="ref-migrating.html" title="Part V. Migrating from ModemManager 0.6 to ModemManager 1.0">
+<link rel="next" href="ch16s02.html" title="PIN unlocking">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-migrating.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-migrating.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch16s02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="ch16.html#id-1.6.3.1">Listing available modems</a></span></dt>
+<dt><span class="section"><a href="ch16s02.html">PIN unlocking</a></span></dt>
+<dt><span class="section"><a href="ch16s03.html">Connection and disconnection</a></span></dt>
+<dt><span class="section"><a href="ch16s04.html">Simple connection</a></span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.6.3.1"></a>Listing available modems</h2></div></div></div>
+<p>
+ The D-Bus name <code class="literal">org.freedesktop.ModemManager1</code>
+ on the system bus is the new name used by the ModemManager 1.0 daemon, and it
+ implements several standard DBus interfaces, including the new
+ <a class="ulink" href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager" target="_top">
+ <code class="literal">org.freedesktop.DBus.ObjectManager</code>
+ </a>
+ interface, which allows to list available modem objects and get notifications
+ where new ones are added or when existing ones are removed. There are therefore
+ neither a custom method to enumerate devices as in the old 0.6 interface, nor
+ custom signals to notify about added or removed modems.
+ </p>
+<p>
+ Modems which are found but are not usable will be flagged with a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-FAILED:CAPS"><code class="constant">MM_MODEM_STATE_FAILED</code></a>
+ state in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.State" title='The "State" property'>
+ <code class="literal">State</code>
+ </a>
+ property, and a more detailed reason about the failure will be given in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason" title='The "StateFailedReason" property'>
+ <code class="literal">StateFailedReason</code>
+ </a>
+ property. The most common case of failure is to have the SIM missing in a modem which
+ requires one for operation.
+ </p>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch16s02.html b/docs/reference/api/html/ch16s02.html
new file mode 100644
index 00000000..99ffe72c
--- /dev/null
+++ b/docs/reference/api/html/ch16s02.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PIN unlocking: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ch16.html" title="">
+<link rel="prev" href="ch16.html" title="">
+<link rel="next" href="ch16s03.html" title="Connection and disconnection">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch16.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch16.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch16s03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.6.3.2"></a>PIN unlocking</h2></div></div></div>
+<p>
+ The process of PIN unlocking the modem is now performed with the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin" title="The SendPin() method">
+ <code class="function">SendPin()</code>
+ </a>
+ method in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html" title="org.freedesktop.ModemManager1.Sim">
+ <code class="literal">org.freedesktop.ModemManager1.Sim</code>
+ </a>
+ interface.
+ </p>
+<p>
+ The path of the SIM object is specified in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Sim" title='The "Sim" property'>
+ <code class="literal">Sim</code>
+ </a>
+ property of the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">
+ <code class="literal">org.freedesktop.ModemManager1.Modem</code>
+ </a>
+ interface. If the modem doesn't have a SIM, no object path will be given.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch16s03.html b/docs/reference/api/html/ch16s03.html
new file mode 100644
index 00000000..c82b4ba0
--- /dev/null
+++ b/docs/reference/api/html/ch16s03.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Connection and disconnection: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ch16.html" title="">
+<link rel="prev" href="ch16s02.html" title="PIN unlocking">
+<link rel="next" href="ch16s04.html" title="Simple connection">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch16.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch16s02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch16s04.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.6.3.3"></a>Connection and disconnection</h2></div></div></div>
+<p>
+ The process of requesting to connect or disconnect the modem is now split into
+ two operations: creating a bearer with
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer" title="The CreateBearer() method">
+ <code class="function">CreateBearer()</code>
+ </a>
+ in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">
+ <code class="literal">org.freedesktop.ModemManager1.Modem</code>
+ </a>
+ interface and getting the bearer connected with
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect" title="The Connect() method">
+ <code class="function">Connect()</code>
+ </a>
+ in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html" title="org.freedesktop.ModemManager1.Bearer">
+ <code class="literal">org.freedesktop.ModemManager1.Bearer</code>
+ </a>
+ interface. These two steps are equivalent to the old <code class="literal"><code class="function">Connect()</code></code>
+ method in the previous <code class="literal">org.freedesktop.ModemManager.Modem</code>
+ interface.
+ </p>
+<p>
+ The old <code class="literal"><code class="function">Disconnect()</code></code>
+ method in the previous <code class="literal">org.freedesktop.ModemManager.Modem</code>
+ interface is therefore also applied in a per-bearer basis through the new
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect" title="The Disconnect() method">
+ <code class="function">Disconnect()</code>
+ </a>
+ in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html" title="org.freedesktop.ModemManager1.Bearer">
+ <code class="literal">org.freedesktop.ModemManager1.Bearer</code>
+ </a>
+ interface.
+ </p>
+<p>
+ This logic of splitting the connection logic allows ModemManager to create
+ multiple bearers that may be connected to e.g. different access points (if
+ the modem allows it).
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ch16s04.html b/docs/reference/api/html/ch16s04.html
new file mode 100644
index 00000000..faf9b2a4
--- /dev/null
+++ b/docs/reference/api/html/ch16s04.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Simple connection: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ch16.html" title="">
+<link rel="prev" href="ch16s03.html" title="Connection and disconnection">
+<link rel="next" href="ref-compat.html" title="Part VI. Compatibility with older versions">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch16.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch16s03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-compat.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.6.3.4"></a>Simple connection</h2></div></div></div>
+<p>
+ In order to simplify the whole sequence to get the modem connected, ModemManager
+ still exposes a Simple interface, renamed as:
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html" title="org.freedesktop.ModemManager1.Modem.Simple">
+ <code class="literal">org.freedesktop.ModemManager1.Modem.Simple</code>
+ </a>.
+ </p>
+<p>
+ The
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect" title="The Connect() method">
+ <code class="function">Connect()</code>
+ </a>
+ method will create a single bearer with the parameters specified in the call and get
+ it connected, while the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect" title="The Disconnect() method">
+ <code class="function">Disconnect()</code>
+ </a>
+ method will disconnect all available bearers.
+ </p>
+<p>
+ One of the main differences with respect to the 0.6 interface, is that
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect" title="The Connect() method">
+ <code class="function">Connect()</code>
+ </a>
+ doesn't support to change allowed modes or bands. Instead, these operations should
+ be done through the methods in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">
+ <code class="literal">org.freedesktop.ModemManager1.Modem</code>
+ </a>
+ interface.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Bearer.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Bearer.html
new file mode 100644
index 00000000..c5ffac05
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Bearer.html
@@ -0,0 +1,419 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Bearer: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-bearer.html" title="The /org/freedesktop/ModemManager/Bearers objects">
+<link rel="prev" href="ref-dbus-object-bearer.html" title="The /org/freedesktop/ModemManager/Bearers objects">
+<link rel="next" href="ref-dbus-object-sim.html" title="The /org/freedesktop/ModemManager/SIMs objects">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Bearer.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Bearer.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-bearer.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-object-bearer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-object-sim.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Bearer"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Bearer.top_of_page"></a>org.freedesktop.ModemManager1.Bearer</span></h2>
+<p>org.freedesktop.ModemManager1.Bearer — The ModemManager Bearer interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect" title="The Connect() method">Connect</a> ();
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect" title="The Disconnect() method">Disconnect</a> ();
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.6.3.4"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface" title='The "Interface" property'>Interface</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Connected" title='The "Connected" property'>Connected</a> readable b
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Suspended" title='The "Suspended" property'>Suspended</a> readable b
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config" title='The "Ip4Config" property'>Ip4Config</a> readable a{sv}
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config" title='The "Ip6Config" property'>Ip6Config</a> readable a{sv}
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats" title='The "Stats" property'>Stats</a> readable a{sv}
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.IpTimeout" title='The "IpTimeout" property'>IpTimeout</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.BearerType" title='The "BearerType" property'>BearerType</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties" title='The "Properties" property'>Properties</a> readable a{sv}
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Bearer"></a><h2>Description</h2>
+<p> This interface provides access to specific actions that may be performed
+ on available bearers.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Bearer"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect"></a><h3>The Connect() method</h3>
+<pre class="programlisting">
+Connect ();
+</pre>
+<p> Requests activation of a packet data connection with the network using
+ this bearer's properties. Upon successful activation, the modem can
+ send and receive packet data and, depending on the addressing
+ capability of the modem, a connection manager may need to start PPP,
+ perform DHCP, or assign the IP address returned by the modem to the
+ data interface. Upon successful return, the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config" title='The "Ip4Config" property'>"Ip4Config"</a>
+ and/or
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config" title='The "Ip6Config" property'>"Ip6Config"</a>
+ properties become valid and may contain IP configuration information for
+ the data interface associated with this bearer.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect"></a><h3>The Disconnect() method</h3>
+<pre class="programlisting">
+Disconnect ();
+</pre>
+<p> Disconnect and deactivate this packet data connection.
+</p>
+<p> Any ongoing data session will be terminated and IP addresses become
+ invalid when this method is called.
+</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Bearer"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface"></a><h3>The "Interface" property</h3>
+<pre class="programlisting">
+Interface readable s
+</pre>
+<p> The operating system name for the network data interface that provides
+ packet data using this bearer.
+</p>
+<p> Connection managers must configure this interface depending on the IP
+ <code class="literal">"method"</code> given by the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config" title='The "Ip4Config" property'>"Ip4Config"</a>
+ or
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config" title='The "Ip6Config" property'>"Ip6Config"</a>
+ properties set by bearer activation.
+</p>
+<p> If <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-METHOD-STATIC:CAPS">MM_BEARER_IP_METHOD_STATIC</a>
+ or
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-METHOD-DHCP:CAPS">MM_BEARER_IP_METHOD_DHCP</a>
+ methods are given, the interface
+ will be an ethernet-style interface suitable for DHCP or setting static
+ IP configuration on, while if the
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-METHOD-PPP:CAPS">MM_BEARER_IP_METHOD_PPP</a>
+ method is given, the interface
+ will be a serial TTY which must then have PPP run over it.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Bearer.Connected"></a><h3>The "Connected" property</h3>
+<pre class="programlisting">
+Connected readable b
+</pre>
+<p> Indicates whether or not the bearer is connected and thus whether
+ packet data communication using this bearer is possible.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Bearer.Suspended"></a><h3>The "Suspended" property</h3>
+<pre class="programlisting">
+Suspended readable b
+</pre>
+<p> In some devices, packet data service will be suspended while the device
+ is handling other communication, like a voice call. If packet data
+ service is suspended (but not deactivated) this property will be <code class="constant">TRUE</code>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config"></a><h3>The "Ip4Config" property</h3>
+<pre class="programlisting">
+Ip4Config readable a{sv}
+</pre>
+<p> If the bearer was configured for IPv4 addressing, upon activation this
+ property contains the addressing details for assignment to the data
+ interface.
+</p>
+<p> Mandatory items include:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">"method"</code></span></p></td>
+<td>
+ A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod" title="enum MMBearerIpMethod">MMBearerIpMethod</a>,
+ given as an unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+</p>
+<p> If the bearer specifies configuration via PPP or DHCP, only the
+ <code class="literal">"method"</code> item will be present.
+</p>
+<p> Additional items which are only applicable when using the
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-METHOD-STATIC:CAPS">MM_BEARER_IP_METHOD_STATIC</a>
+ method are:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"address"</code></span></p></td>
+<td>
+ IP address, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"prefix"</code></span></p></td>
+<td>
+ Numeric CIDR network prefix (ie, 24, 32, etc), given as an unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"dns1"</code></span></p></td>
+<td>
+ IP address of the first DNS server, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"dns2"</code></span></p></td>
+<td>
+ IP address of the second DNS server, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"dns3"</code></span></p></td>
+<td>
+ IP address of the third DNS server, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"gateway"</code></span></p></td>
+<td>
+ IP address of the default gateway, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<p> This property may also include the following items when such information is available:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">"mtu"</code></span></p></td>
+<td>
+ Maximum transmission unit (MTU), given as an unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config"></a><h3>The "Ip6Config" property</h3>
+<pre class="programlisting">
+Ip6Config readable a{sv}
+</pre>
+<p> If the bearer was configured for IPv6 addressing, upon activation this
+ property contains the addressing details for assignment to the data
+ interface.
+</p>
+<p> Mandatory items include:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">"method"</code></span></p></td>
+<td>
+ A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod" title="enum MMBearerIpMethod">MMBearerIpMethod</a>,
+ given as an unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+</p>
+<p> If the bearer specifies configuration via PPP or DHCP, often only the
+ <code class="literal">"method"</code> item will be present. IPv6 SLAAC should
+ be used to retrieve correct addressing and DNS information via Router
+ Advertisements and DHCPv6. In some cases an IPv6 Link-Local
+ <code class="literal">"address"</code> item will be present, which should be
+ assigned to the data port before performing SLAAC, as the mobile network
+ may expect SLAAC setup to use this address.
+</p>
+<p> Additional items which are usually only applicable when using the
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-BEARER-IP-METHOD-STATIC:CAPS">MM_BEARER_IP_METHOD_STATIC</a>
+ method are:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"address"</code></span></p></td>
+<td>
+ IP address, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"prefix"</code></span></p></td>
+<td>
+ Numeric CIDR network prefix (ie, 24, 32, etc), given as an unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"dns1"</code></span></p></td>
+<td>
+ IP address of the first DNS server, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"dns2"</code></span></p></td>
+<td>
+ IP address of the second DNS server, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"dns3"</code></span></p></td>
+<td>
+ IP address of the third DNS server, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"gateway"</code></span></p></td>
+<td>
+ IP address of the default gateway, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<p> This property may also include the following items when such information is available:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">"mtu"</code></span></p></td>
+<td>
+ Maximum transmission unit (MTU), given as an unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr></tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats"></a><h3>The "Stats" property</h3>
+<pre class="programlisting">
+Stats readable a{sv}
+</pre>
+<p> If the modem supports it, this property will show statistics of the
+ ongoing connection.
+</p>
+<p> When the connection is disconnected automatically or explicitly by the
+ user, the values in this property will show the last values cached.
+ The statistics are reset
+</p>
+<p> The following items may appear in the list of statistics:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"rx-bytes"</code></span></p></td>
+<td>
+ Number of bytes received without error, given as an unsigned 64-bit integer value (signature <code class="literal">"t"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"tx-bytes"</code></span></p></td>
+<td>
+ Number bytes transmitted without error, given as an unsigned 64-bit integer value (signature <code class="literal">"t"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"duration"</code></span></p></td>
+<td>
+ Duration of the connection, in seconds, given as an unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Bearer.IpTimeout"></a><h3>The "IpTimeout" property</h3>
+<pre class="programlisting">
+IpTimeout readable u
+</pre>
+<p> Maximum time to wait for a successful IP establishment, when PPP is used.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Bearer.BearerType"></a><h3>The "BearerType" property</h3>
+<pre class="programlisting">
+BearerType readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerType" title="enum MMBearerType">MMBearerType</a>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties"></a><h3>The "Properties" property</h3>
+<pre class="programlisting">
+Properties readable a{sv}
+</pre>
+<p> List of properties used when creating the bearer.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Call.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Call.html
new file mode 100644
index 00000000..533668fe
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Call.html
@@ -0,0 +1,278 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Call: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-call.html" title="The /org/freedesktop/ModemManager/Calls objects">
+<link rel="prev" href="ref-dbus-object-call.html" title="The /org/freedesktop/ModemManager/Calls objects">
+<link rel="next" href="ref-migrating.html" title="Part V. Migrating from ModemManager 0.6 to ModemManager 1.0">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Call.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Call.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Call.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-call.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-object-call.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-migrating.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Call"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Call.top_of_page"></a>org.freedesktop.ModemManager1.Call</span></h2>
+<p>org.freedesktop.ModemManager1.Call — The ModemManager Call interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Start" title="The Start() method">Start</a> ();
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Accept" title="The Accept() method">Accept</a> ();
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Hangup" title="The Hangup() method">Hangup</a> ();
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.SendDtmf" title="The SendDtmf() method">SendDtmf</a> (IN s dtmf);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.9.3.4"></a><h2>Signals</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-signal-org-freedesktop-ModemManager1-Call.DtmfReceived" title='The "DtmfReceived" signal'>DtmfReceived</a> (s dtmf);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-signal-org-freedesktop-ModemManager1-Call.StateChanged" title='The "StateChanged" signal'>StateChanged</a> (i old,
+ i new,
+ u reason);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.9.3.5"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.State" title='The "State" property'>State</a> readable i
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.StateReason" title='The "StateReason" property'>StateReason</a> readable i
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Direction" title='The "Direction" property'>Direction</a> readable i
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Number" title='The "Number" property'>Number</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioPort" title='The "AudioPort" property'>AudioPort</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioFormat" title='The "AudioFormat" property'>AudioFormat</a> readable a{sv}
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Call"></a><h2>Description</h2>
+<p> The Call interface Defines operations and properties of a single Call.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Call"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Call.Start"></a><h3>The Start() method</h3>
+<pre class="programlisting">
+Start ();
+</pre>
+<p> If the outgoing call has not yet been started, start it.
+</p>
+<p> Applicable only if state is <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-UNKNOWN:CAPS"><code class="constant">MM_CALL_STATE_UNKNOWN</code></a> and direction is
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-CALL-DIRECTION-OUTGOING:CAPS"><code class="constant">MM_CALL_DIRECTION_OUTGOING</code></a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Call.Accept"></a><h3>The Accept() method</h3>
+<pre class="programlisting">
+Accept ();
+</pre>
+<p> Accept incoming call (answer).
+</p>
+<p> Applicable only if state is <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-RINGING-IN:CAPS"><code class="constant">MM_CALL_STATE_RINGING_IN</code></a> and direction is
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-CALL-DIRECTION-INCOMING:CAPS"><code class="constant">MM_CALL_DIRECTION_INCOMING</code></a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Call.Hangup"></a><h3>The Hangup() method</h3>
+<pre class="programlisting">
+Hangup ();
+</pre>
+<p> Hangup the active call.
+</p>
+<p> Applicable only if state is <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-UNKNOWN:CAPS"><code class="constant">MM_CALL_STATE_UNKNOWN</code></a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Call.SendDtmf"></a><h3>The SendDtmf() method</h3>
+<pre class="programlisting">
+SendDtmf (IN s dtmf);
+</pre>
+<p> Send a DTMF tone (Dual Tone Multi-Frequency) (only on supported modem).
+</p>
+<p> Applicable only if state is <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-CALL-STATE-ACTIVE:CAPS"><code class="constant">MM_CALL_STATE_ACTIVE</code></a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>dtmf</code></em></code>:</span></p></td>
+<td><p>DTMF tone identifier [0-9A-D*#].</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-signals-org.freedesktop.ModemManager1.Call"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Call.DtmfReceived"></a><h3>The "DtmfReceived" signal</h3>
+<pre class="programlisting">
+DtmfReceived (s dtmf);
+</pre>
+<p> Emitted when a DTMF tone is received (only on supported modem)
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">s <em class="parameter"><code>dtmf</code></em></code>:</span></p></td>
+<td><p>DTMF tone identifier [0-9A-D*#].</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Call.StateChanged"></a><h3>The "StateChanged" signal</h3>
+<pre class="programlisting">
+StateChanged (i old,
+ i new,
+ u reason);
+</pre>
+<p> Emitted when call changes state
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">i <em class="parameter"><code>old</code></em></code>:</span></p></td>
+<td><p>Old state MMCallState</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">i <em class="parameter"><code>new</code></em></code>:</span></p></td>
+<td><p>New state MMCallState</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">u <em class="parameter"><code>reason</code></em></code>:</span></p></td>
+<td><p>A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMCallStateReason" title="enum MMCallStateReason">MMCallStateReason</a> value, specifying the reason for this state change.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Call"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Call.State"></a><h3>The "State" property</h3>
+<pre class="programlisting">
+State readable i
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMCallState" title="enum MMCallState">MMCallState</a> value,
+ describing the state of the call.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Call.StateReason"></a><h3>The "StateReason" property</h3>
+<pre class="programlisting">
+StateReason readable i
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMCallStateReason" title="enum MMCallStateReason">MMCallStateReason</a> value, describing why the state is changed.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Call.Direction"></a><h3>The "Direction" property</h3>
+<pre class="programlisting">
+Direction readable i
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMCallDirection" title="enum MMCallDirection">MMCallDirection</a> value,
+ describing the direction of the call.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Call.Number"></a><h3>The "Number" property</h3>
+<pre class="programlisting">
+Number readable s
+</pre>
+<p> The remote phone number.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Call.AudioPort"></a><h3>The "AudioPort" property</h3>
+<pre class="programlisting">
+AudioPort readable s
+</pre>
+<p> If call audio is routed via the host, the name of the kernel device that
+ provides the audio. For example, with certain Huawei USB modems, this
+ property might be "ttyUSB2" indicating audio is available via ttyUSB2 in
+ the format described by the AudioFormat property.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Call.AudioFormat"></a><h3>The "AudioFormat" property</h3>
+<pre class="programlisting">
+AudioFormat readable a{sv}
+</pre>
+<p> If call audio is routed via the host, a description of the audio format
+ supported by the audio port.
+</p>
+<p> This property may include the following items:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"encoding"</code></span></p></td>
+<td>
+ The audio encoding format. For example, "pcm" for PCM audio.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"resolution"</code></span></p></td>
+<td>
+ The sampling precision and its encoding format. For example,
+ "s16le" for signed 16-bit little-endian samples.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"rate"</code></span></p></td>
+<td>
+ The sampling rate as an unsigned integer. For example, 8000 for
+ 8000hz.
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html
new file mode 100644
index 00000000..81a7d594
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html
@@ -0,0 +1,290 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Firmware: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html" title="org.freedesktop.ModemManager1.Modem.Voice">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html" title="org.freedesktop.ModemManager1.Modem.Signal">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Firmware.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Firmware.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Firmware"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Firmware.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Firmware</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Firmware — The ModemManager Firmware interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List" title="The List() method">List</a> (OUT s selected,
+ OUT aa{sv} installed);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select" title="The Select() method">Select</a> (IN s uniqueid);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.15.4"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings" title='The "UpdateSettings" property'>UpdateSettings</a> readable (ua{sv})
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Firmware"></a><h2>Description</h2>
+<p> This interface provides access to perform different firmware-related operations
+ in the modem, including listing the available firmware images in the module and
+ selecting which of them to use.
+</p>
+<p> This interface does not provide direct access to perform firmware updates in
+ the device. Instead, it exposes information about the expected firmware update
+ method as well as method-specific details required for the upgrade to happen.
+ The actual firmware upgrade may be performed via the Linux Vendor Firmware Service
+ and the <a class="ulink" href="https://fwupd.org" target="_top">fwupd</a> daemon.
+</p>
+<p> This interface will always be available as long a the modem is considered
+ valid.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Firmware"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List"></a><h3>The List() method</h3>
+<pre class="programlisting">
+List (OUT s selected,
+ OUT aa{sv} installed);
+</pre>
+<p> List installed firmware images.
+</p>
+<p> Firmware slots and firmware images are identified by arbitrary opaque
+ strings.
+</p>
+<p> Firmware images are represented as dictionaries of properties.
+ Certain properties are pre-defined, and some are required:
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"image-type"</code></span></p></td>
+<td>
+ (Required) Type of the firmware image, given as a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMFirmwareImageType" title="enum MMFirmwareImageType">MMFirmwareImageType</a> value
+ (signature <code class="literal">"u"</code>). Firmware images of type
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GENERIC:CAPS">MM_FIRMWARE_IMAGE_TYPE_GENERIC</a>
+ will only expose only the mandatory properties.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"unique-id"</code></span></p></td>
+<td>
+ (Required) A user-readable unique ID for the firmware image, given as a
+ string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"gobi-pri-version"</code></span></p></td>
+<td>
+ (Optional) The version of the PRI firmware image, in images of type
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</a>,
+ given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"gobi-pri-info"</code></span></p></td>
+<td>
+ (Optional) Additional information of the PRI image, in images of type
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</a>,
+ given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"gobi-boot-version"</code></span></p></td>
+<td>
+ (Optional) The boot version of the PRI firmware image, in images of type
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</a>,
+ given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"gobi-pri-unique-id"</code></span></p></td>
+<td>
+ (Optional) The unique ID of the PRI firmware image, in images of type
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</a>,
+ given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"gobi-modem-unique-id"</code></span></p></td>
+<td>
+ (Optional) The unique ID of the Modem firmware image, in images of type
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</a>,
+ given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">OUT s <em class="parameter"><code>selected</code></em></code>:</span></p></td>
+<td><p>The unique name of the selected firmware image, or the empty string if no image is selected.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">OUT aa{sv} <em class="parameter"><code>installed</code></em></code>:</span></p></td>
+<td><p>An array of dictionaries containing the properties of the installed firmware images.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select"></a><h3>The Select() method</h3>
+<pre class="programlisting">
+Select (IN s uniqueid);
+</pre>
+<p> Selects a different firmware image to use, and immediately resets the
+ modem so that it begins using the new firmware image.
+</p>
+<p> The method will fail if the identifier does not match any of the names
+ returned by
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List" title="The List() method">List()</a>,
+ or if the image could not be selected for some reason.
+</p>
+<p> Installed images can be selected non-destructively.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>uniqueid</code></em></code>:</span></p></td>
+<td><p>The unique ID of the firmware image to select.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.Firmware"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings"></a><h3>The "UpdateSettings" property</h3>
+<pre class="programlisting">
+UpdateSettings readable (ua{sv})
+</pre>
+<p> Detailed settings that provide information about how the module should be
+ updated.
+</p>
+<p> The settings are given as a bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemFirmwareUpdateMethod" title="enum MMModemFirmwareUpdateMethod">MMModemFirmwareUpdateMethod</a>
+ values specifying the type of firmware update procedures expected followed by a
+ dictionary that includes other parameters applicable to the specific methods reported.
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p></p></td>
+<td>
+<p>
+ The following settings are mandatory as long as the reported update method is not
+ <span style="color: red">&lt;term&gt;<a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-FIRMWARE-UPDATE-METHOD-NONE:CAPS">MM_MODEM_FIRMWARE_UPDATE_METHOD_NONE</a>&lt;/term&gt;</span>.
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"device-ids"</code></span></p></td>
+<td>
+ (Required) This property exposes the list of device IDs associated to a given
+ device, from most specific to least specific. (signature <code class="literal">'as'</code>).
+ E.g. a list containing: <code class="literal">"USB\VID_413C&amp;PID_81D7&amp;REV_0001"</code>,
+ <code class="literal">"USB\VID_413C&amp;PID_81D7"</code> and <code class="literal">"USB\VID_413C"</code>.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"version"</code></span></p></td>
+<td>
+ (Required) This property exposes the current firmware version string of the module.
+ If the module uses separate version numbers for firmware version and carrier configuration,
+ this version string will be a combination of both, and so it may be different to the
+ version string showed in the <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Revision" title='The "Revision" property'>"Revision"</a> property.
+ (signature <code class="literal">'s'</code>)
+ </td>
+</tr>
+</tbody>
+</table></div>
+</td>
+</tr></tbody>
+</table></div>
+<p>
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-FIRMWARE-UPDATE-METHOD-FASTBOOT:CAPS">MM_MODEM_FIRMWARE_UPDATE_METHOD_FASTBOOT</a></span></p></td>
+<td>
+<p>
+ Devices supporting the fastboot firmware update method require exposing the
+ following additional settings:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">"fastboot-at"</code></span></p></td>
+<td>
+ (Required) This property exposes the AT command that should be sent to the
+ module to trigger a reset into fastboot mode (signature <code class="literal">'s'</code>)
+ </td>
+</tr></tbody>
+</table></div>
+</td>
+</tr></tbody>
+</table></div>
+<p>
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Location.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Location.html
new file mode 100644
index 00000000..2ad0251d
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Location.html
@@ -0,0 +1,521 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Location: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html" title="org.freedesktop.ModemManager1.Modem.Messaging">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html" title="org.freedesktop.ModemManager1.Modem.Time">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Location.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Location.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Location"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Location.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Location</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Location — The ModemManager Location interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup" title="The Setup() method">Setup</a> (IN u sources,
+ IN b signal_location);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation" title="The GetLocation() method">GetLocation</a> (OUT a{uv} Location);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer" title="The SetSuplServer() method">SetSuplServer</a> (IN s supl);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData" title="The InjectAssistanceData() method">InjectAssistanceData</a> (IN ay data);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate" title="The SetGpsRefreshRate() method">SetGpsRefreshRate</a> (IN u rate);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.12.4"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Capabilities" title='The "Capabilities" property'>Capabilities</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SupportedAssistanceData" title='The "SupportedAssistanceData" property'>SupportedAssistanceData</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Enabled" title='The "Enabled" property'>Enabled</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SignalsLocation" title='The "SignalsLocation" property'>SignalsLocation</a> readable b
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location" title='The "Location" property'>Location</a> readable a{uv}
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer" title='The "SuplServer" property'>SuplServer</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers" title='The "AssistanceDataServers" property'>AssistanceDataServers</a> readable as
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.GpsRefreshRate" title='The "GpsRefreshRate" property'>GpsRefreshRate</a> readable u
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Location"></a><h2>Description</h2>
+<p> The Location interface allows devices to provide location information to
+ client applications. Not all devices can provide this information, or even
+ if they do, they may not be able to provide it while a data session is
+ active.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used (including GNSS module management).
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Location"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup"></a><h3>The Setup() method</h3>
+<pre class="programlisting">
+Setup (IN u sources,
+ IN b signal_location);
+</pre>
+<p> Configure the location sources to use when gathering location
+ information. Also enable or disable location information gathering.
+ This method may require the client to authenticate itself.
+</p>
+<p> When signals are emitted, any client application (including malicious
+ ones!) can listen for location updates unless D-Bus permissions restrict
+ these signals from certain users. If further security is desired, the
+ <em class="parameter"><code>signal_location</code></em> argument can be set to <code class="constant">FALSE</code> to disable location
+ updates via D-Bus signals and require applications to call
+ authenticated APIs (like
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation" title="The GetLocation() method">GetLocation()</a>
+ ) to get
+ location information.
+</p>
+<p> The optional
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-AGPS:CAPS">MM_MODEM_LOCATION_SOURCE_AGPS</a>
+ allows to request A-GPS operation, and it must be given along with either
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-GPS-RAW:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_RAW</a>
+ or
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-GPS-NMEA:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_NMEA</a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>sources</code></em></code>:</span></p></td>
+<td><p>Bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLocationSource" title="enum MMModemLocationSource">MMModemLocationSource</a> flags, specifying which sources should get enabled or disabled. <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-NONE:CAPS">MM_MODEM_LOCATION_SOURCE_NONE</a> will disable all location gathering.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">IN b <em class="parameter"><code>signal_location</code></em></code>:</span></p></td>
+<td><p>Flag to control whether the device emits signals with the new location information. This argument is ignored when disabling location information gathering.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation"></a><h3>The GetLocation() method</h3>
+<pre class="programlisting">
+GetLocation (OUT a{uv} Location);
+</pre>
+<p> Return current location information, if any. If the modem supports
+ multiple location types it may return more than one. See the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location" title='The "Location" property'>"Location"</a> property
+ for more information on the dictionary returned at <em class="parameter"><code>location</code></em>.
+</p>
+<p> This method may require the client to authenticate itself.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">OUT a{uv} <em class="parameter"><code>Location</code></em></code>:</span></p></td>
+<td><p></p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer"></a><h3>The SetSuplServer() method</h3>
+<pre class="programlisting">
+SetSuplServer (IN s supl);
+</pre>
+<p> Configure the SUPL server for A-GPS.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>supl</code></em></code>:</span></p></td>
+<td><p>SUPL server configuration, given either as IP:PORT or as FQDN:PORT.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData"></a><h3>The InjectAssistanceData() method</h3>
+<pre class="programlisting">
+InjectAssistanceData (IN ay data);
+</pre>
+<p> Inject assistance data to the GNSS module.
+ The data files should be downloaded using external means from the URLs specified in
+ the AssistanceDataServers property.
+</p>
+<p> The user does not need to specify the assistance data type being given.
+</p>
+<p> There is no maximum <em class="parameter"><code>data</code></em> size limit specified, default DBus system bus limits apply.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN ay <em class="parameter"><code>data</code></em></code>:</span></p></td>
+<td><p>assistance data to be injected to the GNSS module.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate"></a><h3>The SetGpsRefreshRate() method</h3>
+<pre class="programlisting">
+SetGpsRefreshRate (IN u rate);
+</pre>
+<p> Set the refresh rate of the GPS information in the API. If not explicitly
+ set, a default of 30s will be used.
+</p>
+<p> The refresh rate can be set to 0 to disable it, so that every update reported by
+ the modem is published in the interface.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>rate</code></em></code>:</span></p></td>
+<td><p>Rate, in seconds.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.Location"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Capabilities"></a><h3>The "Capabilities" property</h3>
+<pre class="programlisting">
+Capabilities readable u
+</pre>
+<p> Bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLocationSource" title="enum MMModemLocationSource">MMModemLocationSource</a>
+ values, specifying the supported location sources.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SupportedAssistanceData"></a><h3>The "SupportedAssistanceData" property</h3>
+<pre class="programlisting">
+SupportedAssistanceData readable u
+</pre>
+<p> Bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLocationAssistanceDataType" title="enum MMModemLocationAssistanceDataType">MMModemLocationAssistanceDataType</a>
+ values, specifying the supported types of assistance data.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Enabled"></a><h3>The "Enabled" property</h3>
+<pre class="programlisting">
+Enabled readable u
+</pre>
+<p> Bitmask specifying which of the supported
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLocationSource" title="enum MMModemLocationSource">MMModemLocationSource</a>
+ location sources is currently enabled in the device.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SignalsLocation"></a><h3>The "SignalsLocation" property</h3>
+<pre class="programlisting">
+SignalsLocation readable b
+</pre>
+<p> <code class="constant">TRUE</code> if location updates will be emitted via D-Bus signals, <code class="constant">FALSE</code> if
+ location updates will not be emitted.
+</p>
+<p> See the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup" title="The Setup() method">Setup()</a>
+ method for more information.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location"></a><h3>The "Location" property</h3>
+<pre class="programlisting">
+Location readable a{uv}
+</pre>
+<p> Dictionary of available location information when location information
+ gathering is enabled. If the modem supports multiple location types it
+ may return more than one here.
+</p>
+<p> Note that if the device was told not to emit updated location
+ information when location information gathering was initially enabled,
+ this property may not return any location information for security reasons.
+</p>
+<p> This dictionary is composed of a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLocationSource" title="enum MMModemLocationSource">MMModemLocationSource</a>
+ key, with an associated data which contains type-specific location
+ information:
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-3GPP-LAC-CI:CAPS">MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI</a></span></p></td>
+<td>
+<p>
+ Devices supporting this
+ capability return a string in the format <code class="literal">"MCC,MNC,LAC,CI,TAC"</code> (without the
+ quotes of course) where the following applies:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">MCC</code></span></p></td>
+<td>
+ This is the three-digit ITU E.212 Mobile Country Code of the
+ network provider to which the mobile is currently registered.
+ e.g. <code class="literal">"310"</code>.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">MNC</code></span></p></td>
+<td>
+ This is the two- or three-digit GSM Mobile Network Code of the
+ network provider to which the mobile is currently registered.
+ e.g. <code class="literal">"26"</code> or <code class="literal">"260"</code>.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">LAC</code></span></p></td>
+<td>
+ This is the two-byte Location Area Code of the GSM/UMTS base
+ station with which the mobile is registered, in upper-case
+ hexadecimal format without leading zeros, as specified in
+ 3GPP TS 27.007. E.g. <code class="literal">"84CD"</code>.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">CI</code></span></p></td>
+<td>
+ This is the two- or four-byte Cell Identifier with which the mobile
+ is registered, in upper-case hexadecimal format without leading
+ zeros, as specified in 3GPP TS 27.007.
+ e.g. <code class="literal">"2BAF"</code> or <code class="literal">"D30156"</code>.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">TAC</code></span></p></td>
+<td>
+ This is the two-byte Location Area Code of the LTE base
+ station with which the mobile is registered, in upper-case
+ hexadecimal format without leading zeros, as specified in
+ 3GPP TS 27.007. E.g. <code class="literal">"6FFE"</code>.
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+ The entire string may only be composed of the ASCII digits <code class="literal">[0-9]</code>,
+ the alphabetical characters <code class="literal">[A-F]</code>, and the comma (<code class="literal">,</code>) character.
+ No other characters are allowed. For example: <code class="literal">"310,260,8BE3,2BAF"</code> or
+ <code class="literal">"250,40,CE00,1CEAD8F0"</code>.
+ </p>
+<p>
+ If any of these four items (<code class="literal">MCC</code>, <code class="literal">MNC</code>,
+ <code class="literal">LAC</code>, <code class="literal">CI</code>) is unknown or the
+ mobile is not registered with a network, then the
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-3GPP-LAC-CI:CAPS">MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI</a>
+ location
+ information item should not be provided as a returned value from the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation" title="The GetLocation() method">GetLocation()</a>
+ method or in the <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location" title='The "Location" property'>"Location"</a> property.
+ </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-GPS-RAW:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_RAW</a></span></p></td>
+<td>
+<p>
+ Devices supporting this
+ capability return a D-Bus dictionary (signature <code class="literal">"a{sv}"</code>) mapping well-known
+ keys to values with defined formats.
+ </p>
+<p>
+ The allowed key/value pairs and their formats are:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"utc-time"</code></span></p></td>
+<td>
+ (Required) UTC time in ISO 8601 format, given as a string value (signature <code class="literal">"s"</code>). e.g. <code class="literal">203015</code>.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"latitude"</code></span></p></td>
+<td>
+ (Required) Latitude in Decimal Degrees (positive numbers mean N quadrasphere, negative mean S quadrasphere), given as a double value (signature <code class="literal">"d"</code>). e.g. <code class="literal">38.889722</code>, meaning 38d 53' 22" N.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"longitude"</code></span></p></td>
+<td>
+ (Required) Longitude in Decimal Degrees (positive numbers mean E quadrasphere, negative mean W quadrasphere), given as a double value (signature <code class="literal">"d"</code>). e.g. <code class="literal">-77.008889</code>, meaning 77d 0' 32" W.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"altitude"</code></span></p></td>
+<td>
+ (Optional) Altitude above sea level in meters, given as a double value (signature <code class="literal">"d"</code>). e.g. <code class="literal">33.5</code>.
+ </td>
+</tr>
+</tbody>
+</table></div>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-GPS-NMEA:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_NMEA</a></span></p></td>
+<td>
+<p>
+ Devices supporting this capability return
+ a string containing one or more NMEA sentences (D-Bus signature <code class="literal">'s'</code>).
+ The manager will cache the most recent NMEA sentence of each type for
+ a period of time not less than 30 seconds. When reporting multiple
+ NMEA sentences, sentences shall be separated by an ASCII Carriage
+ Return and Line Feed (<code class="literal">&lt;CR&gt;&lt;LF&gt;</code>) sequence.
+ </p>
+<p>
+ For example, if the device sends a <code class="literal">$GPRMC</code> sentence immediately
+ followed by a <code class="literal">$GPGGA</code> sentence, the reported location string would be
+ (where of course the <code class="literal">&lt;CR&gt;&lt;LF&gt;</code> is replaced with the actual
+ ASCII <code class="literal">CR</code> (0x0D) and <code class="literal">LF</code> (0x0A) control characters):
+ </p>
+<p><code class="literal">
+ $GPRMC,134523.92,V,,,,,,,030136,,,N*73&lt;CR&gt;&lt;LF&gt;$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45
+ </code></p>
+<p>
+ If the device sends a new <code class="literal">$GPRMC</code> three seconds later, the new <code class="literal">$GPRMC</code>
+ replaces the previously received <code class="literal">$GPRMC</code> sentence, and the updated
+ string would be:
+ </p>
+<p><code class="literal">
+ $GPRMC,134526.92,V,,,,,,,030136,,,N*76&lt;CR&gt;&lt;LF&gt;$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45
+ </code></p>
+<p>
+ If the device then sends a <code class="literal">$GPGSA</code> sentence about 5 seconds later, the
+ <code class="literal">$GPGSA</code> sentence is added to the string (since no <code class="literal">$GPGSA</code> sentence was
+ obviously received in this session), the updated string would be:
+ </p>
+<p><code class="literal">
+ $GPRMC,134526.92,V,,,,,,,030136,,,N*76&lt;CR&gt;&lt;LF&gt;$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45&lt;CR&gt;&lt;LF&gt;$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34
+ </code></p>
+<p>
+ The manager may discard any cached sentences older than 30 seconds.
+ </p>
+<p>
+ This allows clients to read the latest positioning data as soon as
+ possible after they start, even if the device is not providing
+ frequent location data updates.
+ </p>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-LOCATION-SOURCE-CDMA-BS:CAPS">MM_MODEM_LOCATION_SOURCE_CDMA_BS</a></span></p></td>
+<td>
+<p>
+ Devices supporting this
+ capability return a D-Bus dictionary (signature <code class="literal">"a{sv}"</code>) mapping well-known
+ keys to values with defined formats.
+ </p>
+<p>
+ The allowed key/value pairs and their formats are:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"latitude"</code></span></p></td>
+<td>
+ (Required) Latitude in Decimal Degrees (positive numbers mean N quadrasphere, negative mean S quadrasphere), given as a double value (signature <code class="literal">"d"</code>). e.g. <code class="literal">38.889722</code>, meaning 38d 53' 22" N.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"longitude"</code></span></p></td>
+<td>
+ (Required) Longitude in Decimal Degrees (positive numbers mean E quadrasphere, negative mean W quadrasphere), given as a double value (signature <code class="literal">"d"</code>). e.g. <code class="literal">-77.008889</code>, meaning 77d 0' 32" W.
+ </td>
+</tr>
+</tbody>
+</table></div>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer"></a><h3>The "SuplServer" property</h3>
+<pre class="programlisting">
+SuplServer readable s
+</pre>
+<p> SUPL server configuration for A-GPS, given either as IP:PORT or FQDN:PORT.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers"></a><h3>The "AssistanceDataServers" property</h3>
+<pre class="programlisting">
+AssistanceDataServers readable as
+</pre>
+<p> URLs from where the user can download assistance data files to inject with
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData" title="The InjectAssistanceData() method">InjectAssistanceData()</a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.GpsRefreshRate"></a><h3>The "GpsRefreshRate" property</h3>
+<pre class="programlisting">
+GpsRefreshRate readable u
+</pre>
+<p> Rate of refresh of the GPS information in the interface.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html
new file mode 100644
index 00000000..85c35641
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html
@@ -0,0 +1,242 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Messaging: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html" title="org.freedesktop.ModemManager1.Modem.ModemCdma">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html" title="org.freedesktop.ModemManager1.Modem.Location">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Messaging.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Messaging.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Messaging.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Messaging"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Messaging.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Messaging</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Messaging — The ModemManager Messaging interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List" title="The List() method">List</a> (OUT ao result);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete" title="The Delete() method">Delete</a> (IN o path);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create" title="The Create() method">Create</a> (IN a{sv} properties,
+ OUT o path);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.11.4"></a><h2>Signals</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added" title='The "Added" signal'>Added</a> (o path,
+ b received);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Deleted" title='The "Deleted" signal'>Deleted</a> (o path);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.11.5"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages" title='The "Messages" property'>Messages</a> readable ao
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages" title='The "SupportedStorages" property'>SupportedStorages</a> readable au
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.DefaultStorage" title='The "DefaultStorage" property'>DefaultStorage</a> readable u
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Messaging"></a><h2>Description</h2>
+<p> The Messaging interface handles sending SMS messages and notification of new
+ incoming messages.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used (including listing stored messages).
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Messaging"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List"></a><h3>The List() method</h3>
+<pre class="programlisting">
+List (OUT ao result);
+</pre>
+<p> Retrieve all SMS messages.
+</p>
+<p> This method should only be used once and subsequent information
+ retrieved either by listening for the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added" title='The "Added" signal'>"Added"</a> signal,
+ or by querying the specific SMS object of interest.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">OUT ao <em class="parameter"><code>result</code></em></code>:</span></p></td>
+<td><p>The list of SMS object paths.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete"></a><h3>The Delete() method</h3>
+<pre class="programlisting">
+Delete (IN o path);
+</pre>
+<p> Delete an SMS message.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN o <em class="parameter"><code>path</code></em></code>:</span></p></td>
+<td><p>The object path of the SMS to delete.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create"></a><h3>The Create() method</h3>
+<pre class="programlisting">
+Create (IN a{sv} properties,
+ OUT o path);
+</pre>
+<p> Creates a new message object.
+</p>
+<p> The '<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Number" title='The "Number" property'>Number</a>'
+ and
+ either '<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Text" title='The "Text" property'>Text</a>' or
+ '<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Data" title='The "Data" property'>Data</a>'
+ properties are mandatory, others are optional.
+</p>
+<p> If the SMSC is not specified and one is required, the default SMSC is
+ used.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>properties</code></em></code>:</span></p></td>
+<td><p>Message properties from the <a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html" title="org.freedesktop.ModemManager1.Sms">SMS D-Bus interface</a>.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">OUT o <em class="parameter"><code>path</code></em></code>:</span></p></td>
+<td><p>The object path of the new message object.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-signals-org.freedesktop.ModemManager1.Modem.Messaging"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added"></a><h3>The "Added" signal</h3>
+<pre class="programlisting">
+Added (o path,
+ b received);
+</pre>
+<p> Emitted when any part of a new SMS has been received or added (but not
+ for subsequent parts, if any). For messages received from the network,
+ not all parts may have been received and the message may not be
+ complete.
+</p>
+<p> Check the
+ '<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.State" title='The "State" property'>State</a>'
+ property to determine if the message is complete.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">o <em class="parameter"><code>path</code></em></code>:</span></p></td>
+<td><p>Object path of the new SMS.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">b <em class="parameter"><code>received</code></em></code>:</span></p></td>
+<td><p><code class="constant">TRUE</code> if the message was received from the network, as opposed to being added locally.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Deleted"></a><h3>The "Deleted" signal</h3>
+<pre class="programlisting">
+Deleted (o path);
+</pre>
+<p> Emitted when a message has been deleted.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">o <em class="parameter"><code>path</code></em></code>:</span></p></td>
+<td><p>Object path of the now deleted SMS.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.Messaging"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages"></a><h3>The "Messages" property</h3>
+<pre class="programlisting">
+Messages readable ao
+</pre>
+<p> The list of SMS object paths.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages"></a><h3>The "SupportedStorages" property</h3>
+<pre class="programlisting">
+SupportedStorages readable au
+</pre>
+<p> A list of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsStorage" title="enum MMSmsStorage">MMSmsStorage</a> values,
+ specifying the storages supported by this modem for storing and
+ receiving SMS.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.DefaultStorage"></a><h3>The "DefaultStorage" property</h3>
+<pre class="programlisting">
+DefaultStorage readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsStorage" title="enum MMSmsStorage">MMSmsStorage</a> value,
+ specifying the storage to be used when receiving or storing SMS.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html
new file mode 100644
index 00000000..25995900
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html" title="org.freedesktop.ModemManager1.Modem.Modem3gpp">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html" title="org.freedesktop.ModemManager1.Modem.ModemCdma">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd — The ModemManager 3GPP USSD interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate" title="The Initiate() method">Initiate</a> (IN s command,
+ OUT s reply);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond" title="The Respond() method">Respond</a> (IN s response,
+ OUT s reply);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel" title="The Cancel() method">Cancel</a> ();
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.9.4"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.State" title='The "State" property'>State</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification" title='The "NetworkNotification" property'>NetworkNotification</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest" title='The "NetworkRequest" property'>NetworkRequest</a> readable s
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd"></a><h2>Description</h2>
+<p> This interface provides access to actions based on the USSD protocol.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate"></a><h3>The Initiate() method</h3>
+<pre class="programlisting">
+Initiate (IN s command,
+ OUT s reply);
+</pre>
+<p> Sends a USSD command string to the network initiating a USSD session.
+</p>
+<p> When the request is handled by the network, the method returns the
+ response or an appropriate error. The network may be awaiting further
+ response from the ME after returning from this method and no new command
+ can be initiated until this one is cancelled or ended.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>command</code></em></code>:</span></p></td>
+<td><p>The command to start the USSD session with.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">OUT s <em class="parameter"><code>reply</code></em></code>:</span></p></td>
+<td><p>The network response to the command which started the USSD session.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond"></a><h3>The Respond() method</h3>
+<pre class="programlisting">
+Respond (IN s response,
+ OUT s reply);
+</pre>
+<p> Respond to a USSD request that is either initiated by the mobile network,
+ or that is awaiting further input after
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate" title="The Initiate() method">Initiate()</a>
+ was called.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>response</code></em></code>:</span></p></td>
+<td><p>The response to network-initiated USSD command, or a response to a request for further input.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">OUT s <em class="parameter"><code>reply</code></em></code>:</span></p></td>
+<td><p>The network reply to this response to the network-initiated USSD command. The reply may require further responses.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel"></a><h3>The Cancel() method</h3>
+<pre class="programlisting">
+Cancel ();
+</pre>
+<p> Cancel an ongoing USSD session, either mobile or network initiated.
+</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.State"></a><h3>The "State" property</h3>
+<pre class="programlisting">
+State readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppUssdSessionState" title="enum MMModem3gppUssdSessionState">MMModem3gppUssdSessionState</a> value,
+ indicating the state of any ongoing USSD session.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification"></a><h3>The "NetworkNotification" property</h3>
+<pre class="programlisting">
+NetworkNotification readable s
+</pre>
+<p> Contains any network-initiated request to which no USSD response is
+ required.
+</p>
+<p> When no USSD session is active, or when there is no network-
+ initiated request, this property will be a zero-length string.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest"></a><h3>The "NetworkRequest" property</h3>
+<pre class="programlisting">
+NetworkRequest readable s
+</pre>
+<p> Contains any pending network-initiated request for a response. Client
+ should call
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond" title="The Respond() method">Respond()</a>
+ with the appropriate response to this request.
+</p>
+<p> When no USSD session is active, or when there is no pending
+ network-initiated request, this property will be a zero-length string.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html
new file mode 100644
index 00000000..4f21004c
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html
@@ -0,0 +1,368 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Modem3gpp: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html" title="org.freedesktop.ModemManager1.Modem.Simple">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html" title="org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Modem3gpp</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Modem3gpp — The ModemManager 3GPP interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register" title="The Register() method">Register</a> (IN s operator_id);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan" title="The Scan() method">Scan</a> (OUT aa{sv} results);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation" title="The SetEpsUeModeOperation() method">SetEpsUeModeOperation</a> (IN u mode);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings" title="The SetInitialEpsBearerSettings() method">SetInitialEpsBearerSettings</a> (IN a{sv} settings);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.8.4"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei" title='The "Imei" property'>Imei</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.RegistrationState" title='The "RegistrationState" property'>RegistrationState</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode" title='The "OperatorCode" property'>OperatorCode</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName" title='The "OperatorName" property'>OperatorName</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EnabledFacilityLocks" title='The "EnabledFacilityLocks" property'>EnabledFacilityLocks</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.SubscriptionState" title='The "SubscriptionState" property'>SubscriptionState</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EpsUeModeOperation" title='The "EpsUeModeOperation" property'>EpsUeModeOperation</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco" title='The "Pco" property'>Pco</a> readable a(ubay)
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer" title='The "InitialEpsBearer" property'>InitialEpsBearer</a> readable o
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings" title='The "InitialEpsBearerSettings" property'>InitialEpsBearerSettings</a> readable a{sv}
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp"></a><h2>Description</h2>
+<p> This interface provides access to specific actions that may be performed
+ in modems with 3GPP capabilities.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Modem3gpp"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register"></a><h3>The Register() method</h3>
+<pre class="programlisting">
+Register (IN s operator_id);
+</pre>
+<p> Request registration with a given mobile network.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>operator_id</code></em></code>:</span></p></td>
+<td><p>The operator ID (ie, <code class="literal">"MCCMNC"</code>, like <code class="literal">"310260"</code>) to register. An empty string can be used to register to the home network.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan"></a><h3>The Scan() method</h3>
+<pre class="programlisting">
+Scan (OUT aa{sv} results);
+</pre>
+<p> Scan for available networks.
+</p>
+<p> <em class="parameter"><code>results</code></em> is an array of dictionaries with each array element describing
+ a mobile network found in the scan. Each dictionary may include one or
+ more of the following keys:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"status"</code></span></p></td>
+<td>
+ A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppNetworkAvailability" title="enum MMModem3gppNetworkAvailability">MMModem3gppNetworkAvailability</a>
+ value representing network availability status, given as an
+ unsigned integer (signature <code class="literal">"u"</code>). This key will
+ always be present.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"operator-long"</code></span></p></td>
+<td>
+ Long-format name of operator, given as a string value (signature
+ <code class="literal">"s"</code>). If the name is unknown, this field
+ should not be present.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"operator-short"</code></span></p></td>
+<td>
+ Short-format name of operator, given as a string value (signature
+ <code class="literal">"s"</code>). If the name is unknown, this field
+ should not be present.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"operator-code"</code></span></p></td>
+<td>
+ Mobile code of the operator, given as a string value (signature
+ <code class="literal">"s"</code>). Returned in the format
+ <code class="literal">"MCCMNC"</code>, where <code class="literal">MCC</code> is the
+ three-digit ITU E.212 Mobile Country Code and <code class="literal">MNC</code>
+ is the two- or three-digit GSM Mobile Network Code. e.g.
+ <code class="literal">"31026"</code> or <code class="literal">"310260"</code>.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"access-technology"</code></span></p></td>
+<td>
+ A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology" title="enum MMModemAccessTechnology">MMModemAccessTechnology</a> value
+ representing the generic access technology used by this mobile network,
+ given as an unsigned integer (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">OUT aa{sv} <em class="parameter"><code>results</code></em></code>:</span></p></td>
+<td><p>Array of dictionaries with the found networks.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation"></a><h3>The SetEpsUeModeOperation() method</h3>
+<pre class="programlisting">
+SetEpsUeModeOperation (IN u mode);
+</pre>
+<p> Sets the UE mode of operation for EPS.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>mode</code></em></code>:</span></p></td>
+<td><p>a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation" title="enum MMModem3gppEpsUeModeOperation">MMModem3gppEpsUeModeOperation</a>.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings"></a><h3>The SetInitialEpsBearerSettings() method</h3>
+<pre class="programlisting">
+SetInitialEpsBearerSettings (IN a{sv} settings);
+</pre>
+<p> Updates the default settings to be used in the initial default EPS bearer when registering to the LTE network.
+</p>
+<p> Allowed properties are:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"apn"</code></span></p></td>
+<td><p>Access Point Name, given as a string value (signature <code class="literal">"s"</code>).</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"ip-type"</code></span></p></td>
+<td><p>Addressing type, given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily" title="enum MMBearerIpFamily">MMBearerIpFamily</a> value (signature <code class="literal">"u"</code>).</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"allowed-auth"</code></span></p></td>
+<td><p>The authentication method to use, given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth" title="enum MMBearerAllowedAuth">MMBearerAllowedAuth</a> value (signature <code class="literal">"u"</code>).</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"user"</code></span></p></td>
+<td><p>User name (if any) required by the network, given as a string value (signature <code class="literal">"s"</code>).</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"password"</code></span></p></td>
+<td><p>Password (if any) required by the network, given as a string value (signature <code class="literal">"s"</code>).</p></td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>settings</code></em></code>:</span></p></td>
+<td><p>List of properties to use when requesting the LTE attach procedure.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.Modem3gpp"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei"></a><h3>The "Imei" property</h3>
+<pre class="programlisting">
+Imei readable s
+</pre>
+<p> The <a class="ulink" href="http://en.wikipedia.org/wiki/Imei" target="_top">IMEI</a> of the device.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.RegistrationState"></a><h3>The "RegistrationState" property</h3>
+<pre class="programlisting">
+RegistrationState readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState" title="enum MMModem3gppRegistrationState">MMModem3gppRegistrationState</a>
+ value specifying the mobile registration status as defined in 3GPP TS 27.007
+ section 10.1.19.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode"></a><h3>The "OperatorCode" property</h3>
+<pre class="programlisting">
+OperatorCode readable s
+</pre>
+<p> Code of the operator to which the mobile is currently registered.
+</p>
+<p> Returned in the format <code class="literal">"MCCMNC"</code>, where
+ <code class="literal">MCC</code> is the three-digit ITU E.212 Mobile Country Code
+ and <code class="literal">MNC</code> is the two- or three-digit GSM Mobile Network
+ Code. e.g. e<code class="literal">"31026"</code> or <code class="literal">"310260"</code>.
+</p>
+<p> If the <code class="literal">MCC</code> and <code class="literal">MNC</code> are not known
+ or the mobile is not registered to a mobile network, this property will
+ be a zero-length (blank) string.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName"></a><h3>The "OperatorName" property</h3>
+<pre class="programlisting">
+OperatorName readable s
+</pre>
+<p> Name of the operator to which the mobile is currently registered.
+</p>
+<p> If the operator name is not known or the mobile is not
+ registered to a mobile network, this property will be a zero-length
+ (blank) string.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EnabledFacilityLocks"></a><h3>The "EnabledFacilityLocks" property</h3>
+<pre class="programlisting">
+EnabledFacilityLocks readable u
+</pre>
+<p> Bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppFacility" title="enum MMModem3gppFacility">MMModem3gppFacility</a> values
+ for which PIN locking is enabled.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.SubscriptionState"></a><h3>The "SubscriptionState" property</h3>
+<pre class="programlisting">
+SubscriptionState readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState" title="enum MMModem3gppSubscriptionState">MMModem3gppSubscriptionState</a>
+ value representing the subscription status of the account and whether there
+ is any data remaining, given as an unsigned integer (signature <code class="literal">"u"</code>).
+</p>
+<p> Deprecated: 1.10.0. The value of this property can only be obtained with operator
+ specific logic (e.g. processing specific PCO info), and therefore it doesn't make sense
+ to expose it in the ModemManager interface.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EpsUeModeOperation"></a><h3>The "EpsUeModeOperation" property</h3>
+<pre class="programlisting">
+EpsUeModeOperation readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation" title="enum MMModem3gppEpsUeModeOperation">MMModem3gppEpsUeModeOperation</a>
+ value representing the UE mode of operation for EPS, given as an unsigned integer
+ (signature <code class="literal">"u"</code>).
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco"></a><h3>The "Pco" property</h3>
+<pre class="programlisting">
+Pco readable a(ubay)
+</pre>
+<p> The raw PCOs received from the network.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer"></a><h3>The "InitialEpsBearer" property</h3>
+<pre class="programlisting">
+InitialEpsBearer readable o
+</pre>
+<p> The object path for the initial default EPS bearer.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings"></a><h3>The "InitialEpsBearerSettings" property</h3>
+<pre class="programlisting">
+InitialEpsBearerSettings readable a{sv}
+</pre>
+<p> List of properties requested by the device for the initial EPS bearer during
+ LTE network attach procedure.
+</p>
+<p> The network may decide to use different settings during the actual device attach
+ procedure, e.g. if the device is roaming or no explicit settings were requested,
+ so the properties shown in the <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp.top_of_page">org.freedesktop.ModemManager1.Modem.Modem3gpp</a>.InitialEpsBearer:InitialEpsBearer
+ may be totally different.
+</p>
+<p> This is a read-only property, updating these settings should be done using the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings" title="The SetInitialEpsBearerSettings() method">SetInitialEpsBearerSettings()</a>
+ method.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html
new file mode 100644
index 00000000..fc885f10
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html
@@ -0,0 +1,294 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.ModemCdma: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html" title="org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html" title="org.freedesktop.ModemManager1.Modem.Messaging">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-ModemCdma.top_of_page"></a>org.freedesktop.ModemManager1.Modem.ModemCdma</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.ModemCdma — The ModemManager CDMA interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate" title="The Activate() method">Activate</a> (IN s carrier_code);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual" title="The ActivateManual() method">ActivateManual</a> (IN a{sv} properties);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.10.4"></a><h2>Signals</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationStateChanged" title='The "ActivationStateChanged" signal'>ActivationStateChanged</a> (u activation_state,
+ u activation_error,
+ a{sv} status_changes);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.10.5"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationState" title='The "ActivationState" property'>ActivationState</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid" title='The "Meid" property'>Meid</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn" title='The "Esn" property'>Esn</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Sid" title='The "Sid" property'>Sid</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Nid" title='The "Nid" property'>Nid</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Cdma1xRegistrationState" title='The "Cdma1xRegistrationState" property'>Cdma1xRegistrationState</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.EvdoRegistrationState" title='The "EvdoRegistrationState" property'>EvdoRegistrationState</a> readable u
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-ModemCdma"></a><h2>Description</h2>
+<p> This interface provides access to specific actions that may be performed
+ in modems with CDMA capabilities.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. Mixed 3GPP+3GPP2 devices will require
+ a valid unlocked SIM card before any of the features in the interface can
+ be used.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.ModemCdma"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate"></a><h3>The Activate() method</h3>
+<pre class="programlisting">
+Activate (IN s carrier_code);
+</pre>
+<p> Provisions the modem for use with a given carrier using the modem's
+ <a class="ulink" href="http://en.wikipedia.org/wiki/Over-the-air_programming" target="_top">Over-The-Air (OTA)</a>
+ activation functionality, if any.
+</p>
+<p> Some modems will reboot after this call is made.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>carrier_code</code></em></code>:</span></p></td>
+<td><p>Name of carrier, or carrier-specific code.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual"></a><h3>The ActivateManual() method</h3>
+<pre class="programlisting">
+ActivateManual (IN a{sv} properties);
+</pre>
+<p> Sets the modem provisioning data directly, without contacting the
+ carrier over the air.
+</p>
+<p> Some modems will reboot after this call is made.
+</p>
+<p> This dictionary is composed of a string identifier key
+ with an associated data which contains type-specific location
+ information:
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">"spc"</span></p></td>
+<td><p>
+ The Service Programming Code, given as a string of exactly 6 digit characters. Mandatory parameter.
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term">"sid"</span></p></td>
+<td><p>
+ The System Identification Number, given as a 16-bit unsigned integer (signature <code class="literal">"q"</code>). Mandatory parameter.
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term">"mdn"</span></p></td>
+<td><p>
+ The Mobile Directory Number, given as a string of maximum 15 characters. Mandatory parameter.
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term">"min"</span></p></td>
+<td><p>
+ The Mobile Identification Number, given as a string of maximum 15 characters. Mandatory parameter.
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term">"mn-ha-key"</span></p></td>
+<td><p>
+ The MN-HA key, given as a string of maximum 16 characters.
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term">"mn-aaa-key"</span></p></td>
+<td><p>
+ The MN-AAA key, given as a string of maximum 16 characters.
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term">"prl"</span></p></td>
+<td><p>
+ The Preferred Roaming List, given as an array of maximum 16384 bytes.
+ </p></td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>properties</code></em></code>:</span></p></td>
+<td><p>A dictionary of properties to set on the modem.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-signals-org.freedesktop.ModemManager1.Modem.ModemCdma"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationStateChanged"></a><h3>The "ActivationStateChanged" signal</h3>
+<pre class="programlisting">
+ActivationStateChanged (u activation_state,
+ u activation_error,
+ a{sv} status_changes);
+</pre>
+<p> The device activation state changed.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">u <em class="parameter"><code>activation_state</code></em></code>:</span></p></td>
+<td><p>Current activation state, given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState" title="enum MMModemCdmaActivationState">MMModemCdmaActivationState</a>.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">u <em class="parameter"><code>activation_error</code></em></code>:</span></p></td>
+<td><p>Carrier-specific error code, given as a <a class="link" href="ModemManager-Errors.html#MMCdmaActivationError" title="enum MMCdmaActivationError">MMCdmaActivationError</a>.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">a{sv} <em class="parameter"><code>status_changes</code></em></code>:</span></p></td>
+<td><p>Properties that have changed as a result of this activation state chage, including <code class="literal">"mdn"</code> and <code class="literal">"min"</code>. The dictionary may be empty if the changed properties are unknown.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.ModemCdma"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationState"></a><h3>The "ActivationState" property</h3>
+<pre class="programlisting">
+ActivationState readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState" title="enum MMModemCdmaActivationState">MMModemCdmaActivationState</a>
+ value specifying the state of the activation in the 3GPP2 network.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid"></a><h3>The "Meid" property</h3>
+<pre class="programlisting">
+Meid readable s
+</pre>
+<p> The modem's <a class="ulink" href="http://en.wikipedia.org/wiki/MEID" target="_top">Mobile Equipment Identifier</a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn"></a><h3>The "Esn" property</h3>
+<pre class="programlisting">
+Esn readable s
+</pre>
+<p> The modem's
+ <a class="ulink" href="http://en.wikipedia.org/wiki/Electronic_serial_number" target="_top">Electronic Serial Number</a>
+ (superceded by MEID but still used by older devices).
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Sid"></a><h3>The "Sid" property</h3>
+<pre class="programlisting">
+Sid readable u
+</pre>
+<p> The
+ <a class="ulink" href="http://en.wikipedia.org/wiki/System_Identification_Number" target="_top">System Identifier</a>
+ of the serving CDMA 1x network, if known, and
+ if the modem is registered with a CDMA 1x network.
+</p>
+<p> See <a class="ulink" href="http://ifast.org" target="_top">ifast.org</a> or the mobile
+ broadband provider database for mappings of SIDs to network providers.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Nid"></a><h3>The "Nid" property</h3>
+<pre class="programlisting">
+Nid readable u
+</pre>
+<p> The
+ <a class="ulink" href="http://en.wikipedia.org/wiki/Network_Identification_Number" target="_top">Network Identifier</a>
+ of the serving CDMA 1x network, if known, and
+ if the modem is registered with a CDMA 1x network.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Cdma1xRegistrationState"></a><h3>The "Cdma1xRegistrationState" property</h3>
+<pre class="programlisting">
+Cdma1xRegistrationState readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState" title="enum MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</a>
+ value specifying the CDMA 1x registration state.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.EvdoRegistrationState"></a><h3>The "EvdoRegistrationState" property</h3>
+<pre class="programlisting">
+EvdoRegistrationState readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState" title="enum MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</a>
+ value specifying the EVDO registration state.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html
new file mode 100644
index 00000000..8ac69a46
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html
@@ -0,0 +1,255 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Oma: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html" title="org.freedesktop.ModemManager1.Modem.Signal">
+<link rel="next" href="ref-dbus-object-bearer.html" title="The /org/freedesktop/ModemManager/Bearers objects">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Oma.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Oma.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Oma.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-object-bearer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Oma"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Oma.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Oma</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Oma — The ModemManager Open Mobile Alliance interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup" title="The Setup() method">Setup</a> (IN u features);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession" title="The StartClientInitiatedSession() method">StartClientInitiatedSession</a> (IN u session_type);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession" title="The AcceptNetworkInitiatedSession() method">AcceptNetworkInitiatedSession</a> (IN u session_id,
+ IN b accept);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession" title="The CancelSession() method">CancelSession</a> ();
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.17.4"></a><h2>Signals</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Oma.SessionStateChanged" title='The "SessionStateChanged" signal'>SessionStateChanged</a> (i old_session_state,
+ i new_session_state,
+ u session_state_failed_reason);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.17.5"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.Features" title='The "Features" property'>Features</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions" title='The "PendingNetworkInitiatedSessions" property'>PendingNetworkInitiatedSessions</a> readable a(uu)
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionType" title='The "SessionType" property'>SessionType</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionState" title='The "SessionState" property'>SessionState</a> readable i
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Oma"></a><h2>Description</h2>
+<p> This interface allows clients to handle device management operations as
+ specified by the Open Mobile Alliance (OMA).
+</p>
+<p> Device management sessions are either on-demand (client-initiated), or
+ automatically initiated by either the device itself or the network.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Oma"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup"></a><h3>The Setup() method</h3>
+<pre class="programlisting">
+Setup (IN u features);
+</pre>
+<p> Configures which OMA device management features should be enabled.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>features</code></em></code>:</span></p></td>
+<td><p>Bitmask of MMModemOmaFeature flags, specifying which device management features should get enabled or disabled. <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-OMA-FEATURE-NONE:CAPS">MM_OMA_FEATURE_NONE</a> will disable all features.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession"></a><h3>The StartClientInitiatedSession() method</h3>
+<pre class="programlisting">
+StartClientInitiatedSession (IN u session_type);
+</pre>
+<p> Starts a client-initiated device management session.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>session_type</code></em></code>:</span></p></td>
+<td><p>Type of client-initiated device management session,given as a MMModemOmaSessionType</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession"></a><h3>The AcceptNetworkInitiatedSession() method</h3>
+<pre class="programlisting">
+AcceptNetworkInitiatedSession (IN u session_id,
+ IN b accept);
+</pre>
+<p> Accepts or rejects a network-initiated device management session.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>session_id</code></em></code>:</span></p></td>
+<td><p>Unique ID of the network-initiated device management session.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">IN b <em class="parameter"><code>accept</code></em></code>:</span></p></td>
+<td><p>Boolean specifying whether the session is accepted or rejected.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession"></a><h3>The CancelSession() method</h3>
+<pre class="programlisting">
+CancelSession ();
+</pre>
+<p> Cancels the current on-going device management session.
+</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-signals-org.freedesktop.ModemManager1.Modem.Oma"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Modem-Oma.SessionStateChanged"></a><h3>The "SessionStateChanged" signal</h3>
+<pre class="programlisting">
+SessionStateChanged (i old_session_state,
+ i new_session_state,
+ u session_state_failed_reason);
+</pre>
+<p> The session state changed.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">i <em class="parameter"><code>old_session_state</code></em></code>:</span></p></td>
+<td><p>Previous session state, given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionState" title="enum MMOmaSessionState">MMOmaSessionState</a>.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">i <em class="parameter"><code>new_session_state</code></em></code>:</span></p></td>
+<td><p>Current session state, given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionState" title="enum MMOmaSessionState">MMOmaSessionState</a>.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">u <em class="parameter"><code>session_state_failed_reason</code></em></code>:</span></p></td>
+<td><p>Reason of failure, given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionStateFailedReason" title="enum MMOmaSessionStateFailedReason">MMOmaSessionStateFailedReason</a>, if <em class="parameter"><code>session_state</code></em> is <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-OMA-SESSION-STATE-FAILED:CAPS">MM_OMA_SESSION_STATE_FAILED</a>.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.Oma"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.Features"></a><h3>The "Features" property</h3>
+<pre class="programlisting">
+Features readable u
+</pre>
+<p> Bitmask of MMModemOmaFeature
+ flags, specifying which device management features are enabled or
+ disabled.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions"></a><h3>The "PendingNetworkInitiatedSessions" property</h3>
+<pre class="programlisting">
+PendingNetworkInitiatedSessions readable a(uu)
+</pre>
+<p> List of network-initiated sessions which are waiting to be accepted or
+ rejected, given as an array of unsigned integer pairs, where:
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p></p></td>
+<td>
+ The first integer is a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionType" title="enum MMOmaSessionType">MMOmaSessionType</a>.
+ </td>
+</tr>
+<tr>
+<td><p></p></td>
+<td>
+ The second integer is the unique session ID.
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionType"></a><h3>The "SessionType" property</h3>
+<pre class="programlisting">
+SessionType readable u
+</pre>
+<p> Type of the current on-going device management session, given as a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionType" title="enum MMOmaSessionType">MMOmaSessionType</a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionState"></a><h3>The "SessionState" property</h3>
+<pre class="programlisting">
+SessionState readable i
+</pre>
+<p> State of the current on-going device management session, given as a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionState" title="enum MMOmaSessionState">MMOmaSessionState</a>.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html
new file mode 100644
index 00000000..053d0877
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html
@@ -0,0 +1,315 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Signal: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html" title="org.freedesktop.ModemManager1.Modem.Firmware">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html" title="org.freedesktop.ModemManager1.Modem.Oma">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Signal.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Signal.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Signal"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Signal.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Signal</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Signal — The ModemManager Signal interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup" title="The Setup() method">Setup</a> (IN u rate);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.16.4"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Rate" title='The "Rate" property'>Rate</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma" title='The "Cdma" property'>Cdma</a> readable a{sv}
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo" title='The "Evdo" property'>Evdo</a> readable a{sv}
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm" title='The "Gsm" property'>Gsm</a> readable a{sv}
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts" title='The "Umts" property'>Umts</a> readable a{sv}
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte" title='The "Lte" property'>Lte</a> readable a{sv}
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Signal"></a><h2>Description</h2>
+<p> This interface provides access to extended signal quality information.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Signal"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup"></a><h3>The Setup() method</h3>
+<pre class="programlisting">
+Setup (IN u rate);
+</pre>
+<p> Setup extended signal quality information retrieval.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>rate</code></em></code>:</span></p></td>
+<td><p>refresh rate to set, in seconds. 0 to disable retrieval.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.Signal"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Rate"></a><h3>The "Rate" property</h3>
+<pre class="programlisting">
+Rate readable u
+</pre>
+<p> Refresh rate for the extended signal quality information updates,
+ in seconds. A value of 0 disables the retrieval of the values.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma"></a><h3>The "Cdma" property</h3>
+<pre class="programlisting">
+Cdma readable a{sv}
+</pre>
+<p> Dictionary of available signal information for the CDMA1x access
+ technology.
+</p>
+<p> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"rssi"</code></span></p></td>
+<td><p>
+ The CDMA1x RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"ecio"</code></span></p></td>
+<td><p>
+ The CDMA1x Ec/Io, in dBm, given as a floating point value
+ (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo"></a><h3>The "Evdo" property</h3>
+<pre class="programlisting">
+Evdo readable a{sv}
+</pre>
+<p> Dictionary of available signal information for the CDMA EV-DO access
+ technology.
+</p>
+<p> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"rssi"</code></span></p></td>
+<td><p>
+ The CDMA EV-DO RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"ecio"</code></span></p></td>
+<td><p>
+ The CDMA EV-DO Ec/Io, in dBm, given as a floating point value
+ (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"sinr"</code></span></p></td>
+<td><p>
+ CDMA EV-DO SINR level, in dB, given as a floating point value
+ (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"io"</code></span></p></td>
+<td><p>
+ The CDMA EV-DO Io, in dBm, given as a floating point value
+ (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm"></a><h3>The "Gsm" property</h3>
+<pre class="programlisting">
+Gsm readable a{sv}
+</pre>
+<p> Dictionary of available signal information for the GSM/GPRS access
+ technology.
+</p>
+<p> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">"rssi"</code></span></p></td>
+<td><p>
+ The GSM RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr></tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts"></a><h3>The "Umts" property</h3>
+<pre class="programlisting">
+Umts readable a{sv}
+</pre>
+<p> Dictionary of available signal information for the UMTS (WCDMA) access
+ technology.
+</p>
+<p> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"rssi"</code></span></p></td>
+<td><p>
+ The UMTS RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"rscp"</code></span></p></td>
+<td><p>
+ The UMTS RSCP (Received Signal Code Power), in dBm, given as a
+ floating point value (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"ecio"</code></span></p></td>
+<td><p>
+ The UMTS Ec/Io, in dB, given as a floating point value
+ (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte"></a><h3>The "Lte" property</h3>
+<pre class="programlisting">
+Lte readable a{sv}
+</pre>
+<p> Dictionary of available signal information for the LTE access
+ technology.
+</p>
+<p> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"rssi"</code></span></p></td>
+<td><p>
+ The LTE RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"rsrq"</code></span></p></td>
+<td><p>
+ The LTE RSRQ (Reference Signal Received Quality), in dB, given as
+ a floating point value (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"rsrp"</code></span></p></td>
+<td><p>
+ The LTE RSRP (Reference Signal Received Power), in dBm, given as
+ a floating point value (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"snr"</code></span></p></td>
+<td><p>
+ The LTE S/R ratio, in dB, given as
+ a floating point value (signature <code class="literal">"d"</code>).
+ </p></td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html
new file mode 100644
index 00000000..3c0a1125
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html
@@ -0,0 +1,322 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Simple: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html" title="org.freedesktop.ModemManager1.Modem.Modem3gpp">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Simple.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Simple"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Simple.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Simple</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Simple — The ModemManager Simple interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect" title="The Connect() method">Connect</a> (IN a{sv} properties,
+ OUT o bearer);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect" title="The Disconnect() method">Disconnect</a> (IN o bearer);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus" title="The GetStatus() method">GetStatus</a> (OUT a{sv} properties);
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Simple"></a><h2>Description</h2>
+<p> The Simple interface allows controlling and querying the status of Modems.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Simple"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect"></a><h3>The Connect() method</h3>
+<pre class="programlisting">
+Connect (IN a{sv} properties,
+ OUT o bearer);
+</pre>
+<p> Do everything needed to connect the modem using the given properties.
+</p>
+<p> This method will attempt to find a matching packet data bearer and
+ activate it if necessary, returning the bearer's IP details. If no
+ matching bearer is found, a new bearer will be created and activated,
+ but this operation may fail if no resources are available to complete
+ this connection attempt (ie, if a conflicting bearer is already active).
+</p>
+<p> This call may make a large number of changes to modem configuration
+ based on properties passed in. For example, given a PIN-locked, disabled
+ GSM/UMTS modem, this call may unlock the SIM PIN, alter the access
+ technology preference, wait for network registration (or force
+ registration to a specific provider), create a new packet data bearer
+ using the given "apn", and connect that bearer.
+</p>
+<p> Allowed key/value pairs in <em class="parameter"><code>properties</code></em> are:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"pin"</code></span></p></td>
+<td>
+ SIM-PIN unlock code, given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"operator-id"</code></span></p></td>
+<td>
+ ETSI MCC-MNC of a network to force registration with,
+ given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"apn"</code></span></p></td>
+<td>
+ For GSM/UMTS and LTE devices the APN to use,
+ given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"ip-type"</code></span></p></td>
+<td>
+ For GSM/UMTS and LTE devices the IP addressing type to use,
+ given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily" title="enum MMBearerIpFamily">MMBearerIpFamily</a>
+ value (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"allowed-auth"</code></span></p></td>
+<td>
+ The authentication method to use, given as a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth" title="enum MMBearerAllowedAuth">MMBearerAllowedAuth</a>
+ value (signature <code class="literal">"u"</code>). Optional in 3GPP.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"user"</code></span></p></td>
+<td>
+ User name (if any) required by the network, given as a string
+ value (signature <code class="literal">"s"</code>). Optional in 3GPP.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"password"</code></span></p></td>
+<td>
+ Password (if any) required by the network, given as a string value
+ (signature <code class="literal">"s"</code>). Optional in 3GPP.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"number"</code></span></p></td>
+<td>
+ For POTS devices the number to dial,,
+ given as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"allow-roaming"</code></span></p></td>
+<td>
+<code class="constant">FALSE</code> to allow only connections to home networks,
+ given as a boolean value (signature <code class="literal">"b"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"rm-protocol"</code></span></p></td>
+<td>
+ For CDMA devices, the protocol of the Rm interface, given as a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol" title="enum MMModemCdmaRmProtocol">MMModemCdmaRmProtocol</a>
+ value (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>properties</code></em></code>:</span></p></td>
+<td><p>Dictionary of properties needed to get the modem connected.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">OUT o <em class="parameter"><code>bearer</code></em></code>:</span></p></td>
+<td><p>On successful connect, returns the object path of the connected packet data bearer used for the connection attempt.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect"></a><h3>The Disconnect() method</h3>
+<pre class="programlisting">
+Disconnect (IN o bearer);
+</pre>
+<p> data bearer, while if "/" (ie, no object given) this method will
+ disconnect all active packet data bearers.
+</p>
+<p> Disconnect an active packet data connection.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN o <em class="parameter"><code>bearer</code></em></code>:</span></p></td>
+<td><p>If given this method will disconnect the referenced packet</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus"></a><h3>The GetStatus() method</h3>
+<pre class="programlisting">
+GetStatus (OUT a{sv} properties);
+</pre>
+<p> Get the general modem status.
+</p>
+<p> The predefined common properties returned are:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"state"</code></span></p></td>
+<td>
+ A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemState" title="enum MMModemState">MMModemState</a> value
+ specifying the overall state of the modem, given as an
+ unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"signal-quality"</code></span></p></td>
+<td>
+ Signal quality value, given only when registered,
+ as an unsigned integer value
+ (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"current-bands"</code></span></p></td>
+<td>
+ List of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemBand" title="enum MMModemBand">MMModemBand</a> values,
+ given only when registered, as a list of
+ unsigned integer values (signature <code class="literal">"au"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"access-technology"</code></span></p></td>
+<td>
+ A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology" title="enum MMModemAccessTechnology">MMModemAccessTechnology</a> value,
+ given only when registered, as an unsigned integer value
+ (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"m3gpp-registration-state"</code></span></p></td>
+<td>
+ A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState" title="enum MMModem3gppRegistrationState">MMModem3gppRegistrationState</a> value
+ specifying the state of the registration, given only when registered
+ in a 3GPP network, as an unsigned integer value (signature
+ <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"m3gpp-operator-code"</code></span></p></td>
+<td>
+ Operator <code class="literal">MCC-MNC</code>, given only when registered
+ in a 3GPP network, as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"m3gpp-operator-name"</code></span></p></td>
+<td>
+ Operator name, given only when registered in a 3GPP network,
+ as a string value (signature <code class="literal">"s"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"cdma-cdma1x-registration-state"</code></span></p></td>
+<td>
+ A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState" title="enum MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</a> value
+ specifying the state of the registration, given only when registered
+ in a CDMA1x network, as an unsigned integer value (signature
+ <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"cdma-evdo-registration-state"</code></span></p></td>
+<td>
+ A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState" title="enum MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</a> value
+ specifying the state of the registration, given only when registered
+ in a EV-DO network, as an unsigned integer value (signature
+ <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"cdma-sid"</code></span></p></td>
+<td>
+ The System Identifier of the serving network, if registered in a CDMA1x network and if known.
+ Given as an unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"cdma-nid"</code></span></p></td>
+<td>
+ The Network Identifier of the serving network, if registered in a CDMA1x network and if known.
+ Given as an unsigned integer value (signature <code class="literal">"u"</code>).
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">OUT a{sv} <em class="parameter"><code>properties</code></em></code>:</span></p></td>
+<td><p>Dictionary of properties.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Time.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Time.html
new file mode 100644
index 00000000..753cd889
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Time.html
@@ -0,0 +1,162 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Time: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html" title="org.freedesktop.ModemManager1.Modem.Location">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html" title="org.freedesktop.ModemManager1.Modem.Voice">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Time.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Time.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Time.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Time"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Time.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Time</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Time — The ModemManager Time interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime" title="The GetNetworkTime() method">GetNetworkTime</a> (OUT s time);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.13.4"></a><h2>Signals</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Time.NetworkTimeChanged" title='The "NetworkTimeChanged" signal'>NetworkTimeChanged</a> (s time);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.13.5"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone" title='The "NetworkTimezone" property'>NetworkTimezone</a> readable a{sv}
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Time"></a><h2>Description</h2>
+<p> This interface allows clients to receive network time and timezone
+ updates broadcast by mobile networks.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Time"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime"></a><h3>The GetNetworkTime() method</h3>
+<pre class="programlisting">
+GetNetworkTime (OUT s time);
+</pre>
+<p> time, and (if available) UTC offset in ISO 8601 format. If the network
+ time is unknown, the empty string.
+</p>
+<p> Gets the current network time in local time.
+</p>
+<p> This method will only work if the modem tracks, or can request, the
+ current network time; it will not attempt to use previously-received
+ network time updates on the host to guess the current network time.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">OUT s <em class="parameter"><code>time</code></em></code>:</span></p></td>
+<td><p>If the network time is known, a string containing local date,</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-signals-org.freedesktop.ModemManager1.Modem.Time"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Modem-Time.NetworkTimeChanged"></a><h3>The "NetworkTimeChanged" signal</h3>
+<pre class="programlisting">
+NetworkTimeChanged (s time);
+</pre>
+<p> Sent when the network time is updated.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">s <em class="parameter"><code>time</code></em></code>:</span></p></td>
+<td><p>A string containing date and time in ISO 8601 format.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.Time"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone"></a><h3>The "NetworkTimezone" property</h3>
+<pre class="programlisting">
+NetworkTimezone readable a{sv}
+</pre>
+<p> The timezone data provided by the network. It may include one or more
+ of the following fields:
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"offset"</code></span></p></td>
+<td>
+ Offset of the timezone from UTC, in minutes (including DST, if applicable),
+ given as a signed integer value (signature <code class="literal">"i"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"dst-offset"</code></span></p></td>
+<td>
+ Amount of offset that is due to DST (daylight saving time),
+ given as a signed integer value (signature <code class="literal">"i"</code>).
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"leap-seconds"</code></span></p></td>
+<td>
+ Number of leap seconds included in the network time,
+ given as a signed integer value (signature <code class="literal">"i"</code>).
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html
new file mode 100644
index 00000000..44c57a78
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html
@@ -0,0 +1,198 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem.Voice: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html" title="org.freedesktop.ModemManager1.Modem.Time">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html" title="org.freedesktop.ModemManager1.Modem.Firmware">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Voice.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Voice.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.Voice.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem.Voice"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Voice.top_of_page"></a>org.freedesktop.ModemManager1.Modem.Voice</span></h2>
+<p>org.freedesktop.ModemManager1.Modem.Voice — The ModemManager Voice interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.ListCalls" title="The ListCalls() method">ListCalls</a> (OUT ao result);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.DeleteCall" title="The DeleteCall() method">DeleteCall</a> (IN o path);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.CreateCall" title="The CreateCall() method">CreateCall</a> (IN a{sv} properties,
+ OUT o path);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.14.4"></a><h2>Signals</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallAdded" title='The "CallAdded" signal'>CallAdded</a> (o path);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallDeleted" title='The "CallDeleted" signal'>CallDeleted</a> (o path);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.14.5"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Voice.Calls" title='The "Calls" property'>Calls</a> readable ao
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem-Voice"></a><h2>Description</h2>
+<p> The Voice interface handles Calls.
+</p>
+<p> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem.Voice"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.ListCalls"></a><h3>The ListCalls() method</h3>
+<pre class="programlisting">
+ListCalls (OUT ao result);
+</pre>
+<p> Retrieve all Calls.
+</p>
+<p> This method should only be used once and subsequent information
+ retrieved either by listening for the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Voice.top_of_page">org.freedesktop.ModemManager1.Modem.Voice</a>::Added signal,
+ or by querying the specific Call object of interest.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">OUT ao <em class="parameter"><code>result</code></em></code>:</span></p></td>
+<td><p>The list of call object paths.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.DeleteCall"></a><h3>The DeleteCall() method</h3>
+<pre class="programlisting">
+DeleteCall (IN o path);
+</pre>
+<p> Delete a Call from the list of calls.
+</p>
+<p> The call will be hangup if it is still active.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN o <em class="parameter"><code>path</code></em></code>:</span></p></td>
+<td><p>The object path of the Call to delete.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.CreateCall"></a><h3>The CreateCall() method</h3>
+<pre class="programlisting">
+CreateCall (IN a{sv} properties,
+ OUT o path);
+</pre>
+<p> Creates a new call object.
+</p>
+<p> The '<a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Number" title='The "Number" property'>Number</a>' is mandatory
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>properties</code></em></code>:</span></p></td>
+<td><p>Call properties from the <a class="link" href="gdbus-org.freedesktop.ModemManager1.Call.html" title="org.freedesktop.ModemManager1.Call">Call D-Bus interface</a>.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">OUT o <em class="parameter"><code>path</code></em></code>:</span></p></td>
+<td><p>The object path of the new call object.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-signals-org.freedesktop.ModemManager1.Modem.Voice"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallAdded"></a><h3>The "CallAdded" signal</h3>
+<pre class="programlisting">
+CallAdded (o path);
+</pre>
+<p> Emitted when any part of a Call has been received or added.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">o <em class="parameter"><code>path</code></em></code>:</span></p></td>
+<td><p>Object path of the new call.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallDeleted"></a><h3>The "CallDeleted" signal</h3>
+<pre class="programlisting">
+CallDeleted (o path);
+</pre>
+<p> Emitted when a call has been deleted.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">o <em class="parameter"><code>path</code></em></code>:</span></p></td>
+<td><p>Object path of the now deleted Call.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem.Voice"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem-Voice.Calls"></a><h3>The "Calls" property</h3>
+<pre class="programlisting">
+Calls readable ao
+</pre>
+<p> The list of calls object paths.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.html
new file mode 100644
index 00000000..e09c7fb0
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Modem.html
@@ -0,0 +1,831 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Modem: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="prev" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html" title="org.freedesktop.ModemManager1.Modem.Simple">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Modem.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-modem.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-object-modem.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Modem"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Modem.top_of_page"></a>org.freedesktop.ModemManager1.Modem</span></h2>
+<p>org.freedesktop.ModemManager1.Modem — The ModemManager Modem interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Enable" title="The Enable() method">Enable</a> (IN b enable);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers" title="The ListBearers() method">ListBearers</a> (OUT ao bearers);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer" title="The CreateBearer() method">CreateBearer</a> (IN a{sv} properties,
+ OUT o path);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer" title="The DeleteBearer() method">DeleteBearer</a> (IN o bearer);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Reset" title="The Reset() method">Reset</a> ();
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset" title="The FactoryReset() method">FactoryReset</a> (IN s code);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState" title="The SetPowerState() method">SetPowerState</a> (IN u state);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities" title="The SetCurrentCapabilities() method">SetCurrentCapabilities</a> (IN u capabilities);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes" title="The SetCurrentModes() method">SetCurrentModes</a> (IN (uu) modes);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands" title="The SetCurrentBands() method">SetCurrentBands</a> (IN au bands);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Command" title="The Command() method">Command</a> (IN s cmd,
+ IN u timeout,
+ OUT s response);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.6.4"></a><h2>Signals</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-signal-org-freedesktop-ModemManager1-Modem.StateChanged" title='The "StateChanged" signal'>StateChanged</a> (i old,
+ i new,
+ u reason);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.5.6.5"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Sim" title='The "Sim" property'>Sim</a> readable o
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers" title='The "Bearers" property'>Bearers</a> readable ao
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities" title='The "SupportedCapabilities" property'>SupportedCapabilities</a> readable au
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentCapabilities" title='The "CurrentCapabilities" property'>CurrentCapabilities</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxBearers" title='The "MaxBearers" property'>MaxBearers</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxActiveBearers" title='The "MaxActiveBearers" property'>MaxActiveBearers</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer" title='The "Manufacturer" property'>Manufacturer</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Model" title='The "Model" property'>Model</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Revision" title='The "Revision" property'>Revision</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision" title='The "HardwareRevision" property'>HardwareRevision</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier" title='The "DeviceIdentifier" property'>DeviceIdentifier</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Device" title='The "Device" property'>Device</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers" title='The "Drivers" property'>Drivers</a> readable as
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin" title='The "Plugin" property'>Plugin</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort" title='The "PrimaryPort" property'>PrimaryPort</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Ports" title='The "Ports" property'>Ports</a> readable a(su)
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier" title='The "EquipmentIdentifier" property'>EquipmentIdentifier</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRequired" title='The "UnlockRequired" property'>UnlockRequired</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries" title='The "UnlockRetries" property'>UnlockRetries</a> readable a{uu}
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.State" title='The "State" property'>State</a> readable i
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason" title='The "StateFailedReason" property'>StateFailedReason</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.AccessTechnologies" title='The "AccessTechnologies" property'>AccessTechnologies</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality" title='The "SignalQuality" property'>SignalQuality</a> readable (ub)
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers" title='The "OwnNumbers" property'>OwnNumbers</a> readable as
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PowerState" title='The "PowerState" property'>PowerState</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes" title='The "SupportedModes" property'>SupportedModes</a> readable a(uu)
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes" title='The "CurrentModes" property'>CurrentModes</a> readable (uu)
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands" title='The "SupportedBands" property'>SupportedBands</a> readable au
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands" title='The "CurrentBands" property'>CurrentBands</a> readable au
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedIpFamilies" title='The "SupportedIpFamilies" property'>SupportedIpFamilies</a> readable u
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Modem"></a><h2>Description</h2>
+<p> The Modem interface controls the status and actions in a given modem
+ object.
+</p>
+<p> This interface will always be available as long a the modem is considered
+ valid.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Modem"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.Enable"></a><h3>The Enable() method</h3>
+<pre class="programlisting">
+Enable (IN b enable);
+</pre>
+<p> Enable or disable the modem.
+</p>
+<p> When enabled, the modem's radio is powered on and data sessions, voice
+ calls, location services, and Short Message Service may be available.
+</p>
+<p> When disabled, the modem enters low-power state and no network-related
+ operations are available.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN b <em class="parameter"><code>enable</code></em></code>:</span></p></td>
+<td><p><code class="constant">TRUE</code> to enable the modem and <code class="constant">FALSE</code> to disable it.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers"></a><h3>The ListBearers() method</h3>
+<pre class="programlisting">
+ListBearers (OUT ao bearers);
+</pre>
+<p> List configured packet data bearers (EPS Bearers, PDP Contexts, or
+ CDMA2000 Packet Data Sessions).
+</p>
+<p> Deprecated: 1.10.0. Use <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers" title='The "Bearers" property'>"Bearers"</a>
+ property instead.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">OUT ao <em class="parameter"><code>bearers</code></em></code>:</span></p></td>
+<td><p>The list of bearer object paths.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer"></a><h3>The CreateBearer() method</h3>
+<pre class="programlisting">
+CreateBearer (IN a{sv} properties,
+ OUT o path);
+</pre>
+<p> Create a new packet data bearer using the given characteristics.
+</p>
+<p> This request may fail if the modem does not support additional bearers,
+ if too many bearers are already defined, or if properties are invalid.
+</p>
+<p> Allowed properties are:
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">"apn"</code></span></p></td>
+<td><p>Access Point Name, given as a string value (signature <code class="literal">"s"</code>). Required in 3GPP.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"ip-type"</code></span></p></td>
+<td><p>Addressing type, given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily" title="enum MMBearerIpFamily">MMBearerIpFamily</a> value (signature <code class="literal">"u"</code>). Optional in 3GPP and CDMA.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"allowed-auth"</code></span></p></td>
+<td><p>The authentication method to use, given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth" title="enum MMBearerAllowedAuth">MMBearerAllowedAuth</a> value (signature <code class="literal">"u"</code>). Optional in 3GPP.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"user"</code></span></p></td>
+<td><p>User name (if any) required by the network, given as a string value (signature <code class="literal">"s"</code>). Optional in 3GPP.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"password"</code></span></p></td>
+<td><p>Password (if any) required by the network, given as a string value (signature <code class="literal">"s"</code>). Optional in 3GPP.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"allow-roaming"</code></span></p></td>
+<td><p>Flag to tell whether connection is allowed during roaming, given as a boolean value (signature <code class="literal">"b"</code>). Optional in 3GPP.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"rm-protocol"</code></span></p></td>
+<td><p>Protocol of the Rm interface, given as a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol" title="enum MMModemCdmaRmProtocol">MMModemCdmaRmProtocol</a> value (signature <code class="literal">"u"</code>). Optional in CDMA.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">"number"</code></span></p></td>
+<td><p>Telephone number to dial, given as a string value (signature <code class="literal">"s"</code>). Required in POTS.</p></td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<p> Some properties are only applicable to a bearer of certain access
+ technologies, for example the <code class="literal">"apn"</code> property is not
+ applicable to CDMA2000 Packet Data Session bearers.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>properties</code></em></code>:</span></p></td>
+<td><p>List of properties to assign to the bearer after creating it.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">OUT o <em class="parameter"><code>path</code></em></code>:</span></p></td>
+<td><p>On success, the object path of the newly created bearer.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer"></a><h3>The DeleteBearer() method</h3>
+<pre class="programlisting">
+DeleteBearer (IN o bearer);
+</pre>
+<p> Delete an existing packet data bearer.
+</p>
+<p> If the bearer is currently active and providing packet data server, it
+ will be disconnected and that packet data service will terminate.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN o <em class="parameter"><code>bearer</code></em></code>:</span></p></td>
+<td><p>Object path of the bearer to delete.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.Reset"></a><h3>The Reset() method</h3>
+<pre class="programlisting">
+Reset ();
+</pre>
+<p> Clear non-persistent configuration and state, and return the device to
+ a newly-powered-on state.
+</p>
+<p> This command may power-cycle the device.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset"></a><h3>The FactoryReset() method</h3>
+<pre class="programlisting">
+FactoryReset (IN s code);
+</pre>
+<p> Clear the modem's configuration (including persistent configuration and
+ state), and return the device to a factory-default state.
+</p>
+<p> If not required by the modem, <em class="parameter"><code>code</code></em> may be ignored.
+</p>
+<p> This command may or may not power-cycle the device.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>code</code></em></code>:</span></p></td>
+<td><p>Carrier-supplied code required to reset the modem.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState"></a><h3>The SetPowerState() method</h3>
+<pre class="programlisting">
+SetPowerState (IN u state);
+</pre>
+<p> Set the power state of the modem. This action can only be run when the
+ modem is in <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-DISABLED:CAPS"><code class="constant">MM_MODEM_STATE_DISABLED</code></a>
+ state.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>state</code></em></code>:</span></p></td>
+<td><p>A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemPowerState" title="enum MMModemPowerState">MMModemPowerState</a> value, to specify the desired power state.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities"></a><h3>The SetCurrentCapabilities() method</h3>
+<pre class="programlisting">
+SetCurrentCapabilities (IN u capabilities);
+</pre>
+<p> Set the capabilities of the device. A restart of the modem may be required.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>capabilities</code></em></code>:</span></p></td>
+<td><p>Bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCapability" title="enum MMModemCapability">MMModemCapability</a> values, to specify the capabilities to use.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes"></a><h3>The SetCurrentModes() method</h3>
+<pre class="programlisting">
+SetCurrentModes (IN (uu) modes);
+</pre>
+<p> Set the access technologies (e.g. 2G/3G/4G preference) the device is
+ currently allowed to use when connecting to a network.
+</p>
+<p> The given combination should be supported by the modem, as specified in the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes" title='The "SupportedModes" property'>"SupportedModes"</a> property.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN (uu) <em class="parameter"><code>modes</code></em></code>:</span></p></td>
+<td><p>A pair of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemMode" title="enum MMModemMode">MMModemMode</a> values, where the first one is a bitmask of allowed modes, and the second one the preferred mode, if any.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands"></a><h3>The SetCurrentBands() method</h3>
+<pre class="programlisting">
+SetCurrentBands (IN au bands);
+</pre>
+<p> Set the radio frequency and technology bands the device is currently
+ allowed to use when connecting to a network.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN au <em class="parameter"><code>bands</code></em></code>:</span></p></td>
+<td><p>List of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemBand" title="enum MMModemBand">MMModemBand</a> values, to specify the bands to be used.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Modem.Command"></a><h3>The Command() method</h3>
+<pre class="programlisting">
+Command (IN s cmd,
+ IN u timeout,
+ OUT s response);
+</pre>
+<p></p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>cmd</code></em></code>:</span></p></td>
+<td><p></p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>timeout</code></em></code>:</span></p></td>
+<td><p></p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">OUT s <em class="parameter"><code>response</code></em></code>:</span></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-signals-org.freedesktop.ModemManager1.Modem"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="gdbus-signal-org-freedesktop-ModemManager1-Modem.StateChanged"></a><h3>The "StateChanged" signal</h3>
+<pre class="programlisting">
+StateChanged (i old,
+ i new,
+ u reason);
+</pre>
+<p> The modem's state (see <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.State" title='The "State" property'>"State"</a>) changed.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">i <em class="parameter"><code>old</code></em></code>:</span></p></td>
+<td><p>A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemState" title="enum MMModemState">MMModemState</a> value, specifying the new state.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">i <em class="parameter"><code>new</code></em></code>:</span></p></td>
+<td><p>A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemState" title="enum MMModemState">MMModemState</a> value, specifying the new state.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">u <em class="parameter"><code>reason</code></em></code>:</span></p></td>
+<td><p>A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemStateChangeReason" title="enum MMModemStateChangeReason">MMModemStateChangeReason</a> value, specifying the reason for this state change.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Modem"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.Sim"></a><h3>The "Sim" property</h3>
+<pre class="programlisting">
+Sim readable o
+</pre>
+<p> The path of the SIM object available in this device, if any.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers"></a><h3>The "Bearers" property</h3>
+<pre class="programlisting">
+Bearers readable ao
+</pre>
+<p> The list of bearer object paths (EPS Bearers, PDP Contexts, or
+ CDMA2000 Packet Data Sessions) as requested by the user.
+</p>
+<p> This list does not include the initial EPS bearer details (see
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer" title='The "InitialEpsBearer" property'>"InitialEpsBearer"</a>).
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities"></a><h3>The "SupportedCapabilities" property</h3>
+<pre class="programlisting">
+SupportedCapabilities readable au
+</pre>
+<p> List of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCapability" title="enum MMModemCapability">MMModemCapability</a>
+ values, specifying the combinations of generic family of access
+ technologies the modem supports.
+</p>
+<p> If the modem doesn't allow changing the current capabilities, a single entry with
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-ANY:CAPS"><code class="constant">MM_MODEM_CAPABILITY_ANY</code></a>
+ will be given.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentCapabilities"></a><h3>The "CurrentCapabilities" property</h3>
+<pre class="programlisting">
+CurrentCapabilities readable u
+</pre>
+<p> Bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemCapability" title="enum MMModemCapability">MMModemCapability</a>
+ values, specifying the generic family of access technologies the modem
+ currently supports without a firmware reload or reinitialization.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.MaxBearers"></a><h3>The "MaxBearers" property</h3>
+<pre class="programlisting">
+MaxBearers readable u
+</pre>
+<p> The maximum number of defined packet data bearers the modem supports.
+</p>
+<p> This is not the number of active/connected bearers the modem supports,
+ but simply the number of bearers that may be defined at any given time.
+ For example, POTS and CDMA2000-only devices support only one bearer,
+ while GSM/UMTS devices typically support three or more, and any
+ LTE-capable device (whether LTE-only, GSM/UMTS-capable, and/or
+ CDMA2000-capable) also typically support three or more.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.MaxActiveBearers"></a><h3>The "MaxActiveBearers" property</h3>
+<pre class="programlisting">
+MaxActiveBearers readable u
+</pre>
+<p> The maximum number of active
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-BEARER-TYPE-DEFAULT:CAPS"><code class="constant">MM_BEARER_TYPE_DEFAULT</code></a>
+ bearers that may be explicitly enabled by the user.
+</p>
+<p> POTS and CDMA2000-only devices support one active bearer, while GSM/UMTS
+ and LTE-capable devices (including LTE/CDMA devices) typically support
+ at least two active bearers.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer"></a><h3>The "Manufacturer" property</h3>
+<pre class="programlisting">
+Manufacturer readable s
+</pre>
+<p> The equipment manufacturer, as reported by the modem.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.Model"></a><h3>The "Model" property</h3>
+<pre class="programlisting">
+Model readable s
+</pre>
+<p> The equipment model, as reported by the modem.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.Revision"></a><h3>The "Revision" property</h3>
+<pre class="programlisting">
+Revision readable s
+</pre>
+<p> The revision identification of the software, as reported by the modem.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision"></a><h3>The "HardwareRevision" property</h3>
+<pre class="programlisting">
+HardwareRevision readable s
+</pre>
+<p> The revision identification of the hardware, as reported by the modem.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier"></a><h3>The "DeviceIdentifier" property</h3>
+<pre class="programlisting">
+DeviceIdentifier readable s
+</pre>
+<p> A best-effort device identifier based on various device information like
+ model name, firmware revision, USB/PCI/PCMCIA IDs, and other properties.
+</p>
+<p> This ID is not guaranteed to be unique and may be shared between
+ identical devices with the same firmware, but is intended to be "unique
+ enough" for use as a casual device identifier for various user
+ experience operations.
+</p>
+<p> This is not the device's IMEI or ESN since those may not be available
+ before unlocking the device via a PIN.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.Device"></a><h3>The "Device" property</h3>
+<pre class="programlisting">
+Device readable s
+</pre>
+<p> The physical modem device reference (ie, USB, PCI, PCMCIA device), which
+ may be dependent upon the operating system.
+</p>
+<p> In Linux for example, this points to a sysfs path of the usb_device
+ object.
+</p>
+<p> This value may also be set by the user using the MM_ID_PHYSDEV_UID udev
+ tag (e.g. binding the tag to a specific sysfs path).
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers"></a><h3>The "Drivers" property</h3>
+<pre class="programlisting">
+Drivers readable as
+</pre>
+<p> The Operating System device drivers handling communication with the modem
+ hardware.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin"></a><h3>The "Plugin" property</h3>
+<pre class="programlisting">
+Plugin readable s
+</pre>
+<p> The name of the plugin handling this modem.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort"></a><h3>The "PrimaryPort" property</h3>
+<pre class="programlisting">
+PrimaryPort readable s
+</pre>
+<p> The name of the primary port using to control the modem.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.Ports"></a><h3>The "Ports" property</h3>
+<pre class="programlisting">
+Ports readable a(su)
+</pre>
+<p> The list of ports in the modem, given as an array of string and unsigned
+ integer pairs. The string is the port name or path, and the integer is
+ the port type given as a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemPortType" title="enum MMModemPortType">MMModemPortType</a> value.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier"></a><h3>The "EquipmentIdentifier" property</h3>
+<pre class="programlisting">
+EquipmentIdentifier readable s
+</pre>
+<p> The identity of the device.
+</p>
+<p> This will be the IMEI number for GSM devices and the hex-format ESN/MEID
+ for CDMA devices.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRequired"></a><h3>The "UnlockRequired" property</h3>
+<pre class="programlisting">
+UnlockRequired readable u
+</pre>
+<p> Current lock state of the device, given as a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLock" title="enum MMModemLock">MMModemLock</a> value.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries"></a><h3>The "UnlockRetries" property</h3>
+<pre class="programlisting">
+UnlockRetries readable a{uu}
+</pre>
+<p> A dictionary in which the keys are <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemLock" title="enum MMModemLock">MMModemLock</a>
+ flags, and the values are integers giving the number of PIN tries remaining
+ before the code becomes blocked (requiring a PUK) or permanently blocked. Dictionary
+ entries exist only for the codes for which the modem is able to report retry
+ counts.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.State"></a><h3>The "State" property</h3>
+<pre class="programlisting">
+State readable i
+</pre>
+<p> Overall state of the modem, given as a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemState" title="enum MMModemState">MMModemState</a> value.
+</p>
+<p> If the device's state cannot be determined,
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-UNKNOWN:CAPS"><code class="constant">MM_MODEM_STATE_UNKNOWN</code></a>
+ will be reported.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason"></a><h3>The "StateFailedReason" property</h3>
+<pre class="programlisting">
+StateFailedReason readable u
+</pre>
+<p> Error specifying why the modem is in
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-FAILED:CAPS"><code class="constant">MM_MODEM_STATE_FAILED</code></a>
+ state, given as a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemStateFailedReason" title="enum MMModemStateFailedReason">MMModemStateFailedReason</a> value.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.AccessTechnologies"></a><h3>The "AccessTechnologies" property</h3>
+<pre class="programlisting">
+AccessTechnologies readable u
+</pre>
+<p> Bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology" title="enum MMModemAccessTechnology">MMModemAccessTechnology</a> values,
+ specifying the current network access technologies used by the device to communicate
+ with the network.
+</p>
+<p> If the device's access technology cannot be determined,
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-ACCESS-TECHNOLOGY-UNKNOWN:CAPS"><code class="constant">MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN</code></a>
+ will be reported.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality"></a><h3>The "SignalQuality" property</h3>
+<pre class="programlisting">
+SignalQuality readable (ub)
+</pre>
+<p> Signal quality in percent (0 - 100) of the dominant access technology
+ the device is using to communicate with the network. Always 0 for POTS
+ devices.
+</p>
+<p> The additional boolean value indicates if the quality value given was
+ recently taken.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers"></a><h3>The "OwnNumbers" property</h3>
+<pre class="programlisting">
+OwnNumbers readable as
+</pre>
+<p> List of numbers (e.g. MSISDN in 3GPP) being currently handled by this
+ modem.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.PowerState"></a><h3>The "PowerState" property</h3>
+<pre class="programlisting">
+PowerState readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemPowerState" title="enum MMModemPowerState">MMModemPowerState</a> value
+ specifying the current power state of the modem.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes"></a><h3>The "SupportedModes" property</h3>
+<pre class="programlisting">
+SupportedModes readable a(uu)
+</pre>
+<p> This property exposes the supported mode combinations, given as an array of unsigned
+ integer pairs, where:
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p></p></td>
+<td>
+ The first integer is a bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemMode" title="enum MMModemMode">MMModemMode</a> values,
+ specifying the allowed modes.
+ </td>
+</tr>
+<tr>
+<td><p></p></td>
+<td>
+ The second integer is a single <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemMode" title="enum MMModemMode">MMModemMode</a>, which
+ specifies the preferred access technology, among the ones defined in the allowed modes.
+ </td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes"></a><h3>The "CurrentModes" property</h3>
+<pre class="programlisting">
+CurrentModes readable (uu)
+</pre>
+<p> A pair of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemMode" title="enum MMModemMode">MMModemMode</a> values, where the first one
+ is a bitmask specifying the access technologies (eg 2G/3G/4G) the device
+ is currently allowed to use when connecting to a network, and the second one is the
+ preferred mode of those specified as allowed.
+</p>
+<p> The pair must be one of those specified in
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes" title='The "SupportedModes" property'>"SupportedModes"</a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands"></a><h3>The "SupportedBands" property</h3>
+<pre class="programlisting">
+SupportedBands readable au
+</pre>
+<p> List of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemBand" title="enum MMModemBand">MMModemBand</a> values,
+ specifying the radio frequency and technology bands supported by the
+ device.
+</p>
+<p> For POTS devices, only the
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-ANY:CAPS"><code class="constant">MM_MODEM_BAND_ANY</code></a>
+ mode will be returned.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands"></a><h3>The "CurrentBands" property</h3>
+<pre class="programlisting">
+CurrentBands readable au
+</pre>
+<p> List of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMModemBand" title="enum MMModemBand">MMModemBand</a> values,
+ specifying the radio frequency and technology bands the device is
+ currently using when connecting to a network.
+</p>
+<p> It must be a subset of <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands" title='The "SupportedBands" property'>"SupportedBands"</a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedIpFamilies"></a><h3>The "SupportedIpFamilies" property</h3>
+<pre class="programlisting">
+SupportedIpFamilies readable u
+</pre>
+<p> Bitmask of <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily" title="enum MMBearerIpFamily">MMBearerIpFamily</a> values,
+ specifying the IP families supported by the device.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sim.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sim.html
new file mode 100644
index 00000000..f9954b42
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sim.html
@@ -0,0 +1,205 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Sim: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-sim.html" title="The /org/freedesktop/ModemManager/SIMs objects">
+<link rel="prev" href="ref-dbus-object-sim.html" title="The /org/freedesktop/ModemManager/SIMs objects">
+<link rel="next" href="ref-dbus-object-sms.html" title="The /org/freedesktop/ModemManager/SMSs objects">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Sim.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Sim.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-sim.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-object-sim.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-object-sms.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Sim"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Sim.top_of_page"></a>org.freedesktop.ModemManager1.Sim</span></h2>
+<p>org.freedesktop.ModemManager1.Sim — The ModemManager SIM interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin" title="The SendPin() method">SendPin</a> (IN s pin);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk" title="The SendPuk() method">SendPuk</a> (IN s puk,
+ IN s pin);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin" title="The EnablePin() method">EnablePin</a> (IN s pin,
+ IN b enabled);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin" title="The ChangePin() method">ChangePin</a> (IN s old_pin,
+ IN s new_pin);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.7.3.4"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier" title='The "SimIdentifier" property'>SimIdentifier</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi" title='The "Imsi" property'>Imsi</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier" title='The "OperatorIdentifier" property'>OperatorIdentifier</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName" title='The "OperatorName" property'>OperatorName</a> readable s
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Sim"></a><h2>Description</h2>
+<p> The SIM interface handles communication with SIM, USIM, and RUIM (CDMA
+ SIM) cards.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Sim"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin"></a><h3>The SendPin() method</h3>
+<pre class="programlisting">
+SendPin (IN s pin);
+</pre>
+<p> Send the PIN to unlock the SIM card.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>pin</code></em></code>:</span></p></td>
+<td><p>A string containing the PIN code.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk"></a><h3>The SendPuk() method</h3>
+<pre class="programlisting">
+SendPuk (IN s puk,
+ IN s pin);
+</pre>
+<p> Send the PUK and a new PIN to unlock the SIM card.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>puk</code></em></code>:</span></p></td>
+<td><p>A string containing the PUK code.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>pin</code></em></code>:</span></p></td>
+<td><p>A string containing the PIN code.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin"></a><h3>The EnablePin() method</h3>
+<pre class="programlisting">
+EnablePin (IN s pin,
+ IN b enabled);
+</pre>
+<p> Enable or disable the PIN checking.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>pin</code></em></code>:</span></p></td>
+<td><p>A string containing the PIN code.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">IN b <em class="parameter"><code>enabled</code></em></code>:</span></p></td>
+<td><p><code class="constant">TRUE</code> to enable PIN checking, <code class="constant">FALSE</code> otherwise.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin"></a><h3>The ChangePin() method</h3>
+<pre class="programlisting">
+ChangePin (IN s old_pin,
+ IN s new_pin);
+</pre>
+<p> Change the PIN code.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>old_pin</code></em></code>:</span></p></td>
+<td><p>A string containing the current PIN code.</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>new_pin</code></em></code>:</span></p></td>
+<td><p>A string containing the new PIN code.</p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Sim"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier"></a><h3>The "SimIdentifier" property</h3>
+<pre class="programlisting">
+SimIdentifier readable s
+</pre>
+<p> The ICCID of the SIM card.
+</p>
+<p> This may be available before the PIN has been entered depending
+ on the device itself.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi"></a><h3>The "Imsi" property</h3>
+<pre class="programlisting">
+Imsi readable s
+</pre>
+<p> The IMSI of the SIM card, if any.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier"></a><h3>The "OperatorIdentifier" property</h3>
+<pre class="programlisting">
+OperatorIdentifier readable s
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName"></a><h3>The "OperatorName" property</h3>
+<pre class="programlisting">
+OperatorName readable s
+</pre>
+<p> The name of the network operator, as given by the SIM card, if known.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sms.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sms.html
new file mode 100644
index 00000000..97a6cb86
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.Sms.html
@@ -0,0 +1,315 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1.Sms: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-sms.html" title="The /org/freedesktop/ModemManager/SMSs objects">
+<link rel="prev" href="ref-dbus-object-sms.html" title="The /org/freedesktop/ModemManager/SMSs objects">
+<link rel="next" href="ref-dbus-object-call.html" title="The /org/freedesktop/ModemManager/Calls objects">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Sms.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.Sms.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-sms.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-object-sms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-object-call.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1.Sms"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1-Sms.top_of_page"></a>org.freedesktop.ModemManager1.Sms</span></h2>
+<p>org.freedesktop.ModemManager1.Sms — The ModemManager SMS interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Send" title="The Send() method">Send</a> ();
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Store" title="The Store() method">Store</a> (IN u storage);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.8.3.4"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.State" title='The "State" property'>State</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.PduType" title='The "PduType" property'>PduType</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Number" title='The "Number" property'>Number</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Text" title='The "Text" property'>Text</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Data" title='The "Data" property'>Data</a> readable ay
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC" title='The "SMSC" property'>SMSC</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Validity" title='The "Validity" property'>Validity</a> readable (uv)
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Class" title='The "Class" property'>Class</a> readable i
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.TeleserviceId" title='The "TeleserviceId" property'>TeleserviceId</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.ServiceCategory" title='The "ServiceCategory" property'>ServiceCategory</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryReportRequest" title='The "DeliveryReportRequest" property'>DeliveryReportRequest</a> readable b
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.MessageReference" title='The "MessageReference" property'>MessageReference</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp" title='The "Timestamp" property'>Timestamp</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp" title='The "DischargeTimestamp" property'>DischargeTimestamp</a> readable s
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryState" title='The "DeliveryState" property'>DeliveryState</a> readable u
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Storage" title='The "Storage" property'>Storage</a> readable u
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1-Sms"></a><h2>Description</h2>
+<p> The SMS interface Defines operations and properties of a single SMS message.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1.Sms"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Sms.Send"></a><h3>The Send() method</h3>
+<pre class="programlisting">
+Send ();
+</pre>
+<p> If the message has not yet been sent, queue it for delivery.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1-Sms.Store"></a><h3>The Store() method</h3>
+<pre class="programlisting">
+Store (IN u storage);
+</pre>
+<p> Store the message in the device if not already done.
+</p>
+<p> This method requires a <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsStorage" title="enum MMSmsStorage">MMSmsStorage</a>
+ value, describing the storage where this message is to be kept; or
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-UNKNOWN:CAPS"><code class="constant">MM_SMS_STORAGE_UNKNOWN</code></a>
+ if the default storage should be used.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN u <em class="parameter"><code>storage</code></em></code>:</span></p></td>
+<td><p></p></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1.Sms"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.State"></a><h3>The "State" property</h3>
+<pre class="programlisting">
+State readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsState" title="enum MMSmsState">MMSmsState</a> value,
+ describing the state of the message.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.PduType"></a><h3>The "PduType" property</h3>
+<pre class="programlisting">
+PduType readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsPduType" title="enum MMSmsPduType">MMSmsPduType</a> value,
+ describing the type of PDUs used in the SMS message.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.Number"></a><h3>The "Number" property</h3>
+<pre class="programlisting">
+Number readable s
+</pre>
+<p> Number to which the message is addressed.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.Text"></a><h3>The "Text" property</h3>
+<pre class="programlisting">
+Text readable s
+</pre>
+<p> Message text, in UTF-8.
+</p>
+<p> When sending, if the text is larger than the limit of the technology or
+ modem, the message will be broken into multiple parts or messages.
+</p>
+<p> Note that Text and Data are never given at the same time.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.Data"></a><h3>The "Data" property</h3>
+<pre class="programlisting">
+Data readable ay
+</pre>
+<p> Message data.
+</p>
+<p> When sending, if the data is larger than the limit of the technology or
+ modem, the message will be broken into multiple parts or messages.
+</p>
+<p> Note that Text and Data are never given at the same time.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC"></a><h3>The "SMSC" property</h3>
+<pre class="programlisting">
+SMSC readable s
+</pre>
+<p> Indicates the SMS service center number.
+</p>
+<p> Always empty for 3GPP2/CDMA.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.Validity"></a><h3>The "Validity" property</h3>
+<pre class="programlisting">
+Validity readable (uv)
+</pre>
+<p> Indicates when the SMS expires in the SMSC.
+</p>
+<p> This value is composed of a
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsValidityType" title="enum MMSmsValidityType">MMSmsValidityType</a>
+ key, with an associated data which contains type-specific validity
+ information:
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-SMS-VALIDITY-TYPE-RELATIVE:CAPS">MM_SMS_VALIDITY_TYPE_RELATIVE</a></span></p></td>
+<td><p>
+ The value is the length of the validity period in minutes, given
+ as an unsigned integer (D-Bus signature <code class="literal">'u'</code>).
+ </p></td>
+</tr></tbody>
+</table></div>
+<p>
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.Class"></a><h3>The "Class" property</h3>
+<pre class="programlisting">
+Class readable i
+</pre>
+<p> 3GPP message class (-1..3). -1 means class is not available or
+ is not used for this message, otherwise the 3GPP SMS message class.
+</p>
+<p> Always -1 for 3GPP2/CDMA.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.TeleserviceId"></a><h3>The "TeleserviceId" property</h3>
+<pre class="programlisting">
+TeleserviceId readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId" title="enum MMSmsCdmaTeleserviceId">MMSmsCdmaTeleserviceId</a> value.
+</p>
+<p> Always <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-TELESERVICE-ID-UNKNOWN:CAPS">MM_SMS_CDMA_TELESERVICE_ID_UNKNOWN</a> for 3GPP.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.ServiceCategory"></a><h3>The "ServiceCategory" property</h3>
+<pre class="programlisting">
+ServiceCategory readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory" title="enum MMSmsCdmaServiceCategory">MMSmsCdmaServiceCategory</a> value.
+</p>
+<p> Always <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-SMS-CDMA-SERVICE-CATEGORY-UNKNOWN:CAPS">MM_SMS_CDMA_SERVICE_CATEGORY_UNKNOWN</a> for 3GPP.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryReportRequest"></a><h3>The "DeliveryReportRequest" property</h3>
+<pre class="programlisting">
+DeliveryReportRequest readable b
+</pre>
+<p> #TRUE if delivery report request is required, #FALSE otherwise.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.MessageReference"></a><h3>The "MessageReference" property</h3>
+<pre class="programlisting">
+MessageReference readable u
+</pre>
+<p> Message Reference of the last PDU sent/received within this SMS.
+</p>
+<p> If the PDU type is
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="constant">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>,
+ this field identifies the Message Reference of the PDU associated to the status report.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp"></a><h3>The "Timestamp" property</h3>
+<pre class="programlisting">
+Timestamp readable s
+</pre>
+<p> Time when the first PDU of the SMS message arrived the SMSC, in
+ <a class="ulink" href="http://en.wikipedia.org/wiki/ISO_8601" target="_top">ISO8601</a>
+ format.
+ This field is only applicable if the PDU type is
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-DELIVER:CAPS"><code class="constant">MM_SMS_PDU_TYPE_DELIVER</code></a>.
+ or
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="constant">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp"></a><h3>The "DischargeTimestamp" property</h3>
+<pre class="programlisting">
+DischargeTimestamp readable s
+</pre>
+<p> Time when the first PDU of the SMS message left the SMSC, in
+ <a class="ulink" href="http://en.wikipedia.org/wiki/ISO_8601" target="_top">ISO8601</a>
+ format.
+</p>
+<p> This field is only applicable if the PDU type is
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="constant">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryState"></a><h3>The "DeliveryState" property</h3>
+<pre class="programlisting">
+DeliveryState readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsDeliveryState" title="enum MMSmsDeliveryState">MMSmsDeliveryState</a> value,
+ describing the state of the delivery reported in the Status Report message.
+</p>
+<p> This field is only applicable if the PDU type is
+ <a class="link" href="ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="constant">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1-Sms.Storage"></a><h3>The "Storage" property</h3>
+<pre class="programlisting">
+Storage readable u
+</pre>
+<p> A <a class="link" href="ModemManager-Flags-and-Enumerations.html#MMSmsStorage" title="enum MMSmsStorage">MMSmsStorage</a> value,
+ describing the storage where this message is kept.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.html b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.html
new file mode 100644
index 00000000..37be2882
--- /dev/null
+++ b/docs/reference/api/html/gdbus-org.freedesktop.ModemManager1.html
@@ -0,0 +1,231 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.ModemManager1: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-object-manager.html" title="The /org/freedesktop/ModemManager1 object">
+<link rel="prev" href="ref-dbus-object-manager.html" title="The /org/freedesktop/ModemManager1 object">
+<link rel="next" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#gdbus-org.freedesktop.ModemManager1.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-object-manager.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-object-manager.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-object-modem.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gdbus-org.freedesktop.ModemManager1"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gdbus-interface-org-freedesktop-ModemManager1.top_of_page"></a>org.freedesktop.ModemManager1</span></h2>
+<p>org.freedesktop.ModemManager1 — The ModemManager Manager interface.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<h2>Methods</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ScanDevices" title="The ScanDevices() method">ScanDevices</a> ();
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.SetLogging" title="The SetLogging() method">SetLogging</a> (IN s level);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent" title="The ReportKernelEvent() method">ReportKernelEvent</a> (IN a{sv} properties);
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.InhibitDevice" title="The InhibitDevice() method">InhibitDevice</a> (IN s uid,
+ IN b inhibit);
+</pre>
+</div>
+<div class="refsect1">
+<a name="id-1.5.4.5.4"></a><h2>Properties</h2>
+<pre class="synopsis">
+<a class="link" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-property-org-freedesktop-ModemManager1.Version" title='The "Version" property'>Version</a> readable s
+</pre>
+</div>
+<div class="refsect1">
+<a name="gdbus-interface-org-freedesktop-ModemManager1"></a><h2>Description</h2>
+<p> The Manager interface allows controlling and querying the status of the
+ ModemManager daemon.
+</p>
+</div>
+<div class="refsect1">
+<a name="gdbus-methods-org.freedesktop.ModemManager1"></a><h2>Method Details</h2>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1.ScanDevices"></a><h3>The ScanDevices() method</h3>
+<pre class="programlisting">
+ScanDevices ();
+</pre>
+<p> Start a new scan for connected modem devices.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1.SetLogging"></a><h3>The SetLogging() method</h3>
+<pre class="programlisting">
+SetLogging (IN s level);
+</pre>
+<p> Set logging verbosity.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>level</code></em></code>:</span></p></td>
+<td><p>One of <code class="literal">"ERR"</code>, <code class="literal">"WARN"</code>, <code class="literal">"INFO"</code>, <code class="literal">"DEBUG"</code>.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent"></a><h3>The ReportKernelEvent() method</h3>
+<pre class="programlisting">
+ReportKernelEvent (IN a{sv} properties);
+</pre>
+<p> Reports a kernel event to ModemManager.
+</p>
+<p> This method is only available if udev is not being used to report kernel
+ events.
+</p>
+<p> The <em class="parameter"><code>properties</code></em> dictionary is composed of key/value string pairs. The
+ possible keys are:
+</p>
+<p> </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">action</code></span></p></td>
+<td>
+<p>
+ The type of action, given as a string value (signature
+ <code class="literal">"s"</code>).
+ This parameter is MANDATORY.
+ </p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">add</code></span></p></td>
+<td>
+ A new kernel device has been added.
+ </td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">remove</code></span></p></td>
+<td>
+ An existing kernel device has been removed.
+ </td>
+</tr>
+</tbody>
+</table></div>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">name</code></span></p></td>
+<td><p>
+ The device name, given as a string value (signature
+ <code class="literal">"s"</code>).
+ This parameter is MANDATORY.
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">subsystem</code></span></p></td>
+<td><p>
+ The device subsystem, given as a string value (signature
+ <code class="literal">"s"</code>).
+ This parameter is MANDATORY.
+ </p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">uid</code></span></p></td>
+<td><p>
+ The unique ID of the physical device, given as a string value
+ (signature <code class="literal">"s"</code>).
+ This parameter is OPTIONAL, if not given the sysfs path of the
+ physical device will be used. This parameter must be the same
+ for all devices exposed by the same physical device.
+ </p></td>
+</tr>
+</tbody>
+</table></div>
+<p>
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><code class="literal">IN a{sv} <em class="parameter"><code>properties</code></em></code>:</span></p></td>
+<td><p>event properties.</p></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gdbus-method-org-freedesktop-ModemManager1.InhibitDevice"></a><h3>The InhibitDevice() method</h3>
+<pre class="programlisting">
+InhibitDevice (IN s uid,
+ IN b inhibit);
+</pre>
+<p> <a class="link" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-interface-org-freedesktop-ModemManager1.top_of_page">org.freedesktop.ModemManager1</a>.Modem:Device property.
+ <em class="parameter"><code>inhibit</code></em>: <code class="constant">TRUE</code> to inhibit the modem and <code class="constant">FALSE</code> to uninhibit it.
+</p>
+<p> Inhibit or uninhibit the device.
+</p>
+<p> When the modem is inhibited ModemManager will close all its ports and
+ unexport it from the bus, so that users of the interface are no longer
+ able to operate with it.
+</p>
+<p> This operation binds the inhibition request to the existence of the
+ caller in the DBus bus. If the caller disappears from the bus, the
+ inhibition will automatically removed.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><code class="literal">IN s <em class="parameter"><code>uid</code></em></code>:</span></p></td>
+<td><p>the unique ID of the physical device, given in the</p></td>
+</tr>
+<tr>
+<td><p><span class="term"><code class="literal">IN b <em class="parameter"><code>inhibit</code></em></code>:</span></p></td>
+<td><p></p></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gdbus-properties-org.freedesktop.ModemManager1"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="gdbus-property-org-freedesktop-ModemManager1.Version"></a><h3>The "Version" property</h3>
+<pre class="programlisting">
+Version readable s
+</pre>
+<p> The runtime version of the ModemManager daemon.
+</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/home.png b/docs/reference/api/html/home.png
new file mode 100644
index 00000000..9346b336
--- /dev/null
+++ b/docs/reference/api/html/home.png
Binary files differ
diff --git a/docs/reference/api/html/index.html b/docs/reference/api/html/index.html
new file mode 100644
index 00000000..0547b4cd
--- /dev/null
+++ b/docs/reference/api/html/index.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ModemManager Reference Manual: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="next" href="ref-overview.html" title="Part I. ModemManager Overview">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="book">
+<div class="titlepage">
+<div>
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">ModemManager Reference Manual</p></th></tr></table></div>
+<div><h2 class="subtitle">
+ <span class="inlinemediaobject"><img src="ModemManager-logo-wide.png" align="middle"></span>
+ </h2></div>
+<div><div class="authorgroup">
+<div class="author">
+<h3 class="author">
+<span class="firstname">Dan</span> <span class="surname">Williams</span>
+</h3>
+<div class="affiliation"><div class="address"><p><br>
+         <code class="email">&lt;<a class="email" href="mailto:dcbw@redhat.com">dcbw@redhat.com</a>&gt;</code><br>
+       </p></div></div>
+</div>
+<div class="author">
+<h3 class="author">
+<span class="firstname">Aleksander</span> <span class="surname">Morgado</span>
+</h3>
+<div class="affiliation"><div class="address"><p><br>
+         <code class="email">&lt;<a class="email" href="mailto:aleksander@aleksander.es">aleksander@aleksander.es</a>&gt;</code><br>
+       </p></div></div>
+</div>
+</div></div>
+<div><p class="releaseinfo">
+ For ModemManager version 1.10.0
+
+ </p></div>
+<div><p class="copyright">Copyright © 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 The ModemManager Authors</p></div>
+<div><div class="legalnotice">
+<a name="id-1.1.6"></a><p>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the <em class="citetitle">GNU Free
+ Documentation License</em>, Version 1.3 or any later
+ version published by the Free Software Foundation with no
+ Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. You may obtain a copy of the <em class="citetitle">GNU Free
+ Documentation License</em> from the Free Software
+ Foundation by visiting <a class="ulink" href="http://www.fsf.org" target="_top">their Web site</a> or by writing
+ to:
+ </p>
+<div class="address"><p><br>
+          The Free Software Foundation, Inc.<br>
+          <span class="street">51 Franklin Street</span>, Suite 500<br>
+          <span class="city">Boston</span>, <span class="state">MA</span> <span class="postcode">02110-1335</span><br>
+          <span class="country">USA</span><br>
+        </p></div>
+<p>
+ </p>
+</div></div>
+</div>
+<hr>
+</div>
+<div class="toc"><dl class="toc">
+<dt><span class="part"><a href="ref-overview.html">I. ModemManager Overview</a></span></dt>
+<dd><dl>
+<dt><span class="chapter"><a href="ref-overview-introduction.html">Introduction</a></span></dt>
+<dt><span class="chapter"><a href="ref-overview-modem-detection.html">Modem detection</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-overview-modem-detection.html#id-1.2.3.2">Builds with udev support</a></span></dt>
+<dt><span class="section"><a href="ch02s02.html">Builds without udev support</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-overview-modem-filter.html">Modem filter</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-overview-modem-filter.html#id-1.2.4.4">Filter rules</a></span></dt>
+<dt><span class="section"><a href="ch03s02.html">Filter policies</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-overview-modem-port-probing.html">Port probing</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-overview-modem-port-probing.html#id-1.2.5.4">Pre-probing filters</a></span></dt>
+<dt><span class="section"><a href="ch04s02.html">Probing sequence</a></span></dt>
+<dt><span class="section"><a href="ch04s03.html">Post-probing filters</a></span></dt>
+<dt><span class="section"><a href="ch04s04.html">Probing setup examples</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-overview-modem-object-creation.html">Modem object creation</a></span></dt>
+<dt><span class="chapter"><a href="ref-overview-modem-state-machine.html">Modem state machine</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-overview-modem-state-machine.html#id-1.2.7.5">Initialization</a></span></dt>
+<dt><span class="section"><a href="ch06s02.html">Enabling</a></span></dt>
+<dt><span class="section"><a href="ch06s03.html">Connection &amp; disconnection</a></span></dt>
+<dt><span class="section"><a href="ch06s04.html">Disabling</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-overview-plugin-specific-modems.html">Plugin-specific Modems</a></span></dt>
+</dl></dd>
+<dt><span class="part"><a href="ref-common-types.html">II. Common types and definitions</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="ModemManager-Version-checks.html">Version checks</a></span><span class="refpurpose"> — Version information in the API.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="ModemManager-Flags-and-Enumerations.html">Flags and Enumerations</a></span><span class="refpurpose"> — Common enumerations and types in the API.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="ModemManager-Errors.html">Errors</a></span><span class="refpurpose"> — Common errors in the API.</span>
+</dt>
+</dl></dd>
+<dt><span class="part"><a href="ref-udev.html">III. Common udev tag definitions</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="ModemManager-Common-udev-tags.html">Common udev tags</a></span><span class="refpurpose"> — generic udev tags supported</span>
+</dt></dl></dd>
+<dt><span class="part"><a href="ref-dbus.html">IV. D-Bus Reference</a></span></dt>
+<dd><dl>
+<dt><span class="chapter"><a href="ref-dbus-bus-name.html">The <code class="literal">org.freedesktop.ModemManager1</code> bus name</a></span></dt>
+<dt><span class="chapter"><a href="ref-dbus-standard-interfaces.html">Standard interfaces</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-dbus-standard-interfaces.html#ref-dbus-standard-interfaces-properties">org.freedesktop.DBus.Properties</a></span></dt>
+<dt><span class="section"><a href="ref-dbus-standard-interfaces-introspectables.html">org.freedesktop.DBus.Introspectable</a></span></dt>
+<dt><span class="section"><a href="ref-dbus-standard-interfaces-objectmanager.html">org.freedesktop.DBus.ObjectManager</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-manager.html">The <code class="literal">/org/freedesktop/ModemManager1</code> object</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.html">org.freedesktop.ModemManager1</a></span><span class="refpurpose"> — The ModemManager Manager interface.</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-modem.html">The <code class="literal">/org/freedesktop/ModemManager/Modems</code> objects</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.html">org.freedesktop.ModemManager1.Modem</a></span><span class="refpurpose"> — The ModemManager Modem interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html">org.freedesktop.ModemManager1.Modem.Simple</a></span><span class="refpurpose"> — The ModemManager Simple interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html">org.freedesktop.ModemManager1.Modem.Modem3gpp</a></span><span class="refpurpose"> — The ModemManager 3GPP interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd</a></span><span class="refpurpose"> — The ModemManager 3GPP USSD interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html">org.freedesktop.ModemManager1.Modem.ModemCdma</a></span><span class="refpurpose"> — The ModemManager CDMA interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html">org.freedesktop.ModemManager1.Modem.Messaging</a></span><span class="refpurpose"> — The ModemManager Messaging interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html">org.freedesktop.ModemManager1.Modem.Location</a></span><span class="refpurpose"> — The ModemManager Location interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html">org.freedesktop.ModemManager1.Modem.Time</a></span><span class="refpurpose"> — The ModemManager Time interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html">org.freedesktop.ModemManager1.Modem.Voice</a></span><span class="refpurpose"> — The ModemManager Voice interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html">org.freedesktop.ModemManager1.Modem.Firmware</a></span><span class="refpurpose"> — The ModemManager Firmware interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html">org.freedesktop.ModemManager1.Modem.Signal</a></span><span class="refpurpose"> — The ModemManager Signal interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html">org.freedesktop.ModemManager1.Modem.Oma</a></span><span class="refpurpose"> — The ModemManager Open Mobile Alliance interface.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-bearer.html">The <code class="literal">/org/freedesktop/ModemManager/Bearers</code> objects</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Bearer.html">org.freedesktop.ModemManager1.Bearer</a></span><span class="refpurpose"> — The ModemManager Bearer interface.</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-sim.html">The <code class="literal">/org/freedesktop/ModemManager/SIMs</code> objects</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Sim.html">org.freedesktop.ModemManager1.Sim</a></span><span class="refpurpose"> — The ModemManager SIM interface.</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-sms.html">The <code class="literal">/org/freedesktop/ModemManager/SMSs</code> objects</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Sms.html">org.freedesktop.ModemManager1.Sms</a></span><span class="refpurpose"> — The ModemManager SMS interface.</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-call.html">The <code class="literal">/org/freedesktop/ModemManager/Calls</code> objects</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Call.html">org.freedesktop.ModemManager1.Call</a></span><span class="refpurpose"> — The ModemManager Call interface.</span>
+</dt></dl></dd>
+</dl></dd>
+<dt><span class="part"><a href="ref-migrating.html">V. Migrating from ModemManager 0.6 to ModemManager 1.0</a></span></dt>
+<dd><dl>
+<dt><span class="chapter"><a href="ch16.html"></a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ch16.html#id-1.6.3.1">Listing available modems</a></span></dt>
+<dt><span class="section"><a href="ch16s02.html">PIN unlocking</a></span></dt>
+<dt><span class="section"><a href="ch16s03.html">Connection and disconnection</a></span></dt>
+<dt><span class="section"><a href="ch16s04.html">Simple connection</a></span></dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="part"><a href="ref-compat.html">VI. Compatibility with older versions</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="ModemManager-API-break-replacements.html">API break replacements</a></span><span class="refpurpose"></span>
+</dt></dl></dd>
+<dt><span class="index"><a href="ix01.html">Index</a></span></dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ix01.html b/docs/reference/api/html/ix01.html
new file mode 100644
index 00000000..69127227
--- /dev/null
+++ b/docs/reference/api/html/ix01.html
@@ -0,0 +1,715 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="index.html" title="ModemManager Reference Manual">
+<link rel="prev" href="ModemManager-API-break-replacements.html" title="API break replacements">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="ModemManager-API-break-replacements.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="id-1.8"></a>Index</h1></div></div></div>
+<div xmlns:xlink="http://www.w3.org/1999/xlink" class="index">
+<div class="indexdiv">
+<h3>B</h3>
+<dl>
+<dt id="ientry-idm45055140514832">org.freedesktop.ModemManager1.Bearer, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-interface-org-freedesktop-ModemManager1-Bearer.top_of_page">org.freedesktop.ModemManager1.Bearer</a>
+</dt>
+<dt id="ientry-idm45055142217520">org.freedesktop.ModemManager1.Bearer.Connect(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect">The Connect() method</a>
+</dt>
+<dt id="ientry-idm45055140802800">org.freedesktop.ModemManager1.Bearer.Disconnect(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect">The Disconnect() method</a>
+</dt>
+<dt id="ientry-idm45055143033040">org.freedesktop.ModemManager1.Bearer:BearerType, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.BearerType">The "BearerType" property</a>
+</dt>
+<dt id="ientry-idm45055141476288">org.freedesktop.ModemManager1.Bearer:Connected, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Connected">The "Connected" property</a>
+</dt>
+<dt id="ientry-idm45055141248464">org.freedesktop.ModemManager1.Bearer:Interface, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface">The "Interface" property</a>
+</dt>
+<dt id="ientry-idm45055152010048">org.freedesktop.ModemManager1.Bearer:Ip4Config, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config">The "Ip4Config" property</a>
+</dt>
+<dt id="ientry-idm45055143893968">org.freedesktop.ModemManager1.Bearer:Ip6Config, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config">The "Ip6Config" property</a>
+</dt>
+<dt id="ientry-idm45055141737984">org.freedesktop.ModemManager1.Bearer:IpTimeout, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.IpTimeout">The "IpTimeout" property</a>
+</dt>
+<dt id="ientry-idm45055152110432">org.freedesktop.ModemManager1.Bearer:Properties, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties">The "Properties" property</a>
+</dt>
+<dt id="ientry-idm45055143598000">org.freedesktop.ModemManager1.Bearer:Stats, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats">The "Stats" property</a>
+</dt>
+<dt id="ientry-idm45055141793024">org.freedesktop.ModemManager1.Bearer:Suspended, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Suspended">The "Suspended" property</a>
+</dt>
+<dt id="ientry-idm45055148528480">MMBearerAllowedAuth, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth">enum MMBearerAllowedAuth</a>
+</dt>
+<dt id="ientry-idm45055148576512">MMBearerIpFamily, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily">enum MMBearerIpFamily</a>
+</dt>
+<dt id="ientry-idm45055148550880">MMBearerIpMethod, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod">enum MMBearerIpMethod</a>
+</dt>
+<dt id="ientry-idm45055148599120">MMBearerType, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMBearerType">enum MMBearerType</a>
+</dt>
+</dl>
+</div>
+<div class="indexdiv">
+<h3>C</h3>
+<dl>
+<dt id="ientry-idm45055144034000">org.freedesktop.ModemManager1.Call, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-interface-org-freedesktop-ModemManager1-Call.top_of_page">org.freedesktop.ModemManager1.Call</a>
+</dt>
+<dt id="ientry-idm45055142588528">org.freedesktop.ModemManager1.Call.Accept(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Accept">The Accept() method</a>
+</dt>
+<dt id="ientry-idm45055143631024">org.freedesktop.ModemManager1.Call.Hangup(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Hangup">The Hangup() method</a>
+</dt>
+<dt id="ientry-idm45055141412448">org.freedesktop.ModemManager1.Call.SendDtmf(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.SendDtmf">The SendDtmf() method</a>
+</dt>
+<dt id="ientry-idm45055144360576">org.freedesktop.ModemManager1.Call.Start(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Start">The Start() method</a>
+</dt>
+<dt id="ientry-idm45055141609056">org.freedesktop.ModemManager1.Call::DtmfReceived, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-signal-org-freedesktop-ModemManager1-Call.DtmfReceived">The "DtmfReceived" signal</a>
+</dt>
+<dt id="ientry-idm45055140460032">org.freedesktop.ModemManager1.Call::StateChanged, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-signal-org-freedesktop-ModemManager1-Call.StateChanged">The "StateChanged" signal</a>
+</dt>
+<dt id="ientry-idm45055148319984">org.freedesktop.ModemManager1.Call:AudioFormat, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioFormat">The "AudioFormat" property</a>
+</dt>
+<dt id="ientry-idm45055142777936">org.freedesktop.ModemManager1.Call:AudioPort, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioPort">The "AudioPort" property</a>
+</dt>
+<dt id="ientry-idm45055142159584">org.freedesktop.ModemManager1.Call:Direction, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Direction">The "Direction" property</a>
+</dt>
+<dt id="ientry-idm45055142815248">org.freedesktop.ModemManager1.Call:Number, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Number">The "Number" property</a>
+</dt>
+<dt id="ientry-idm45055148243872">org.freedesktop.ModemManager1.Call:State, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.State">The "State" property</a>
+</dt>
+<dt id="ientry-idm45055143696512">org.freedesktop.ModemManager1.Call:StateReason, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.StateReason">The "StateReason" property</a>
+</dt>
+<dt id="ientry-idm45055148496192">MMCallDirection, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMCallDirection">enum MMCallDirection</a>
+</dt>
+<dt id="ientry-idm45055148477664">MMCallState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMCallState">enum MMCallState</a>
+</dt>
+<dt id="ientry-idm45055148442144">MMCallStateReason, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMCallStateReason">enum MMCallStateReason</a>
+</dt>
+<dt id="ientry-idm45055150725024">MMCdmaActivationError, <a class="indexterm" href="ModemManager-Errors.html#MMCdmaActivationError">enum MMCdmaActivationError</a>
+</dt>
+<dt id="ientry-idm45055153254048">MM_CHECK_VERSION, <a class="indexterm" href="ModemManager-Version-checks.html#MM-CHECK-VERSION:CAPS">MM_CHECK_VERSION()</a>
+</dt>
+<dt id="ientry-idm45055149835120">MMConnectionError, <a class="indexterm" href="ModemManager-Errors.html#MMConnectionError">enum MMConnectionError</a>
+</dt>
+<dt id="ientry-idm45055151357376">MMCoreError, <a class="indexterm" href="ModemManager-Errors.html#MMCoreError">enum MMCoreError</a>
+</dt>
+</dl>
+</div>
+<div class="indexdiv">
+<h3>F</h3>
+<dl><dt id="ientry-idm45055148407088">MMFirmwareImageType, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMFirmwareImageType">enum MMFirmwareImageType</a>
+</dt></dl>
+</div>
+<div class="indexdiv">
+<h3>I</h3>
+<dl>
+<dt id="ientry-idm45055148846240">ID_MM_CANDIDATE, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-CANDIDATE:CAPS">ID_MM_CANDIDATE</a>
+</dt>
+<dt id="ientry-idm45055149433136">ID_MM_DEVICE_IGNORE, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-DEVICE-IGNORE:CAPS">ID_MM_DEVICE_IGNORE</a>
+</dt>
+<dt id="ientry-idm45055153064640">ID_MM_DEVICE_MANUAL_SCAN_ONLY, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-DEVICE-MANUAL-SCAN-ONLY:CAPS">ID_MM_DEVICE_MANUAL_SCAN_ONLY</a>
+</dt>
+<dt id="ientry-idm45055149437856">ID_MM_DEVICE_PROCESS, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-DEVICE-PROCESS:CAPS">ID_MM_DEVICE_PROCESS</a>
+</dt>
+<dt id="ientry-idm45055149950512">ID_MM_PHYSDEV_UID, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-PHYSDEV-UID:CAPS">ID_MM_PHYSDEV_UID</a>
+</dt>
+<dt id="ientry-idm45055153059312">ID_MM_PLATFORM_DRIVER_PROBE, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-PLATFORM-DRIVER-PROBE:CAPS">ID_MM_PLATFORM_DRIVER_PROBE</a>
+</dt>
+<dt id="ientry-idm45055149944592">ID_MM_PORT_IGNORE, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-IGNORE:CAPS">ID_MM_PORT_IGNORE</a>
+</dt>
+<dt id="ientry-idm45055150900752">ID_MM_PORT_TYPE_AT_PPP, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-AT-PPP:CAPS">ID_MM_PORT_TYPE_AT_PPP</a>
+</dt>
+<dt id="ientry-idm45055150896224">ID_MM_PORT_TYPE_AT_PRIMARY, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-AT-PRIMARY:CAPS">ID_MM_PORT_TYPE_AT_PRIMARY</a>
+</dt>
+<dt id="ientry-idm45055150891632">ID_MM_PORT_TYPE_AT_SECONDARY, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-AT-SECONDARY:CAPS">ID_MM_PORT_TYPE_AT_SECONDARY</a>
+</dt>
+<dt id="ientry-idm45055148673152">ID_MM_PORT_TYPE_GPS, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-GPS:CAPS">ID_MM_PORT_TYPE_GPS</a>
+</dt>
+<dt id="ientry-idm45055148668576">ID_MM_PORT_TYPE_QCDM, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-PORT-TYPE-QCDM:CAPS">ID_MM_PORT_TYPE_QCDM</a>
+</dt>
+<dt id="ientry-idm45055153203904">ID_MM_TTY_BAUDRATE, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-TTY-BAUDRATE:CAPS">ID_MM_TTY_BAUDRATE</a>
+</dt>
+<dt id="ientry-idm45055153199440">ID_MM_TTY_FLOW_CONTROL, <a class="indexterm" href="ModemManager-Common-udev-tags.html#ID-MM-TTY-FLOW-CONTROL:CAPS">ID_MM_TTY_FLOW_CONTROL</a>
+</dt>
+</dl>
+</div>
+<div class="indexdiv">
+<h3>M</h3>
+<dl>
+<dt id="ientry-idm45055148649904">MM_MAJOR_VERSION, <a class="indexterm" href="ModemManager-Version-checks.html#MM-MAJOR-VERSION:CAPS">MM_MAJOR_VERSION</a>
+</dt>
+<dt id="ientry-idm45055150874176">MMMessageError, <a class="indexterm" href="ModemManager-Errors.html#MMMessageError">enum MMMessageError</a>
+</dt>
+<dt id="ientry-idm45055150920784">MM_MICRO_VERSION, <a class="indexterm" href="ModemManager-Version-checks.html#MM-MICRO-VERSION:CAPS">MM_MICRO_VERSION</a>
+</dt>
+<dt id="ientry-idm45055150925184">MM_MINOR_VERSION, <a class="indexterm" href="ModemManager-Version-checks.html#MM-MINOR-VERSION:CAPS">MM_MINOR_VERSION</a>
+</dt>
+<dt id="ientry-idm45055151273696">MMMobileEquipmentError, <a class="indexterm" href="ModemManager-Errors.html#MMMobileEquipmentError">enum MMMobileEquipmentError</a>
+</dt>
+<dt id="ientry-idm45055151025504">org.freedesktop.ModemManager1.Modem, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-interface-org-freedesktop-ModemManager1-Modem.top_of_page">org.freedesktop.ModemManager1.Modem</a>
+</dt>
+<dt id="ientry-idm45055141985680">org.freedesktop.ModemManager1.Modem.Command(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Command">The Command() method</a>
+</dt>
+<dt id="ientry-idm45055141145008">org.freedesktop.ModemManager1.Modem.CreateBearer(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer">The CreateBearer() method</a>
+</dt>
+<dt id="ientry-idm45055149121040">org.freedesktop.ModemManager1.Modem.DeleteBearer(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer">The DeleteBearer() method</a>
+</dt>
+<dt id="ientry-idm45055147452768">org.freedesktop.ModemManager1.Modem.Enable(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Enable">The Enable() method</a>
+</dt>
+<dt id="ientry-idm45055142114528">org.freedesktop.ModemManager1.Modem.FactoryReset(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset">The FactoryReset() method</a>
+</dt>
+<dt id="ientry-idm45055142528784">org.freedesktop.ModemManager1.Modem.Firmware, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Firmware.top_of_page">org.freedesktop.ModemManager1.Modem.Firmware</a>
+</dt>
+<dt id="ientry-idm45055147017056">org.freedesktop.ModemManager1.Modem.Firmware.List(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List">The List() method</a>
+</dt>
+<dt id="ientry-idm45055142066832">org.freedesktop.ModemManager1.Modem.Firmware.Select(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select">The Select() method</a>
+</dt>
+<dt id="ientry-idm45055143934784">org.freedesktop.ModemManager1.Modem.Firmware:UpdateSettings, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings">The "UpdateSettings" property</a>
+</dt>
+<dt id="ientry-idm45055142510848">org.freedesktop.ModemManager1.Modem.ListBearers(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers">The ListBearers() method</a>
+</dt>
+<dt id="ientry-idm45055142964800">org.freedesktop.ModemManager1.Modem.Location, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Location.top_of_page">org.freedesktop.ModemManager1.Modem.Location</a>
+</dt>
+<dt id="ientry-idm45055151936656">org.freedesktop.ModemManager1.Modem.Location.GetLocation(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation">The GetLocation() method</a>
+</dt>
+<dt id="ientry-idm45055148274352">org.freedesktop.ModemManager1.Modem.Location.InjectAssistanceData(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData">The InjectAssistanceData() method</a>
+</dt>
+<dt id="ientry-idm45055141136624">org.freedesktop.ModemManager1.Modem.Location.SetGpsRefreshRate(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate">The SetGpsRefreshRate() method</a>
+</dt>
+<dt id="ientry-idm45055142579584">org.freedesktop.ModemManager1.Modem.Location.SetSuplServer(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer">The SetSuplServer() method</a>
+</dt>
+<dt id="ientry-idm45055147069584">org.freedesktop.ModemManager1.Modem.Location.Setup(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup">The Setup() method</a>
+</dt>
+<dt id="ientry-idm45055141526608">org.freedesktop.ModemManager1.Modem.Location:AssistanceDataServers, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers">The "AssistanceDataServers" property</a>
+</dt>
+<dt id="ientry-idm45055141734240">org.freedesktop.ModemManager1.Modem.Location:Capabilities, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Capabilities">The "Capabilities" property</a>
+</dt>
+<dt id="ientry-idm45055141178528">org.freedesktop.ModemManager1.Modem.Location:Enabled, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Enabled">The "Enabled" property</a>
+</dt>
+<dt id="ientry-idm45055143773088">org.freedesktop.ModemManager1.Modem.Location:GpsRefreshRate, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.GpsRefreshRate">The "GpsRefreshRate" property</a>
+</dt>
+<dt id="ientry-idm45055142760304">org.freedesktop.ModemManager1.Modem.Location:Location, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location">The "Location" property</a>
+</dt>
+<dt id="ientry-idm45055152011760">org.freedesktop.ModemManager1.Modem.Location:SignalsLocation, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SignalsLocation">The "SignalsLocation" property</a>
+</dt>
+<dt id="ientry-idm45055144087968">org.freedesktop.ModemManager1.Modem.Location:SuplServer, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer">The "SuplServer" property</a>
+</dt>
+<dt id="ientry-idm45055141748000">org.freedesktop.ModemManager1.Modem.Location:SupportedAssistanceData, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SupportedAssistanceData">The "SupportedAssistanceData" property</a>
+</dt>
+<dt id="ientry-idm45055140468752">org.freedesktop.ModemManager1.Modem.Messaging, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Messaging.top_of_page">org.freedesktop.ModemManager1.Modem.Messaging</a>
+</dt>
+<dt id="ientry-idm45055151462688">org.freedesktop.ModemManager1.Modem.Messaging.Create(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create">The Create() method</a>
+</dt>
+<dt id="ientry-idm45055142778864">org.freedesktop.ModemManager1.Modem.Messaging.Delete(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete">The Delete() method</a>
+</dt>
+<dt id="ientry-idm45055143592944">org.freedesktop.ModemManager1.Modem.Messaging.List(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List">The List() method</a>
+</dt>
+<dt id="ientry-idm45055144446304">org.freedesktop.ModemManager1.Modem.Messaging::Added, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added">The "Added" signal</a>
+</dt>
+<dt id="ientry-idm45055142232896">org.freedesktop.ModemManager1.Modem.Messaging::Deleted, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Deleted">The "Deleted" signal</a>
+</dt>
+<dt id="ientry-idm45055142384160">org.freedesktop.ModemManager1.Modem.Messaging:DefaultStorage, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.DefaultStorage">The "DefaultStorage" property</a>
+</dt>
+<dt id="ientry-idm45055141497536">org.freedesktop.ModemManager1.Modem.Messaging:Messages, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages">The "Messages" property</a>
+</dt>
+<dt id="ientry-idm45055151915344">org.freedesktop.ModemManager1.Modem.Messaging:SupportedStorages, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages">The "SupportedStorages" property</a>
+</dt>
+<dt id="ientry-idm45055140161504">org.freedesktop.ModemManager1.Modem.Oma, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Oma.top_of_page">org.freedesktop.ModemManager1.Modem.Oma</a>
+</dt>
+<dt id="ientry-idm45055142736576">org.freedesktop.ModemManager1.Modem.Oma.AcceptNetworkInitiatedSession(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession">The AcceptNetworkInitiatedSession() method</a>
+</dt>
+<dt id="ientry-idm45055150112512">org.freedesktop.ModemManager1.Modem.Oma.CancelSession(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession">The CancelSession() method</a>
+</dt>
+<dt id="ientry-idm45055143324560">org.freedesktop.ModemManager1.Modem.Oma.Setup(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup">The Setup() method</a>
+</dt>
+<dt id="ientry-idm45055143601248">org.freedesktop.ModemManager1.Modem.Oma.StartClientInitiatedSession(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession">The StartClientInitiatedSession() method</a>
+</dt>
+<dt id="ientry-idm45055143054816">org.freedesktop.ModemManager1.Modem.Oma::SessionStateChanged, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Oma.SessionStateChanged">The "SessionStateChanged" signal</a>
+</dt>
+<dt id="ientry-idm45055146542496">org.freedesktop.ModemManager1.Modem.Oma:Features, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.Features">The "Features" property</a>
+</dt>
+<dt id="ientry-idm45055143564384">org.freedesktop.ModemManager1.Modem.Oma:PendingNetworkInitiatedSessions, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions">The "PendingNetworkInitiatedSessions" property</a>
+</dt>
+<dt id="ientry-idm45055142546384">org.freedesktop.ModemManager1.Modem.Oma:SessionState, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionState">The "SessionState" property</a>
+</dt>
+<dt id="ientry-idm45055142633216">org.freedesktop.ModemManager1.Modem.Oma:SessionType, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionType">The "SessionType" property</a>
+</dt>
+<dt id="ientry-idm45055151980800">org.freedesktop.ModemManager1.Modem.Reset(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Reset">The Reset() method</a>
+</dt>
+<dt id="ientry-idm45055143603776">org.freedesktop.ModemManager1.Modem.SetCurrentBands(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands">The SetCurrentBands() method</a>
+</dt>
+<dt id="ientry-idm45055142032848">org.freedesktop.ModemManager1.Modem.SetCurrentCapabilities(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities">The SetCurrentCapabilities() method</a>
+</dt>
+<dt id="ientry-idm45055142014928">org.freedesktop.ModemManager1.Modem.SetCurrentModes(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes">The SetCurrentModes() method</a>
+</dt>
+<dt id="ientry-idm45055149079296">org.freedesktop.ModemManager1.Modem.SetPowerState(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState">The SetPowerState() method</a>
+</dt>
+<dt id="ientry-idm45055146537600">org.freedesktop.ModemManager1.Modem.Signal, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Signal.top_of_page">org.freedesktop.ModemManager1.Modem.Signal</a>
+</dt>
+<dt id="ientry-idm45055143923376">org.freedesktop.ModemManager1.Modem.Signal.Setup(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup">The Setup() method</a>
+</dt>
+<dt id="ientry-idm45055142410416">org.freedesktop.ModemManager1.Modem.Signal:Cdma, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma">The "Cdma" property</a>
+</dt>
+<dt id="ientry-idm45055143931312">org.freedesktop.ModemManager1.Modem.Signal:Evdo, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo">The "Evdo" property</a>
+</dt>
+<dt id="ientry-idm45055141117728">org.freedesktop.ModemManager1.Modem.Signal:Gsm, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm">The "Gsm" property</a>
+</dt>
+<dt id="ientry-idm45055149077472">org.freedesktop.ModemManager1.Modem.Signal:Lte, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte">The "Lte" property</a>
+</dt>
+<dt id="ientry-idm45055142048304">org.freedesktop.ModemManager1.Modem.Signal:Rate, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Rate">The "Rate" property</a>
+</dt>
+<dt id="ientry-idm45055143610192">org.freedesktop.ModemManager1.Modem.Signal:Umts, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts">The "Umts" property</a>
+</dt>
+<dt id="ientry-idm45055142527584">org.freedesktop.ModemManager1.Modem.Simple, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Simple.top_of_page">org.freedesktop.ModemManager1.Modem.Simple</a>
+</dt>
+<dt id="ientry-idm45055142297504">org.freedesktop.ModemManager1.Modem.Simple.Connect(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect">The Connect() method</a>
+</dt>
+<dt id="ientry-idm45055151997456">org.freedesktop.ModemManager1.Modem.Simple.Disconnect(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect">The Disconnect() method</a>
+</dt>
+<dt id="ientry-idm45055142349504">org.freedesktop.ModemManager1.Modem.Simple.GetStatus(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus">The GetStatus() method</a>
+</dt>
+<dt id="ientry-idm45055144464576">org.freedesktop.ModemManager1.Modem.Time, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Time.top_of_page">org.freedesktop.ModemManager1.Modem.Time</a>
+</dt>
+<dt id="ientry-idm45055149338576">org.freedesktop.ModemManager1.Modem.Time.GetNetworkTime(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime">The GetNetworkTime() method</a>
+</dt>
+<dt id="ientry-idm45055140826448">org.freedesktop.ModemManager1.Modem.Time::NetworkTimeChanged, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Time.NetworkTimeChanged">The "NetworkTimeChanged" signal</a>
+</dt>
+<dt id="ientry-idm45055148188256">org.freedesktop.ModemManager1.Modem.Time:NetworkTimezone, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone">The "NetworkTimezone" property</a>
+</dt>
+<dt id="ientry-idm45055144394080">org.freedesktop.ModemManager1.Modem.Voice, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Voice.top_of_page">org.freedesktop.ModemManager1.Modem.Voice</a>
+</dt>
+<dt id="ientry-idm45055148340512">org.freedesktop.ModemManager1.Modem.Voice.CreateCall(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.CreateCall">The CreateCall() method</a>
+</dt>
+<dt id="ientry-idm45055143476672">org.freedesktop.ModemManager1.Modem.Voice.DeleteCall(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.DeleteCall">The DeleteCall() method</a>
+</dt>
+<dt id="ientry-idm45055143061248">org.freedesktop.ModemManager1.Modem.Voice.ListCalls(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.ListCalls">The ListCalls() method</a>
+</dt>
+<dt id="ientry-idm45055142338544">org.freedesktop.ModemManager1.Modem.Voice::CallAdded, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallAdded">The "CallAdded" signal</a>
+</dt>
+<dt id="ientry-idm45055141157808">org.freedesktop.ModemManager1.Modem.Voice::CallDeleted, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallDeleted">The "CallDeleted" signal</a>
+</dt>
+<dt id="ientry-idm45055146535264">org.freedesktop.ModemManager1.Modem.Voice:Calls, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Voice.Calls">The "Calls" property</a>
+</dt>
+<dt id="ientry-idm45055144195120">org.freedesktop.ModemManager1.Modem.Modem3gpp, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp.top_of_page">org.freedesktop.ModemManager1.Modem.Modem3gpp</a>
+</dt>
+<dt id="ientry-idm45055153304800">org.freedesktop.ModemManager1.Modem.Modem3gpp.Register(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register">The Register() method</a>
+</dt>
+<dt id="ientry-idm45055141619312">org.freedesktop.ModemManager1.Modem.Modem3gpp.Scan(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan">The Scan() method</a>
+</dt>
+<dt id="ientry-idm45055140681888">org.freedesktop.ModemManager1.Modem.Modem3gpp.SetEpsUeModeOperation(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation">The SetEpsUeModeOperation() method</a>
+</dt>
+<dt id="ientry-idm45055141030688">org.freedesktop.ModemManager1.Modem.Modem3gpp.SetInitialEpsBearerSettings(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings">The SetInitialEpsBearerSettings() method</a>
+</dt>
+<dt id="ientry-idm45055140849776">org.freedesktop.ModemManager1.Modem.Modem3gpp:EnabledFacilityLocks, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EnabledFacilityLocks">The "EnabledFacilityLocks" property</a>
+</dt>
+<dt id="ientry-idm45055142995920">org.freedesktop.ModemManager1.Modem.Modem3gpp:EpsUeModeOperation, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EpsUeModeOperation">The "EpsUeModeOperation" property</a>
+</dt>
+<dt id="ientry-idm45055142950736">org.freedesktop.ModemManager1.Modem.Modem3gpp:Imei, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei">The "Imei" property</a>
+</dt>
+<dt id="ientry-idm45055141479264">org.freedesktop.ModemManager1.Modem.Modem3gpp:InitialEpsBearer, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer">The "InitialEpsBearer" property</a>
+</dt>
+<dt id="ientry-idm45055143612128">org.freedesktop.ModemManager1.Modem.Modem3gpp:InitialEpsBearerSettings, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings">The "InitialEpsBearerSettings" property</a>
+</dt>
+<dt id="ientry-idm45055141922016">org.freedesktop.ModemManager1.Modem.Modem3gpp:OperatorCode, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode">The "OperatorCode" property</a>
+</dt>
+<dt id="ientry-idm45055149123856">org.freedesktop.ModemManager1.Modem.Modem3gpp:OperatorName, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName">The "OperatorName" property</a>
+</dt>
+<dt id="ientry-idm45055143991536">org.freedesktop.ModemManager1.Modem.Modem3gpp:Pco, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco">The "Pco" property</a>
+</dt>
+<dt id="ientry-idm45055142092640">org.freedesktop.ModemManager1.Modem.Modem3gpp:RegistrationState, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.RegistrationState">The "RegistrationState" property</a>
+</dt>
+<dt id="ientry-idm45055149124896">org.freedesktop.ModemManager1.Modem.Modem3gpp:SubscriptionState, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.SubscriptionState">The "SubscriptionState" property</a>
+</dt>
+<dt id="ientry-idm45055146331392">MMModem3gppEpsUeModeOperation, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation">enum MMModem3gppEpsUeModeOperation</a>
+</dt>
+<dt id="ientry-idm45055146486768">MMModem3gppFacility, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppFacility">enum MMModem3gppFacility</a>
+</dt>
+<dt id="ientry-idm45055146449136">MMModem3gppNetworkAvailability, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppNetworkAvailability">enum MMModem3gppNetworkAvailability</a>
+</dt>
+<dt id="ientry-idm45055146402576">MMModem3gppRegistrationState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState">enum MMModem3gppRegistrationState</a>
+</dt>
+<dt id="ientry-idm45055146425872">MMModem3gppSubscriptionState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState">enum MMModem3gppSubscriptionState</a>
+</dt>
+<dt id="ientry-idm45055151896832">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.top_of_page">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd</a>
+</dt>
+<dt id="ientry-idm45055142354208">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.Cancel(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel">The Cancel() method</a>
+</dt>
+<dt id="ientry-idm45055142163488">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.Initiate(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate">The Initiate() method</a>
+</dt>
+<dt id="ientry-idm45055143644288">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.Respond(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond">The Respond() method</a>
+</dt>
+<dt id="ientry-idm45055143438464">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd:NetworkNotification, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification">The "NetworkNotification" property</a>
+</dt>
+<dt id="ientry-idm45055142116832">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd:NetworkRequest, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest">The "NetworkRequest" property</a>
+</dt>
+<dt id="ientry-idm45055143523488">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd:State, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.State">The "State" property</a>
+</dt>
+<dt id="ientry-idm45055146354656">MMModem3gppUssdSessionState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModem3gppUssdSessionState">enum MMModem3gppUssdSessionState</a>
+</dt>
+<dt id="ientry-idm45055142809200">org.freedesktop.ModemManager1.Modem::StateChanged, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-signal-org-freedesktop-ModemManager1-Modem.StateChanged">The "StateChanged" signal</a>
+</dt>
+<dt id="ientry-idm45055143672464">org.freedesktop.ModemManager1.Modem:AccessTechnologies, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.AccessTechnologies">The "AccessTechnologies" property</a>
+</dt>
+<dt id="ientry-idm45055140528864">org.freedesktop.ModemManager1.Modem:Bearers, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers">The "Bearers" property</a>
+</dt>
+<dt id="ientry-idm45055142343424">org.freedesktop.ModemManager1.Modem:CurrentBands, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands">The "CurrentBands" property</a>
+</dt>
+<dt id="ientry-idm45055141305792">org.freedesktop.ModemManager1.Modem:CurrentCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentCapabilities">The "CurrentCapabilities" property</a>
+</dt>
+<dt id="ientry-idm45055143594752">org.freedesktop.ModemManager1.Modem:CurrentModes, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes">The "CurrentModes" property</a>
+</dt>
+<dt id="ientry-idm45055141322640">org.freedesktop.ModemManager1.Modem:Device, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Device">The "Device" property</a>
+</dt>
+<dt id="ientry-idm45055142447760">org.freedesktop.ModemManager1.Modem:DeviceIdentifier, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier">The "DeviceIdentifier" property</a>
+</dt>
+<dt id="ientry-idm45055141190000">org.freedesktop.ModemManager1.Modem:Drivers, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers">The "Drivers" property</a>
+</dt>
+<dt id="ientry-idm45055141163968">org.freedesktop.ModemManager1.Modem:EquipmentIdentifier, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier">The "EquipmentIdentifier" property</a>
+</dt>
+<dt id="ientry-idm45055152476624">org.freedesktop.ModemManager1.Modem:HardwareRevision, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision">The "HardwareRevision" property</a>
+</dt>
+<dt id="ientry-idm45055141518528">org.freedesktop.ModemManager1.Modem:Manufacturer, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer">The "Manufacturer" property</a>
+</dt>
+<dt id="ientry-idm45055144220528">org.freedesktop.ModemManager1.Modem:MaxActiveBearers, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxActiveBearers">The "MaxActiveBearers" property</a>
+</dt>
+<dt id="ientry-idm45055144408064">org.freedesktop.ModemManager1.Modem:MaxBearers, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxBearers">The "MaxBearers" property</a>
+</dt>
+<dt id="ientry-idm45055152323936">org.freedesktop.ModemManager1.Modem:Model, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Model">The "Model" property</a>
+</dt>
+<dt id="ientry-idm45055149672784">org.freedesktop.ModemManager1.Modem:OwnNumbers, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers">The "OwnNumbers" property</a>
+</dt>
+<dt id="ientry-idm45055143431648">org.freedesktop.ModemManager1.Modem:Plugin, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin">The "Plugin" property</a>
+</dt>
+<dt id="ientry-idm45055143913648">org.freedesktop.ModemManager1.Modem:Ports, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Ports">The "Ports" property</a>
+</dt>
+<dt id="ientry-idm45055141359360">org.freedesktop.ModemManager1.Modem:PowerState, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PowerState">The "PowerState" property</a>
+</dt>
+<dt id="ientry-idm45055143561424">org.freedesktop.ModemManager1.Modem:PrimaryPort, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort">The "PrimaryPort" property</a>
+</dt>
+<dt id="ientry-idm45055140497088">org.freedesktop.ModemManager1.Modem:Revision, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Revision">The "Revision" property</a>
+</dt>
+<dt id="ientry-idm45055143813648">org.freedesktop.ModemManager1.Modem:SignalQuality, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality">The "SignalQuality" property</a>
+</dt>
+<dt id="ientry-idm45055144585296">org.freedesktop.ModemManager1.Modem:Sim, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Sim">The "Sim" property</a>
+</dt>
+<dt id="ientry-idm45055142488960">org.freedesktop.ModemManager1.Modem:State, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.State">The "State" property</a>
+</dt>
+<dt id="ientry-idm45055148209472">org.freedesktop.ModemManager1.Modem:StateFailedReason, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason">The "StateFailedReason" property</a>
+</dt>
+<dt id="ientry-idm45055144064688">org.freedesktop.ModemManager1.Modem:SupportedBands, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands">The "SupportedBands" property</a>
+</dt>
+<dt id="ientry-idm45055142512224">org.freedesktop.ModemManager1.Modem:SupportedCapabilities, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities">The "SupportedCapabilities" property</a>
+</dt>
+<dt id="ientry-idm45055142917968">org.freedesktop.ModemManager1.Modem:SupportedIpFamilies, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedIpFamilies">The "SupportedIpFamilies" property</a>
+</dt>
+<dt id="ientry-idm45055148253104">org.freedesktop.ModemManager1.Modem:SupportedModes, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes">The "SupportedModes" property</a>
+</dt>
+<dt id="ientry-idm45055141376752">org.freedesktop.ModemManager1.Modem:UnlockRequired, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRequired">The "UnlockRequired" property</a>
+</dt>
+<dt id="ientry-idm45055150061584">org.freedesktop.ModemManager1.Modem:UnlockRetries, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries">The "UnlockRetries" property</a>
+</dt>
+<dt id="ientry-idm45055146304512">MMModemAccessTechnology, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology">enum MMModemAccessTechnology</a>
+</dt>
+<dt id="ientry-idm45055146236976">MMModemBand, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemBand">enum MMModemBand</a>
+</dt>
+<dt id="ientry-idm45055145807664">MMModemCapability, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemCapability">enum MMModemCapability</a>
+</dt>
+<dt id="ientry-idm45055141528080">org.freedesktop.ModemManager1.Modem.ModemCdma, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-interface-org-freedesktop-ModemManager1-Modem-ModemCdma.top_of_page">org.freedesktop.ModemManager1.Modem.ModemCdma</a>
+</dt>
+<dt id="ientry-idm45055143146688">org.freedesktop.ModemManager1.Modem.ModemCdma.Activate(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate">The Activate() method</a>
+</dt>
+<dt id="ientry-idm45055142337728">org.freedesktop.ModemManager1.Modem.ModemCdma.ActivateManual(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual">The ActivateManual() method</a>
+</dt>
+<dt id="ientry-idm45055151995968">org.freedesktop.ModemManager1.Modem.ModemCdma::ActivationStateChanged, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationStateChanged">The "ActivationStateChanged" signal</a>
+</dt>
+<dt id="ientry-idm45055144237328">org.freedesktop.ModemManager1.Modem.ModemCdma:ActivationState, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationState">The "ActivationState" property</a>
+</dt>
+<dt id="ientry-idm45055141790352">org.freedesktop.ModemManager1.Modem.ModemCdma:Cdma1xRegistrationState, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Cdma1xRegistrationState">The "Cdma1xRegistrationState" property</a>
+</dt>
+<dt id="ientry-idm45055143557504">org.freedesktop.ModemManager1.Modem.ModemCdma:Esn, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn">The "Esn" property</a>
+</dt>
+<dt id="ientry-idm45055141579344">org.freedesktop.ModemManager1.Modem.ModemCdma:EvdoRegistrationState, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.EvdoRegistrationState">The "EvdoRegistrationState" property</a>
+</dt>
+<dt id="ientry-idm45055143382208">org.freedesktop.ModemManager1.Modem.ModemCdma:Meid, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid">The "Meid" property</a>
+</dt>
+<dt id="ientry-idm45055142624048">org.freedesktop.ModemManager1.Modem.ModemCdma:Nid, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Nid">The "Nid" property</a>
+</dt>
+<dt id="ientry-idm45055143902816">org.freedesktop.ModemManager1.Modem.ModemCdma:Sid, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Sid">The "Sid" property</a>
+</dt>
+<dt id="ientry-idm45055145770416">MMModemCdmaActivationState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState">enum MMModemCdmaActivationState</a>
+</dt>
+<dt id="ientry-idm45055145743552">MMModemCdmaRegistrationState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState">enum MMModemCdmaRegistrationState</a>
+</dt>
+<dt id="ientry-idm45055145720112">MMModemCdmaRmProtocol, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol">enum MMModemCdmaRmProtocol</a>
+</dt>
+<dt id="ientry-idm45055145689920">MMModemContactsStorage, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemContactsStorage">enum MMModemContactsStorage</a>
+</dt>
+<dt id="ientry-idm45055145359408">MMModemFirmwareUpdateMethod, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemFirmwareUpdateMethod">enum MMModemFirmwareUpdateMethod</a>
+</dt>
+<dt id="ientry-idm45055145633152">MMModemLocationAssistanceDataType, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemLocationAssistanceDataType">enum MMModemLocationAssistanceDataType</a>
+</dt>
+<dt id="ientry-idm45055145666688">MMModemLocationSource, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemLocationSource">enum MMModemLocationSource</a>
+</dt>
+<dt id="ientry-idm45055145616864">MMModemLock, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemLock">enum MMModemLock</a>
+</dt>
+<dt id="ientry-idm45055145548896">MMModemMode, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemMode">enum MMModemMode</a>
+</dt>
+<dt id="ientry-idm45055145392752">MMModemPortType, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemPortType">enum MMModemPortType</a>
+</dt>
+<dt id="ientry-idm45055145415776">MMModemPowerState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemPowerState">enum MMModemPowerState</a>
+</dt>
+<dt id="ientry-idm45055145519168">MMModemState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemState">enum MMModemState</a>
+</dt>
+<dt id="ientry-idm45055145439152">MMModemStateChangeReason, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemStateChangeReason">enum MMModemStateChangeReason</a>
+</dt>
+<dt id="ientry-idm45055145463264">MMModemStateFailedReason, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMModemStateFailedReason">enum MMModemStateFailedReason</a>
+</dt>
+<dt id="ientry-idm45055152095632">MM_MODEM_BAND_CDMA_BC0_CELLULAR_800, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC0-CELLULAR-800:CAPS">MM_MODEM_BAND_CDMA_BC0_CELLULAR_800</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC0-CELLULAR-800:CAPS">MM_MODEM_BAND_CDMA_BC0_CELLULAR_800</a>
+</dt>
+<dt id="ientry-idm45055141027696">MM_MODEM_BAND_CDMA_BC10_SECONDARY_800, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC10-SECONDARY-800:CAPS">MM_MODEM_BAND_CDMA_BC10_SECONDARY_800</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC10-SECONDARY-800:CAPS">MM_MODEM_BAND_CDMA_BC10_SECONDARY_800</a>
+</dt>
+<dt id="ientry-idm45055143021856">MM_MODEM_BAND_CDMA_BC11_PAMR_400, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC11-PAMR-400:CAPS">MM_MODEM_BAND_CDMA_BC11_PAMR_400</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC11-PAMR-400:CAPS">MM_MODEM_BAND_CDMA_BC11_PAMR_400</a>
+</dt>
+<dt id="ientry-idm45055147194528">MM_MODEM_BAND_CDMA_BC12_PAMR_800, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC12-PAMR-800:CAPS">MM_MODEM_BAND_CDMA_BC12_PAMR_800</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC12-PAMR-800:CAPS">MM_MODEM_BAND_CDMA_BC12_PAMR_800</a>
+</dt>
+<dt id="ientry-idm45055147649840">MM_MODEM_BAND_CDMA_BC13_IMT2000_2500, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC13-IMT2000-2500:CAPS">MM_MODEM_BAND_CDMA_BC13_IMT2000_2500</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC13-IMT2000-2500:CAPS">MM_MODEM_BAND_CDMA_BC13_IMT2000_2500</a>
+</dt>
+<dt id="ientry-idm45055148261008">MM_MODEM_BAND_CDMA_BC14_PCS2_1900, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC14-PCS2-1900:CAPS">MM_MODEM_BAND_CDMA_BC14_PCS2_1900</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC14-PCS2-1900:CAPS">MM_MODEM_BAND_CDMA_BC14_PCS2_1900</a>
+</dt>
+<dt id="ientry-idm45055143677408">MM_MODEM_BAND_CDMA_BC15_AWS, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC15-AWS:CAPS">MM_MODEM_BAND_CDMA_BC15_AWS</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC15-AWS:CAPS">MM_MODEM_BAND_CDMA_BC15_AWS</a>
+</dt>
+<dt id="ientry-idm45055143398096">MM_MODEM_BAND_CDMA_BC16_US_2500, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC16-US-2500:CAPS">MM_MODEM_BAND_CDMA_BC16_US_2500</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC16-US-2500:CAPS">MM_MODEM_BAND_CDMA_BC16_US_2500</a>
+</dt>
+<dt id="ientry-idm45055141504096">MM_MODEM_BAND_CDMA_BC17_US_FLO_2500, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC17-US-FLO-2500:CAPS">MM_MODEM_BAND_CDMA_BC17_US_FLO_2500</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC17-US-FLO-2500:CAPS">MM_MODEM_BAND_CDMA_BC17_US_FLO_2500</a>
+</dt>
+<dt id="ientry-idm45055151456640">MM_MODEM_BAND_CDMA_BC18_US_PS_700, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC18-US-PS-700:CAPS">MM_MODEM_BAND_CDMA_BC18_US_PS_700</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC18-US-PS-700:CAPS">MM_MODEM_BAND_CDMA_BC18_US_PS_700</a>
+</dt>
+<dt id="ientry-idm45055143043088">MM_MODEM_BAND_CDMA_BC19_US_LOWER_700, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC19-US-LOWER-700:CAPS">MM_MODEM_BAND_CDMA_BC19_US_LOWER_700</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC19-US-LOWER-700:CAPS">MM_MODEM_BAND_CDMA_BC19_US_LOWER_700</a>
+</dt>
+<dt id="ientry-idm45055141989168">MM_MODEM_BAND_CDMA_BC1_PCS_1900, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC1-PCS-1900:CAPS">MM_MODEM_BAND_CDMA_BC1_PCS_1900</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC1-PCS-1900:CAPS">MM_MODEM_BAND_CDMA_BC1_PCS_1900</a>
+</dt>
+<dt id="ientry-idm45055148396096">MM_MODEM_BAND_CDMA_BC2_TACS, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC2-TACS:CAPS">MM_MODEM_BAND_CDMA_BC2_TACS</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC2-TACS:CAPS">MM_MODEM_BAND_CDMA_BC2_TACS</a>
+</dt>
+<dt id="ientry-idm45055142043888">MM_MODEM_BAND_CDMA_BC3_JTACS, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC3-JTACS:CAPS">MM_MODEM_BAND_CDMA_BC3_JTACS</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC3-JTACS:CAPS">MM_MODEM_BAND_CDMA_BC3_JTACS</a>
+</dt>
+<dt id="ientry-idm45055140486704">MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC4-KOREAN-PCS:CAPS">MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC4-KOREAN-PCS:CAPS">MM_MODEM_BAND_CDMA_BC4_KOREAN_PCS</a>
+</dt>
+<dt id="ientry-idm45055151930256">MM_MODEM_BAND_CDMA_BC5_NMT450, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC5-NMT450:CAPS">MM_MODEM_BAND_CDMA_BC5_NMT450</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC5-NMT450:CAPS">MM_MODEM_BAND_CDMA_BC5_NMT450</a>
+</dt>
+<dt id="ientry-idm45055140330224">MM_MODEM_BAND_CDMA_BC6_IMT2000, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC6-IMT2000:CAPS">MM_MODEM_BAND_CDMA_BC6_IMT2000</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC6-IMT2000:CAPS">MM_MODEM_BAND_CDMA_BC6_IMT2000</a>
+</dt>
+<dt id="ientry-idm45055143948592">MM_MODEM_BAND_CDMA_BC7_CELLULAR_700, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC7-CELLULAR-700:CAPS">MM_MODEM_BAND_CDMA_BC7_CELLULAR_700</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC7-CELLULAR-700:CAPS">MM_MODEM_BAND_CDMA_BC7_CELLULAR_700</a>
+</dt>
+<dt id="ientry-idm45055151231616">MM_MODEM_BAND_CDMA_BC8_1800, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC8-1800:CAPS">MM_MODEM_BAND_CDMA_BC8_1800</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC8-1800:CAPS">MM_MODEM_BAND_CDMA_BC8_1800</a>
+</dt>
+<dt id="ientry-idm45055141962912">MM_MODEM_BAND_CDMA_BC9_900, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC9-900:CAPS">MM_MODEM_BAND_CDMA_BC9_900</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-CDMA-BC9-900:CAPS">MM_MODEM_BAND_CDMA_BC9_900</a>
+</dt>
+<dt id="ientry-idm45055143177520">MM_MODEM_BAND_EUTRAN_I, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-I:CAPS">MM_MODEM_BAND_EUTRAN_I</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-I:CAPS">MM_MODEM_BAND_EUTRAN_I</a>
+</dt>
+<dt id="ientry-idm45055142993344">MM_MODEM_BAND_EUTRAN_II, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-II:CAPS">MM_MODEM_BAND_EUTRAN_II</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-II:CAPS">MM_MODEM_BAND_EUTRAN_II</a>
+</dt>
+<dt id="ientry-idm45055150197520">MM_MODEM_BAND_EUTRAN_III, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-III:CAPS">MM_MODEM_BAND_EUTRAN_III</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-III:CAPS">MM_MODEM_BAND_EUTRAN_III</a>
+</dt>
+<dt id="ientry-idm45055141640624">MM_MODEM_BAND_EUTRAN_IV, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-IV:CAPS">MM_MODEM_BAND_EUTRAN_IV</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-IV:CAPS">MM_MODEM_BAND_EUTRAN_IV</a>
+</dt>
+<dt id="ientry-idm45055152067280">MM_MODEM_BAND_EUTRAN_IX, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-IX:CAPS">MM_MODEM_BAND_EUTRAN_IX</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-IX:CAPS">MM_MODEM_BAND_EUTRAN_IX</a>
+</dt>
+<dt id="ientry-idm45055140283456">MM_MODEM_BAND_EUTRAN_V, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-V:CAPS">MM_MODEM_BAND_EUTRAN_V</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-V:CAPS">MM_MODEM_BAND_EUTRAN_V</a>
+</dt>
+<dt id="ientry-idm45055148271856">MM_MODEM_BAND_EUTRAN_VI, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VI:CAPS">MM_MODEM_BAND_EUTRAN_VI</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VI:CAPS">MM_MODEM_BAND_EUTRAN_VI</a>
+</dt>
+<dt id="ientry-idm45055152204336">MM_MODEM_BAND_EUTRAN_VII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VII:CAPS">MM_MODEM_BAND_EUTRAN_VII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VII:CAPS">MM_MODEM_BAND_EUTRAN_VII</a>
+</dt>
+<dt id="ientry-idm45055144578752">MM_MODEM_BAND_EUTRAN_VIII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VIII:CAPS">MM_MODEM_BAND_EUTRAN_VIII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-VIII:CAPS">MM_MODEM_BAND_EUTRAN_VIII</a>
+</dt>
+<dt id="ientry-idm45055142668688">MM_MODEM_BAND_EUTRAN_X, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-X:CAPS">MM_MODEM_BAND_EUTRAN_X</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-X:CAPS">MM_MODEM_BAND_EUTRAN_X</a>
+</dt>
+<dt id="ientry-idm45055151247296">MM_MODEM_BAND_EUTRAN_XI, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XI:CAPS">MM_MODEM_BAND_EUTRAN_XI</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XI:CAPS">MM_MODEM_BAND_EUTRAN_XI</a>
+</dt>
+<dt id="ientry-idm45055144146624">MM_MODEM_BAND_EUTRAN_XII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XII:CAPS">MM_MODEM_BAND_EUTRAN_XII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XII:CAPS">MM_MODEM_BAND_EUTRAN_XII</a>
+</dt>
+<dt id="ientry-idm45055142076752">MM_MODEM_BAND_EUTRAN_XIII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIII:CAPS">MM_MODEM_BAND_EUTRAN_XIII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIII:CAPS">MM_MODEM_BAND_EUTRAN_XIII</a>
+</dt>
+<dt id="ientry-idm45055151552144">MM_MODEM_BAND_EUTRAN_XIV, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIV:CAPS">MM_MODEM_BAND_EUTRAN_XIV</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIV:CAPS">MM_MODEM_BAND_EUTRAN_XIV</a>
+</dt>
+<dt id="ientry-idm45055141171504">MM_MODEM_BAND_EUTRAN_XIX, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIX:CAPS">MM_MODEM_BAND_EUTRAN_XIX</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XIX:CAPS">MM_MODEM_BAND_EUTRAN_XIX</a>
+</dt>
+<dt id="ientry-idm45055141707536">MM_MODEM_BAND_EUTRAN_XL, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XL:CAPS">MM_MODEM_BAND_EUTRAN_XL</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XL:CAPS">MM_MODEM_BAND_EUTRAN_XL</a>
+</dt>
+<dt id="ientry-idm45055151944304">MM_MODEM_BAND_EUTRAN_XLI, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLI:CAPS">MM_MODEM_BAND_EUTRAN_XLI</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLI:CAPS">MM_MODEM_BAND_EUTRAN_XLI</a>
+</dt>
+<dt id="ientry-idm45055141657328">MM_MODEM_BAND_EUTRAN_XLII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLII:CAPS">MM_MODEM_BAND_EUTRAN_XLII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLII:CAPS">MM_MODEM_BAND_EUTRAN_XLII</a>
+</dt>
+<dt id="ientry-idm45055141218688">MM_MODEM_BAND_EUTRAN_XLIII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLIII:CAPS">MM_MODEM_BAND_EUTRAN_XLIII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLIII:CAPS">MM_MODEM_BAND_EUTRAN_XLIII</a>
+</dt>
+<dt id="ientry-idm45055149065472">MM_MODEM_BAND_EUTRAN_XLIV, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLIV:CAPS">MM_MODEM_BAND_EUTRAN_XLIV</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XLIV:CAPS">MM_MODEM_BAND_EUTRAN_XLIV</a>
+</dt>
+<dt id="ientry-idm45055140348480">MM_MODEM_BAND_EUTRAN_XVII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XVII:CAPS">MM_MODEM_BAND_EUTRAN_XVII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XVII:CAPS">MM_MODEM_BAND_EUTRAN_XVII</a>
+</dt>
+<dt id="ientry-idm45055151749792">MM_MODEM_BAND_EUTRAN_XVIII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XVIII:CAPS">MM_MODEM_BAND_EUTRAN_XVIII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XVIII:CAPS">MM_MODEM_BAND_EUTRAN_XVIII</a>
+</dt>
+<dt id="ientry-idm45055143098800">MM_MODEM_BAND_EUTRAN_XX, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XX:CAPS">MM_MODEM_BAND_EUTRAN_XX</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XX:CAPS">MM_MODEM_BAND_EUTRAN_XX</a>
+</dt>
+<dt id="ientry-idm45055140447168">MM_MODEM_BAND_EUTRAN_XXI, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXI:CAPS">MM_MODEM_BAND_EUTRAN_XXI</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXI:CAPS">MM_MODEM_BAND_EUTRAN_XXI</a>
+</dt>
+<dt id="ientry-idm45055146602208">MM_MODEM_BAND_EUTRAN_XXII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXII:CAPS">MM_MODEM_BAND_EUTRAN_XXII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXII:CAPS">MM_MODEM_BAND_EUTRAN_XXII</a>
+</dt>
+<dt id="ientry-idm45055146500096">MM_MODEM_BAND_EUTRAN_XXIII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXIII:CAPS">MM_MODEM_BAND_EUTRAN_XXIII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXIII:CAPS">MM_MODEM_BAND_EUTRAN_XXIII</a>
+</dt>
+<dt id="ientry-idm45055147065328">MM_MODEM_BAND_EUTRAN_XXIV, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXIV:CAPS">MM_MODEM_BAND_EUTRAN_XXIV</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXIV:CAPS">MM_MODEM_BAND_EUTRAN_XXIV</a>
+</dt>
+<dt id="ientry-idm45055151281488">MM_MODEM_BAND_EUTRAN_XXV, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXV:CAPS">MM_MODEM_BAND_EUTRAN_XXV</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXV:CAPS">MM_MODEM_BAND_EUTRAN_XXV</a>
+</dt>
+<dt id="ientry-idm45055150102784">MM_MODEM_BAND_EUTRAN_XXVI, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXVI:CAPS">MM_MODEM_BAND_EUTRAN_XXVI</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXVI:CAPS">MM_MODEM_BAND_EUTRAN_XXVI</a>
+</dt>
+<dt id="ientry-idm45055150862992">MM_MODEM_BAND_EUTRAN_XXXIII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIII:CAPS">MM_MODEM_BAND_EUTRAN_XXXIII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIII:CAPS">MM_MODEM_BAND_EUTRAN_XXXIII</a>
+</dt>
+<dt id="ientry-idm45055150767520">MM_MODEM_BAND_EUTRAN_XXXIV, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIV:CAPS">MM_MODEM_BAND_EUTRAN_XXXIV</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIV:CAPS">MM_MODEM_BAND_EUTRAN_XXXIV</a>
+</dt>
+<dt id="ientry-idm45055143471456">MM_MODEM_BAND_EUTRAN_XXXIX, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIX:CAPS">MM_MODEM_BAND_EUTRAN_XXXIX</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXIX:CAPS">MM_MODEM_BAND_EUTRAN_XXXIX</a>
+</dt>
+<dt id="ientry-idm45055153033184">MM_MODEM_BAND_EUTRAN_XXXV, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXV:CAPS">MM_MODEM_BAND_EUTRAN_XXXV</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXV:CAPS">MM_MODEM_BAND_EUTRAN_XXXV</a>
+</dt>
+<dt id="ientry-idm45055141196208">MM_MODEM_BAND_EUTRAN_XXXVI, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVI:CAPS">MM_MODEM_BAND_EUTRAN_XXXVI</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVI:CAPS">MM_MODEM_BAND_EUTRAN_XXXVI</a>
+</dt>
+<dt id="ientry-idm45055140305552">MM_MODEM_BAND_EUTRAN_XXXVII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVII:CAPS">MM_MODEM_BAND_EUTRAN_XXXVII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVII:CAPS">MM_MODEM_BAND_EUTRAN_XXXVII</a>
+</dt>
+<dt id="ientry-idm45055147253104">MM_MODEM_BAND_EUTRAN_XXXVIII, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVIII:CAPS">MM_MODEM_BAND_EUTRAN_XXXVIII</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-EUTRAN-XXXVIII:CAPS">MM_MODEM_BAND_EUTRAN_XXXVIII</a>
+</dt>
+<dt id="ientry-idm45055146744352">MM_MODEM_BAND_U17IV, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U17IV:CAPS">MM_MODEM_BAND_U17IV</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U17IV:CAPS">MM_MODEM_BAND_U17IV</a>
+</dt>
+<dt id="ientry-idm45055142181424">MM_MODEM_BAND_U17IX, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U17IX:CAPS">MM_MODEM_BAND_U17IX</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U17IX:CAPS">MM_MODEM_BAND_U17IX</a>
+</dt>
+<dt id="ientry-idm45055140508432">MM_MODEM_BAND_U1800, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U1800:CAPS">MM_MODEM_BAND_U1800</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U1800:CAPS">MM_MODEM_BAND_U1800</a>
+</dt>
+<dt id="ientry-idm45055152788608">MM_MODEM_BAND_U1900, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U1900:CAPS">MM_MODEM_BAND_U1900</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U1900:CAPS">MM_MODEM_BAND_U1900</a>
+</dt>
+<dt id="ientry-idm45055150070512">MM_MODEM_BAND_U2100, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U2100:CAPS">MM_MODEM_BAND_U2100</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U2100:CAPS">MM_MODEM_BAND_U2100</a>
+</dt>
+<dt id="ientry-idm45055150609168">MM_MODEM_BAND_U2600, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U2600:CAPS">MM_MODEM_BAND_U2600</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U2600:CAPS">MM_MODEM_BAND_U2600</a>
+</dt>
+<dt id="ientry-idm45055150068192">MM_MODEM_BAND_U800, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U800:CAPS">MM_MODEM_BAND_U800</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U800:CAPS">MM_MODEM_BAND_U800</a>
+</dt>
+<dt id="ientry-idm45055144136480">MM_MODEM_BAND_U850, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U850:CAPS">MM_MODEM_BAND_U850</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U850:CAPS">MM_MODEM_BAND_U850</a>
+</dt>
+<dt id="ientry-idm45055147090720">MM_MODEM_BAND_U900, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U900:CAPS">MM_MODEM_BAND_U900</a>, <a class="indexterm" href="ModemManager-API-break-replacements.html#MM-MODEM-BAND-U900:CAPS">MM_MODEM_BAND_U900</a>
+</dt>
+</dl>
+</div>
+<div class="indexdiv">
+<h3>O</h3>
+<dl>
+<dt id="ientry-idm45055145339600">MMOmaFeature, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMOmaFeature">enum MMOmaFeature</a>
+</dt>
+<dt id="ientry-idm45055145316480">MMOmaSessionState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionState">enum MMOmaSessionState</a>
+</dt>
+<dt id="ientry-idm45055145265696">MMOmaSessionStateFailedReason, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionStateFailedReason">enum MMOmaSessionStateFailedReason</a>
+</dt>
+<dt id="ientry-idm45055145235232">MMOmaSessionType, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMOmaSessionType">enum MMOmaSessionType</a>
+</dt>
+<dt id="ientry-idm45055141820224">org.freedesktop.ModemManager1, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-interface-org-freedesktop-ModemManager1.top_of_page">org.freedesktop.ModemManager1</a>
+</dt>
+<dt id="ientry-idm45055141675968">org.freedesktop.ModemManager1.InhibitDevice(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.InhibitDevice">The InhibitDevice() method</a>
+</dt>
+<dt id="ientry-idm45055142430416">org.freedesktop.ModemManager1.ReportKernelEvent(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent">The ReportKernelEvent() method</a>
+</dt>
+<dt id="ientry-idm45055141833936">org.freedesktop.ModemManager1.ScanDevices(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ScanDevices">The ScanDevices() method</a>
+</dt>
+<dt id="ientry-idm45055141180960">org.freedesktop.ModemManager1.SetLogging(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.SetLogging">The SetLogging() method</a>
+</dt>
+<dt id="ientry-idm45055149286032">org.freedesktop.ModemManager1:Version, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-property-org-freedesktop-ModemManager1.Version">The "Version" property</a>
+</dt>
+</dl>
+</div>
+<div class="indexdiv">
+<h3>S</h3>
+<dl>
+<dt id="ientry-idm45055149370224">MMSerialError, <a class="indexterm" href="ModemManager-Errors.html#MMSerialError">enum MMSerialError</a>
+</dt>
+<dt id="ientry-idm45055141666256">org.freedesktop.ModemManager1.Sim, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-interface-org-freedesktop-ModemManager1-Sim.top_of_page">org.freedesktop.ModemManager1.Sim</a>
+</dt>
+<dt id="ientry-idm45055142657312">org.freedesktop.ModemManager1.Sim.ChangePin(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin">The ChangePin() method</a>
+</dt>
+<dt id="ientry-idm45055149072272">org.freedesktop.ModemManager1.Sim.EnablePin(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin">The EnablePin() method</a>
+</dt>
+<dt id="ientry-idm45055144554960">org.freedesktop.ModemManager1.Sim.SendPin(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin">The SendPin() method</a>
+</dt>
+<dt id="ientry-idm45055151474016">org.freedesktop.ModemManager1.Sim.SendPuk(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk">The SendPuk() method</a>
+</dt>
+<dt id="ientry-idm45055142103216">org.freedesktop.ModemManager1.Sim:Imsi, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi">The "Imsi" property</a>
+</dt>
+<dt id="ientry-idm45055141418560">org.freedesktop.ModemManager1.Sim:OperatorIdentifier, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier">The "OperatorIdentifier" property</a>
+</dt>
+<dt id="ientry-idm45055149345616">org.freedesktop.ModemManager1.Sim:OperatorName, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName">The "OperatorName" property</a>
+</dt>
+<dt id="ientry-idm45055139999392">org.freedesktop.ModemManager1.Sim:SimIdentifier, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier">The "SimIdentifier" property</a>
+</dt>
+<dt id="ientry-idm45055141486256">org.freedesktop.ModemManager1.Sms, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-interface-org-freedesktop-ModemManager1-Sms.top_of_page">org.freedesktop.ModemManager1.Sms</a>
+</dt>
+<dt id="ientry-idm45055142131376">org.freedesktop.ModemManager1.Sms.Send(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Send">The Send() method</a>
+</dt>
+<dt id="ientry-idm45055142193328">org.freedesktop.ModemManager1.Sms.Store(), <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Store">The Store() method</a>
+</dt>
+<dt id="ientry-idm45055141975568">org.freedesktop.ModemManager1.Sms:Class, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Class">The "Class" property</a>
+</dt>
+<dt id="ientry-idm45055141387648">org.freedesktop.ModemManager1.Sms:Data, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Data">The "Data" property</a>
+</dt>
+<dt id="ientry-idm45055143989424">org.freedesktop.ModemManager1.Sms:DeliveryReportRequest, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryReportRequest">The "DeliveryReportRequest" property</a>
+</dt>
+<dt id="ientry-idm45055142453440">org.freedesktop.ModemManager1.Sms:DeliveryState, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryState">The "DeliveryState" property</a>
+</dt>
+<dt id="ientry-idm45055141152912">org.freedesktop.ModemManager1.Sms:DischargeTimestamp, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp">The "DischargeTimestamp" property</a>
+</dt>
+<dt id="ientry-idm45055141677776">org.freedesktop.ModemManager1.Sms:MessageReference, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.MessageReference">The "MessageReference" property</a>
+</dt>
+<dt id="ientry-idm45055143110224">org.freedesktop.ModemManager1.Sms:Number, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Number">The "Number" property</a>
+</dt>
+<dt id="ientry-idm45055142916112">org.freedesktop.ModemManager1.Sms:PduType, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.PduType">The "PduType" property</a>
+</dt>
+<dt id="ientry-idm45055142981504">org.freedesktop.ModemManager1.Sms:ServiceCategory, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.ServiceCategory">The "ServiceCategory" property</a>
+</dt>
+<dt id="ientry-idm45055141577472">org.freedesktop.ModemManager1.Sms:SMSC, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC">The "SMSC" property</a>
+</dt>
+<dt id="ientry-idm45055142661360">org.freedesktop.ModemManager1.Sms:State, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.State">The "State" property</a>
+</dt>
+<dt id="ientry-idm45055144427472">org.freedesktop.ModemManager1.Sms:Storage, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Storage">The "Storage" property</a>
+</dt>
+<dt id="ientry-idm45055141902256">org.freedesktop.ModemManager1.Sms:TeleserviceId, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.TeleserviceId">The "TeleserviceId" property</a>
+</dt>
+<dt id="ientry-idm45055147640352">org.freedesktop.ModemManager1.Sms:Text, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Text">The "Text" property</a>
+</dt>
+<dt id="ientry-idm45055139805408">org.freedesktop.ModemManager1.Sms:Timestamp, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp">The "Timestamp" property</a>
+</dt>
+<dt id="ientry-idm45055144349152">org.freedesktop.ModemManager1.Sms:Validity, <a class="indexterm" href="gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Validity">The "Validity" property</a>
+</dt>
+<dt id="ientry-idm45055144724192">MMSmsCdmaServiceCategory, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory">enum MMSmsCdmaServiceCategory</a>
+</dt>
+<dt id="ientry-idm45055144764720">MMSmsCdmaTeleserviceId, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId">enum MMSmsCdmaTeleserviceId</a>
+</dt>
+<dt id="ientry-idm45055145124032">MMSmsDeliveryState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMSmsDeliveryState">enum MMSmsDeliveryState</a>
+</dt>
+<dt id="ientry-idm45055145197952">MMSmsPduType, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMSmsPduType">enum MMSmsPduType</a>
+</dt>
+<dt id="ientry-idm45055145153968">MMSmsState, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMSmsState">enum MMSmsState</a>
+</dt>
+<dt id="ientry-idm45055144820976">MMSmsStorage, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMSmsStorage">enum MMSmsStorage</a>
+</dt>
+<dt id="ientry-idm45055144787792">MMSmsValidityType, <a class="indexterm" href="ModemManager-Flags-and-Enumerations.html#MMSmsValidityType">enum MMSmsValidityType</a>
+</dt>
+</dl>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/left-insensitive.png b/docs/reference/api/html/left-insensitive.png
new file mode 100644
index 00000000..3269393a
--- /dev/null
+++ b/docs/reference/api/html/left-insensitive.png
Binary files differ
diff --git a/docs/reference/api/html/left.png b/docs/reference/api/html/left.png
new file mode 100644
index 00000000..2abde032
--- /dev/null
+++ b/docs/reference/api/html/left.png
Binary files differ
diff --git a/docs/reference/api/html/ref-common-types.html b/docs/reference/api/html/ref-common-types.html
new file mode 100644
index 00000000..5f2356ff
--- /dev/null
+++ b/docs/reference/api/html/ref-common-types.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Part II. Common types and definitions: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="index.html" title="ModemManager Reference Manual">
+<link rel="prev" href="ref-overview-plugin-specific-modems.html" title="Plugin-specific Modems">
+<link rel="next" href="ModemManager-Version-checks.html" title="Version checks">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="ref-overview-plugin-specific-modems.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ModemManager-Version-checks.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="ref-common-types"></a>Part II. Common types and definitions</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt>
+<span class="refentrytitle"><a href="ModemManager-Version-checks.html">Version checks</a></span><span class="refpurpose"> — Version information in the API.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="ModemManager-Flags-and-Enumerations.html">Flags and Enumerations</a></span><span class="refpurpose"> — Common enumerations and types in the API.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="ModemManager-Errors.html">Errors</a></span><span class="refpurpose"> — Common errors in the API.</span>
+</dt>
+</dl>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-compat.html b/docs/reference/api/html/ref-compat.html
new file mode 100644
index 00000000..41c69c2c
--- /dev/null
+++ b/docs/reference/api/html/ref-compat.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Part VI. Compatibility with older versions: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="index.html" title="ModemManager Reference Manual">
+<link rel="prev" href="ch16s04.html" title="Simple connection">
+<link rel="next" href="ModemManager-API-break-replacements.html" title="API break replacements">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="ch16s04.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ModemManager-API-break-replacements.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="ref-compat"></a>Part VI. Compatibility with older versions</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc"><dt>
+<span class="refentrytitle"><a href="ModemManager-API-break-replacements.html">API break replacements</a></span><span class="refpurpose"></span>
+</dt></dl>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-bus-name.html b/docs/reference/api/html/ref-dbus-bus-name.html
new file mode 100644
index 00000000..9159d6d6
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-bus-name.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The org.freedesktop.ModemManager1 bus name: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<link rel="prev" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<link rel="next" href="ref-dbus-standard-interfaces.html" title="Standard interfaces">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-standard-interfaces.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-dbus-bus-name"></a>The <code class="literal">org.freedesktop.ModemManager1</code> bus name</h2></div></div></div>
+<p>
+ The D-Bus name <code class="literal">org.freedesktop.ModemManager1</code>
+ on the system bus is used by the ModemManager daemon.
+ </p>
+<p>
+ If this daemon isn't running, it will be started if D-Bus messages are
+ sent to the name.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-object-bearer.html b/docs/reference/api/html/ref-dbus-object-bearer.html
new file mode 100644
index 00000000..6b82df24
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-object-bearer.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The /org/freedesktop/ModemManager/Bearers objects: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html" title="org.freedesktop.ModemManager1.Modem.Oma">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Bearer.html" title="org.freedesktop.ModemManager1.Bearer">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Bearer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-dbus-object-bearer"></a>The <code class="literal">/org/freedesktop/ModemManager/Bearers</code> objects</h2></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Bearer.html">org.freedesktop.ModemManager1.Bearer</a></span><span class="refpurpose"> — The ModemManager Bearer interface.</span>
+</dt></dl></div>
+<p>
+ Bearer objects are owned and managed by specific
+ <a class="link" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">Modem</a> objects. A single Modem
+ may expose one or more Bearer objects, which can then be used to get the
+ modem into connected state.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-object-call.html b/docs/reference/api/html/ref-dbus-object-call.html
new file mode 100644
index 00000000..9ffde6a9
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-object-call.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The /org/freedesktop/ModemManager/Calls objects: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Sms.html" title="org.freedesktop.ModemManager1.Sms">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Call.html" title="org.freedesktop.ModemManager1.Call">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Sms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Call.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-dbus-object-call"></a>The <code class="literal">/org/freedesktop/ModemManager/Calls</code> objects</h2></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Call.html">org.freedesktop.ModemManager1.Call</a></span><span class="refpurpose"> — The ModemManager Call interface.</span>
+</dt></dl></div>
+<p>
+ Modems implementing the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html" title="org.freedesktop.ModemManager1.Modem.Voice">Voice interface</a>
+ will export one Call object for each Call managed in the device.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-object-manager.html b/docs/reference/api/html/ref-dbus-object-manager.html
new file mode 100644
index 00000000..a0c70f5c
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-object-manager.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The /org/freedesktop/ModemManager1 object: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<link rel="prev" href="ref-dbus-standard-interfaces-objectmanager.html" title="org.freedesktop.DBus.ObjectManager">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.html" title="org.freedesktop.ModemManager1">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-standard-interfaces-objectmanager.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-dbus-object-manager"></a>The <code class="literal">/org/freedesktop/ModemManager1</code> object</h2></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.html">org.freedesktop.ModemManager1</a></span><span class="refpurpose"> — The ModemManager Manager interface.</span>
+</dt></dl></div>
+<p>
+ The ModemManager process will export an object at the well-known
+ path <code class="literal">/org/freedesktop/ModemManager1</code>.
+ </p>
+<p>
+ This object, which implements the standard
+ <a class="link" href="ref-dbus-standard-interfaces-objectmanager.html" title="org.freedesktop.DBus.ObjectManager"><code class="literal">org.freedesktop.DBus.ObjectManager</code></a>, is responsible for managing the list of
+ <a class="link" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">Modem</a> objects.
+ </p>
+<p>
+ This object also controls any process-wide operation, such as the log
+ level being used by the daemon.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-object-modem.html b/docs/reference/api/html/ref-dbus-object-modem.html
new file mode 100644
index 00000000..d1c2501c
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-object-modem.html
@@ -0,0 +1,99 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The /org/freedesktop/ModemManager/Modems objects: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.html" title="org.freedesktop.ModemManager1">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Modem.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-dbus-object-modem"></a>The <code class="literal">/org/freedesktop/ModemManager/Modems</code> objects</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.html">org.freedesktop.ModemManager1.Modem</a></span><span class="refpurpose"> — The ModemManager Modem interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html">org.freedesktop.ModemManager1.Modem.Simple</a></span><span class="refpurpose"> — The ModemManager Simple interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html">org.freedesktop.ModemManager1.Modem.Modem3gpp</a></span><span class="refpurpose"> — The ModemManager 3GPP interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd</a></span><span class="refpurpose"> — The ModemManager 3GPP USSD interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html">org.freedesktop.ModemManager1.Modem.ModemCdma</a></span><span class="refpurpose"> — The ModemManager CDMA interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html">org.freedesktop.ModemManager1.Modem.Messaging</a></span><span class="refpurpose"> — The ModemManager Messaging interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html">org.freedesktop.ModemManager1.Modem.Location</a></span><span class="refpurpose"> — The ModemManager Location interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html">org.freedesktop.ModemManager1.Modem.Time</a></span><span class="refpurpose"> — The ModemManager Time interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html">org.freedesktop.ModemManager1.Modem.Voice</a></span><span class="refpurpose"> — The ModemManager Voice interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html">org.freedesktop.ModemManager1.Modem.Firmware</a></span><span class="refpurpose"> — The ModemManager Firmware interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html">org.freedesktop.ModemManager1.Modem.Signal</a></span><span class="refpurpose"> — The ModemManager Signal interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html">org.freedesktop.ModemManager1.Modem.Oma</a></span><span class="refpurpose"> — The ModemManager Open Mobile Alliance interface.</span>
+</dt>
+</dl></div>
+<p>
+ Modem objects are exported in DBus with the following path base:
+ <code class="literal">/org/freedesktop/ModemManager1/Modems/#</code>, where
+ <code class="literal">#</code> indicates a unique unsigned integer which identifies
+ the object.
+ </p>
+<p>
+ The Modem objects will export a generic
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">Modem interface</a>
+ which includes common features and actions applicable to most modem types.
+ This interface, among other actions, allows the management (creation,
+ listing, deletion) of
+ <a class="link" href="ref-dbus-object-bearer.html" title="The /org/freedesktop/ModemManager/Bearers objects">Bearer</a> objects which can
+ then be used to request the modem to get in connected state.
+ </p>
+<p>
+ Modem objects will also export the generic
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html" title="org.freedesktop.ModemManager1.Modem.Simple">Simple interface</a>.
+ This interface provides an easy access to the most simple and common
+ operations that may be performed with the modem, including connection and
+ disconnection. Users of the Simple interface do not need to take care of
+ getting the modem registered, and they also don't need to manage the
+ creation of bearers themselves. All the logic required to get the modem
+ connected or disconnected is handled by the Simple interface.
+ </p>
+<p>
+ Modems with specific 3GPP and/or CDMA capabilities will export modem type
+ specific interfaces, like the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html" title="org.freedesktop.ModemManager1.Modem.Modem3gpp">3GPP interface</a>
+ or the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html" title="org.freedesktop.ModemManager1.Modem.ModemCdma">CDMA interface</a>.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-object-sim.html b/docs/reference/api/html/ref-dbus-object-sim.html
new file mode 100644
index 00000000..db453ac5
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-object-sim.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The /org/freedesktop/ModemManager/SIMs objects: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Bearer.html" title="org.freedesktop.ModemManager1.Bearer">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Sim.html" title="org.freedesktop.ModemManager1.Sim">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Bearer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Sim.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-dbus-object-sim"></a>The <code class="literal">/org/freedesktop/ModemManager/SIMs</code> objects</h2></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Sim.html">org.freedesktop.ModemManager1.Sim</a></span><span class="refpurpose"> — The ModemManager SIM interface.</span>
+</dt></dl></div>
+<p>
+ Broadband modems usually need a SIM card to operate. Each
+ <a class="link" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">Modem</a> object will therefore
+ expose up to one SIM object, which allows SIM-specific actions such as PIN
+ unlocking.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-object-sms.html b/docs/reference/api/html/ref-dbus-object-sms.html
new file mode 100644
index 00000000..1c959ee4
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-object-sms.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The /org/freedesktop/ModemManager/SMSs objects: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Sim.html" title="org.freedesktop.ModemManager1.Sim">
+<link rel="next" href="gdbus-org.freedesktop.ModemManager1.Sms.html" title="org.freedesktop.ModemManager1.Sms">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Sim.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gdbus-org.freedesktop.ModemManager1.Sms.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-dbus-object-sms"></a>The <code class="literal">/org/freedesktop/ModemManager/SMSs</code> objects</h2></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Sms.html">org.freedesktop.ModemManager1.Sms</a></span><span class="refpurpose"> — The ModemManager SMS interface.</span>
+</dt></dl></div>
+<p>
+ Modems implementing the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html" title="org.freedesktop.ModemManager1.Modem.Messaging">Messaging interface</a>
+ will export one SMS object for each SMS stored in the device.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-standard-interfaces-introspectables.html b/docs/reference/api/html/ref-dbus-standard-interfaces-introspectables.html
new file mode 100644
index 00000000..8b888f78
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-standard-interfaces-introspectables.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.DBus.Introspectable: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-standard-interfaces.html" title="Standard interfaces">
+<link rel="prev" href="ref-dbus-standard-interfaces.html" title="Standard interfaces">
+<link rel="next" href="ref-dbus-standard-interfaces-objectmanager.html" title="org.freedesktop.DBus.ObjectManager">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-standard-interfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-standard-interfaces.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-standard-interfaces-objectmanager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="ref-dbus-standard-interfaces-introspectables"></a>org.freedesktop.DBus.Introspectable</h2></div></div></div>
+<p>
+ All objects (<a class="link" href="ref-dbus-object-manager.html" title="The /org/freedesktop/ModemManager1 object">Manager</a>,
+ <a class="link" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">Modems</a>,
+ <a class="link" href="ref-dbus-object-bearer.html" title="The /org/freedesktop/ModemManager/Bearers objects">Bearers</a>,
+ <a class="link" href="ref-dbus-object-sim.html" title="The /org/freedesktop/ModemManager/SIMs objects">SIMs</a>,
+ <a class="link" href="ref-dbus-object-sms.html" title="The /org/freedesktop/ModemManager/SMSs objects">SMSs</a>) exported at the
+ <a class="link" href="ref-dbus-bus-name.html" title="The org.freedesktop.ModemManager1 bus name"><code class="literal">org.freedesktop.ModemManager1</code></a>
+ bus name implement the standard
+ <a class="ulink" href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-introspectable" target="_top">
+ <code class="literal">org.freedesktop.DBus.Introspectable</code>
+ </a> interface. Objects implementing this interface will provide an
+ XML-based description of the object and its interfaces.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-standard-interfaces-objectmanager.html b/docs/reference/api/html/ref-dbus-standard-interfaces-objectmanager.html
new file mode 100644
index 00000000..91972100
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-standard-interfaces-objectmanager.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>org.freedesktop.DBus.ObjectManager: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus-standard-interfaces.html" title="Standard interfaces">
+<link rel="prev" href="ref-dbus-standard-interfaces-introspectables.html" title="org.freedesktop.DBus.Introspectable">
+<link rel="next" href="ref-dbus-object-manager.html" title="The /org/freedesktop/ModemManager1 object">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus-standard-interfaces.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-standard-interfaces-introspectables.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-object-manager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="ref-dbus-standard-interfaces-objectmanager"></a>org.freedesktop.DBus.ObjectManager</h2></div></div></div>
+<p>
+ The <a class="link" href="ref-dbus-object-manager.html" title="The /org/freedesktop/ModemManager1 object">Manager</a> object
+ exported at the
+ <a class="link" href="ref-dbus-bus-name.html" title="The org.freedesktop.ModemManager1 bus name"><code class="literal">org.freedesktop.ModemManager1</code></a>
+ bus name implements the standard
+ <a class="ulink" href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-objectmanager" target="_top">
+ <code class="literal">org.freedesktop.DBus.ObjectManager</code>
+ </a> interface. This interface, included in rev. 0.17 of the DBus
+ specification, allows a generic way to control the addition and removal
+ of Modem objects, as well as the addition and removal of interfaces in
+ the given objects.
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus-standard-interfaces.html b/docs/reference/api/html/ref-dbus-standard-interfaces.html
new file mode 100644
index 00000000..52e6bc80
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus-standard-interfaces.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Standard interfaces: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-dbus.html" title="Part IV. D-Bus Reference">
+<link rel="prev" href="ref-dbus-bus-name.html" title="The org.freedesktop.ModemManager1 bus name">
+<link rel="next" href="ref-dbus-standard-interfaces-introspectables.html" title="org.freedesktop.DBus.Introspectable">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-dbus.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-dbus-bus-name.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-standard-interfaces-introspectables.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-dbus-standard-interfaces"></a>Standard interfaces</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="ref-dbus-standard-interfaces.html#ref-dbus-standard-interfaces-properties">org.freedesktop.DBus.Properties</a></span></dt>
+<dt><span class="section"><a href="ref-dbus-standard-interfaces-introspectables.html">org.freedesktop.DBus.Introspectable</a></span></dt>
+<dt><span class="section"><a href="ref-dbus-standard-interfaces-objectmanager.html">org.freedesktop.DBus.ObjectManager</a></span></dt>
+</dl></div>
+<p>
+ Please refer to the
+ <a class="ulink" href="http://dbus.freedesktop.org/doc/dbus-specification.html" target="_top">
+ DBus specification at <code class="literal">freedesktop.org</code>
+ </a> for more information on how to use these standard interfaces.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="ref-dbus-standard-interfaces-properties"></a>org.freedesktop.DBus.Properties</h2></div></div></div>
+<p>
+ All objects (<a class="link" href="ref-dbus-object-manager.html" title="The /org/freedesktop/ModemManager1 object">Manager</a>,
+ <a class="link" href="ref-dbus-object-modem.html" title="The /org/freedesktop/ModemManager/Modems objects">Modems</a>,
+ <a class="link" href="ref-dbus-object-bearer.html" title="The /org/freedesktop/ModemManager/Bearers objects">Bearers</a>,
+ <a class="link" href="ref-dbus-object-sim.html" title="The /org/freedesktop/ModemManager/SIMs objects">SIMs</a>,
+ <a class="link" href="ref-dbus-object-sms.html" title="The /org/freedesktop/ModemManager/SMSs objects">SMSs</a>) exported at the
+ <a class="link" href="ref-dbus-bus-name.html" title="The org.freedesktop.ModemManager1 bus name"><code class="literal">org.freedesktop.ModemManager1</code></a>
+ bus name implement the standard
+ <a class="ulink" href="http://dbus.freedesktop.org/doc/dbus-specification.html#standard-interfaces-properties" target="_top">
+ <code class="literal">org.freedesktop.DBus.Properties</code>
+ </a> interface. Objects implementing this interface provide a
+ common way to query for property values and also a generic signal to
+ get notified about changes in those properties.
+ </p>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-dbus.html b/docs/reference/api/html/ref-dbus.html
new file mode 100644
index 00000000..e80a9622
--- /dev/null
+++ b/docs/reference/api/html/ref-dbus.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Part IV. D-Bus Reference: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="index.html" title="ModemManager Reference Manual">
+<link rel="prev" href="ModemManager-Common-udev-tags.html" title="Common udev tags">
+<link rel="next" href="ref-dbus-bus-name.html" title="The org.freedesktop.ModemManager1 bus name">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="ModemManager-Common-udev-tags.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-dbus-bus-name.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="ref-dbus"></a>Part IV. D-Bus Reference</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="chapter"><a href="ref-dbus-bus-name.html">The <code class="literal">org.freedesktop.ModemManager1</code> bus name</a></span></dt>
+<dt><span class="chapter"><a href="ref-dbus-standard-interfaces.html">Standard interfaces</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-dbus-standard-interfaces.html#ref-dbus-standard-interfaces-properties">org.freedesktop.DBus.Properties</a></span></dt>
+<dt><span class="section"><a href="ref-dbus-standard-interfaces-introspectables.html">org.freedesktop.DBus.Introspectable</a></span></dt>
+<dt><span class="section"><a href="ref-dbus-standard-interfaces-objectmanager.html">org.freedesktop.DBus.ObjectManager</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-manager.html">The <code class="literal">/org/freedesktop/ModemManager1</code> object</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.html">org.freedesktop.ModemManager1</a></span><span class="refpurpose"> — The ModemManager Manager interface.</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-modem.html">The <code class="literal">/org/freedesktop/ModemManager/Modems</code> objects</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.html">org.freedesktop.ModemManager1.Modem</a></span><span class="refpurpose"> — The ModemManager Modem interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Simple.html">org.freedesktop.ModemManager1.Modem.Simple</a></span><span class="refpurpose"> — The ModemManager Simple interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html">org.freedesktop.ModemManager1.Modem.Modem3gpp</a></span><span class="refpurpose"> — The ModemManager 3GPP interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd</a></span><span class="refpurpose"> — The ModemManager 3GPP USSD interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html">org.freedesktop.ModemManager1.Modem.ModemCdma</a></span><span class="refpurpose"> — The ModemManager CDMA interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html">org.freedesktop.ModemManager1.Modem.Messaging</a></span><span class="refpurpose"> — The ModemManager Messaging interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html">org.freedesktop.ModemManager1.Modem.Location</a></span><span class="refpurpose"> — The ModemManager Location interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Time.html">org.freedesktop.ModemManager1.Modem.Time</a></span><span class="refpurpose"> — The ModemManager Time interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Voice.html">org.freedesktop.ModemManager1.Modem.Voice</a></span><span class="refpurpose"> — The ModemManager Voice interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html">org.freedesktop.ModemManager1.Modem.Firmware</a></span><span class="refpurpose"> — The ModemManager Firmware interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Signal.html">org.freedesktop.ModemManager1.Modem.Signal</a></span><span class="refpurpose"> — The ModemManager Signal interface.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Modem.Oma.html">org.freedesktop.ModemManager1.Modem.Oma</a></span><span class="refpurpose"> — The ModemManager Open Mobile Alliance interface.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-bearer.html">The <code class="literal">/org/freedesktop/ModemManager/Bearers</code> objects</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Bearer.html">org.freedesktop.ModemManager1.Bearer</a></span><span class="refpurpose"> — The ModemManager Bearer interface.</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-sim.html">The <code class="literal">/org/freedesktop/ModemManager/SIMs</code> objects</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Sim.html">org.freedesktop.ModemManager1.Sim</a></span><span class="refpurpose"> — The ModemManager SIM interface.</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-sms.html">The <code class="literal">/org/freedesktop/ModemManager/SMSs</code> objects</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Sms.html">org.freedesktop.ModemManager1.Sms</a></span><span class="refpurpose"> — The ModemManager SMS interface.</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ref-dbus-object-call.html">The <code class="literal">/org/freedesktop/ModemManager/Calls</code> objects</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="gdbus-org.freedesktop.ModemManager1.Call.html">org.freedesktop.ModemManager1.Call</a></span><span class="refpurpose"> — The ModemManager Call interface.</span>
+</dt></dl></dd>
+</dl>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-migrating.html b/docs/reference/api/html/ref-migrating.html
new file mode 100644
index 00000000..056f57cc
--- /dev/null
+++ b/docs/reference/api/html/ref-migrating.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Part V. Migrating from ModemManager 0.6 to ModemManager 1.0: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="index.html" title="ModemManager Reference Manual">
+<link rel="prev" href="gdbus-org.freedesktop.ModemManager1.Call.html" title="org.freedesktop.ModemManager1.Call">
+<link rel="next" href="ch16.html" title="">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="gdbus-org.freedesktop.ModemManager1.Call.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch16.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="ref-migrating"></a>Part V. Migrating from ModemManager 0.6 to ModemManager 1.0</h1></div></div></div>
+<div class="partintro">
+<div></div>
+<p>
+ ModemManager 1.0 is a new major version of ModemManager that breaks both
+ API and ABI compared to previous versions. These changes allow better
+ managing new types of devices (e.g. those with multiple capabilities),
+ or those not based in AT commands for operation (e.g. QMI or MBIM modems).
+ </p>
+<p>
+ This section provides an introduction to the changes done in the DBus interface
+ with respect to the main operations performed with modems through ModemManager.
+ </p>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="chapter"><a href="ch16.html"></a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ch16.html#id-1.6.3.1">Listing available modems</a></span></dt>
+<dt><span class="section"><a href="ch16s02.html">PIN unlocking</a></span></dt>
+<dt><span class="section"><a href="ch16s03.html">Connection and disconnection</a></span></dt>
+<dt><span class="section"><a href="ch16s04.html">Simple connection</a></span></dt>
+</dl></dd>
+</dl>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-overview-introduction.html b/docs/reference/api/html/ref-overview-introduction.html
new file mode 100644
index 00000000..38345442
--- /dev/null
+++ b/docs/reference/api/html/ref-overview-introduction.html
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Introduction: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview.html" title="Part I. ModemManager Overview">
+<link rel="prev" href="ref-overview.html" title="Part I. ModemManager Overview">
+<link rel="next" href="ref-overview-modem-detection.html" title="Modem detection">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-overview.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-overview-modem-detection.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-overview-introduction"></a>Introduction</h2></div></div></div>
+<p>
+ ModemManager provides a unified high level API for communicating with mobile
+ broadband modems, regardless of the protocol used to communicate with the
+ actual device (Generic AT, vendor-specific AT, QCDM, QMI, MBIM...).
+ </p>
+<p><b>Using. </b>
+ ModemManager is a system daemon and is not meant to be used directly from
+ the command line. However, since it provides a DBus API, it is possible to use
+ 'dbus-send' commands or the new 'mmcli' command line interface to control it
+ from the terminal. The devices are queried from udev and automatically updated
+ based on hardware events, although a manual re-scan can also be requested to
+ look for RS232 modems.
+ </p>
+<p><b>Implementation. </b>
+ ModemManager is a DBus system bus activated service (meaning it's started
+ automatically when a request arrives). It is written in C, using glib and gio.
+ Several GInterfaces specify different features that the modems support,
+ including the generic MMIfaceModem3gpp and MMIfaceModemCdma which provice basic
+ operations for 3GPP (GSM, UMTS, LTE) or CDMA (CDMA1x, EV-DO) modems. If a given
+ feature is not available in the modem, the specific interface will not be
+ exported in DBus.
+ </p>
+<p><b>Plugins. </b>
+ Plugins are loaded on startup, and must implement the MMPlugin interface. It
+ consists of a couple of methods which tell the daemon whether the plugin
+ supports a port and to create custom MMBroadbandModem implementations. It most
+ likely makes sense to derive custom modem implementations from one of the
+ generic classes and just add (or override) operations which are not standard.
+ There are multiple fully working plugins in the plugins/ directory that can be
+ used as an example for writing new plugins. Writing new plugins is highly
+ encouraged! The plugin API is open for changes, so if you're writing a plugin
+ and need to add or change some public method, feel free to suggest it!
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-overview-modem-detection.html b/docs/reference/api/html/ref-overview-modem-detection.html
new file mode 100644
index 00000000..ab4528cf
--- /dev/null
+++ b/docs/reference/api/html/ref-overview-modem-detection.html
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Modem detection: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview.html" title="Part I. ModemManager Overview">
+<link rel="prev" href="ref-overview-introduction.html" title="Introduction">
+<link rel="next" href="ch02s02.html" title="Builds without udev support">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-overview-introduction.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch02s02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-overview-modem-detection"></a>Modem detection</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="ref-overview-modem-detection.html#id-1.2.3.2">Builds with udev support</a></span></dt>
+<dt><span class="section"><a href="ch02s02.html">Builds without udev support</a></span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.3.2"></a>Builds with udev support</h2></div></div></div>
+<p>
+ ModemManager requires <span class="emphasis"><em>udev</em></span>-powered Linux kernels in order
+ to get notified of possible available Modems. udev will report each of the ports
+ found in the device, and ModemManager will consider for probing each of the ports
+ marked with the <span class="emphasis"><em>ID_MM_CANDIDATE</em></span> tag in udev.
+ </p>
+<p>
+ Aditionally, users of RS232-based devices may need to request additional manual
+ scans via DBus, in order to detect modems that may have been connected to
+ RS232 to USB adapters. In this case, udev just knows about the USB adapter being
+ connected, not about the RS232 modem connected to the adapter, if any.
+ </p>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-overview-modem-filter.html b/docs/reference/api/html/ref-overview-modem-filter.html
new file mode 100644
index 00000000..32cdf3e9
--- /dev/null
+++ b/docs/reference/api/html/ref-overview-modem-filter.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Modem filter: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview.html" title="Part I. ModemManager Overview">
+<link rel="prev" href="ch02s02.html" title="Builds without udev support">
+<link rel="next" href="ch03s02.html" title="Filter policies">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch02s02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-overview-modem-filter"></a>Modem filter</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="ref-overview-modem-filter.html#id-1.2.4.4">Filter rules</a></span></dt>
+<dt><span class="section"><a href="ch03s02.html">Filter policies</a></span></dt>
+</dl></div>
+<p>
+ ModemManager will not probe all TTYs, NET and cdc-wdm ports found in the system,
+ as this may end up interfering e.g. with TTYs that have nothing to do with modem
+ devices.
+ </p>
+<p>
+ The daemon comes with several predefined <span class="emphasis"><em>filter policies</em></span>, each
+ of them composed of one or more <span class="emphasis"><em>filter rules</em></span>.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.4"></a>Filter rules</h2></div></div></div>
+<p>
+ The device filter in ModemManager defines the following independent filter rules. The
+ predefined filter policies are based on one or more of these predefined filter rules.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_EXPLICIT_WHITELIST</em></span></p>
+<p>
+ This filter allows users to manually tag devices and/or device ports with the
+ <span class="emphasis"><em>ID_MM_DEVICE_PROCESS</em></span> udev tag. If the filter finds this tag,
+ the device and/or device ports will be automatically accepted and port probing
+ will be allowed.
+ </p>
+<pre class="programlisting">
+$ sudo vim /lib/udev/rules.d/78-mm-whitelist-internal-modem.rules
+ ACTION!="add|change|move", GOTO="mm_whitelist_internal_modem_end"
+ ATTRS{idVendor}=="1199", ATTRS{idProduct}=="a001", ENV{ID_MM_DEVICE_PROCESS}="1"
+ LABEL="mm_whitelist_internal_modem_end"
+// Apply new rules without reboot
+$ sudo udevadm control --reload
+$ sudo udevadm trigger
+ </pre>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_VIRTUAL</em></span></p>
+<p>
+ This filter will automatically flag as forbidden all ports exposed by virtual
+ devices, like the 'lo' network interface or the tty0, tty1... virtual terminals.
+ There is no reason to disable this filter, except for testing purposes.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_NET</em></span></p>
+<p>
+ This filter will automatically flag as allowed all network ports exposed by
+ devices. Unless there is a will to explicitly forbid network ports, this filter
+ should always be enabled.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_CDC_WDM</em></span></p>
+<p>
+ This filter will automatically flag as allowed all cdc-wdm ports exposed by
+ devices. Unless there is a will to explicitly forbid the cdc-wdm ports exposed
+ by qmi_wwan, cdc_mbim or huawei-cdc-ncm kernel drivers, this filter should always
+ be enabled.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_TTY, MM_FILTER_RULE_TTY_DEFAULT_ALLOWED and MM_FILTER_RULE_TTY_DEFAULT_FORBIDDEN</em></span></p>
+<p>
+ If the MM_FILTER_RULE_TTY filter is disabled, no TTY port will be allowed. If this
+ filter is enabled, TTY ports will only be allowed if the TTY-specific filters (defined
+ next) allow it.
+ </p>
+<p>
+ The MM_FILTER_RULE_TTY_DEFAULT_ALLOWED and MM_FILTER_RULE_TTY_DEFAULT_FORBIDDEN rules allow
+ defining what happens when a TTY port isn't explicitly forbidden or accepted by any of
+ the TTY-specific filters. When MM_FILTER_RULE_TTY is enabled, one of these other two options
+ must be set.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_TTY_BLACKLIST</em></span></p>
+<p>
+ This filter will not allow probing any of the devices flagged as
+ <span class="emphasis"><em>ID_MM_DEVICE_IGNORE</em></span>, like the ones in the default blacklist
+ shipped by ModemManager.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_TTY_MANUAL_SCAN_ONLY</em></span></p>
+<p>
+ This filter will not allow automatic probing any of the devices flagged as
+ <span class="emphasis"><em>ID_MM_DEVICE_MANUAL_SCAN_ONLY</em></span>, like the ones in the default
+ USB serial adapters greylist shipped by ModemManager. Devices flagged like
+ this will only be probed when a manual scan is requested via the
+ <a class="link" href="gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ScanDevices" title="The ScanDevices() method">ScanDevices</a>
+ method.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_TTY_PLATFORM_DRIVER</em></span></p>
+<p>
+ If this filter is enabled, all platform TTY ports not explicitly flagged with the
+ <span class="emphasis"><em>ID_MM_PLATFORM_DRIVER_PROBE</em></span> will be forbidden. If the flag
+ is found in a platform TTY port, port probing will be allowed directly.
+ </p>
+<p>
+ Note that this filter is obsoleted by the more generic MM_FILTER_RULE_EXPLICIT_WHITELIST
+ filter. It is maintained for backwards compatibility with older ModemManager versions.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_TTY_DRIVER</em></span></p>
+<p>
+ If this filter is enabled, all TTY ports managed by modem-specific kernel drivers will be
+ allowed automatically.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>FILTER_RULE_TTY_ACM_INTERFACE</em></span></p>
+<p>
+ If this filter is enabled, all TTY ports managed by the cdc-acm kernel driver with
+ class=2/subclass=2/protocol=1 (AT command capable ttyACM port) will be allowed
+ automatically.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>MM_FILTER_RULE_TTY_WITH_NET</em></span></p>
+<p>
+ If this filter is enabled, all TTY ports for devices that also expose a network
+ interface port will be allowed automatically.
+ </p>
+</li>
+</ul></div>
+<p>
+ </p>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-overview-modem-object-creation.html b/docs/reference/api/html/ref-overview-modem-object-creation.html
new file mode 100644
index 00000000..3d3b99c8
--- /dev/null
+++ b/docs/reference/api/html/ref-overview-modem-object-creation.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Modem object creation: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview.html" title="Part I. ModemManager Overview">
+<link rel="prev" href="ch04s04.html" title="Probing setup examples">
+<link rel="next" href="ref-overview-modem-state-machine.html" title="Modem state machine">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch04s04.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-overview-modem-state-machine.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-overview-modem-object-creation"></a>Modem object creation</h2></div></div></div>
+<p>
+ Once a port passes all probing filters of a given plugin, the plugin will grab
+ the port. When the first port of a given device is grabbed, the plugin will create
+ the required Modem object.
+ </p>
+<p>
+ While preparing to get the Modem object grab the specific port probed, udev-based
+ port type hints can be used to specify AT port flags (e.g. if a port is to be
+ considered primary, secondary or for PPP).
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-overview-modem-port-probing.html b/docs/reference/api/html/ref-overview-modem-port-probing.html
new file mode 100644
index 00000000..fd7d840b
--- /dev/null
+++ b/docs/reference/api/html/ref-overview-modem-port-probing.html
@@ -0,0 +1,138 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Port probing: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview.html" title="Part I. ModemManager Overview">
+<link rel="prev" href="ch03s02.html" title="Filter policies">
+<link rel="next" href="ch04s02.html" title="Probing sequence">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch04s02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-overview-modem-port-probing"></a>Port probing</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="ref-overview-modem-port-probing.html#id-1.2.5.4">Pre-probing filters</a></span></dt>
+<dt><span class="section"><a href="ch04s02.html">Probing sequence</a></span></dt>
+<dt><span class="section"><a href="ch04s03.html">Post-probing filters</a></span></dt>
+<dt><span class="section"><a href="ch04s04.html">Probing setup examples</a></span></dt>
+</dl></div>
+<p>
+ Whenever a new device is detected by ModemManager, port probing process will
+ get started, so that we can determine which kind of ports we have, and also
+ which plugin we need to use for the specific device. Devices may expose one or
+ more ports, and all of them will follow the same probing logic.
+ </p>
+<p>
+ The whole probing process, including pre-probing and post-probing filters, is
+ implemented in the core ModemManager daemon. Plugins will just configure their
+ own special needs in the probing process, so that only the steps required by the
+ given plugin are executed. For example, plugins which do not support RS232
+ devices will not need AT-based vendor or product filters.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.5.4"></a>Pre-probing filters</h2></div></div></div>
+<p>
+ Pre-probing filters are those which control whether the probing, as
+ requested by the specific plugin, takes place.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p><span class="emphasis"><em>Allowed vendor IDs</em></span></p>
+<p>
+ Plugins can provide a list of udev-reported vendor IDs to be used as
+ pre-probing filters. If the vendor ID reported by the device via udev
+ is found in the list provided by the plugin, port probing will be
+ launched as requested by the given plugin.
+ </p>
+<p>
+ This filter is specified by the <span class="type">MM_PLUGIN_ALLOWED_VENDOR_IDS</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Product IDs</em></span></p>
+<p>
+ Plugins can provide a list of udev-reported pairs of vendor and product
+ IDs to be used as pre-probing filters.
+ </p>
+<p>
+ If the vendor ID and product ID pair reported by the device via udev is
+ found in the list of 'allowed' pairs provided by the plugin, port probing
+ will be launched as requested by the given plugin. This additional filter
+ should be used when the plugin is expected to work only with a given
+ specific product of a given vendor.
+ </p>
+<p>
+ If the vendor ID and product ID pair reported by the device via udev is
+ found in the list of 'forbidden' pairs provided by the plugin, port probing
+ will not be launched by this plugin. This additional filter
+ should be used when the plugin supports all devices of a given vendor
+ except for some specific ones.
+ </p>
+<p>
+ These filters are specified by the <span class="type">MM_PLUGIN_ALLOWED_PRODUCT_IDS</span>
+ and <span class="type">MM_PLUGIN_FORBIDDEN_PRODUCT_IDS</span> properties in the
+ <span class="structname">MMPlugin</span> object provided by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Subsystems</em></span></p>
+<p>
+ Plugins can specify which subsystems they expect, so that we filter out
+ any port detected with a subsystem not listed by the plugin.
+ </p>
+<p>
+ This filter is specified by the <span class="type">MM_PLUGIN_ALLOWED_SUBSYSTEMS</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Drivers</em></span></p>
+<p>
+ Plugins can specify which drivers they expect, so that we filter out
+ any port detected being managed by a driver not listed by the plugin.
+ </p>
+<p>
+ Plugins can also specify which drivers they do not expect, so that we
+ filter out any port detected being managed by a driver listed by the plugin.
+ </p>
+<p>
+ These filters are specified by the <span class="type">MM_PLUGIN_ALLOWED_DRIVERS</span>
+ and <span class="type">MM_PLUGIN_FORBIDDEN_DRIVERS</span> properties in the
+ <span class="structname">MMPlugin</span> object provided by the plugin.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>udev tags</em></span></p>
+<p>
+ Plugins can provide a list of udev tags, so that we filter out
+ any port detected which doesn't expose any of the given tags.
+ </p>
+<p>
+ This filter is specified by the <span class="type">MM_PLUGIN_ALLOWED_UDEV_TAGS</span>
+ property in the <span class="structname">MMPlugin</span> object provided
+ by the plugin.
+ </p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-overview-modem-state-machine.html b/docs/reference/api/html/ref-overview-modem-state-machine.html
new file mode 100644
index 00000000..1d63ae6d
--- /dev/null
+++ b/docs/reference/api/html/ref-overview-modem-state-machine.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Modem state machine: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview.html" title="Part I. ModemManager Overview">
+<link rel="prev" href="ref-overview-modem-object-creation.html" title="Modem object creation">
+<link rel="next" href="ch06s02.html" title="Enabling">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-overview-modem-object-creation.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch06s02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-overview-modem-state-machine"></a>Modem state machine</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="ref-overview-modem-state-machine.html#id-1.2.7.5">Initialization</a></span></dt>
+<dt><span class="section"><a href="ch06s02.html">Enabling</a></span></dt>
+<dt><span class="section"><a href="ch06s03.html">Connection &amp; disconnection</a></span></dt>
+<dt><span class="section"><a href="ch06s04.html">Disabling</a></span></dt>
+</dl></div>
+<p>
+ Once all ports of a given modem have been probed and grabbed by a newly created
+ Modem object, ModemManager will start the global state machine for the modem, as
+ defined in the picture below.
+ </p>
+<div class="figure">
+<a name="mm-modemmanager-states"></a><p class="title"><b>Figure 1. ModemManager states</b></p>
+<div class="figure-contents"><div><img src="ModemManager-states.png" alt="ModemManager states"></div></div>
+</div>
+<br class="figure-break"><p>
+ The state machine of a modem can be summarized in 5 main sequences:
+ initialization, enabling, connection, disconnection and disabling.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.7.5"></a>Initialization</h2></div></div></div>
+<p>
+ The modem initialization sequence starts only when all ports
+ have been probed and grabbed by a given plugin. This is done so that the proper
+ AT port (that suggested to be Primary) is used as control port.
+ </p>
+<p>
+ The global initialization sequence is itself splitted into N per-interface
+ initialization steps (being N the number of interfaces implemented by the
+ modem object). The following list provides the steps required in the
+ initialization sequence of a Broadband modem object.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p><span class="emphasis"><em>Modem interface initialization</em></span></p>
+<p>
+ The <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">Modem interface</a>
+ provides common actions and information available in the majority of the modems
+ (including Broadband-specific items which won't be implemented by POTS modems).
+ </p>
+<p>
+ One of the key things done during the initialization of this interface is the
+ <span class="emphasis"><em>checking of supported capabilities</em></span>. Broadband modem objects
+ are able to handle 3GPP-only, CDMA-only and mixed 3GPP+CDMA modems, but in order
+ to properly handle the distinctions required in these, ModemManager first needs
+ to know exactly which is the current set of capabilities.
+ </p>
+<p>
+ The other key step in this sequence involves <span class="emphasis"><em>checking the lock status
+ of the modem and/or SIM </em></span>. If the modem/SIM is found to be locked, the
+ whole initialization sequence is halted and the modem is left in a locked state
+ until unlocked by the user. Note, therefore, that modems that are locked will not
+ expose additional feature-specific DBus interfaces until they get unlocked.
+ </p>
+<div class="note"><p>
+ It may be the case that some of the steps in the initialization of the Modem
+ interface require the modem itself to be unlocked. If the modem is found locked
+ during the first initialization attempt, as soon as it gets unlocked the
+ initialization sequence will be re-executed.
+ </p></div>
+</li>
+<li class="listitem">
+<span class="emphasis"><em>3GPP interface initialization</em></span><p>
+ The <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html" title="org.freedesktop.ModemManager1.Modem.Modem3gpp">3GPP interface</a>
+ provides common actions and setup for modems which provide 3GPP capabilities. Therefore,
+ this interface initialization sequence will only be run in 3GPP-enabled modems.
+ </p>
+</li>
+<li class="listitem">
+<span class="emphasis"><em>CDMA interface initialization</em></span><p>
+ The <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html" title="org.freedesktop.ModemManager1.Modem.ModemCdma">CDMA interface</a>
+ provides common actions and setup for modems which provide CDMA capabilities. Therefore,
+ this interface initialization sequence will only be run in CDMA-enabled modems.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Additional feature-specific interface initializations</em></span></p>
+<p>
+ Modems with additional features will export feature-specific interfaces, such as
+ the <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html" title="org.freedesktop.ModemManager1.Modem.Location">Location</a> or
+ the <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html" title="org.freedesktop.ModemManager1.Modem.Messaging">Messaging</a>
+ ones.
+ </p>
+<p>
+ These interfaces also have their own initialization sequences, where the first step
+ in the sequence is always the check of whether the given modem supports the given feature.
+ In other words, modems will only end up exporting the interfaces for the features they
+ support.
+ </p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-overview-plugin-specific-modems.html b/docs/reference/api/html/ref-overview-plugin-specific-modems.html
new file mode 100644
index 00000000..bb953f59
--- /dev/null
+++ b/docs/reference/api/html/ref-overview-plugin-specific-modems.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Plugin-specific Modems: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="ref-overview.html" title="Part I. ModemManager Overview">
+<link rel="prev" href="ch06s04.html" title="Disabling">
+<link rel="next" href="ref-common-types.html" title="Part II. Common types and definitions">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch06s04.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-common-types.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-overview-plugin-specific-modems"></a>Plugin-specific Modems</h2></div></div></div>
+<p>
+ ModemManager plugins exist in order to handle all non-standard vendor-specific behaviour
+ that needs to get supported.
+ </p>
+<p>
+ Plugins will provide their own Modem object implementations, usually subclassing the
+ generic <span class="structname">MMBroadbandModem</span> object. As previously explained, this
+ object implements every interface that may be exported by the Modem object in DBus; and
+ then, depending on the per-interface support checks, the interface will end up being
+ really exported or not.
+ </p>
+<p>
+ Each interface defines every step to be run during the initialization, enabling or
+ disabling sequences. Then, the object implementing the interface may or may not provide
+ the implementation of such step. By default, the generic
+ <span class="structname">MMBroadbandModem</span> object implements already most of the steps
+ in the interfaces providing common features:
+ </p>
+<div class="figure">
+<a name="mm-modemmanager-interface-initialization-sequence"></a><p class="title"><b>Figure 2. Modem interface initialization sequence</b></p>
+<div class="figure-contents"><div><img src="ModemManager-interface-initialization-sequence.png" alt="Modem interface initialization sequence"></div></div>
+</div>
+<br class="figure-break"><p>
+ Vendor-specific subclasses of <span class="structname">MMBroadbandModem</span> are then able to
+ either provide their own implementation of a given step (in the image below, a custom
+ implementation for capabilities checking); or even completely disable the step if they
+ know that there is no way to run it (in the image below, revision string loading is
+ removed).
+ </p>
+<div class="figure">
+<a name="mm-modemmanager-interface-initialization-sequence-subclassed"></a><p class="title"><b>Figure 3. Modem interface initialization sequence subclassed</b></p>
+<div class="figure-contents"><div><img src="ModemManager-interface-initialization-sequence-subclassed.png" alt="Modem interface initialization sequence subclassed"></div></div>
+</div>
+<br class="figure-break"><p>
+ These subclass-able steps are all implemented as standard GIO asynchronous functions,
+ so subclassing a step involves implementing both the async method which receives the
+ input arguments to the action and the corresponding <code class="literal"><code class="function">_finish()</code></code> method
+ which provides the results of the action once the operation is ready.
+ </p>
+<p>
+ It is worth noting that these steps and the asynchronous methods implementing them
+ don't assume that an AT port will be used to implement the real action. This means
+ that any other kind of port may be really used (e.g. QCDM or QMI) in the implementation,
+ or even that a static reply can be returned (e.g. Iridium modems will always report
+ "Iridium" as current OperatorName).
+ </p>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-overview.html b/docs/reference/api/html/ref-overview.html
new file mode 100644
index 00000000..fbca2aa9
--- /dev/null
+++ b/docs/reference/api/html/ref-overview.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Part I. ModemManager Overview: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="index.html" title="ModemManager Reference Manual">
+<link rel="prev" href="index.html" title="ModemManager Reference Manual">
+<link rel="next" href="ref-overview-introduction.html" title="Introduction">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ref-overview-introduction.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="ref-overview"></a>Part I. ModemManager Overview</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="chapter"><a href="ref-overview-introduction.html">Introduction</a></span></dt>
+<dt><span class="chapter"><a href="ref-overview-modem-detection.html">Modem detection</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-overview-modem-detection.html#id-1.2.3.2">Builds with udev support</a></span></dt>
+<dt><span class="section"><a href="ch02s02.html">Builds without udev support</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-overview-modem-filter.html">Modem filter</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-overview-modem-filter.html#id-1.2.4.4">Filter rules</a></span></dt>
+<dt><span class="section"><a href="ch03s02.html">Filter policies</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-overview-modem-port-probing.html">Port probing</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-overview-modem-port-probing.html#id-1.2.5.4">Pre-probing filters</a></span></dt>
+<dt><span class="section"><a href="ch04s02.html">Probing sequence</a></span></dt>
+<dt><span class="section"><a href="ch04s03.html">Post-probing filters</a></span></dt>
+<dt><span class="section"><a href="ch04s04.html">Probing setup examples</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-overview-modem-object-creation.html">Modem object creation</a></span></dt>
+<dt><span class="chapter"><a href="ref-overview-modem-state-machine.html">Modem state machine</a></span></dt>
+<dd><dl>
+<dt><span class="section"><a href="ref-overview-modem-state-machine.html#id-1.2.7.5">Initialization</a></span></dt>
+<dt><span class="section"><a href="ch06s02.html">Enabling</a></span></dt>
+<dt><span class="section"><a href="ch06s03.html">Connection &amp; disconnection</a></span></dt>
+<dt><span class="section"><a href="ch06s04.html">Disabling</a></span></dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ref-overview-plugin-specific-modems.html">Plugin-specific Modems</a></span></dt>
+</dl>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/ref-udev.html b/docs/reference/api/html/ref-udev.html
new file mode 100644
index 00000000..e7ed01ed
--- /dev/null
+++ b/docs/reference/api/html/ref-udev.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Part III. Common udev tag definitions: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="ModemManager Reference Manual">
+<link rel="up" href="index.html" title="ModemManager Reference Manual">
+<link rel="prev" href="ModemManager-Errors.html" title="Errors">
+<link rel="next" href="ModemManager-Common-udev-tags.html" title="Common udev tags">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="ModemManager-Errors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ModemManager-Common-udev-tags.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="ref-udev"></a>Part III. Common udev tag definitions</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc"><dt>
+<span class="refentrytitle"><a href="ModemManager-Common-udev-tags.html">Common udev tags</a></span><span class="refpurpose"> — generic udev tags supported</span>
+</dt></dl>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/api/html/right-insensitive.png b/docs/reference/api/html/right-insensitive.png
new file mode 100644
index 00000000..4c95785b
--- /dev/null
+++ b/docs/reference/api/html/right-insensitive.png
Binary files differ
diff --git a/docs/reference/api/html/right.png b/docs/reference/api/html/right.png
new file mode 100644
index 00000000..76260ec8
--- /dev/null
+++ b/docs/reference/api/html/right.png
Binary files differ
diff --git a/docs/reference/api/html/style.css b/docs/reference/api/html/style.css
new file mode 100644
index 00000000..4be4ede1
--- /dev/null
+++ b/docs/reference/api/html/style.css
@@ -0,0 +1,483 @@
+body
+{
+ font-family: cantarell, sans-serif;
+}
+.synopsis, .classsynopsis
+{
+ /* tango:aluminium 1/2 */
+ background: #eeeeec;
+ background: rgba(238, 238, 236, 0.5);
+ border: solid 1px rgb(238, 238, 236);
+ padding: 0.5em;
+}
+.programlisting
+{
+ /* tango:sky blue 0/1 */
+ /* fallback for no rgba support */
+ background: #e6f3ff;
+ border: solid 1px #729fcf;
+ background: rgba(114, 159, 207, 0.1);
+ border: solid 1px rgba(114, 159, 207, 0.2);
+ padding: 0.5em;
+}
+.variablelist
+{
+ padding: 4px;
+ margin-left: 3em;
+}
+.variablelist td:first-child
+{
+ vertical-align: top;
+}
+
+span.nowrap {
+ white-space: nowrap;
+}
+
+div.gallery-float
+{
+ float: left;
+ padding: 10px;
+}
+div.gallery-float img
+{
+ border-style: none;
+}
+div.gallery-spacer
+{
+ clear: both;
+}
+
+a, a:visited
+{
+ text-decoration: none;
+ /* tango:sky blue 2 */
+ color: #3465a4;
+}
+a:hover
+{
+ text-decoration: underline;
+ /* tango:sky blue 1 */
+ color: #729fcf;
+}
+
+div.informaltable table
+{
+ border-collapse: separate;
+ border-spacing: 1em 0.3em;
+ border: none;
+}
+
+div.informaltable table td, div.informaltable table th
+{
+ vertical-align: top;
+}
+
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.parameter_name,
+.struct_member_name,
+.union_member_name,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword
+{
+ text-align: right;
+}
+
+/* dim non-primary columns */
+.c_punctuation,
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword,
+.property_flags,
+.signal_flags,
+.parameter_annotations,
+.enum_member_annotations,
+.struct_member_annotations,
+.union_member_annotations
+{
+ color: #888a85;
+}
+
+.function_type a,
+.function_type a:visited,
+.function_type a:hover,
+.property_type a,
+.property_type a:visited,
+.property_type a:hover,
+.signal_type a,
+.signal_type a:visited,
+.signal_type a:hover,
+.signal_flags a,
+.signal_flags a:visited,
+.signal_flags a:hover
+{
+ color: #729fcf;
+}
+
+td p
+{
+ margin: 0.25em;
+}
+
+div.table table
+{
+ border-collapse: collapse;
+ border-spacing: 0px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+}
+
+div.table table td, div.table table th
+{
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+ padding: 3px;
+ vertical-align: top;
+}
+
+div.table table th
+{
+ /* tango:aluminium 2 */
+ background-color: #d3d7cf;
+}
+
+h4
+{
+ color: #555753;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+hr
+{
+ /* tango:aluminium 1 */
+ color: #d3d7cf;
+ background: #d3d7cf;
+ border: none 0px;
+ height: 1px;
+ clear: both;
+ margin: 2.0em 0em 2.0em 0em;
+}
+
+dl.toc dt
+{
+ padding-bottom: 0.25em;
+}
+
+dl.toc > dt
+{
+ padding-top: 0.25em;
+ padding-bottom: 0.25em;
+ font-weight: bold;
+}
+
+dl.toc > dl
+{
+ padding-bottom: 0.5em;
+}
+
+.parameter
+{
+ font-style: normal;
+}
+
+.footer
+{
+ padding-top: 3.5em;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ text-align: center;
+ font-size: 80%;
+}
+
+.informalfigure,
+.figure
+{
+ margin: 1em;
+}
+
+.informalexample,
+.example
+{
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+.warning
+{
+ /* tango:orange 0/1 */
+ background: #ffeed9;
+ background: rgba(252, 175, 62, 0.1);
+ border-color: #ffb04f;
+ border-color: rgba(252, 175, 62, 0.2);
+}
+.note
+{
+ /* tango:chameleon 0/0.5 */
+ background: #d8ffb2;
+ background: rgba(138, 226, 52, 0.1);
+ border-color: #abf562;
+ border-color: rgba(138, 226, 52, 0.2);
+}
+div.blockquote
+{
+ border-color: #eeeeec;
+}
+.note, .warning, div.blockquote
+{
+ padding: 0.5em;
+ border-width: 1px;
+ border-style: solid;
+ margin: 2em;
+}
+.note p, .warning p
+{
+ margin: 0;
+}
+
+div.warning h3.title,
+div.note h3.title
+{
+ display: none;
+}
+
+p + div.section
+{
+ margin-top: 1em;
+}
+
+div.refnamediv,
+div.refsynopsisdiv,
+div.refsect1,
+div.refsect2,
+div.toc,
+div.section
+{
+ margin-bottom: 1em;
+}
+
+/* blob links */
+h2 .extralinks, h3 .extralinks
+{
+ float: right;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+.lineart
+{
+ color: #d3d7cf;
+ font-weight: normal;
+}
+
+.annotation
+{
+ /* tango:aluminium 5 */
+ color: #555753;
+ font-weight: normal;
+}
+
+.structfield
+{
+ font-style: normal;
+ font-weight: normal;
+}
+
+acronym,abbr
+{
+ border-bottom: 1px dotted gray;
+}
+
+/* code listings */
+
+.listing_code .programlisting .normal,
+.listing_code .programlisting .normal a,
+.listing_code .programlisting .number,
+.listing_code .programlisting .cbracket,
+.listing_code .programlisting .symbol { color: #555753; }
+.listing_code .programlisting .comment,
+.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
+.listing_code .programlisting .function,
+.listing_code .programlisting .function a,
+.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
+.listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */
+.listing_code .programlisting .keyword,
+.listing_code .programlisting .usertype,
+.listing_code .programlisting .type,
+.listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */
+
+.listing_frame {
+ /* tango:sky blue 1 */
+ border: solid 1px #729fcf;
+ border: solid 1px rgba(114, 159, 207, 0.2);
+ padding: 0px;
+}
+
+.listing_lines, .listing_code {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0.5em;
+}
+.listing_lines {
+ /* tango:sky blue 0.5 */
+ background: #a6c5e3;
+ background: rgba(114, 159, 207, 0.2);
+ /* tango:aluminium 6 */
+ color: #2e3436;
+}
+.listing_code {
+ /* tango:sky blue 0 */
+ background: #e6f3ff;
+ background: rgba(114, 159, 207, 0.1);
+}
+.listing_code .programlisting {
+ /* override from previous */
+ border: none 0px;
+ padding: 0px;
+ background: none;
+}
+.listing_lines pre, .listing_code pre {
+ margin: 0px;
+}
+
+@media screen {
+ /* these have a <sup> as a first child, but since there are no parent selectors
+ * we can't use that. */
+ a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 2.5em;
+ padding-bottom: 500px;
+ max-width: 60em;
+ }
+ p
+ {
+ max-width: 60em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ background: #e2e2e2;
+ border-bottom: solid 1px #babdb6;
+ border-spacing: 5px;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ z-index: 10;
+ }
+ table.navigation#top td
+ {
+ padding-left: 6px;
+ padding-right: 6px;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:sky blue 3 */
+ color: #204a87;
+ }
+ .navigation a:hover
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ }
+ td.shortcuts
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+ td.shortcuts .dim
+ {
+ color: #babdb6;
+ }
+ .navigation .title
+ {
+ font-size: 80%;
+ max-width: none;
+ margin: 0px;
+ font-weight: normal;
+ }
+}
+@media screen and (min-width: 60em) {
+ /* screen larger than 60em */
+ body { margin: auto; }
+}
+@media screen and (max-width: 60em) {
+ /* screen less than 60em */
+ #nav_hierarchy { display: none; }
+ #nav_interfaces { display: none; }
+ #nav_prerequisites { display: none; }
+ #nav_derived_interfaces { display: none; }
+ #nav_implementations { display: none; }
+ #nav_child_properties { display: none; }
+ #nav_style_properties { display: none; }
+ #nav_index { display: none; }
+ #nav_glossary { display: none; }
+ .gallery_image { display: none; }
+ .property_flags { display: none; }
+ .signal_flags { display: none; }
+ .parameter_annotations { display: none; }
+ .enum_member_annotations { display: none; }
+ .struct_member_annotations { display: none; }
+ .union_member_annotations { display: none; }
+ /* now that a column is hidden, optimize space */
+ col.parameters_name { width: auto; }
+ col.parameters_description { width: auto; }
+ col.struct_members_name { width: auto; }
+ col.struct_members_description { width: auto; }
+ col.enum_members_name { width: auto; }
+ col.enum_members_description { width: auto; }
+ col.union_members_name { width: auto; }
+ col.union_members_description { width: auto; }
+ .listing_lines { display: none; }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ background: #e2e2e2;
+ border: solid 1px #babdb6;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
diff --git a/docs/reference/api/html/up-insensitive.png b/docs/reference/api/html/up-insensitive.png
new file mode 100644
index 00000000..f4049860
--- /dev/null
+++ b/docs/reference/api/html/up-insensitive.png
Binary files differ
diff --git a/docs/reference/api/html/up.png b/docs/reference/api/html/up.png
new file mode 100644
index 00000000..80b4b37e
--- /dev/null
+++ b/docs/reference/api/html/up.png
Binary files differ
diff --git a/docs/reference/libmm-glib/Makefile.in b/docs/reference/libmm-glib/Makefile.in
new file mode 100644
index 00000000..cd70fd7d
--- /dev/null
+++ b/docs/reference/libmm-glib/Makefile.in
@@ -0,0 +1,912 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- mode: makefile -*-
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = docs/reference/libmm-glib
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = version.xml
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.xml.in \
+ $(top_srcdir)/gtk-doc.make
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# Logos
+LOGOS_PNG = \
+ $(top_srcdir)/data/ModemManager-logo-square.png \
+ $(top_srcdir)/data/ModemManager-logo-wide.png \
+ $(top_srcdir)/data/ModemManager-logo-wide-text.png
+
+
+# The name of the module.
+DOC_MODULE = libmm-glib
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
+
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS = --rebuild-types --deprecated-guards="MM_DISABLE_DEPRECATED"
+
+# The directory containing the source code.
+DOC_SOURCE_DIR = \
+ $(top_srcdir)/libmm-glib \
+ $(top_srcdir)/libmm-glib/generated \
+ $(top_builddir)/libmm-glib/generated \
+ $(NULL)
+
+HFILE_GLOB =
+CFILE_GLOB =
+
+# Headers to ignore
+IGNORE_HFILES = \
+ mm-helpers.h \
+ mm-common-helpers.h \
+ mm-gdbus-test.h \
+ $(NULL)
+
+
+# CFLAGS and LDFLAGS for compiling scan program. Only needed
+# if $(DOC_MODULE).types is non-empty.
+AM_CPPFLAGS = \
+ -I$(srcdir) \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ $(MM_CFLAGS) \
+ $(NULL)
+
+GTKDOC_LIBS = \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(MM_LIBS) \
+ $(NULL)
+
+
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS = \
+ --output-format=xml \
+ --sgml-mode \
+ --name-space=mm \
+ --ignore-files=mm-gdbus-test.h \
+ --ignore-files=mm-gdbus-test.c \
+ $(NULL)
+
+
+# Images to copy into HTML directory
+HTML_IMAGES = \
+ $(LOGOS_PNG) \
+ $(NULL)
+
+content_files = \
+ $(NULL)
+
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+@ENABLE_GTK_DOC_TRUE@GPATH = $(srcdir)
+@ENABLE_GTK_DOC_TRUE@TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
+@ENABLE_GTK_DOC_TRUE@SETUP_FILES = \
+@ENABLE_GTK_DOC_TRUE@ $(content_files) \
+@ENABLE_GTK_DOC_TRUE@ $(expand_content_files) \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MAIN_SGML_FILE) \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-sections.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-overrides.txt
+
+@ENABLE_GTK_DOC_FALSE@EXTRA_DIST = version.xml.in $(NULL)
+@ENABLE_GTK_DOC_TRUE@EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) \
+@ENABLE_GTK_DOC_TRUE@ version.xml.in $(NULL)
+@ENABLE_GTK_DOC_TRUE@DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
+@ENABLE_GTK_DOC_TRUE@ html-build.stamp pdf-build.stamp \
+@ENABLE_GTK_DOC_TRUE@ sgml.stamp html.stamp pdf.stamp
+
+@ENABLE_GTK_DOC_TRUE@SCANOBJ_FILES = \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).args \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).hierarchy \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).interfaces \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).prerequisites \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).signals
+
+@ENABLE_GTK_DOC_TRUE@REPORT_FILES = \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undocumented.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undeclared.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-unused.txt
+
+@ENABLE_GTK_DOC_FALSE@CLEANFILES = $(DOC_MODULE)-decl-list.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-decl.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-overrides.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-undeclared.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-undocumented.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-overrides.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE)-unused.txt \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).args \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).hierarchy \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).interfaces \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).prerequisites \
+@ENABLE_GTK_DOC_FALSE@ $(DOC_MODULE).signals *.stamp -rf xml \
+@ENABLE_GTK_DOC_FALSE@ html tmpl $(NULL)
+@ENABLE_GTK_DOC_TRUE@CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_STAMPS) gtkdoc-check.test \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-decl-list.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-decl.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-overrides.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undeclared.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-undocumented.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-overrides.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-unused.txt \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).args \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).hierarchy \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).interfaces \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).prerequisites \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE).signals *.stamp -rf xml \
+@ENABLE_GTK_DOC_TRUE@ html tmpl $(NULL)
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
+@ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
+
+#### setup ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SETUP_0 = @echo " DOC Preparing build";
+
+#### scan ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_SCAN_0 = @echo " DOC Scanning header files";
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_INTROSPECT_0 = @echo " DOC Introspecting gobjects";
+
+#### xml ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XML = $(GTK_DOC_V_XML_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XML_0 = @echo " DOC Building XML";
+
+#### html ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_HTML_0 = @echo " DOC Building HTML";
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_XREF_0 = @echo " DOC Fixing cross-references";
+
+#### pdf ####
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_$(V))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY))
+@ENABLE_GTK_DOC_TRUE@GTK_DOC_V_PDF_0 = @echo " DOC Building PDF";
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/reference/libmm-glib/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu docs/reference/libmm-glib/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+$(top_srcdir)/gtk-doc.make $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+version.xml: $(top_builddir)/config.status $(srcdir)/version.xml.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+@ENABLE_GTK_DOC_FALSE@dist-hook:
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+check-am: all-am
+check: check-am
+@ENABLE_GTK_DOC_FALSE@all-local:
+all-am: Makefile all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+@ENABLE_GTK_DOC_FALSE@uninstall-local:
+@ENABLE_GTK_DOC_FALSE@install-data-local:
+@ENABLE_GTK_DOC_FALSE@distclean-local:
+@ENABLE_GTK_DOC_FALSE@maintainer-clean-local:
+@ENABLE_GTK_DOC_FALSE@clean-local:
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool clean-local cscopelist-am ctags-am dist-hook \
+ distclean distclean-generic distclean-libtool distclean-local \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-data-local \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ maintainer-clean-local mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-local
+
+.PRECIOUS: Makefile
+
+
+@ENABLE_GTK_DOC_TRUE@gtkdoc-check.test: Makefile
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+@ENABLE_GTK_DOC_TRUE@ echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+@ENABLE_GTK_DOC_TRUE@ chmod +x $@
+
+@ENABLE_GTK_DOC_TRUE@all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+@ENABLE_GTK_DOC_TRUE@.PHONY: all-gtk-doc
+
+@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc
+
+@ENABLE_GTK_DOC_TRUE@docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+@ENABLE_GTK_DOC_TRUE@$(REPORT_FILES): sgml-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@setup-build.stamp:
+@ENABLE_GTK_DOC_TRUE@ -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+@ENABLE_GTK_DOC_TRUE@ files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
+@ENABLE_GTK_DOC_TRUE@ if test "x$$files" != "x" ; then \
+@ENABLE_GTK_DOC_TRUE@ for file in $$files ; do \
+@ENABLE_GTK_DOC_TRUE@ destdir=`dirname $(abs_builddir)/$$file`; \
+@ENABLE_GTK_DOC_TRUE@ test -d "$$destdir" || mkdir -p "$$destdir"; \
+@ENABLE_GTK_DOC_TRUE@ test -f $(abs_srcdir)/$$file && \
+@ENABLE_GTK_DOC_TRUE@ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+@ENABLE_GTK_DOC_TRUE@ done; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ fi
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch setup-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_SCAN)_source_dir='' ; \
+@ENABLE_GTK_DOC_TRUE@ for i in $(DOC_SOURCE_DIR) ; do \
+@ENABLE_GTK_DOC_TRUE@ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+@ENABLE_GTK_DOC_TRUE@ done ; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+@ENABLE_GTK_DOC_TRUE@ scanobj_options=""; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$?" = "0"; then \
+@ENABLE_GTK_DOC_TRUE@ if test "x$(V)" = "x1"; then \
+@ENABLE_GTK_DOC_TRUE@ scanobj_options="--verbose"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+@ENABLE_GTK_DOC_TRUE@ else \
+@ENABLE_GTK_DOC_TRUE@ for i in $(SCANOBJ_FILES) ; do \
+@ENABLE_GTK_DOC_TRUE@ test -f $$i || touch $$i ; \
+@ENABLE_GTK_DOC_TRUE@ done \
+@ENABLE_GTK_DOC_TRUE@ fi
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch scan-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+@ENABLE_GTK_DOC_TRUE@ @true
+
+@ENABLE_GTK_DOC_TRUE@sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_XML)_source_dir='' ; \
+@ENABLE_GTK_DOC_TRUE@ for i in $(DOC_SOURCE_DIR) ; do \
+@ENABLE_GTK_DOC_TRUE@ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+@ENABLE_GTK_DOC_TRUE@ done ; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch sgml-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@sgml.stamp: sgml-build.stamp
+@ENABLE_GTK_DOC_TRUE@ @true
+
+@ENABLE_GTK_DOC_TRUE@xml/gtkdocentities.ent: Makefile
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package \"$(PACKAGE)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
+@ENABLE_GTK_DOC_TRUE@ echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
+@ENABLE_GTK_DOC_TRUE@ ) > $@
+
+@ENABLE_GTK_DOC_TRUE@html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
+@ENABLE_GTK_DOC_TRUE@ mkhtml_options=""; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$?" = "0"; then \
+@ENABLE_GTK_DOC_TRUE@ if test "x$(V)" = "x1"; then \
+@ENABLE_GTK_DOC_TRUE@ mkhtml_options="$$mkhtml_options --verbose"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$?" = "0"; then \
+@ENABLE_GTK_DOC_TRUE@ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+@ENABLE_GTK_DOC_TRUE@ -@test "x$(HTML_IMAGES)" = "x" || \
+@ENABLE_GTK_DOC_TRUE@ for file in $(HTML_IMAGES) ; do \
+@ENABLE_GTK_DOC_TRUE@ if test -f $(abs_srcdir)/$$file ; then \
+@ENABLE_GTK_DOC_TRUE@ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ if test -f $(abs_builddir)/$$file ; then \
+@ENABLE_GTK_DOC_TRUE@ cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ done;
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch html-build.stamp
+
+@ENABLE_GTK_DOC_TRUE@pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+@ENABLE_GTK_DOC_TRUE@ $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
+@ENABLE_GTK_DOC_TRUE@ mkpdf_options=""; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$?" = "0"; then \
+@ENABLE_GTK_DOC_TRUE@ if test "x$(V)" = "x1"; then \
+@ENABLE_GTK_DOC_TRUE@ mkpdf_options="$$mkpdf_options --verbose"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ if test "x$(HTML_IMAGES)" != "x"; then \
+@ENABLE_GTK_DOC_TRUE@ for img in $(HTML_IMAGES); do \
+@ENABLE_GTK_DOC_TRUE@ part=`dirname $$img`; \
+@ENABLE_GTK_DOC_TRUE@ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+@ENABLE_GTK_DOC_TRUE@ if test $$? != 0; then \
+@ENABLE_GTK_DOC_TRUE@ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ done; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+@ENABLE_GTK_DOC_TRUE@ $(AM_V_at)touch pdf-build.stamp
+
+##############
+
+@ENABLE_GTK_DOC_TRUE@clean-local:
+@ENABLE_GTK_DOC_TRUE@ @rm -f *~ *.bak
+@ENABLE_GTK_DOC_TRUE@ @rm -rf .libs
+@ENABLE_GTK_DOC_TRUE@ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+@ENABLE_GTK_DOC_TRUE@ rm -f $(DOC_MODULE).types; \
+@ENABLE_GTK_DOC_TRUE@ fi
+@ENABLE_GTK_DOC_TRUE@ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
+@ENABLE_GTK_DOC_TRUE@ rm -f $(DOC_MODULE)-sections.txt; \
+@ENABLE_GTK_DOC_TRUE@ fi
+
+@ENABLE_GTK_DOC_TRUE@distclean-local:
+@ENABLE_GTK_DOC_TRUE@ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+@ENABLE_GTK_DOC_TRUE@ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+@ENABLE_GTK_DOC_TRUE@ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+@ENABLE_GTK_DOC_TRUE@ rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
+@ENABLE_GTK_DOC_TRUE@ fi
+
+@ENABLE_GTK_DOC_TRUE@maintainer-clean-local:
+@ENABLE_GTK_DOC_TRUE@ @rm -rf xml html
+
+@ENABLE_GTK_DOC_TRUE@install-data-local:
+@ENABLE_GTK_DOC_TRUE@ @installfiles=`echo $(builddir)/html/*`; \
+@ENABLE_GTK_DOC_TRUE@ if test "$$installfiles" = '$(builddir)/html/*'; \
+@ENABLE_GTK_DOC_TRUE@ then echo 1>&2 'Nothing to install' ; \
+@ENABLE_GTK_DOC_TRUE@ else \
+@ENABLE_GTK_DOC_TRUE@ if test -n "$(DOC_MODULE_VERSION)"; then \
+@ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+@ENABLE_GTK_DOC_TRUE@ else \
+@ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ $(mkinstalldirs) $${installdir} ; \
+@ENABLE_GTK_DOC_TRUE@ for i in $$installfiles; do \
+@ENABLE_GTK_DOC_TRUE@ echo ' $(INSTALL_DATA) '$$i ; \
+@ENABLE_GTK_DOC_TRUE@ $(INSTALL_DATA) $$i $${installdir}; \
+@ENABLE_GTK_DOC_TRUE@ done; \
+@ENABLE_GTK_DOC_TRUE@ if test -n "$(DOC_MODULE_VERSION)"; then \
+@ENABLE_GTK_DOC_TRUE@ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+@ENABLE_GTK_DOC_TRUE@ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+@ENABLE_GTK_DOC_TRUE@ fi
+
+@ENABLE_GTK_DOC_TRUE@uninstall-local:
+@ENABLE_GTK_DOC_TRUE@ @if test -n "$(DOC_MODULE_VERSION)"; then \
+@ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+@ENABLE_GTK_DOC_TRUE@ else \
+@ENABLE_GTK_DOC_TRUE@ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+@ENABLE_GTK_DOC_TRUE@ fi; \
+@ENABLE_GTK_DOC_TRUE@ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc is needed to run 'make dist'. ***"
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc was not found when 'configure' ran. ***"
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@ @echo "*** please install gtk-doc and rerun 'configure'. ***"
+@ENABLE_GTK_DOC_TRUE@@HAVE_GTK_DOC_FALSE@ @false
+
+@ENABLE_GTK_DOC_TRUE@dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
+@ENABLE_GTK_DOC_TRUE@ @mkdir $(distdir)/html
+@ENABLE_GTK_DOC_TRUE@ @cp ./html/* $(distdir)/html
+@ENABLE_GTK_DOC_TRUE@ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+@ENABLE_GTK_DOC_TRUE@ @-cp ./$(DOC_MODULE).types $(distdir)/
+@ENABLE_GTK_DOC_TRUE@ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+@ENABLE_GTK_DOC_TRUE@ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+@ENABLE_GTK_DOC_TRUE@ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+@ENABLE_GTK_DOC_TRUE@.PHONY : dist-hook-local docs
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/docs/reference/libmm-glib/html/MMBearer.html b/docs/reference/libmm-glib/html/MMBearer.html
new file mode 100644
index 00000000..9a87f5a0
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMBearer.html
@@ -0,0 +1,1016 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMBearer: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch04.html" title="The Bearer object">
+<link rel="prev" href="ch04.html" title="The Bearer object">
+<link rel="next" href="MMBearerProperties.html" title="MMBearerProperties">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMBearer.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMBearer.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMBearer.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch04.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch04.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMBearerProperties.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMBearer"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMBearer.top_of_page"></a>MMBearer</span></h2>
+<p>MMBearer — The Bearer interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMBearer.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-path" title="mm_bearer_get_path ()">mm_bearer_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-dup-path" title="mm_bearer_dup_path ()">mm_bearer_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-interface" title="mm_bearer_get_interface ()">mm_bearer_get_interface</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-dup-interface" title="mm_bearer_dup_interface ()">mm_bearer_dup_interface</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-connected" title="mm_bearer_get_connected ()">mm_bearer_get_connected</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-suspended" title="mm_bearer_get_suspended ()">mm_bearer_get_suspended</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-ip-timeout" title="mm_bearer_get_ip_timeout ()">mm_bearer_get_ip_timeout</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerType"><span class="returnvalue">MMBearerType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-bearer-type" title="mm_bearer_get_bearer_type ()">mm_bearer_get_bearer_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="returnvalue">MMBearerIpConfig</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-peek-ipv4-config" title="mm_bearer_peek_ipv4_config ()">mm_bearer_peek_ipv4_config</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="returnvalue">MMBearerIpConfig</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-ipv4-config" title="mm_bearer_get_ipv4_config ()">mm_bearer_get_ipv4_config</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="returnvalue">MMBearerIpConfig</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-peek-ipv6-config" title="mm_bearer_peek_ipv6_config ()">mm_bearer_peek_ipv6_config</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="returnvalue">MMBearerIpConfig</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-ipv6-config" title="mm_bearer_get_ipv6_config ()">mm_bearer_get_ipv6_config</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-peek-properties" title="mm_bearer_peek_properties ()">mm_bearer_peek_properties</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-properties" title="mm_bearer_get_properties ()">mm_bearer_get_properties</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="returnvalue">MMBearerStats</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-peek-stats" title="mm_bearer_peek_stats ()">mm_bearer_peek_stats</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="returnvalue">MMBearerStats</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-get-stats" title="mm_bearer_get_stats ()">mm_bearer_get_stats</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-connect" title="mm_bearer_connect ()">mm_bearer_connect</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-connect-finish" title="mm_bearer_connect_finish ()">mm_bearer_connect_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-connect-sync" title="mm_bearer_connect_sync ()">mm_bearer_connect_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-disconnect" title="mm_bearer_disconnect ()">mm_bearer_disconnect</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-disconnect-finish" title="mm_bearer_disconnect_finish ()">mm_bearer_disconnect_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearer.html#mm-bearer-disconnect-sync" title="mm_bearer_disconnect_sync ()">mm_bearer_disconnect_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMBearer.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMBearer.html#MMBearer-struct" title="struct MMBearer">MMBearer</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMBearer.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a>
+ <span class="lineart">╰──</span> MMBearer
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMBearer.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMBearer implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMBearer.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> is an object providing access to the methods, signals and
+properties of the Bearer interface.</p>
+<p>When the bearer is exposed and available in the bus, it is ensured that at
+least this interface is also available.</p>
+</div>
+<div class="refsect1">
+<a name="MMBearer.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-bearer-get-path"></a><h3>mm_bearer_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_get_path (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-bearer-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-dup-path"></a><h3>mm_bearer_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_dup_path (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-bearer-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> object. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-get-interface"></a><h3>mm_bearer_get_interface ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_get_interface (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets the operating system name for the network data interface that provides
+packet data using this <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>. This will only be available once the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>
+is in connected state.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMBearer.html#mm-bearer-dup-interface" title="mm_bearer_dup_interface ()"><code class="function">mm_bearer_dup_interface()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-bearer-get-interface.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-interface.returns"></a><h4>Returns</h4>
+<p>The name of the interface, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-dup-interface"></a><h3>mm_bearer_dup_interface ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_dup_interface (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the operating system name for the network data interface that provides
+packet data using this <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>. This will only be available once the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>
+is in connected state.</p>
+<div class="refsect3">
+<a name="mm-bearer-dup-interface.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-dup-interface.returns"></a><h4>Returns</h4>
+<p>The name of the interface, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-get-connected"></a><h3>mm_bearer_get_connected ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_bearer_get_connected (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Checks whether or not the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> is connected and thus whether packet data
+communication is possible.</p>
+<div class="refsect3">
+<a name="mm-bearer-get-connected.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-connected.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> is connected, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-get-suspended"></a><h3>mm_bearer_get_suspended ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_bearer_get_suspended (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Checks whether or not the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> is suspended (but not deactivated) while the
+device is handling other communications, like a voice call.</p>
+<div class="refsect3">
+<a name="mm-bearer-get-suspended.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-suspended.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if packet data service is suspended in the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-get-ip-timeout"></a><h3>mm_bearer_get_ip_timeout ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_bearer_get_ip_timeout (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets the maximum time to wait for the bearer to retrieve a valid IP address.</p>
+<div class="refsect3">
+<a name="mm-bearer-get-ip-timeout.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-ip-timeout.returns"></a><h4>Returns</h4>
+<p> The IP timeout, or 0 if no specific one given.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-get-bearer-type"></a><h3>mm_bearer_get_bearer_type ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerType"><span class="returnvalue">MMBearerType</span></a>
+mm_bearer_get_bearer_type (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets the type of bearer.</p>
+<div class="refsect3">
+<a name="mm-bearer-get-bearer-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-bearer-type.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerType"><span class="type">MMBearerType</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-peek-ipv4-config"></a><h3>mm_bearer_peek_ipv4_config ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="returnvalue">MMBearerIpConfig</span></a> *
+mm_bearer_peek_ipv4_config (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> object specifying the IPv4 configuration to use in
+the bearer.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMBearer.html#mm-bearer-get-ipv4-config" title="mm_bearer_get_ipv4_config ()"><code class="function">mm_bearer_get_ipv4_config()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-bearer-peek-ipv4-config.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-peek-ipv4-config.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-get-ipv4-config"></a><h3>mm_bearer_get_ipv4_config ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="returnvalue">MMBearerIpConfig</span></a> *
+mm_bearer_get_ipv4_config (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> object specifying the IPv4 configuration to use in
+the bearer.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMBearer.html#mm-bearer-get-ipv4-config" title="mm_bearer_get_ipv4_config ()"><code class="function">mm_bearer_get_ipv4_config()</code></a> again to get a new <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-bearer-get-ipv4-config.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-ipv4-config.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-peek-ipv6-config"></a><h3>mm_bearer_peek_ipv6_config ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="returnvalue">MMBearerIpConfig</span></a> *
+mm_bearer_peek_ipv6_config (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> object specifying the IPv6 configuration to use in
+the bearer.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMBearer.html#mm-bearer-get-ipv6-config" title="mm_bearer_get_ipv6_config ()"><code class="function">mm_bearer_get_ipv6_config()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-bearer-peek-ipv6-config.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-peek-ipv6-config.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-get-ipv6-config"></a><h3>mm_bearer_get_ipv6_config ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="returnvalue">MMBearerIpConfig</span></a> *
+mm_bearer_get_ipv6_config (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> object specifying the IPv6 configuration to use in
+the bearer.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMBearer.html#mm-bearer-get-ipv6-config" title="mm_bearer_get_ipv6_config ()"><code class="function">mm_bearer_get_ipv6_config()</code></a> again to get a new <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-bearer-get-ipv6-config.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-ipv6-config.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-peek-properties"></a><h3>mm_bearer_peek_properties ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+mm_bearer_peek_properties (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> object specifying the properties which were used
+to create the bearer.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMBearer.html#mm-bearer-get-properties" title="mm_bearer_get_properties ()"><code class="function">mm_bearer_get_properties()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-bearer-peek-properties.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-peek-properties.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-get-properties"></a><h3>mm_bearer_get_properties ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+mm_bearer_get_properties (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> object specifying the properties which were used
+to create the bearer.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMBearer.html#mm-bearer-get-properties" title="mm_bearer_get_properties ()"><code class="function">mm_bearer_get_properties()</code></a> again to get a new <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-bearer-get-properties.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-properties.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-peek-stats"></a><h3>mm_bearer_peek_stats ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="returnvalue">MMBearerStats</span></a> *
+mm_bearer_peek_stats (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a> object specifying the statistics of the current bearer
+connection.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMBearer.html#mm-bearer-get-stats" title="mm_bearer_get_stats ()"><code class="function">mm_bearer_get_stats()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-bearer-peek-stats.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-peek-stats.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-get-stats"></a><h3>mm_bearer_get_stats ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="returnvalue">MMBearerStats</span></a> *
+mm_bearer_get_stats (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a> object specifying the statistics of the current bearer
+connection.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMBearer.html#mm-bearer-get-stats" title="mm_bearer_get_stats ()"><code class="function">mm_bearer_get_stats()</code></a> again to get a new <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-bearer-get-stats.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-get-stats.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-connect"></a><h3>mm_bearer_connect ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_connect (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests activation of a packet data connection with the
+network using this <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> properties.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMBearer.html#mm-bearer-connect-finish" title="mm_bearer_connect_finish ()"><code class="function">mm_bearer_connect_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMBearer.html#mm-bearer-connect-sync" title="mm_bearer_connect_sync ()"><code class="function">mm_bearer_connect_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-bearer-connect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-connect-finish"></a><h3>mm_bearer_connect_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_bearer_connect_finish (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMBearer.html#mm-bearer-connect" title="mm_bearer_connect ()"><code class="function">mm_bearer_connect()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-bearer-connect-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMBearer.html#mm-bearer-connect" title="mm_bearer_connect ()"><code class="function">mm_bearer_connect()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-connect-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-connect-sync"></a><h3>mm_bearer_connect_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_bearer_connect_sync (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests activation of a packet data connection with the
+network using this <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> properties.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMBearer.html#mm-bearer-connect" title="mm_bearer_connect ()"><code class="function">mm_bearer_connect()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-bearer-connect-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-connect-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-disconnect"></a><h3>mm_bearer_disconnect ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_disconnect (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Synchronously requests disconnection and deactivation of the packet data connection.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMBearer.html#mm-bearer-disconnect-finish" title="mm_bearer_disconnect_finish ()"><code class="function">mm_bearer_disconnect_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMBearer.html#mm-bearer-disconnect-sync" title="mm_bearer_disconnect_sync ()"><code class="function">mm_bearer_disconnect_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-bearer-disconnect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-disconnect-finish"></a><h3>mm_bearer_disconnect_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_bearer_disconnect_finish (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMBearer.html#mm-bearer-disconnect" title="mm_bearer_disconnect ()"><code class="function">mm_bearer_disconnect()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-bearer-disconnect-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMBearer.html#mm-bearer-disconnect" title="mm_bearer_disconnect ()"><code class="function">mm_bearer_disconnect()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-disconnect-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-disconnect-sync"></a><h3>mm_bearer_disconnect_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_bearer_disconnect_sync (<em class="parameter"><code><a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests disconnection and deactivation of the packet data connection.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMBearer.html#mm-bearer-disconnect" title="mm_bearer_disconnect ()"><code class="function">mm_bearer_disconnect()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-bearer-disconnect-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-disconnect-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMBearer.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMBearer-struct"></a><h3>struct MMBearer</h3>
+<pre class="programlisting">struct MMBearer;</pre>
+<p>The <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMBearerIpConfig.html b/docs/reference/libmm-glib/html/MMBearerIpConfig.html
new file mode 100644
index 00000000..f2b16e25
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMBearerIpConfig.html
@@ -0,0 +1,293 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMBearerIpConfig: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch04.html" title="The Bearer object">
+<link rel="prev" href="MMBearerProperties.html" title="MMBearerProperties">
+<link rel="next" href="MMBearerStats.html" title="MMBearerStats">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMBearerIpConfig.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMBearerIpConfig.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch04.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMBearerProperties.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMBearerStats.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMBearerIpConfig"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMBearerIpConfig.top_of_page"></a>MMBearerIpConfig</span></h2>
+<p>MMBearerIpConfig — Helper object to handle IP configuration.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMBearerIpConfig.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod"><span class="returnvalue">MMBearerIpMethod</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-method" title="mm_bearer_ip_config_get_method ()">mm_bearer_ip_config_get_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-address" title="mm_bearer_ip_config_get_address ()">mm_bearer_ip_config_get_address</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-prefix" title="mm_bearer_ip_config_get_prefix ()">mm_bearer_ip_config_get_prefix</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-dns" title="mm_bearer_ip_config_get_dns ()">mm_bearer_ip_config_get_dns</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-gateway" title="mm_bearer_ip_config_get_gateway ()">mm_bearer_ip_config_get_gateway</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-mtu" title="mm_bearer_ip_config_get_mtu ()">mm_bearer_ip_config_get_mtu</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMBearerIpConfig.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMBearerIpConfig.html#MMBearerIpConfig-struct" title="struct MMBearerIpConfig">MMBearerIpConfig</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMBearerIpConfig.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMBearerIpConfig
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMBearerIpConfig.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> is an object handling the IP configuration required by
+the bearer to finish the connection.</p>
+<p>This object is retrieved with either <a class="link" href="MMBearer.html#mm-bearer-get-ipv4-config" title="mm_bearer_get_ipv4_config ()"><code class="function">mm_bearer_get_ipv4_config()</code></a>,
+<a class="link" href="MMBearer.html#mm-bearer-peek-ipv4-config" title="mm_bearer_peek_ipv4_config ()"><code class="function">mm_bearer_peek_ipv4_config()</code></a>, <a class="link" href="MMBearer.html#mm-bearer-get-ipv6-config" title="mm_bearer_get_ipv6_config ()"><code class="function">mm_bearer_get_ipv6_config()</code></a> or
+<a class="link" href="MMBearer.html#mm-bearer-peek-ipv6-config" title="mm_bearer_peek_ipv6_config ()"><code class="function">mm_bearer_peek_ipv6_config()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMBearerIpConfig.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-bearer-ip-config-get-method"></a><h3>mm_bearer_ip_config_get_method ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod"><span class="returnvalue">MMBearerIpMethod</span></a>
+mm_bearer_ip_config_get_method (<em class="parameter"><code><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> *self</code></em>);</pre>
+<p>Gets the IP method to be used with this bearer.</p>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-method.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod"><span class="type">MMBearerIpMethod</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-ip-config-get-address"></a><h3>mm_bearer_ip_config_get_address ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_ip_config_get_address (<em class="parameter"><code><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> *self</code></em>);</pre>
+<p>Gets the IP address to be used with this bearer.</p>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-address.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-address.returns"></a><h4>Returns</h4>
+<p> a string with the IP address, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-ip-config-get-prefix"></a><h3>mm_bearer_ip_config_get_prefix ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_bearer_ip_config_get_prefix (<em class="parameter"><code><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> *self</code></em>);</pre>
+<p>Gets the network prefix to be used with this bearer.</p>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-prefix.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-prefix.returns"></a><h4>Returns</h4>
+<p> the network prefix.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-ip-config-get-dns"></a><h3>mm_bearer_ip_config_get_dns ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_bearer_ip_config_get_dns (<em class="parameter"><code><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> *self</code></em>);</pre>
+<p>Gets the list of IP addresses of DNS servers to be used with this bearer.</p>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-dns.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-dns.returns"></a><h4>Returns</h4>
+<p>a NULL-terminated array of strings. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-ip-config-get-gateway"></a><h3>mm_bearer_ip_config_get_gateway ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_ip_config_get_gateway (<em class="parameter"><code><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> *self</code></em>);</pre>
+<p>Gets the IP address of the gateway to be used with this bearer.</p>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-gateway.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-gateway.returns"></a><h4>Returns</h4>
+<p> a string with the IP address, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-ip-config-get-mtu"></a><h3>mm_bearer_ip_config_get_mtu ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_bearer_ip_config_get_mtu (<em class="parameter"><code><a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> *self</code></em>);</pre>
+<p>Gets the MTU to be used with this bearer.</p>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-mtu.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-ip-config-get-mtu.returns"></a><h4>Returns</h4>
+<p> the MTU.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMBearerIpConfig.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMBearerIpConfig-struct"></a><h3>struct MMBearerIpConfig</h3>
+<pre class="programlisting">struct MMBearerIpConfig;</pre>
+<p>The <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig"><span class="type">MMBearerIpConfig</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMBearerProperties.html b/docs/reference/libmm-glib/html/MMBearerProperties.html
new file mode 100644
index 00000000..66824a62
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMBearerProperties.html
@@ -0,0 +1,700 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMBearerProperties: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch04.html" title="The Bearer object">
+<link rel="prev" href="MMBearer.html" title="MMBearer">
+<link rel="next" href="MMBearerIpConfig.html" title="MMBearerIpConfig">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMBearerProperties.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMBearerProperties.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch04.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMBearer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMBearerIpConfig.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMBearerProperties"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMBearerProperties.top_of_page"></a>MMBearerProperties</span></h2>
+<p>MMBearerProperties — Helper object to handle bearer properties.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMBearerProperties.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-new" title="mm_bearer_properties_new ()">mm_bearer_properties_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-apn" title="mm_bearer_properties_get_apn ()">mm_bearer_properties_get_apn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-apn" title="mm_bearer_properties_set_apn ()">mm_bearer_properties_set_apn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="returnvalue">MMBearerAllowedAuth</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-allowed-auth" title="mm_bearer_properties_get_allowed_auth ()">mm_bearer_properties_get_allowed_auth</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-allowed-auth" title="mm_bearer_properties_set_allowed_auth ()">mm_bearer_properties_set_allowed_auth</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-user" title="mm_bearer_properties_get_user ()">mm_bearer_properties_get_user</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-user" title="mm_bearer_properties_set_user ()">mm_bearer_properties_set_user</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-password" title="mm_bearer_properties_get_password ()">mm_bearer_properties_get_password</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-password" title="mm_bearer_properties_set_password ()">mm_bearer_properties_set_password</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="returnvalue">MMBearerIpFamily</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-ip-type" title="mm_bearer_properties_get_ip_type ()">mm_bearer_properties_get_ip_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-ip-type" title="mm_bearer_properties_set_ip_type ()">mm_bearer_properties_set_ip_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-allow-roaming" title="mm_bearer_properties_get_allow_roaming ()">mm_bearer_properties_get_allow_roaming</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-allow-roaming" title="mm_bearer_properties_set_allow_roaming ()">mm_bearer_properties_set_allow_roaming</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-number" title="mm_bearer_properties_get_number ()">mm_bearer_properties_get_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-number" title="mm_bearer_properties_set_number ()">mm_bearer_properties_set_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol"><span class="returnvalue">MMModemCdmaRmProtocol</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-rm-protocol" title="mm_bearer_properties_get_rm_protocol ()">mm_bearer_properties_get_rm_protocol</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-rm-protocol" title="mm_bearer_properties_set_rm_protocol ()">mm_bearer_properties_set_rm_protocol</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMBearerProperties.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMBearerProperties.html#MMBearerProperties-struct" title="struct MMBearerProperties">MMBearerProperties</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMBearerProperties.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMBearerProperties
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMBearerProperties.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> is an object handling the properties requested
+to ModemManager when creating a new bearer.</p>
+<p>This object is created by the user and passed to ModemManager with either
+<a class="link" href="MMModem.html#mm-modem-create-bearer" title="mm_modem_create_bearer ()"><code class="function">mm_modem_create_bearer()</code></a> or <a class="link" href="MMModem.html#mm-modem-create-bearer-sync" title="mm_modem_create_bearer_sync ()"><code class="function">mm_modem_create_bearer_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMBearerProperties.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-bearer-properties-new"></a><h3>mm_bearer_properties_new ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+mm_bearer_properties_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new empty <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-new.returns"></a><h4>Returns</h4>
+<p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-get-apn"></a><h3>mm_bearer_properties_get_apn ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_properties_get_apn (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>);</pre>
+<p>Gets the name of the access point to use when connecting.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-apn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-apn.returns"></a><h4>Returns</h4>
+<p>the access point, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-set-apn"></a><h3>mm_bearer_properties_set_apn ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_properties_set_apn (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *apn</code></em>);</pre>
+<p>Sets the name of the access point to use when connecting.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-set-apn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>apn</p></td>
+<td class="parameter_description"><p>Name of the access point.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-get-allowed-auth"></a><h3>mm_bearer_properties_get_allowed_auth ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="returnvalue">MMBearerAllowedAuth</span></a>
+mm_bearer_properties_get_allowed_auth (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>);</pre>
+<p>Gets the authentication methods allowed in the connection.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-allowed-auth.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-allowed-auth.returns"></a><h4>Returns</h4>
+<p> a bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="type">MMBearerAllowedAuth</span></a> values, or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-UNKNOWN:CAPS"><code class="literal">MM_BEARER_ALLOWED_AUTH_UNKNOWN</code></a> to request the modem-default method.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-set-allowed-auth"></a><h3>mm_bearer_properties_set_allowed_auth ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_properties_set_allowed_auth (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="type">MMBearerAllowedAuth</span></a> allowed_auth</code></em>);</pre>
+<p>Sets the authentication method to use.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-set-allowed-auth.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>allowed_auth</p></td>
+<td class="parameter_description"><p>a bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="type">MMBearerAllowedAuth</span></a> values. <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-UNKNOWN:CAPS"><code class="literal">MM_BEARER_ALLOWED_AUTH_UNKNOWN</code></a> may be given to request the modem-default method.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-get-user"></a><h3>mm_bearer_properties_get_user ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_properties_get_user (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>);</pre>
+<p>Gets the username used to authenticate with the access point.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-user.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-user.returns"></a><h4>Returns</h4>
+<p>the username, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-set-user"></a><h3>mm_bearer_properties_set_user ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_properties_set_user (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *user</code></em>);</pre>
+<p>Sets the username used to authenticate with the access point.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-set-user.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user</p></td>
+<td class="parameter_description"><p>the username</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-get-password"></a><h3>mm_bearer_properties_get_password ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_properties_get_password (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>);</pre>
+<p>Gets the password used to authenticate with the access point.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-password.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-password.returns"></a><h4>Returns</h4>
+<p>the password, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-set-password"></a><h3>mm_bearer_properties_set_password ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_properties_set_password (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *password</code></em>);</pre>
+<p>Sets the password used to authenticate with the access point.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-set-password.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>password</p></td>
+<td class="parameter_description"><p>the password</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-get-ip-type"></a><h3>mm_bearer_properties_get_ip_type ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="returnvalue">MMBearerIpFamily</span></a>
+mm_bearer_properties_get_ip_type (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>);</pre>
+<p>Sets the IP type to use.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-ip-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-ip-type.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="type">MMBearerIpFamily</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-set-ip-type"></a><h3>mm_bearer_properties_set_ip_type ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_properties_set_ip_type (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="type">MMBearerIpFamily</span></a> ip_type</code></em>);</pre>
+<p>Sets the IP type to use.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-set-ip-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ip_type</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="type">MMBearerIpFamily</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-get-allow-roaming"></a><h3>mm_bearer_properties_get_allow_roaming ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_bearer_properties_get_allow_roaming
+ (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>);</pre>
+<p>Checks whether roaming is allowed in the connection.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-allow-roaming.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-allow-roaming.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if roaming is allowed, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-set-allow-roaming"></a><h3>mm_bearer_properties_set_allow_roaming ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_properties_set_allow_roaming
+ (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> allow_roaming</code></em>);</pre>
+<p>Sets the flag to indicate whether roaming is allowed or not in the
+connection.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-set-allow-roaming.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>allow_roaming</p></td>
+<td class="parameter_description"><p>boolean value.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-get-number"></a><h3>mm_bearer_properties_get_number ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_properties_get_number (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>);</pre>
+<div class="warning">
+<p><code class="literal">mm_bearer_properties_get_number</code> has been deprecated since version 1.10.0. and should not be used in newly-written code.</p>
+<p>The number setting is not used anywhere, and therefore
+it doesn't make sense to expose it in the ModemManager interface.</p>
+</div>
+<p>Gets the number to use when performing the connection.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-number.returns"></a><h4>Returns</h4>
+<p>the number, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-set-number"></a><h3>mm_bearer_properties_set_number ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_properties_set_number (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *number</code></em>);</pre>
+<div class="warning">
+<p><code class="literal">mm_bearer_properties_set_number</code> has been deprecated since version 1.10.0. and should not be used in newly-written code.</p>
+<p>The number setting is not used anywhere, and therefore
+it doesn't make sense to expose it in the ModemManager interface.</p>
+</div>
+<p>Sets the number to use when performing the connection.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-set-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>number</p></td>
+<td class="parameter_description"><p>the number.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-get-rm-protocol"></a><h3>mm_bearer_properties_get_rm_protocol ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol"><span class="returnvalue">MMModemCdmaRmProtocol</span></a>
+mm_bearer_properties_get_rm_protocol (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>);</pre>
+<p>Gets the RM protocol requested to use in the CDMA connection.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-rm-protocol.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-properties-get-rm-protocol.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol"><span class="type">MMModemCdmaRmProtocol</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-properties-set-rm-protocol"></a><h3>mm_bearer_properties_set_rm_protocol ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_bearer_properties_set_rm_protocol (<em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol"><span class="type">MMModemCdmaRmProtocol</span></a> protocol</code></em>);</pre>
+<p>Sets the RM protocol to use in the CDMA connection.</p>
+<div class="refsect3">
+<a name="mm-bearer-properties-set-rm-protocol.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>protocol</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol"><span class="type">MMModemCdmaRmProtocol</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMBearerProperties.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMBearerProperties-struct"></a><h3>struct MMBearerProperties</h3>
+<pre class="programlisting">struct MMBearerProperties;</pre>
+<p>The <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMBearerStats.html b/docs/reference/libmm-glib/html/MMBearerStats.html
new file mode 100644
index 00000000..057384fb
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMBearerStats.html
@@ -0,0 +1,189 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMBearerStats: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch04.html" title="The Bearer object">
+<link rel="prev" href="MMBearerIpConfig.html" title="MMBearerIpConfig">
+<link rel="next" href="ch05.html" title="The SIM object">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMBearerStats.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMBearerStats.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch04.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMBearerIpConfig.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch05.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMBearerStats"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMBearerStats.top_of_page"></a>MMBearerStats</span></h2>
+<p>MMBearerStats — Helper object to handle bearer stats.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMBearerStats.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerStats.html#mm-bearer-stats-get-duration" title="mm_bearer_stats_get_duration ()">mm_bearer_stats_get_duration</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerStats.html#mm-bearer-stats-get-rx-bytes" title="mm_bearer_stats_get_rx_bytes ()">mm_bearer_stats_get_rx_bytes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMBearerStats.html#mm-bearer-stats-get-tx-bytes" title="mm_bearer_stats_get_tx_bytes ()">mm_bearer_stats_get_tx_bytes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMBearerStats.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMBearerStats.html#MMBearerStats-struct" title="struct MMBearerStats">MMBearerStats</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMBearerStats.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMBearerStats
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMBearerStats.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a> is an object handling the statistics reported by the
+bearer object during a connection.</p>
+<p>This object is retrieved with either <a class="link" href="MMBearer.html#mm-bearer-get-stats" title="mm_bearer_get_stats ()"><code class="function">mm_bearer_get_stats()</code></a> or
+<a class="link" href="MMBearer.html#mm-bearer-peek-stats" title="mm_bearer_peek_stats ()"><code class="function">mm_bearer_peek_stats()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMBearerStats.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-bearer-stats-get-duration"></a><h3>mm_bearer_stats_get_duration ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_bearer_stats_get_duration (<em class="parameter"><code><a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a> *self</code></em>);</pre>
+<p>Gets the duration of the current connection, in seconds.</p>
+<div class="refsect3">
+<a name="mm-bearer-stats-get-duration.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-stats-get-duration.returns"></a><h4>Returns</h4>
+<p> a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-stats-get-rx-bytes"></a><h3>mm_bearer_stats_get_rx_bytes ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
+mm_bearer_stats_get_rx_bytes (<em class="parameter"><code><a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a> *self</code></em>);</pre>
+<p>Gets the number of bytes received without error in the connection.</p>
+<div class="refsect3">
+<a name="mm-bearer-stats-get-rx-bytes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-stats-get-rx-bytes.returns"></a><h4>Returns</h4>
+<p> a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-stats-get-tx-bytes"></a><h3>mm_bearer_stats_get_tx_bytes ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="returnvalue">guint64</span></a>
+mm_bearer_stats_get_tx_bytes (<em class="parameter"><code><a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a> *self</code></em>);</pre>
+<p>Gets the number of bytes transmitted without error in the connection.</p>
+<div class="refsect3">
+<a name="mm-bearer-stats-get-tx-bytes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-stats-get-tx-bytes.returns"></a><h4>Returns</h4>
+<p> a <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint64"><span class="type">guint64</span></a>.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMBearerStats.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMBearerStats-struct"></a><h3>struct MMBearerStats</h3>
+<pre class="programlisting">struct MMBearerStats;</pre>
+<p>The <a class="link" href="MMBearerStats.html" title="MMBearerStats"><span class="type">MMBearerStats</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMCall.html b/docs/reference/libmm-glib/html/MMCall.html
new file mode 100644
index 00000000..13dd5523
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMCall.html
@@ -0,0 +1,1134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMCall: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch07.html" title="The Call object">
+<link rel="prev" href="ch07.html" title="The Call object">
+<link rel="next" href="MMCallProperties.html" title="MMCallProperties">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMCall.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMCall.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMCall.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch07.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch07.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMCallProperties.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMCall"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMCall.top_of_page"></a>MMCall</span></h2>
+<p>MMCall — The call interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMCall.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-get-path" title="mm_call_get_path ()">mm_call_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-dup-path" title="mm_call_dup_path ()">mm_call_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-get-number" title="mm_call_get_number ()">mm_call_get_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-dup-number" title="mm_call_dup_number ()">mm_call_dup_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallDirection"><span class="returnvalue">MMCallDirection</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-get-direction" title="mm_call_get_direction ()">mm_call_get_direction</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallState"><span class="returnvalue">MMCallState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-get-state" title="mm_call_get_state ()">mm_call_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallStateReason"><span class="returnvalue">MMCallStateReason</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-get-state-reason" title="mm_call_get_state_reason ()">mm_call_get_state_reason</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-get-audio-port" title="mm_call_get_audio_port ()">mm_call_get_audio_port</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-dup-audio-port" title="mm_call_dup_audio_port ()">mm_call_dup_audio_port</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="returnvalue">MMCallAudioFormat</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-get-audio-format" title="mm_call_get_audio_format ()">mm_call_get_audio_format</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="returnvalue">MMCallAudioFormat</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-peek-audio-format" title="mm_call_peek_audio_format ()">mm_call_peek_audio_format</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-start" title="mm_call_start ()">mm_call_start</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-start-finish" title="mm_call_start_finish ()">mm_call_start_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-start-sync" title="mm_call_start_sync ()">mm_call_start_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-accept" title="mm_call_accept ()">mm_call_accept</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-accept-finish" title="mm_call_accept_finish ()">mm_call_accept_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-accept-sync" title="mm_call_accept_sync ()">mm_call_accept_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-hangup" title="mm_call_hangup ()">mm_call_hangup</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-hangup-finish" title="mm_call_hangup_finish ()">mm_call_hangup_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-hangup-sync" title="mm_call_hangup_sync ()">mm_call_hangup_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-send-dtmf" title="mm_call_send_dtmf ()">mm_call_send_dtmf</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-send-dtmf-finish" title="mm_call_send_dtmf_finish ()">mm_call_send_dtmf_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCall.html#mm-call-send-dtmf-sync" title="mm_call_send_dtmf_sync ()">mm_call_send_dtmf_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMCall.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMCall.html#MMCall-struct" title="struct MMCall">MMCall</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMCall.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a>
+ <span class="lineart">╰──</span> MMCall
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMCall.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMCall implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMCall.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> is an object providing access to the methods, signals and
+properties of the call interface.</p>
+<p>When the call is exposed and available in the bus, it is ensured that at
+least this interface is also available.</p>
+</div>
+<div class="refsect1">
+<a name="MMCall.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-call-get-path"></a><h3>mm_call_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_get_path (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-call-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-dup-path"></a><h3>mm_call_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_dup_path (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-call-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> object. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-get-number"></a><h3>mm_call_get_number ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_get_number (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets the call number. In outgoing calls contains the dialing number or
+the remote number in incoming calls</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMCall.html#mm-call-dup-number" title="mm_call_dup_number ()"><code class="function">mm_call_dup_number()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-call-get-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-get-number.returns"></a><h4>Returns</h4>
+<p>The number, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-dup-number"></a><h3>mm_call_dup_number ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_dup_number (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets the call number. In outgoing calls contains the dialing number or
+the remote number in incoming calls</p>
+<div class="refsect3">
+<a name="mm-call-dup-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-dup-number.returns"></a><h4>Returns</h4>
+<p>The number, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-get-direction"></a><h3>mm_call_get_direction ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallDirection"><span class="returnvalue">MMCallDirection</span></a>
+mm_call_get_direction (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets the call direction.</p>
+<div class="refsect3">
+<a name="mm-call-get-direction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-get-direction.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallDirection"><span class="type">MMCallDirection</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-get-state"></a><h3>mm_call_get_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallState"><span class="returnvalue">MMCallState</span></a>
+mm_call_get_state (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets the current state of call.</p>
+<div class="refsect3">
+<a name="mm-call-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-get-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallState"><span class="type">MMCallState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-get-state-reason"></a><h3>mm_call_get_state_reason ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallStateReason"><span class="returnvalue">MMCallStateReason</span></a>
+mm_call_get_state_reason (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets the reason of why the call changes its state.</p>
+<div class="refsect3">
+<a name="mm-call-get-state-reason.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-get-state-reason.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallStateReason"><span class="type">MMCallStateReason</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-get-audio-port"></a><h3>mm_call_get_audio_port ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_get_audio_port (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets the kernel device used for audio (if any).</p>
+<div class="refsect3">
+<a name="mm-call-get-audio-port.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-get-audio-port.returns"></a><h4>Returns</h4>
+<p>The audio port, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if call audio is not
+routed via the host or couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-dup-audio-port"></a><h3>mm_call_dup_audio_port ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_dup_audio_port (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets the kernel device used for audio (if any).</p>
+<div class="refsect3">
+<a name="mm-call-dup-audio-port.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-dup-audio-port.returns"></a><h4>Returns</h4>
+<p>The audio port, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if call audio is not
+routed via the host or couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-get-audio-format"></a><h3>mm_call_get_audio_format ()</h3>
+<pre class="programlisting"><a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="returnvalue">MMCallAudioFormat</span></a> *
+mm_call_get_audio_format (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a> object specifying the audio format used by the
+audio port if call audio is routed via the host.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMCall.html#mm-call-get-audio-format" title="mm_call_get_audio_format ()"><code class="function">mm_call_get_audio_format()</code></a> again to get a new <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-call-get-audio-format.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-get-audio-format.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-peek-audio-format"></a><h3>mm_call_peek_audio_format ()</h3>
+<pre class="programlisting"><a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="returnvalue">MMCallAudioFormat</span></a> *
+mm_call_peek_audio_format (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a> object specifying the audio format used by the
+audio port if call audio is routed via the host.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMCall.html#mm-call-get-audio-format" title="mm_call_get_audio_format ()"><code class="function">mm_call_get_audio_format()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-call-peek-audio-format.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-peek-audio-format.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-start"></a><h3>mm_call_start ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_call_start (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to queue the call.</p>
+<p>Call objects can only be executed once.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMCall.html#mm-call-start-finish" title="mm_call_start_finish ()"><code class="function">mm_call_start_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMCall.html#mm-call-start-sync" title="mm_call_start_sync ()"><code class="function">mm_call_start_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-call-start.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-start-finish"></a><h3>mm_call_start_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_call_start_finish (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMCall.html#mm-call-start" title="mm_call_start ()"><code class="function">mm_call_start()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-call-start-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMCall.html#mm-call-start" title="mm_call_start ()"><code class="function">mm_call_start()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-start-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-start-sync"></a><h3>mm_call_start_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_call_start_sync (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to queue the call for delivery.</p>
+<p>Call objects can only be sent once.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMCall.html#mm-call-start" title="mm_call_start ()"><code class="function">mm_call_start()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-call-start-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-start-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-accept"></a><h3>mm_call_accept ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_call_accept (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to accept the incoming call.</p>
+<p>Call objects can only be executed once.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMCall.html#mm-call-accept-finish" title="mm_call_accept_finish ()"><code class="function">mm_call_accept_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMCall.html#mm-call-accept-sync" title="mm_call_accept_sync ()"><code class="function">mm_call_accept_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-call-accept.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-accept-finish"></a><h3>mm_call_accept_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_call_accept_finish (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMCall.html#mm-call-accept" title="mm_call_accept ()"><code class="function">mm_call_accept()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-call-accept-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMCall.html#mm-call-accept" title="mm_call_accept ()"><code class="function">mm_call_accept()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-accept-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-accept-sync"></a><h3>mm_call_accept_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_call_accept_sync (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to accept the incoming call.</p>
+<p>Call objects can only be sent once.</p>
+<p>The calling thread is blocked until an incoming call is ready.
+See <a class="link" href="MMCall.html#mm-call-accept" title="mm_call_accept ()"><code class="function">mm_call_accept()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-call-accept-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-accept-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-hangup"></a><h3>mm_call_hangup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_call_hangup (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to hangup the call.</p>
+<p>Call objects can only be executed once.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMCall.html#mm-call-hangup-finish" title="mm_call_hangup_finish ()"><code class="function">mm_call_hangup_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMCall.html#mm-call-hangup-sync" title="mm_call_hangup_sync ()"><code class="function">mm_call_hangup_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-call-hangup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-hangup-finish"></a><h3>mm_call_hangup_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_call_hangup_finish (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMCall.html#mm-call-hangup" title="mm_call_hangup ()"><code class="function">mm_call_hangup()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-call-hangup-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMCall.html#mm-call-hangup" title="mm_call_hangup ()"><code class="function">mm_call_hangup()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-hangup-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-hangup-sync"></a><h3>mm_call_hangup_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_call_hangup_sync (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to hangup the call.</p>
+<p>Call objects can only be sent once.</p>
+<p>The calling thread is blocked until an incoming call is ready.
+See <a class="link" href="MMCall.html#mm-call-hangup" title="mm_call_hangup ()"><code class="function">mm_call_hangup()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-call-hangup-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-hangup-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-send-dtmf"></a><h3>mm_call_send_dtmf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_call_send_dtmf (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *dtmf</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to send a DTMF tone the call.</p>
+<p>Call objects can only be executed once.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMCall.html#mm-call-send-dtmf-finish" title="mm_call_send_dtmf_finish ()"><code class="function">mm_call_send_dtmf_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMCall.html#mm-call-send-dtmf-sync" title="mm_call_send_dtmf_sync ()"><code class="function">mm_call_send_dtmf_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-call-send-dtmf.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dtmf</p></td>
+<td class="parameter_description"><p>the DMTF tone.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-send-dtmf-finish"></a><h3>mm_call_send_dtmf_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_call_send_dtmf_finish (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMCall.html#mm-call-send-dtmf" title="mm_call_send_dtmf ()"><code class="function">mm_call_send_dtmf()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-call-send-dtmf-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMCall.html#mm-call-send-dtmf" title="mm_call_send_dtmf ()"><code class="function">mm_call_send_dtmf()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-send-dtmf-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-send-dtmf-sync"></a><h3>mm_call_send_dtmf_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_call_send_dtmf_sync (<em class="parameter"><code><a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *dtmf</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to send a DTMF tone the call.</p>
+<p>Call objects can only be sent once.</p>
+<p>The calling thread is blocked until an incoming call is ready.
+See <a class="link" href="MMCall.html#mm-call-send-dtmf" title="mm_call_send_dtmf ()"><code class="function">mm_call_send_dtmf()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-call-send-dtmf-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dtmf</p></td>
+<td class="parameter_description"><p>the DMTF tone.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-send-dtmf-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMCall.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMCall-struct"></a><h3>struct MMCall</h3>
+<pre class="programlisting">struct MMCall;</pre>
+<p>The <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMCallAudioFormat.html b/docs/reference/libmm-glib/html/MMCallAudioFormat.html
new file mode 100644
index 00000000..f8b5eb54
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMCallAudioFormat.html
@@ -0,0 +1,192 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMCallAudioFormat: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch07.html" title="The Call object">
+<link rel="prev" href="MMCallProperties.html" title="MMCallProperties">
+<link rel="next" href="pt02.html" title="Part II. Low level API">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMCallAudioFormat.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMCallAudioFormat.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch07.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMCallProperties.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="pt02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMCallAudioFormat"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMCallAudioFormat.top_of_page"></a>MMCallAudioFormat</span></h2>
+<p>MMCallAudioFormat — Helper object to handle voice call audio formats.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMCallAudioFormat.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCallAudioFormat.html#mm-call-audio-format-get-encoding" title="mm_call_audio_format_get_encoding ()">mm_call_audio_format_get_encoding</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCallAudioFormat.html#mm-call-audio-format-get-resolution" title="mm_call_audio_format_get_resolution ()">mm_call_audio_format_get_resolution</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCallAudioFormat.html#mm-call-audio-format-get-rate" title="mm_call_audio_format_get_rate ()">mm_call_audio_format_get_rate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMCallAudioFormat.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMCallAudioFormat.html#MMCallAudioFormat-struct" title="struct MMCallAudioFormat">MMCallAudioFormat</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMCallAudioFormat.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMCallAudioFormat
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMCallAudioFormat.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a> is an object handling the voice call audio format
+which describes how to send/receive voice call audio from the host.</p>
+<p>This object is retrieved with either <a class="link" href="MMCall.html#mm-call-get-audio-format" title="mm_call_get_audio_format ()"><code class="function">mm_call_get_audio_format()</code></a> or
+<a class="link" href="MMCall.html#mm-call-peek-audio-format" title="mm_call_peek_audio_format ()"><code class="function">mm_call_peek_audio_format()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMCallAudioFormat.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-call-audio-format-get-encoding"></a><h3>mm_call_audio_format_get_encoding ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_audio_format_get_encoding (<em class="parameter"><code><a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a> *self</code></em>);</pre>
+<p>Gets the encoding of the audio format. For example, "pcm" for PCM-encoded
+audio.</p>
+<div class="refsect3">
+<a name="mm-call-audio-format-get-encoding.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-audio-format-get-encoding.returns"></a><h4>Returns</h4>
+<p> a string with the encoding, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-audio-format-get-resolution"></a><h3>mm_call_audio_format_get_resolution ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_audio_format_get_resolution (<em class="parameter"><code><a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a> *self</code></em>);</pre>
+<p>Gets the resolution of the audio format. For example, "s16le" for signed
+16-bit little-endian audio sampling resolution.</p>
+<div class="refsect3">
+<a name="mm-call-audio-format-get-resolution.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-audio-format-get-resolution.returns"></a><h4>Returns</h4>
+<p> a string with the resolution, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-audio-format-get-rate"></a><h3>mm_call_audio_format_get_rate ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_call_audio_format_get_rate (<em class="parameter"><code><a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a> *self</code></em>);</pre>
+<p>Gets the sampling rate of the audio format. For example, 8000 for an 8000hz
+sampling rate.</p>
+<div class="refsect3">
+<a name="mm-call-audio-format-get-rate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-audio-format-get-rate.returns"></a><h4>Returns</h4>
+<p> the sampling rate, or 0 if unknown.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMCallAudioFormat.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMCallAudioFormat-struct"></a><h3>struct MMCallAudioFormat</h3>
+<pre class="programlisting">struct MMCallAudioFormat;</pre>
+<p>The <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat"><span class="type">MMCallAudioFormat</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMCallProperties.html b/docs/reference/libmm-glib/html/MMCallProperties.html
new file mode 100644
index 00000000..9c7dca6e
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMCallProperties.html
@@ -0,0 +1,395 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMCallProperties: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch07.html" title="The Call object">
+<link rel="prev" href="MMCall.html" title="MMCall">
+<link rel="next" href="MMCallAudioFormat.html" title="MMCallAudioFormat">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMCallProperties.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMCallProperties.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch07.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMCall.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMCallAudioFormat.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMCallProperties"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMCallProperties.top_of_page"></a>MMCallProperties</span></h2>
+<p>MMCallProperties — Helper object to handle CALL properties.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMCallProperties.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="returnvalue">MMCallProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCallProperties.html#mm-call-properties-new" title="mm_call_properties_new ()">mm_call_properties_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCallProperties.html#mm-call-properties-get-number" title="mm_call_properties_get_number ()">mm_call_properties_get_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMCallProperties.html#mm-call-properties-set-number" title="mm_call_properties_set_number ()">mm_call_properties_set_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallDirection"><span class="returnvalue">MMCallDirection</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCallProperties.html#mm-call-properties-get-direction" title="mm_call_properties_get_direction ()">mm_call_properties_get_direction</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMCallProperties.html#mm-call-properties-set-direction" title="mm_call_properties_set_direction ()">mm_call_properties_set_direction</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallState"><span class="returnvalue">MMCallState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCallProperties.html#mm-call-properties-get-state" title="mm_call_properties_get_state ()">mm_call_properties_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMCallProperties.html#mm-call-properties-set-state" title="mm_call_properties_set_state ()">mm_call_properties_set_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallStateReason"><span class="returnvalue">MMCallStateReason</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCallProperties.html#mm-call-properties-get-state-reason" title="mm_call_properties_get_state_reason ()">mm_call_properties_get_state_reason</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMCallProperties.html#mm-call-properties-set-state-reason" title="mm_call_properties_set_state_reason ()">mm_call_properties_set_state_reason</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMCallProperties.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMCallProperties.html#MMCallProperties-struct" title="struct MMCallProperties">MMCallProperties</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMCallProperties.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMCallProperties
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMCallProperties.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> is an object handling the properties to be set
+in newly created CALL objects.</p>
+<p>This object is created by the user and passed to ModemManager with either
+<a class="link" href="MMModemVoice.html#mm-modem-voice-create-call" title="mm_modem_voice_create_call ()"><code class="function">mm_modem_voice_create_call()</code></a> or <a class="link" href="MMModemVoice.html#mm-modem-voice-create-call-sync" title="mm_modem_voice_create_call_sync ()"><code class="function">mm_modem_voice_create_call_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMCallProperties.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-call-properties-new"></a><h3>mm_call_properties_new ()</h3>
+<pre class="programlisting"><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="returnvalue">MMCallProperties</span></a> *
+mm_call_properties_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new empty <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>.</p>
+<div class="refsect3">
+<a name="mm-call-properties-new.returns"></a><h4>Returns</h4>
+<p>a <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-properties-get-number"></a><h3>mm_call_properties_get_number ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_properties_get_number (<em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *self</code></em>);</pre>
+<p>Gets the number, in UTF-8.</p>
+<div class="refsect3">
+<a name="mm-call-properties-get-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-properties-get-number.returns"></a><h4>Returns</h4>
+<p> the call number, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any (anonymous caller). Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-properties-set-number"></a><h3>mm_call_properties_set_number ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_call_properties_set_number (<em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre>
+<p>Sets the call number.</p>
+<div class="refsect3">
+<a name="mm-call-properties-set-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>text</p></td>
+<td class="parameter_description"><p>The number to set, in UTF-8.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-properties-get-direction"></a><h3>mm_call_properties_get_direction ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallDirection"><span class="returnvalue">MMCallDirection</span></a>
+mm_call_properties_get_direction (<em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *self</code></em>);</pre>
+<p>Gets the call direction.</p>
+<div class="refsect3">
+<a name="mm-call-properties-get-direction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-properties-get-direction.returns"></a><h4>Returns</h4>
+<p> the call direction.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-properties-set-direction"></a><h3>mm_call_properties_set_direction ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_call_properties_set_direction (<em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallDirection"><span class="type">MMCallDirection</span></a> direction</code></em>);</pre>
+<p>Sets the call direction</p>
+<div class="refsect3">
+<a name="mm-call-properties-set-direction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>direction</p></td>
+<td class="parameter_description"><p>the call direction</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-properties-get-state"></a><h3>mm_call_properties_get_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallState"><span class="returnvalue">MMCallState</span></a>
+mm_call_properties_get_state (<em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *self</code></em>);</pre>
+<p>Gets the call state.</p>
+<div class="refsect3">
+<a name="mm-call-properties-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-properties-get-state.returns"></a><h4>Returns</h4>
+<p> the call state.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-properties-set-state"></a><h3>mm_call_properties_set_state ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_call_properties_set_state (<em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallState"><span class="type">MMCallState</span></a> state</code></em>);</pre>
+<p>Sets the call state</p>
+<div class="refsect3">
+<a name="mm-call-properties-set-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>state</p></td>
+<td class="parameter_description"><p>the call state</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-properties-get-state-reason"></a><h3>mm_call_properties_get_state_reason ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallStateReason"><span class="returnvalue">MMCallStateReason</span></a>
+mm_call_properties_get_state_reason (<em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *self</code></em>);</pre>
+<p>Gets the call state reason.</p>
+<div class="refsect3">
+<a name="mm-call-properties-get-state-reason.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-properties-get-state-reason.returns"></a><h4>Returns</h4>
+<p> the call state reason.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-properties-set-state-reason"></a><h3>mm_call_properties_set_state_reason ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_call_properties_set_state_reason (<em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallStateReason"><span class="type">MMCallStateReason</span></a> state_reason</code></em>);</pre>
+<p>Sets the call state reason</p>
+<div class="refsect3">
+<a name="mm-call-properties-set-state-reason.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>state_reason</p></td>
+<td class="parameter_description"><p>the call state_reason</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMCallProperties.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMCallProperties-struct"></a><h3>struct MMCallProperties</h3>
+<pre class="programlisting">struct MMCallProperties;</pre>
+<p>The <a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> structure contains private data and should only be
+accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMCdmaManualActivationProperties.html b/docs/reference/libmm-glib/html/MMCdmaManualActivationProperties.html
new file mode 100644
index 00000000..1d7998b1
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMCdmaManualActivationProperties.html
@@ -0,0 +1,835 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMCdmaManualActivationProperties: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html#id-1.2.4.3" title="Generic interfaces">
+<link rel="prev" href="MMModemCdma.html" title="MMModemCdma">
+<link rel="next" href="MMUnlockRetries.html" title="MMUnlockRetries">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMCdmaManualActivationProperties.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMCdmaManualActivationProperties.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html#id-1.2.4.3"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModemCdma.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMUnlockRetries.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMCdmaManualActivationProperties"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMCdmaManualActivationProperties.top_of_page"></a>MMCdmaManualActivationProperties</span></h2>
+<p>MMCdmaManualActivationProperties — Helper object to handle manual CDMA activation properties.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMCdmaManualActivationProperties.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="returnvalue">MMCdmaManualActivationProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-new" title="mm_cdma_manual_activation_properties_new ()">mm_cdma_manual_activation_properties_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-spc" title="mm_cdma_manual_activation_properties_get_spc ()">mm_cdma_manual_activation_properties_get_spc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-spc" title="mm_cdma_manual_activation_properties_set_spc ()">mm_cdma_manual_activation_properties_set_spc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-sid" title="mm_cdma_manual_activation_properties_get_sid ()">mm_cdma_manual_activation_properties_get_sid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-sid" title="mm_cdma_manual_activation_properties_set_sid ()">mm_cdma_manual_activation_properties_set_sid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-mdn" title="mm_cdma_manual_activation_properties_get_mdn ()">mm_cdma_manual_activation_properties_get_mdn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-mdn" title="mm_cdma_manual_activation_properties_set_mdn ()">mm_cdma_manual_activation_properties_set_mdn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-min" title="mm_cdma_manual_activation_properties_get_min ()">mm_cdma_manual_activation_properties_get_min</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-min" title="mm_cdma_manual_activation_properties_set_min ()">mm_cdma_manual_activation_properties_set_min</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-mn-ha-key" title="mm_cdma_manual_activation_properties_get_mn_ha_key ()">mm_cdma_manual_activation_properties_get_mn_ha_key</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-mn-ha-key" title="mm_cdma_manual_activation_properties_set_mn_ha_key ()">mm_cdma_manual_activation_properties_set_mn_ha_key</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-mn-aaa-key" title="mm_cdma_manual_activation_properties_get_mn_aaa_key ()">mm_cdma_manual_activation_properties_get_mn_aaa_key</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-mn-aaa-key" title="mm_cdma_manual_activation_properties_set_mn_aaa_key ()">mm_cdma_manual_activation_properties_set_mn_aaa_key</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-prl" title="mm_cdma_manual_activation_properties_get_prl ()">mm_cdma_manual_activation_properties_get_prl</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-peek-prl-bytearray" title="mm_cdma_manual_activation_properties_peek_prl_bytearray ()">mm_cdma_manual_activation_properties_peek_prl_bytearray</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-prl-bytearray" title="mm_cdma_manual_activation_properties_get_prl_bytearray ()">mm_cdma_manual_activation_properties_get_prl_bytearray</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-prl" title="mm_cdma_manual_activation_properties_set_prl ()">mm_cdma_manual_activation_properties_set_prl</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-prl-bytearray" title="mm_cdma_manual_activation_properties_set_prl_bytearray ()">mm_cdma_manual_activation_properties_set_prl_bytearray</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMCdmaManualActivationProperties.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMCdmaManualActivationProperties.html#MMCdmaManualActivationProperties-struct" title="struct MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMCdmaManualActivationProperties.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMCdmaManualActivationProperties
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMCdmaManualActivationProperties.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> is an object handling the properties
+required during a manual CDMA activation request.</p>
+</div>
+<div class="refsect1">
+<a name="MMCdmaManualActivationProperties.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-new"></a><h3>mm_cdma_manual_activation_properties_new ()</h3>
+<pre class="programlisting"><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="returnvalue">MMCdmaManualActivationProperties</span></a> *
+mm_cdma_manual_activation_properties_new
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-new.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-get-spc"></a><h3>mm_cdma_manual_activation_properties_get_spc ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_cdma_manual_activation_properties_get_spc
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>);</pre>
+<p>Gets the Service Programming Code.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-spc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-spc.returns"></a><h4>Returns</h4>
+<p>The SPC. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-set-spc"></a><h3>mm_cdma_manual_activation_properties_set_spc ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_cdma_manual_activation_properties_set_spc
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *spc</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Sets the Service Programming Code.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-spc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>spc</p></td>
+<td class="parameter_description"><p>The SPC string, exactly 6 digits.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-spc.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the SPC was successfully set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-get-sid"></a><h3>mm_cdma_manual_activation_properties_get_sid ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint16"><span class="returnvalue">guint16</span></a>
+mm_cdma_manual_activation_properties_get_sid
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>);</pre>
+<p>Gets the System Identification Number.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-sid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-sid.returns"></a><h4>Returns</h4>
+<p> The SID.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-set-sid"></a><h3>mm_cdma_manual_activation_properties_set_sid ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_cdma_manual_activation_properties_set_sid
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> sid</code></em>);</pre>
+<p>Sets the Service Identification Number.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-sid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sid</p></td>
+<td class="parameter_description"><p>The SID.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-get-mdn"></a><h3>mm_cdma_manual_activation_properties_get_mdn ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_cdma_manual_activation_properties_get_mdn
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>);</pre>
+<p>Gets the Mobile Directory Number.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-mdn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-mdn.returns"></a><h4>Returns</h4>
+<p>The MDN. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-set-mdn"></a><h3>mm_cdma_manual_activation_properties_set_mdn ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_cdma_manual_activation_properties_set_mdn
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mdn</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Sets the Mobile Directory Number.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-mdn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mdn</p></td>
+<td class="parameter_description"><p>The MDN string, maximum 15 characters.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-mdn.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the MDN was successfully set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-get-min"></a><h3>mm_cdma_manual_activation_properties_get_min ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_cdma_manual_activation_properties_get_min
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>);</pre>
+<p>Gets the Mobile Indentification Number.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-min.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-min.returns"></a><h4>Returns</h4>
+<p>The MIN. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-set-min"></a><h3>mm_cdma_manual_activation_properties_set_min ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_cdma_manual_activation_properties_set_min
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *min</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Sets the Mobile Identification Number.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-min.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>min</p></td>
+<td class="parameter_description"><p>The MIN string, maximum 15 characters.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-min.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the MIN was successfully set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-get-mn-ha-key"></a><h3>mm_cdma_manual_activation_properties_get_mn_ha_key ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_cdma_manual_activation_properties_get_mn_ha_key
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>);</pre>
+<p>Gets the MN-HA key.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-mn-ha-key.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-mn-ha-key.returns"></a><h4>Returns</h4>
+<p>The MN-HA key. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-set-mn-ha-key"></a><h3>mm_cdma_manual_activation_properties_set_mn_ha_key ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_cdma_manual_activation_properties_set_mn_ha_key
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mn_ha_key</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Sets the Mobile Identification Number.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-mn-ha-key.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mn_ha_key</p></td>
+<td class="parameter_description"><p>The MN-HA key string, maximum 16 characters.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-mn-ha-key.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the MN-HA key was successfully set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-get-mn-aaa-key"></a><h3>mm_cdma_manual_activation_properties_get_mn_aaa_key ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_cdma_manual_activation_properties_get_mn_aaa_key
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>);</pre>
+<p>Gets the MN-AAA key.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-mn-aaa-key.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-mn-aaa-key.returns"></a><h4>Returns</h4>
+<p>The MN-AAA key. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-set-mn-aaa-key"></a><h3>mm_cdma_manual_activation_properties_set_mn_aaa_key ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_cdma_manual_activation_properties_set_mn_aaa_key
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mn_aaa_key</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Sets the Mobile Identification Number.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-mn-aaa-key.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mn_aaa_key</p></td>
+<td class="parameter_description"><p>The MN-AAA key string, maximum 16 characters.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-mn-aaa-key.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the MN-AAA key was successfully set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-get-prl"></a><h3>mm_cdma_manual_activation_properties_get_prl ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+mm_cdma_manual_activation_properties_get_prl
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *prl_len</code></em>);</pre>
+<p>Gets the Preferred Roaming List.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-prl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>prl_len</p></td>
+<td class="parameter_description"><p>Size of the returned PRL. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-prl.returns"></a><h4>Returns</h4>
+<p>The PRL. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-peek-prl-bytearray"></a><h3>mm_cdma_manual_activation_properties_peek_prl_bytearray ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> *
+mm_cdma_manual_activation_properties_peek_prl_bytearray
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>);</pre>
+<p>Gets the Preferred Roaming List.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-peek-prl-bytearray.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-peek-prl-bytearray.returns"></a><h4>Returns</h4>
+<p>A <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> with the PRL, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-get-prl-bytearray"></a><h3>mm_cdma_manual_activation_properties_get_prl_bytearray ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> *
+mm_cdma_manual_activation_properties_get_prl_bytearray
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>);</pre>
+<p>Gets the Preferred Roaming List.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-prl-bytearray.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-get-prl-bytearray.returns"></a><h4>Returns</h4>
+<p>A <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> with the PRL, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#g-byte-array-unref"><code class="function">g_byte_array_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-set-prl"></a><h3>mm_cdma_manual_activation_properties_set_prl ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_cdma_manual_activation_properties_set_prl
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *prl</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> prl_length</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Sets the Preferred Roaming List.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-prl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>prl</p></td>
+<td class="parameter_description"><p>The PRL.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>prl_length</p></td>
+<td class="parameter_description"><p>Length of <em class="parameter"><code>prl</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-prl.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the PRL was successfully set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-cdma-manual-activation-properties-set-prl-bytearray"></a><h3>mm_cdma_manual_activation_properties_set_prl_bytearray ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_cdma_manual_activation_properties_set_prl_bytearray
+ (<em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> *prl</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Sets the Preferred Roaming List.</p>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-prl-bytearray.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>prl</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> with the PRL to set. This method takes a new reference of <em class="parameter"><code>prl</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-cdma-manual-activation-properties-set-prl-bytearray.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the PRL was successfully set, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMCdmaManualActivationProperties.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMCdmaManualActivationProperties-struct"></a><h3>struct MMCdmaManualActivationProperties</h3>
+<pre class="programlisting">struct MMCdmaManualActivationProperties;</pre>
+<p>The <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMFirmwareProperties.html b/docs/reference/libmm-glib/html/MMFirmwareProperties.html
new file mode 100644
index 00000000..a5624d52
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMFirmwareProperties.html
@@ -0,0 +1,331 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMFirmwareProperties: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s06.html" title="Firmware support">
+<link rel="prev" href="MMModemFirmware.html" title="MMModemFirmware">
+<link rel="next" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMFirmwareProperties.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMFirmwareProperties.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s06.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModemFirmware.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMFirmwareUpdateSettings.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMFirmwareProperties"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMFirmwareProperties.top_of_page"></a>MMFirmwareProperties</span></h2>
+<p>MMFirmwareProperties — Helper object to handle firmware information.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMFirmwareProperties.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMFirmwareImageType"><span class="returnvalue">MMFirmwareImageType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-image-type" title="mm_firmware_properties_get_image_type ()">mm_firmware_properties_get_image_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-unique-id" title="mm_firmware_properties_get_unique_id ()">mm_firmware_properties_get_unique_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-pri-version" title="mm_firmware_properties_get_gobi_pri_version ()">mm_firmware_properties_get_gobi_pri_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-pri-info" title="mm_firmware_properties_get_gobi_pri_info ()">mm_firmware_properties_get_gobi_pri_info</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-boot-version" title="mm_firmware_properties_get_gobi_boot_version ()">mm_firmware_properties_get_gobi_boot_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-pri-unique-id" title="mm_firmware_properties_get_gobi_pri_unique_id ()">mm_firmware_properties_get_gobi_pri_unique_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-modem-unique-id" title="mm_firmware_properties_get_gobi_modem_unique_id ()">mm_firmware_properties_get_gobi_modem_unique_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareProperties.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMFirmwareProperties.html#MMFirmwareProperties-struct" title="struct MMFirmwareProperties">MMFirmwareProperties</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareProperties.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMFirmwareProperties
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareProperties.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> is an object handling the properties exposed for
+available firmware images.</p>
+<p>This object is retrieved with either <a class="link" href="MMModemFirmware.html#mm-modem-firmware-list" title="mm_modem_firmware_list ()"><code class="function">mm_modem_firmware_list()</code></a>
+or <a class="link" href="MMModemFirmware.html#mm-modem-firmware-list-sync" title="mm_modem_firmware_list_sync ()"><code class="function">mm_modem_firmware_list_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareProperties.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-firmware-properties-get-image-type"></a><h3>mm_firmware_properties_get_image_type ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMFirmwareImageType"><span class="returnvalue">MMFirmwareImageType</span></a>
+mm_firmware_properties_get_image_type (<em class="parameter"><code><a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> *self</code></em>);</pre>
+<p>Gets the type of the firmare image.</p>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-image-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-image-type.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMFirmwareImageType"><span class="type">MMFirmwareImageType</span></a> specifying The type of the image.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-properties-get-unique-id"></a><h3>mm_firmware_properties_get_unique_id ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_firmware_properties_get_unique_id (<em class="parameter"><code><a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> *self</code></em>);</pre>
+<p>Gets the unique ID of the firmare image.</p>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-unique-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-unique-id.returns"></a><h4>Returns</h4>
+<p>The ID of the image. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-properties-get-gobi-pri-version"></a><h3>mm_firmware_properties_get_gobi_pri_version ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_firmware_properties_get_gobi_pri_version
+ (<em class="parameter"><code><a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> *self</code></em>);</pre>
+<p>Gets the PRI version of a firmware image of type <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS"><code class="literal">MM_FIRMWARE_IMAGE_TYPE_GOBI</code></a>.</p>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-pri-version.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-pri-version.returns"></a><h4>Returns</h4>
+<p> The PRI version, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-properties-get-gobi-pri-info"></a><h3>mm_firmware_properties_get_gobi_pri_info ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_firmware_properties_get_gobi_pri_info
+ (<em class="parameter"><code><a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> *self</code></em>);</pre>
+<p>Gets the PRI info of a firmware image of type <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS"><code class="literal">MM_FIRMWARE_IMAGE_TYPE_GOBI</code></a>.</p>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-pri-info.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-pri-info.returns"></a><h4>Returns</h4>
+<p> The PRI info, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-properties-get-gobi-boot-version"></a><h3>mm_firmware_properties_get_gobi_boot_version ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_firmware_properties_get_gobi_boot_version
+ (<em class="parameter"><code><a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> *self</code></em>);</pre>
+<p>Gets the boot version of a firmware image of type <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS"><code class="literal">MM_FIRMWARE_IMAGE_TYPE_GOBI</code></a>.</p>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-boot-version.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-boot-version.returns"></a><h4>Returns</h4>
+<p> The boot version, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-properties-get-gobi-pri-unique-id"></a><h3>mm_firmware_properties_get_gobi_pri_unique_id ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_firmware_properties_get_gobi_pri_unique_id
+ (<em class="parameter"><code><a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> *self</code></em>);</pre>
+<p>Gets the PRI unique ID of a firmware image of type <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS"><code class="literal">MM_FIRMWARE_IMAGE_TYPE_GOBI</code></a>.</p>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-pri-unique-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-pri-unique-id.returns"></a><h4>Returns</h4>
+<p> The PRI unique ID, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-properties-get-gobi-modem-unique-id"></a><h3>mm_firmware_properties_get_gobi_modem_unique_id ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_firmware_properties_get_gobi_modem_unique_id
+ (<em class="parameter"><code><a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> *self</code></em>);</pre>
+<p>Gets the MODEM unique ID of a firmware image of type <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS"><code class="literal">MM_FIRMWARE_IMAGE_TYPE_GOBI</code></a>.</p>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-modem-unique-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-properties-get-gobi-modem-unique-id.returns"></a><h4>Returns</h4>
+<p> The PRI unique ID, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareProperties.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMFirmwareProperties-struct"></a><h3>struct MMFirmwareProperties</h3>
+<pre class="programlisting">struct MMFirmwareProperties;</pre>
+<p>The <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMFirmwareUpdateSettings.html b/docs/reference/libmm-glib/html/MMFirmwareUpdateSettings.html
new file mode 100644
index 00000000..9608ee69
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMFirmwareUpdateSettings.html
@@ -0,0 +1,229 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMFirmwareUpdateSettings: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s06.html" title="Firmware support">
+<link rel="prev" href="MMFirmwareProperties.html" title="MMFirmwareProperties">
+<link rel="next" href="ch03s07.html" title="Extended signal information">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMFirmwareUpdateSettings.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMFirmwareUpdateSettings.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s06.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMFirmwareProperties.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s07.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMFirmwareUpdateSettings"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMFirmwareUpdateSettings.top_of_page"></a>MMFirmwareUpdateSettings</span></h2>
+<p>MMFirmwareUpdateSettings — Helper object to handle firmware update settings.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMFirmwareUpdateSettings.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-fastboot-at" title="mm_firmware_update_settings_get_fastboot_at ()">mm_firmware_update_settings_get_fastboot_at</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemFirmwareUpdateMethod"><span class="returnvalue">MMModemFirmwareUpdateMethod</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-method" title="mm_firmware_update_settings_get_method ()">mm_firmware_update_settings_get_method</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-device-ids" title="mm_firmware_update_settings_get_device_ids ()">mm_firmware_update_settings_get_device_ids</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-version" title="mm_firmware_update_settings_get_version ()">mm_firmware_update_settings_get_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareUpdateSettings.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMFirmwareUpdateSettings.html#MMFirmwareUpdateSettings-struct" title="struct MMFirmwareUpdateSettings">MMFirmwareUpdateSettings</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareUpdateSettings.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMFirmwareUpdateSettings
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareUpdateSettings.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a> is an object handling the settings exposed to
+aid in the firmware update operation.</p>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareUpdateSettings.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-firmware-update-settings-get-fastboot-at"></a><h3>mm_firmware_update_settings_get_fastboot_at ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_firmware_update_settings_get_fastboot_at
+ (<em class="parameter"><code><a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a> *self</code></em>);</pre>
+<p>Gets the AT command that should be sent to the module to trigger a reset
+into fastboot mode.</p>
+<p>Only applicable if the update method includes <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-FIRMWARE-UPDATE-METHOD-FASTBOOT:CAPS"><code class="literal">MM_MODEM_FIRMWARE_UPDATE_METHOD_FASTBOOT</code></a>.</p>
+<div class="refsect3">
+<a name="mm-firmware-update-settings-get-fastboot-at.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-update-settings-get-fastboot-at.returns"></a><h4>Returns</h4>
+<p> The AT command string, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-update-settings-get-method"></a><h3>mm_firmware_update_settings_get_method ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemFirmwareUpdateMethod"><span class="returnvalue">MMModemFirmwareUpdateMethod</span></a>
+mm_firmware_update_settings_get_method
+ (<em class="parameter"><code><a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a> *self</code></em>);</pre>
+<p>Gets the methods to use during the firmware update operation.</p>
+<div class="refsect3">
+<a name="mm-firmware-update-settings-get-method.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-update-settings-get-method.returns"></a><h4>Returns</h4>
+<p> a bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemFirmwareUpdateMethod"><span class="type">MMModemFirmwareUpdateMethod</span></a> values.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-update-settings-get-device-ids"></a><h3>mm_firmware_update_settings_get_device_ids ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_firmware_update_settings_get_device_ids
+ (<em class="parameter"><code><a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a> *self</code></em>);</pre>
+<p>Gets the list of device ids used to identify the device during a firmware update
+operation.</p>
+<div class="refsect3">
+<a name="mm-firmware-update-settings-get-device-ids.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-update-settings-get-device-ids.returns"></a><h4>Returns</h4>
+<p>The list of device ids, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-update-settings-get-version"></a><h3>mm_firmware_update_settings_get_version ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_firmware_update_settings_get_version
+ (<em class="parameter"><code><a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a> *self</code></em>);</pre>
+<p>Gets firmware version string.</p>
+<div class="refsect3">
+<a name="mm-firmware-update-settings-get-version.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-update-settings-get-version.returns"></a><h4>Returns</h4>
+<p> The version string, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMFirmwareUpdateSettings.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMFirmwareUpdateSettings-struct"></a><h3>struct MMFirmwareUpdateSettings</h3>
+<pre class="programlisting">struct MMFirmwareUpdateSettings;</pre>
+<p>The <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMKernelEventProperties.html b/docs/reference/libmm-glib/html/MMKernelEventProperties.html
new file mode 100644
index 00000000..3c95be5b
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMKernelEventProperties.html
@@ -0,0 +1,401 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMKernelEventProperties: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch02.html" title="The Manager object">
+<link rel="prev" href="MMManager.html" title="MMManager">
+<link rel="next" href="ch03.html" title="The Modem object">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMKernelEventProperties.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMKernelEventProperties.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMManager.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMKernelEventProperties"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMKernelEventProperties.top_of_page"></a>MMKernelEventProperties</span></h2>
+<p>MMKernelEventProperties — Helper object to handle kernel event properties.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMKernelEventProperties.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="returnvalue">MMKernelEventProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-new" title="mm_kernel_event_properties_new ()">mm_kernel_event_properties_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-get-action" title="mm_kernel_event_properties_get_action ()">mm_kernel_event_properties_get_action</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-set-action" title="mm_kernel_event_properties_set_action ()">mm_kernel_event_properties_set_action</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-get-name" title="mm_kernel_event_properties_get_name ()">mm_kernel_event_properties_get_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-set-name" title="mm_kernel_event_properties_set_name ()">mm_kernel_event_properties_set_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-get-subsystem" title="mm_kernel_event_properties_get_subsystem ()">mm_kernel_event_properties_get_subsystem</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-set-subsystem" title="mm_kernel_event_properties_set_subsystem ()">mm_kernel_event_properties_set_subsystem</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-get-uid" title="mm_kernel_event_properties_get_uid ()">mm_kernel_event_properties_get_uid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-set-uid" title="mm_kernel_event_properties_set_uid ()">mm_kernel_event_properties_set_uid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMKernelEventProperties.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMKernelEventProperties.html#MMKernelEventProperties-struct" title="struct MMKernelEventProperties">MMKernelEventProperties</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMKernelEventProperties.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMKernelEventProperties
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMKernelEventProperties.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> is an object handling the properties to be set
+in reported kernel events.</p>
+<p>This object is created by the user and passed to ModemManager with either
+<a class="link" href="MMManager.html#mm-manager-report-kernel-event" title="mm_manager_report_kernel_event ()"><code class="function">mm_manager_report_kernel_event()</code></a> or <a class="link" href="MMManager.html#mm-manager-report-kernel-event-sync" title="mm_manager_report_kernel_event_sync ()"><code class="function">mm_manager_report_kernel_event_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMKernelEventProperties.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-kernel-event-properties-new"></a><h3>mm_kernel_event_properties_new ()</h3>
+<pre class="programlisting"><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="returnvalue">MMKernelEventProperties</span></a> *
+mm_kernel_event_properties_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new empty <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>.</p>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-new.returns"></a><h4>Returns</h4>
+<p>a <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-kernel-event-properties-get-action"></a><h3>mm_kernel_event_properties_get_action ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_kernel_event_properties_get_action (<em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *self</code></em>);</pre>
+<p>Gets the action.</p>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-get-action.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-get-action.returns"></a><h4>Returns</h4>
+<p>The action. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-kernel-event-properties-set-action"></a><h3>mm_kernel_event_properties_set_action ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_kernel_event_properties_set_action (<em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action</code></em>);</pre>
+<p>Sets the action.</p>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-set-action.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>action</p></td>
+<td class="parameter_description"><p>The action to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-kernel-event-properties-get-name"></a><h3>mm_kernel_event_properties_get_name ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_kernel_event_properties_get_name (<em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *self</code></em>);</pre>
+<p>Gets the name.</p>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-get-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-get-name.returns"></a><h4>Returns</h4>
+<p>The name. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-kernel-event-properties-set-name"></a><h3>mm_kernel_event_properties_set_name ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_kernel_event_properties_set_name (<em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
+<p>Sets the name.</p>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-set-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>The name to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-kernel-event-properties-get-subsystem"></a><h3>mm_kernel_event_properties_get_subsystem ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_kernel_event_properties_get_subsystem
+ (<em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *self</code></em>);</pre>
+<p>Gets the subsystem.</p>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-get-subsystem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-get-subsystem.returns"></a><h4>Returns</h4>
+<p>The subsystem. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-kernel-event-properties-set-subsystem"></a><h3>mm_kernel_event_properties_set_subsystem ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_kernel_event_properties_set_subsystem
+ (<em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *subsystem</code></em>);</pre>
+<p>Sets the subsystem.</p>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-set-subsystem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>subsystem</p></td>
+<td class="parameter_description"><p>The subsystem to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-kernel-event-properties-get-uid"></a><h3>mm_kernel_event_properties_get_uid ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_kernel_event_properties_get_uid (<em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *self</code></em>);</pre>
+<p>Gets the unique ID of the physical device.</p>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-get-uid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-get-uid.returns"></a><h4>Returns</h4>
+<p>The uid. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-kernel-event-properties-set-uid"></a><h3>mm_kernel_event_properties_set_uid ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_kernel_event_properties_set_uid (<em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uid</code></em>);</pre>
+<p>Sets the unique ID of the physical device.</p>
+<div class="refsect3">
+<a name="mm-kernel-event-properties-set-uid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>uid</p></td>
+<td class="parameter_description"><p>The uid to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMKernelEventProperties.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMKernelEventProperties-struct"></a><h3>struct MMKernelEventProperties</h3>
+<pre class="programlisting">struct MMKernelEventProperties;</pre>
+<p>The <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> structure contains private data and should only be
+accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMLocation3gpp.html b/docs/reference/libmm-glib/html/MMLocation3gpp.html
new file mode 100644
index 00000000..a9b19d0c
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMLocation3gpp.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMLocation3gpp: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s03.html" title="Location support">
+<link rel="prev" href="MMModemLocation.html" title="MMModemLocation">
+<link rel="next" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMLocation3gpp.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMLocation3gpp.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModemLocation.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMLocationGpsNmea.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMLocation3gpp"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMLocation3gpp.top_of_page"></a>MMLocation3gpp</span></h2>
+<p>MMLocation3gpp — Helper object to handle 3GPP location information.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMLocation3gpp.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-mobile-country-code" title="mm_location_3gpp_get_mobile_country_code ()">mm_location_3gpp_get_mobile_country_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-mobile-network-code" title="mm_location_3gpp_get_mobile_network_code ()">mm_location_3gpp_get_mobile_network_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-location-area-code" title="mm_location_3gpp_get_location_area_code ()">mm_location_3gpp_get_location_area_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-tracking-area-code" title="mm_location_3gpp_get_tracking_area_code ()">mm_location_3gpp_get_tracking_area_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-cell-id" title="mm_location_3gpp_get_cell_id ()">mm_location_3gpp_get_cell_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMLocation3gpp.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMLocation3gpp.html#MMLocation3gpp-struct" title="struct MMLocation3gpp">MMLocation3gpp</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMLocation3gpp.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMLocation3gpp
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMLocation3gpp.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> is an object handling the location information of the
+modem when this is reported by the 3GPP network.</p>
+<p>This object is retrieved with either <a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp" title="mm_modem_location_get_3gpp ()"><code class="function">mm_modem_location_get_3gpp()</code></a>,
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp-sync" title="mm_modem_location_get_3gpp_sync ()"><code class="function">mm_modem_location_get_3gpp_sync()</code></a>, <a class="link" href="MMModemLocation.html#mm-modem-location-get-full" title="mm_modem_location_get_full ()"><code class="function">mm_modem_location_get_full()</code></a> or
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full-sync" title="mm_modem_location_get_full_sync ()"><code class="function">mm_modem_location_get_full_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMLocation3gpp.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-location-3gpp-get-mobile-country-code"></a><h3>mm_location_3gpp_get_mobile_country_code ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_location_3gpp_get_mobile_country_code
+ (<em class="parameter"><code><a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the Mobile Country Code of the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-mobile-country-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-mobile-country-code.returns"></a><h4>Returns</h4>
+<p> the MCC, or 0 if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-location-3gpp-get-mobile-network-code"></a><h3>mm_location_3gpp_get_mobile_network_code ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_location_3gpp_get_mobile_network_code
+ (<em class="parameter"><code><a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the Mobile Network Code of the 3GPP network.</p>
+<p>Note that 0 may actually be a valid MNC. In general, the MNC should be
+considered valid just if the reported MCC is valid, as MCC should never
+be 0.</p>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-mobile-network-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-mobile-network-code.returns"></a><h4>Returns</h4>
+<p> the MNC, or 0 if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-location-3gpp-get-location-area-code"></a><h3>mm_location_3gpp_get_location_area_code ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>
+mm_location_3gpp_get_location_area_code
+ (<em class="parameter"><code><a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the location area code of the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-location-area-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-location-area-code.returns"></a><h4>Returns</h4>
+<p> the location area code, or 0 if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-location-3gpp-get-tracking-area-code"></a><h3>mm_location_3gpp_get_tracking_area_code ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>
+mm_location_3gpp_get_tracking_area_code
+ (<em class="parameter"><code><a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the location area code of the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-tracking-area-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-tracking-area-code.returns"></a><h4>Returns</h4>
+<p> the location area code, or 0 if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-location-3gpp-get-cell-id"></a><h3>mm_location_3gpp_get_cell_id ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gulong"><span class="returnvalue">gulong</span></a>
+mm_location_3gpp_get_cell_id (<em class="parameter"><code><a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the cell ID of the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-cell-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-3gpp-get-cell-id.returns"></a><h4>Returns</h4>
+<p> the cell ID, or 0 if unknown.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMLocation3gpp.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMLocation3gpp-struct"></a><h3>struct MMLocation3gpp</h3>
+<pre class="programlisting">struct MMLocation3gpp;</pre>
+<p>The <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMLocationCdmaBs.html b/docs/reference/libmm-glib/html/MMLocationCdmaBs.html
new file mode 100644
index 00000000..70b24f9e
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMLocationCdmaBs.html
@@ -0,0 +1,156 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMLocationCdmaBs: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s03.html" title="Location support">
+<link rel="prev" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw">
+<link rel="next" href="ch03s04.html" title="Messaging support">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMLocationCdmaBs.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMLocationCdmaBs.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMLocationGpsRaw.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s04.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMLocationCdmaBs"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMLocationCdmaBs.top_of_page"></a>MMLocationCdmaBs</span></h2>
+<p>MMLocationCdmaBs — Helper object to handle CDMA Base Station location information.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMLocationCdmaBs.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocationCdmaBs.html#mm-location-cdma-bs-get-latitude" title="mm_location_cdma_bs_get_latitude ()">mm_location_cdma_bs_get_latitude</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocationCdmaBs.html#mm-location-cdma-bs-get-longitude" title="mm_location_cdma_bs_get_longitude ()">mm_location_cdma_bs_get_longitude</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMLocationCdmaBs.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMLocationCdmaBs.html#MMLocationCdmaBs-struct" title="struct MMLocationCdmaBs">MMLocationCdmaBs</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMLocationCdmaBs.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMLocationCdmaBs
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMLocationCdmaBs.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a> is an object handling the location information of the
+CDMA base station in which the modem is registered.</p>
+<p>This object is retrieved with either <a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs" title="mm_modem_location_get_cdma_bs ()"><code class="function">mm_modem_location_get_cdma_bs()</code></a>,
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs-sync" title="mm_modem_location_get_cdma_bs_sync ()"><code class="function">mm_modem_location_get_cdma_bs_sync()</code></a>, <a class="link" href="MMModemLocation.html#mm-modem-location-get-full" title="mm_modem_location_get_full ()"><code class="function">mm_modem_location_get_full()</code></a> or
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full-sync" title="mm_modem_location_get_full_sync ()"><code class="function">mm_modem_location_get_full_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMLocationCdmaBs.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-location-cdma-bs-get-latitude"></a><h3>mm_location_cdma_bs_get_latitude ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_location_cdma_bs_get_latitude (<em class="parameter"><code><a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a> *self</code></em>);</pre>
+<p>Gets the latitude, in the [-90,90] range.</p>
+<div class="refsect3">
+<a name="mm-location-cdma-bs-get-latitude.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-cdma-bs-get-latitude.returns"></a><h4>Returns</h4>
+<p> the latitude, or <a class="link" href="MMModemLocation.html#MM-LOCATION-LATITUDE-UNKNOWN:CAPS" title="MM_LOCATION_LATITUDE_UNKNOWN"><code class="literal">MM_LOCATION_LATITUDE_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-location-cdma-bs-get-longitude"></a><h3>mm_location_cdma_bs_get_longitude ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_location_cdma_bs_get_longitude (<em class="parameter"><code><a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a> *self</code></em>);</pre>
+<p>Gets the longitude, in the [-180,180] range.</p>
+<div class="refsect3">
+<a name="mm-location-cdma-bs-get-longitude.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-cdma-bs-get-longitude.returns"></a><h4>Returns</h4>
+<p> the longitude, or <a class="link" href="MMModemLocation.html#MM-LOCATION-LONGITUDE-UNKNOWN:CAPS" title="MM_LOCATION_LONGITUDE_UNKNOWN"><code class="literal">MM_LOCATION_LONGITUDE_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMLocationCdmaBs.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMLocationCdmaBs-struct"></a><h3>struct MMLocationCdmaBs</h3>
+<pre class="programlisting">struct MMLocationCdmaBs;</pre>
+<p>The <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMLocationGpsNmea.html b/docs/reference/libmm-glib/html/MMLocationGpsNmea.html
new file mode 100644
index 00000000..a4bc4765
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMLocationGpsNmea.html
@@ -0,0 +1,166 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMLocationGpsNmea: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s03.html" title="Location support">
+<link rel="prev" href="MMLocation3gpp.html" title="MMLocation3gpp">
+<link rel="next" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMLocationGpsNmea.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMLocationGpsNmea.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMLocation3gpp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMLocationGpsRaw.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMLocationGpsNmea"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMLocationGpsNmea.top_of_page"></a>MMLocationGpsNmea</span></h2>
+<p>MMLocationGpsNmea — Helper object to handle NMEA-based GPS location information.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMLocationGpsNmea.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMLocationGpsNmea.html#mm-location-gps-nmea-get-trace" title="mm_location_gps_nmea_get_trace ()">mm_location_gps_nmea_get_trace</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMLocationGpsNmea.html#mm-location-gps-nmea-build-full" title="mm_location_gps_nmea_build_full ()">mm_location_gps_nmea_build_full</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsNmea.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMLocationGpsNmea.html#MMLocationGpsNmea-struct" title="struct MMLocationGpsNmea">MMLocationGpsNmea</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsNmea.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMLocationGpsNmea
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsNmea.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a> is an object handling the location information of the
+modem when this is reported by GPS.</p>
+<p>This object is retrieved with either <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea" title="mm_modem_location_get_gps_nmea ()"><code class="function">mm_modem_location_get_gps_nmea()</code></a>,
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea-sync" title="mm_modem_location_get_gps_nmea_sync ()"><code class="function">mm_modem_location_get_gps_nmea_sync()</code></a>, <a class="link" href="MMModemLocation.html#mm-modem-location-get-full" title="mm_modem_location_get_full ()"><code class="function">mm_modem_location_get_full()</code></a> or
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full-sync" title="mm_modem_location_get_full_sync ()"><code class="function">mm_modem_location_get_full_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsNmea.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-location-gps-nmea-get-trace"></a><h3>mm_location_gps_nmea_get_trace ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_location_gps_nmea_get_trace (<em class="parameter"><code><a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *trace_type</code></em>);</pre>
+<p>Gets the last cached value of the specific <em class="parameter"><code>trace_type</code></em>
+ given.</p>
+<div class="refsect3">
+<a name="mm-location-gps-nmea-get-trace.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>trace_type</p></td>
+<td class="parameter_description"><p>specific NMEA trace type to gather.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-gps-nmea-get-trace.returns"></a><h4>Returns</h4>
+<p> the NMEA trace, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not available. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-location-gps-nmea-build-full"></a><h3>mm_location_gps_nmea_build_full ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_location_gps_nmea_build_full (<em class="parameter"><code><a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a> *self</code></em>);</pre>
+<p>Gets a compilation of all cached traces.</p>
+<div class="refsect3">
+<a name="mm-location-gps-nmea-build-full.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-gps-nmea-build-full.returns"></a><h4>Returns</h4>
+<p>a string containing all traces, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsNmea.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMLocationGpsNmea-struct"></a><h3>struct MMLocationGpsNmea</h3>
+<pre class="programlisting">struct MMLocationGpsNmea;</pre>
+<p>The <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMLocationGpsRaw.html b/docs/reference/libmm-glib/html/MMLocationGpsRaw.html
new file mode 100644
index 00000000..2a88f5b6
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMLocationGpsRaw.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMLocationGpsRaw: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s03.html" title="Location support">
+<link rel="prev" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea">
+<link rel="next" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMLocationGpsRaw.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMLocationGpsRaw.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMLocationGpsNmea.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMLocationCdmaBs.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMLocationGpsRaw"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMLocationGpsRaw.top_of_page"></a>MMLocationGpsRaw</span></h2>
+<p>MMLocationGpsRaw — Helper object to handle generic GPS location information.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMLocationGpsRaw.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMLocationGpsRaw.html#mm-location-gps-raw-get-utc-time" title="mm_location_gps_raw_get_utc_time ()">mm_location_gps_raw_get_utc_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocationGpsRaw.html#mm-location-gps-raw-get-longitude" title="mm_location_gps_raw_get_longitude ()">mm_location_gps_raw_get_longitude</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocationGpsRaw.html#mm-location-gps-raw-get-latitude" title="mm_location_gps_raw_get_latitude ()">mm_location_gps_raw_get_latitude</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMLocationGpsRaw.html#mm-location-gps-raw-get-altitude" title="mm_location_gps_raw_get_altitude ()">mm_location_gps_raw_get_altitude</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsRaw.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMLocationGpsRaw.html#MMLocationGpsRaw-struct" title="struct MMLocationGpsRaw">MMLocationGpsRaw</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsRaw.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMLocationGpsRaw
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsRaw.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> is an object handling the location information of the
+modem when this is reported by GPS.</p>
+<p>This object is retrieved with either <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw" title="mm_modem_location_get_gps_raw ()"><code class="function">mm_modem_location_get_gps_raw()</code></a>,
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw-sync" title="mm_modem_location_get_gps_raw_sync ()"><code class="function">mm_modem_location_get_gps_raw_sync()</code></a>, <a class="link" href="MMModemLocation.html#mm-modem-location-get-full" title="mm_modem_location_get_full ()"><code class="function">mm_modem_location_get_full()</code></a> or
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full-sync" title="mm_modem_location_get_full_sync ()"><code class="function">mm_modem_location_get_full_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsRaw.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-location-gps-raw-get-utc-time"></a><h3>mm_location_gps_raw_get_utc_time ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_location_gps_raw_get_utc_time (<em class="parameter"><code><a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> *self</code></em>);</pre>
+<p>Gets the UTC time of the location being reported.</p>
+<div class="refsect3">
+<a name="mm-location-gps-raw-get-utc-time.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-gps-raw-get-utc-time.returns"></a><h4>Returns</h4>
+<p> a string with the UTC time, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-location-gps-raw-get-longitude"></a><h3>mm_location_gps_raw_get_longitude ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_location_gps_raw_get_longitude (<em class="parameter"><code><a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> *self</code></em>);</pre>
+<p>Gets the longitude, in the [-180,180] range.</p>
+<div class="refsect3">
+<a name="mm-location-gps-raw-get-longitude.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-gps-raw-get-longitude.returns"></a><h4>Returns</h4>
+<p> the longitude, or <a class="link" href="MMModemLocation.html#MM-LOCATION-LONGITUDE-UNKNOWN:CAPS" title="MM_LOCATION_LONGITUDE_UNKNOWN"><code class="literal">MM_LOCATION_LONGITUDE_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-location-gps-raw-get-latitude"></a><h3>mm_location_gps_raw_get_latitude ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_location_gps_raw_get_latitude (<em class="parameter"><code><a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> *self</code></em>);</pre>
+<p>Gets the latitude, in the [-90,90] range.</p>
+<div class="refsect3">
+<a name="mm-location-gps-raw-get-latitude.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-gps-raw-get-latitude.returns"></a><h4>Returns</h4>
+<p> the latitude, or <a class="link" href="MMModemLocation.html#MM-LOCATION-LATITUDE-UNKNOWN:CAPS" title="MM_LOCATION_LATITUDE_UNKNOWN"><code class="literal">MM_LOCATION_LATITUDE_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-location-gps-raw-get-altitude"></a><h3>mm_location_gps_raw_get_altitude ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_location_gps_raw_get_altitude (<em class="parameter"><code><a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> *self</code></em>);</pre>
+<p>Gets the altitude, in the [-90,90] range.</p>
+<div class="refsect3">
+<a name="mm-location-gps-raw-get-altitude.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-location-gps-raw-get-altitude.returns"></a><h4>Returns</h4>
+<p> the altitude, or <a class="link" href="MMModemLocation.html#MM-LOCATION-ALTITUDE-UNKNOWN:CAPS" title="MM_LOCATION_ALTITUDE_UNKNOWN"><code class="literal">MM_LOCATION_ALTITUDE_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMLocationGpsRaw.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMLocationGpsRaw-struct"></a><h3>struct MMLocationGpsRaw</h3>
+<pre class="programlisting">struct MMLocationGpsRaw;</pre>
+<p>The <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMManager.html b/docs/reference/libmm-glib/html/MMManager.html
new file mode 100644
index 00000000..71baf12b
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMManager.html
@@ -0,0 +1,1225 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMManager: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch02.html" title="The Manager object">
+<link rel="prev" href="ch02.html" title="The Manager object">
+<link rel="next" href="MMKernelEventProperties.html" title="MMKernelEventProperties">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMManager.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMManager.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMManager.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMKernelEventProperties.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMManager"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMManager.top_of_page"></a>MMManager</span></h2>
+<p>MMManager — The Manager object</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMManager.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="returnvalue">GDBusProxy</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-peek-proxy" title="mm_manager_peek_proxy ()">mm_manager_peek_proxy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="returnvalue">GDBusProxy</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-get-proxy" title="mm_manager_get_proxy ()">mm_manager_get_proxy</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-new" title="mm_manager_new ()">mm_manager_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMManager.html" title="MMManager"><span class="returnvalue">MMManager</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-new-finish" title="mm_manager_new_finish ()">mm_manager_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMManager.html" title="MMManager"><span class="returnvalue">MMManager</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-new-sync" title="mm_manager_new_sync ()">mm_manager_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-get-version" title="mm_manager_get_version ()">mm_manager_get_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-scan-devices" title="mm_manager_scan_devices ()">mm_manager_scan_devices</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-scan-devices-finish" title="mm_manager_scan_devices_finish ()">mm_manager_scan_devices_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-scan-devices-sync" title="mm_manager_scan_devices_sync ()">mm_manager_scan_devices_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-inhibit-device" title="mm_manager_inhibit_device ()">mm_manager_inhibit_device</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-inhibit-device-finish" title="mm_manager_inhibit_device_finish ()">mm_manager_inhibit_device_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-inhibit-device-sync" title="mm_manager_inhibit_device_sync ()">mm_manager_inhibit_device_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-uninhibit-device" title="mm_manager_uninhibit_device ()">mm_manager_uninhibit_device</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-uninhibit-device-finish" title="mm_manager_uninhibit_device_finish ()">mm_manager_uninhibit_device_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-uninhibit-device-sync" title="mm_manager_uninhibit_device_sync ()">mm_manager_uninhibit_device_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-set-logging" title="mm_manager_set_logging ()">mm_manager_set_logging</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-set-logging-finish" title="mm_manager_set_logging_finish ()">mm_manager_set_logging_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-set-logging-sync" title="mm_manager_set_logging_sync ()">mm_manager_set_logging_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-report-kernel-event" title="mm_manager_report_kernel_event ()">mm_manager_report_kernel_event</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-report-kernel-event-finish" title="mm_manager_report_kernel_event_finish ()">mm_manager_report_kernel_event_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMManager.html#mm-manager-report-kernel-event-sync" title="mm_manager_report_kernel_event_sync ()">mm_manager_report_kernel_event_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMManager.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMManager.html#MMManager-struct" title="struct MMManager">MMManager</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMManager.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct">GDBusObjectManagerClient</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+ <span class="lineart">╰──</span> MMManager
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMManager.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMManager implements
+ <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct">GDBusObjectManager</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMManager.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is the object allowing access to the Manager interface.</p>
+<p>This object is also a <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a>, and therefore it allows to
+use the standard ObjectManager interface to list and handle the managed
+modem objects.</p>
+</div>
+<div class="refsect1">
+<a name="MMManager.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-manager-peek-proxy"></a><h3>mm_manager_peek_proxy ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="returnvalue">GDBusProxy</span></a> *
+mm_manager_peek_proxy (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>);</pre>
+<p>Gets the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="type">GDBusProxy</span></a> interface of the <em class="parameter"><code>manager</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-manager-peek-proxy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-peek-proxy.returns"></a><h4>Returns</h4>
+<p>The <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="type">GDBusProxy</span></a> interface of <em class="parameter"><code>manager</code></em>
+, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if none. Do not free the returned object, it is owned by <em class="parameter"><code>manager</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-get-proxy"></a><h3>mm_manager_get_proxy ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="returnvalue">GDBusProxy</span></a> *
+mm_manager_get_proxy (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>);</pre>
+<p>Gets the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="type">GDBusProxy</span></a> interface of the <em class="parameter"><code>manager</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-manager-get-proxy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-get-proxy.returns"></a><h4>Returns</h4>
+<p>The <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="type">GDBusProxy</span></a> interface of <em class="parameter"><code>manager</code></em>
+, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if none. The returned object must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-new"></a><h3>mm_manager_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_manager_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> flags</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the</p>
+<a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a><p>of the thread you are calling this method from.</p>
+<p>You can then call <a class="link" href="MMManager.html#mm-manager-new-finish" title="mm_manager_new_finish ()"><code class="function">mm_manager_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-new-sync" title="mm_manager_new_sync ()"><code class="function">mm_manager_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-manager-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-new-finish"></a><h3>mm_manager_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMManager.html" title="MMManager"><span class="returnvalue">MMManager</span></a> *
+mm_manager_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMManager.html#mm-manager-new" title="mm_manager_new ()"><code class="function">mm_manager_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-manager-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMManager.html#mm-manager-new" title="mm_manager_new ()"><code class="function">mm_manager_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed object manager client or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MMManager]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-new-sync"></a><h3>mm_manager_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMManager.html" title="MMManager"><span class="returnvalue">MMManager</span></a> *
+mm_manager_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> flags</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-new" title="mm_manager_new ()"><code class="function">mm_manager_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-manager-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed object manager client or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MMManager]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-get-version"></a><h3>mm_manager_get_version ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_manager_get_version (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>);</pre>
+<p>Gets the ModemManager version, as reported by the daemon.</p>
+<p>It is safe to assume this value never changes during runtime.</p>
+<div class="refsect3">
+<a name="mm-manager-get-version.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-get-version.returns"></a><h4>Returns</h4>
+<p>The version, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-scan-devices"></a><h3>mm_manager_scan_devices ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_manager_scan_devices (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to scan looking for devices.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the</p>
+<a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a><p>of the thread you are calling this method from. You can then call
+<a class="link" href="MMManager.html#mm-manager-scan-devices-finish" title="mm_manager_scan_devices_finish ()"><code class="function">mm_manager_scan_devices_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-scan-devices-sync" title="mm_manager_scan_devices_sync ()"><code class="function">mm_manager_scan_devices_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-scan-devices.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-scan-devices-finish"></a><h3>mm_manager_scan_devices_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_scan_devices_finish (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMManager.html#mm-manager-scan-devices" title="mm_manager_scan_devices ()"><code class="function">mm_manager_scan_devices()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-manager-scan-devices-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMManager.html#mm-manager-scan-devices" title="mm_manager_scan_devices ()"><code class="function">mm_manager_scan_devices()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-scan-devices-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-scan-devices-sync"></a><h3>mm_manager_scan_devices_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_scan_devices_sync (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to scan looking for devices.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-scan-devices" title="mm_manager_scan_devices ()"><code class="function">mm_manager_scan_devices()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-scan-devices-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-scan-devices-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-inhibit-device"></a><h3>mm_manager_inhibit_device ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_manager_inhibit_device (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uid</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to add an inhibition on the device identified by <em class="parameter"><code>uid</code></em>
+.</p>
+<p>The <em class="parameter"><code>uid</code></em>
+ must be the unique ID retrieved from an existing <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> using
+<a class="link" href="MMModem.html#mm-modem-get-device" title="mm_modem_get_device ()"><code class="function">mm_modem_get_device()</code></a>. The caller should keep track of this <em class="parameter"><code>uid</code></em>
+ and use it
+in the <a class="link" href="MMManager.html#mm-manager-uninhibit-device" title="mm_manager_uninhibit_device ()"><code class="function">mm_manager_uninhibit_device()</code></a> call when the inhibition is no longer required.</p>
+<p>The inhibition added with this method may also be automatically removed when
+the caller program disappears from the bus (e.g. if the program ends before
+having called <a class="link" href="MMManager.html#mm-manager-uninhibit-device" title="mm_manager_uninhibit_device ()"><code class="function">mm_manager_uninhibit_device()</code></a> explicitly).</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the</p>
+<a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a><p>of the thread you are calling this method from. You can then call
+<a class="link" href="MMManager.html#mm-manager-inhibit-device-finish" title="mm_manager_inhibit_device_finish ()"><code class="function">mm_manager_inhibit_device_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-inhibit-device-sync" title="mm_manager_inhibit_device_sync ()"><code class="function">mm_manager_inhibit_device_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-inhibit-device.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>uid</p></td>
+<td class="parameter_description"><p>the unique ID of the physical device.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-inhibit-device-finish"></a><h3>mm_manager_inhibit_device_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_inhibit_device_finish (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMManager.html#mm-manager-inhibit-device" title="mm_manager_inhibit_device ()"><code class="function">mm_manager_inhibit_device()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-manager-inhibit-device-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMManager.html#mm-manager-inhibit-device" title="mm_manager_inhibit_device ()"><code class="function">mm_manager_inhibit_device()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-inhibit-device-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-inhibit-device-sync"></a><h3>mm_manager_inhibit_device_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_inhibit_device_sync (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uid</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to add an inhibition on the device identified by <em class="parameter"><code>uid</code></em>
+.</p>
+<p>The <em class="parameter"><code>uid</code></em>
+ must be the unique ID retrieved from an existing <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> using
+<a class="link" href="MMModem.html#mm-modem-get-device" title="mm_modem_get_device ()"><code class="function">mm_modem_get_device()</code></a>. The caller should keep track of this <em class="parameter"><code>uid</code></em>
+ and use it
+in the <a class="link" href="MMManager.html#mm-manager-uninhibit-device-sync" title="mm_manager_uninhibit_device_sync ()"><code class="function">mm_manager_uninhibit_device_sync()</code></a> call when the inhibition is no longer required.</p>
+<p>The inhibition added with this method may also be automatically removed when
+the caller program disappears from the bus (e.g. if the program ends before
+having called <a class="link" href="MMManager.html#mm-manager-uninhibit-device-sync" title="mm_manager_uninhibit_device_sync ()"><code class="function">mm_manager_uninhibit_device_sync()</code></a> explicitly).</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-inhibit-device" title="mm_manager_inhibit_device ()"><code class="function">mm_manager_inhibit_device()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-inhibit-device-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>uid</p></td>
+<td class="parameter_description"><p>the unique ID of the physical device.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-inhibit-device-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-uninhibit-device"></a><h3>mm_manager_uninhibit_device ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_manager_uninhibit_device (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uid</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to remove an inhibition on the device identified by <em class="parameter"><code>uid</code></em>
+.</p>
+<p>The <em class="parameter"><code>uid</code></em>
+ must be the same unique ID that was sent in the inhibition request.</p>
+<p>Only the same program that placed an inhibition on a given device is able to remove
+the inhibition.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the</p>
+<a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a><p>of the thread you are calling this method from. You can then call
+<a class="link" href="MMManager.html#mm-manager-uninhibit-device-finish" title="mm_manager_uninhibit_device_finish ()"><code class="function">mm_manager_uninhibit_device_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-uninhibit-device-sync" title="mm_manager_uninhibit_device_sync ()"><code class="function">mm_manager_uninhibit_device_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-uninhibit-device.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>uid</p></td>
+<td class="parameter_description"><p>the unique ID of the physical device.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-uninhibit-device-finish"></a><h3>mm_manager_uninhibit_device_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_uninhibit_device_finish (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMManager.html#mm-manager-uninhibit-device" title="mm_manager_uninhibit_device ()"><code class="function">mm_manager_uninhibit_device()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-manager-uninhibit-device-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMManager.html#mm-manager-uninhibit-device" title="mm_manager_uninhibit_device ()"><code class="function">mm_manager_uninhibit_device()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-uninhibit-device-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-uninhibit-device-sync"></a><h3>mm_manager_uninhibit_device_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_uninhibit_device_sync (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uid</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to remove an inhibition on the device identified by <em class="parameter"><code>uid</code></em>
+.</p>
+<p>The <em class="parameter"><code>uid</code></em>
+ must be the same unique ID that was sent in the inhibition request.</p>
+<p>Only the same program that placed an inhibition on a given device is able to remove
+the inhibition.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-uninhibit-device" title="mm_manager_uninhibit_device ()"><code class="function">mm_manager_uninhibit_device()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-uninhibit-device-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>uid</p></td>
+<td class="parameter_description"><p>the unique ID of the physical device.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-uninhibit-device-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-set-logging"></a><h3>mm_manager_set_logging ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_manager_set_logging (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *level</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to set the specified logging level in the daemon.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the</p>
+<a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a><p>of the thread you are calling this method from. You can then call
+<a class="link" href="MMManager.html#mm-manager-set-logging-finish" title="mm_manager_set_logging_finish ()"><code class="function">mm_manager_set_logging_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-set-logging-sync" title="mm_manager_set_logging_sync ()"><code class="function">mm_manager_set_logging_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-set-logging.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>level</p></td>
+<td class="parameter_description"><p>the login level to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-set-logging-finish"></a><h3>mm_manager_set_logging_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_set_logging_finish (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMManager.html#mm-manager-set-logging" title="mm_manager_set_logging ()"><code class="function">mm_manager_set_logging()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-manager-set-logging-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMManager.html#mm-manager-set-logging" title="mm_manager_set_logging ()"><code class="function">mm_manager_set_logging()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-set-logging-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-set-logging-sync"></a><h3>mm_manager_set_logging_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_set_logging_sync (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *level</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to set the specified logging level in the daemon..</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-set-logging" title="mm_manager_set_logging ()"><code class="function">mm_manager_set_logging()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-set-logging-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>level</p></td>
+<td class="parameter_description"><p>the login level to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-set-logging-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-report-kernel-event"></a><h3>mm_manager_report_kernel_event ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_manager_report_kernel_event (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously report kernel event.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the</p>
+<a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a><p>of the thread you are calling this method from. You can then call
+<a class="link" href="MMManager.html#mm-manager-report-kernel-event-finish" title="mm_manager_report_kernel_event_finish ()"><code class="function">mm_manager_report_kernel_event_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-report-kernel-event-sync" title="mm_manager_report_kernel_event_sync ()"><code class="function">mm_manager_report_kernel_event_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-report-kernel-event.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>the properties of the kernel event.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-report-kernel-event-finish"></a><h3>mm_manager_report_kernel_event_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_report_kernel_event_finish (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMManager.html#mm-manager-report-kernel-event" title="mm_manager_report_kernel_event ()"><code class="function">mm_manager_report_kernel_event()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-manager-report-kernel-event-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMManager.html#mm-manager-report-kernel-event" title="mm_manager_report_kernel_event ()"><code class="function">mm_manager_report_kernel_event()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-report-kernel-event-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-manager-report-kernel-event-sync"></a><h3>mm_manager_report_kernel_event_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_manager_report_kernel_event_sync (<em class="parameter"><code><a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> *manager</code></em>,
+ <em class="parameter"><code><a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties"><span class="type">MMKernelEventProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously report kernel event.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MMManager.html#mm-manager-report-kernel-event" title="mm_manager_report_kernel_event ()"><code class="function">mm_manager_report_kernel_event()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-manager-report-kernel-event-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>the properties of the kernel event.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-manager-report-kernel-event-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMManager.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMManager-struct"></a><h3>struct MMManager</h3>
+<pre class="programlisting">struct MMManager;</pre>
+<p>The <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModem.html b/docs/reference/libmm-glib/html/MMModem.html
new file mode 100644
index 00000000..37cf26b1
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModem.html
@@ -0,0 +1,4474 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModem: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html#id-1.2.4.3" title="Generic interfaces">
+<link rel="prev" href="MMObject.html" title="MMObject">
+<link rel="next" href="MMModem3gpp.html" title="MMModem3gpp">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModem.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModem.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModem.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html#id-1.2.4.3"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMObject.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModem3gpp.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModem"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModem.top_of_page"></a>MMModem</span></h2>
+<p>MMModem — The Modem interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModem.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-path" title="mm_modem_get_path ()">mm_modem_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-path" title="mm_modem_dup_path ()">mm_modem_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="returnvalue">MMModemState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-state" title="mm_modem_get_state ()">mm_modem_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemStateFailedReason"><span class="returnvalue">MMModemStateFailedReason</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-state-failed-reason" title="mm_modem_get_state_failed_reason ()">mm_modem_get_state_failed_reason</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPowerState"><span class="returnvalue">MMModemPowerState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-power-state" title="mm_modem_get_power_state ()">mm_modem_get_power_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-peek-supported-capabilities" title="mm_modem_peek_supported_capabilities ()">mm_modem_peek_supported_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-supported-capabilities" title="mm_modem_get_supported_capabilities ()">mm_modem_get_supported_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="returnvalue">MMModemCapability</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-current-capabilities" title="mm_modem_get_current_capabilities ()">mm_modem_get_current_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-manufacturer" title="mm_modem_get_manufacturer ()">mm_modem_get_manufacturer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-manufacturer" title="mm_modem_dup_manufacturer ()">mm_modem_dup_manufacturer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-model" title="mm_modem_get_model ()">mm_modem_get_model</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-model" title="mm_modem_dup_model ()">mm_modem_dup_model</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-revision" title="mm_modem_get_revision ()">mm_modem_get_revision</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-revision" title="mm_modem_dup_revision ()">mm_modem_dup_revision</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-hardware-revision" title="mm_modem_get_hardware_revision ()">mm_modem_get_hardware_revision</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-hardware-revision" title="mm_modem_dup_hardware_revision ()">mm_modem_dup_hardware_revision</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * const *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-drivers" title="mm_modem_get_drivers ()">mm_modem_get_drivers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-drivers" title="mm_modem_dup_drivers ()">mm_modem_dup_drivers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-plugin" title="mm_modem_get_plugin ()">mm_modem_get_plugin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-plugin" title="mm_modem_dup_plugin ()">mm_modem_dup_plugin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-primary-port" title="mm_modem_get_primary_port ()">mm_modem_get_primary_port</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-primary-port" title="mm_modem_dup_primary_port ()">mm_modem_dup_primary_port</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-peek-ports" title="mm_modem_peek_ports ()">mm_modem_peek_ports</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-ports" title="mm_modem_get_ports ()">mm_modem_get_ports</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-device" title="mm_modem_get_device ()">mm_modem_get_device</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-device" title="mm_modem_dup_device ()">mm_modem_dup_device</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-equipment-identifier" title="mm_modem_get_equipment_identifier ()">mm_modem_get_equipment_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-equipment-identifier" title="mm_modem_dup_equipment_identifier ()">mm_modem_dup_equipment_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-device-identifier" title="mm_modem_get_device_identifier ()">mm_modem_get_device_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-device-identifier" title="mm_modem_dup_device_identifier ()">mm_modem_dup_device_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="returnvalue">MMModemLock</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-unlock-required" title="mm_modem_get_unlock_required ()">mm_modem_get_unlock_required</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="returnvalue">MMUnlockRetries</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-peek-unlock-retries" title="mm_modem_peek_unlock_retries ()">mm_modem_peek_unlock_retries</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="returnvalue">MMUnlockRetries</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-unlock-retries" title="mm_modem_get_unlock_retries ()">mm_modem_get_unlock_retries</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-max-bearers" title="mm_modem_get_max_bearers ()">mm_modem_get_max_bearers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-max-active-bearers" title="mm_modem_get_max_active_bearers ()">mm_modem_get_max_active_bearers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * const *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-bearer-paths" title="mm_modem_get_bearer_paths ()">mm_modem_get_bearer_paths</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-bearer-paths" title="mm_modem_dup_bearer_paths ()">mm_modem_dup_bearer_paths</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-own-numbers" title="mm_modem_get_own_numbers ()">mm_modem_get_own_numbers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-own-numbers" title="mm_modem_dup_own_numbers ()">mm_modem_dup_own_numbers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-peek-supported-modes" title="mm_modem_peek_supported_modes ()">mm_modem_peek_supported_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-supported-modes" title="mm_modem_get_supported_modes ()">mm_modem_get_supported_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-current-modes" title="mm_modem_get_current_modes ()">mm_modem_get_current_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-peek-supported-bands" title="mm_modem_peek_supported_bands ()">mm_modem_peek_supported_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-supported-bands" title="mm_modem_get_supported_bands ()">mm_modem_get_supported_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-peek-current-bands" title="mm_modem_peek_current_bands ()">mm_modem_peek_current_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-current-bands" title="mm_modem_get_current_bands ()">mm_modem_get_current_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="returnvalue">MMBearerIpFamily</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-supported-ip-families" title="mm_modem_get_supported_ip_families ()">mm_modem_get_supported_ip_families</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-signal-quality" title="mm_modem_get_signal_quality ()">mm_modem_get_signal_quality</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="returnvalue">MMModemAccessTechnology</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-access-technologies" title="mm_modem_get_access_technologies ()">mm_modem_get_access_technologies</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-sim-path" title="mm_modem_get_sim_path ()">mm_modem_get_sim_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-dup-sim-path" title="mm_modem_dup_sim_path ()">mm_modem_dup_sim_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-sim" title="mm_modem_get_sim ()">mm_modem_get_sim</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSim.html" title="MMSim"><span class="returnvalue">MMSim</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-sim-finish" title="mm_modem_get_sim_finish ()">mm_modem_get_sim_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSim.html" title="MMSim"><span class="returnvalue">MMSim</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-get-sim-sync" title="mm_modem_get_sim_sync ()">mm_modem_get_sim_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-enable" title="mm_modem_enable ()">mm_modem_enable</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-enable-finish" title="mm_modem_enable_finish ()">mm_modem_enable_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-enable-sync" title="mm_modem_enable_sync ()">mm_modem_enable_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-disable" title="mm_modem_disable ()">mm_modem_disable</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-disable-finish" title="mm_modem_disable_finish ()">mm_modem_disable_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-disable-sync" title="mm_modem_disable_sync ()">mm_modem_disable_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-power-state" title="mm_modem_set_power_state ()">mm_modem_set_power_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-power-state-finish" title="mm_modem_set_power_state_finish ()">mm_modem_set_power_state_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-power-state-sync" title="mm_modem_set_power_state_sync ()">mm_modem_set_power_state_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-current-modes" title="mm_modem_set_current_modes ()">mm_modem_set_current_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-current-modes-finish" title="mm_modem_set_current_modes_finish ()">mm_modem_set_current_modes_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-current-modes-sync" title="mm_modem_set_current_modes_sync ()">mm_modem_set_current_modes_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-current-bands" title="mm_modem_set_current_bands ()">mm_modem_set_current_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-current-bands-finish" title="mm_modem_set_current_bands_finish ()">mm_modem_set_current_bands_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-current-bands-sync" title="mm_modem_set_current_bands_sync ()">mm_modem_set_current_bands_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-current-capabilities" title="mm_modem_set_current_capabilities ()">mm_modem_set_current_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-current-capabilities-finish" title="mm_modem_set_current_capabilities_finish ()">mm_modem_set_current_capabilities_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-set-current-capabilities-sync" title="mm_modem_set_current_capabilities_sync ()">mm_modem_set_current_capabilities_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-reset" title="mm_modem_reset ()">mm_modem_reset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-reset-finish" title="mm_modem_reset_finish ()">mm_modem_reset_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-reset-sync" title="mm_modem_reset_sync ()">mm_modem_reset_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-factory-reset" title="mm_modem_factory_reset ()">mm_modem_factory_reset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-factory-reset-finish" title="mm_modem_factory_reset_finish ()">mm_modem_factory_reset_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-factory-reset-sync" title="mm_modem_factory_reset_sync ()">mm_modem_factory_reset_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-list-bearers" title="mm_modem_list_bearers ()">mm_modem_list_bearers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-list-bearers-finish" title="mm_modem_list_bearers_finish ()">mm_modem_list_bearers_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-list-bearers-sync" title="mm_modem_list_bearers_sync ()">mm_modem_list_bearers_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-create-bearer" title="mm_modem_create_bearer ()">mm_modem_create_bearer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-create-bearer-finish" title="mm_modem_create_bearer_finish ()">mm_modem_create_bearer_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-create-bearer-sync" title="mm_modem_create_bearer_sync ()">mm_modem_create_bearer_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-delete-bearer" title="mm_modem_delete_bearer ()">mm_modem_delete_bearer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-delete-bearer-finish" title="mm_modem_delete_bearer_finish ()">mm_modem_delete_bearer_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-delete-bearer-sync" title="mm_modem_delete_bearer_sync ()">mm_modem_delete_bearer_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-command" title="mm_modem_command ()">mm_modem_command</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-command-finish" title="mm_modem_command_finish ()">mm_modem_command_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-command-sync" title="mm_modem_command_sync ()">mm_modem_command_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem.html#mm-modem-port-info-array-free" title="mm_modem_port_info_array_free ()">mm_modem_port_info_array_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModem.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModem.html#MMModem-struct" title="struct MMModem">MMModem</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModem.html#MMModemModeCombination" title="struct MMModemModeCombination">MMModemModeCombination</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModem.html#MMModemPortInfo" title="struct MMModemPortInfo">MMModemPortInfo</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModem.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a>
+ <span class="lineart">╰──</span> MMModem
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModem.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModem implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModem.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> is an object providing access to the methods, signals and
+properties of the Modem interface.</p>
+<p>When the modem is exposed and available in the bus, it is ensured that at
+least this interface is also available.</p>
+</div>
+<div class="refsect1">
+<a name="MMModem.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-get-path"></a><h3>mm_modem_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_path (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-modem-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-path"></a><h3>mm_modem_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_path (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-state"></a><h3>mm_modem_get_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="returnvalue">MMModemState</span></a>
+mm_modem_get_state (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the overall state of the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-state.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="type">MMModemState</span></a> value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-state-failed-reason"></a><h3>mm_modem_get_state_failed_reason ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemStateFailedReason"><span class="returnvalue">MMModemStateFailedReason</span></a>
+mm_modem_get_state_failed_reason (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the reason specifying why the modem is in <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-FAILED:CAPS"><span class="type">MM_MODEM_STATE_FAILED</span></a> state.</p>
+<div class="refsect3">
+<a name="mm-modem-get-state-failed-reason.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-state-failed-reason.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemStateFailedReason"><span class="type">MMModemStateFailedReason</span></a> value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-power-state"></a><h3>mm_modem_get_power_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPowerState"><span class="returnvalue">MMModemPowerState</span></a>
+mm_modem_get_power_state (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the power state of the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-get-power-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-power-state.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPowerState"><span class="type">MMModemPowerState</span></a> value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-peek-supported-capabilities"></a><h3>mm_modem_peek_supported_capabilities ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_peek_supported_capabilities (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> **capabilities</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_capabilities</code></em>);</pre>
+<p>Gets the list of combinations of generic families of access technologies supported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-peek-supported-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>capabilities</p></td>
+<td class="parameter_description"><p>Return location for the array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> values. Do not free the returned array, it is owned by <em class="parameter"><code>self</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_capabilities]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_capabilities</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>capabilities</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-peek-supported-capabilities.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>capabilities</code></em>
+and <em class="parameter"><code>n_capabilities</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-supported-capabilities"></a><h3>mm_modem_get_supported_capabilities ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_get_supported_capabilities (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> **capabilities</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_capabilities</code></em>);</pre>
+<p>Gets the list of combinations of generic families of access technologies supported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-get-supported-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>capabilities</p></td>
+<td class="parameter_description"><p>Return location for the array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> values. The returned array should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_capabilities]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_capabilities</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>capabilities</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-supported-capabilities.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>capabilities</code></em>
+and <em class="parameter"><code>n_capabilities</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-current-capabilities"></a><h3>mm_modem_get_current_capabilities ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="returnvalue">MMModemCapability</span></a>
+mm_modem_get_current_capabilities (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the list of generic families of access technologies supported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>
+without a firmware reload or reinitialization.</p>
+<div class="refsect3">
+<a name="mm-modem-get-current-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-current-capabilities.returns"></a><h4>Returns</h4>
+<p> A bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> flags.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-manufacturer"></a><h3>mm_modem_get_manufacturer ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_manufacturer (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the equipment manufacturer, as reported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-manufacturer" title="mm_modem_dup_manufacturer ()"><code class="function">mm_modem_dup_manufacturer()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-manufacturer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-manufacturer.returns"></a><h4>Returns</h4>
+<p>The equipment manufacturer, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-manufacturer"></a><h3>mm_modem_dup_manufacturer ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_manufacturer (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the equipment manufacturer, as reported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-manufacturer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-manufacturer.returns"></a><h4>Returns</h4>
+<p>The equipment manufacturer, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-model"></a><h3>mm_modem_get_model ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_model (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the equipment model, as reported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-model" title="mm_modem_dup_model ()"><code class="function">mm_modem_dup_model()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-model.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-model.returns"></a><h4>Returns</h4>
+<p>The equipment model, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-model"></a><h3>mm_modem_dup_model ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_model (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the equipment model, as reported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-model.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-model.returns"></a><h4>Returns</h4>
+<p>The equipment model, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-revision"></a><h3>mm_modem_get_revision ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_revision (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the equipment revision, as reported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-revision" title="mm_modem_dup_revision ()"><code class="function">mm_modem_dup_revision()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-revision.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-revision.returns"></a><h4>Returns</h4>
+<p>The equipment revision, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-revision"></a><h3>mm_modem_dup_revision ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_revision (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the equipment revision, as reported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-revision.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-revision.returns"></a><h4>Returns</h4>
+<p>The equipment revision, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-hardware-revision"></a><h3>mm_modem_get_hardware_revision ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_hardware_revision (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the equipment hardware revision, as reported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-hardware-revision" title="mm_modem_dup_hardware_revision ()"><code class="function">mm_modem_dup_hardware_revision()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-hardware-revision.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-hardware-revision.returns"></a><h4>Returns</h4>
+<p>The equipment hardware revision, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-hardware-revision"></a><h3>mm_modem_dup_hardware_revision ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_hardware_revision (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the equipment hardware revision, as reported by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-hardware-revision.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-hardware-revision.returns"></a><h4>Returns</h4>
+<p>The equipment hardware revision, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-drivers"></a><h3>mm_modem_get_drivers ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * const *
+mm_modem_get_drivers (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the Operating System device drivers handling communication with the modem
+hardware.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-drivers" title="mm_modem_dup_drivers ()"><code class="function">mm_modem_dup_drivers()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-drivers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-drivers.returns"></a><h4>Returns</h4>
+<p>The drivers, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-drivers"></a><h3>mm_modem_dup_drivers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_modem_dup_drivers (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the Operating System device driver handling communication with the modem
+hardware.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-drivers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-drivers.returns"></a><h4>Returns</h4>
+<p>The drivers, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-plugin"></a><h3>mm_modem_get_plugin ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_plugin (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the name of the plugin handling this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-plugin" title="mm_modem_dup_plugin ()"><code class="function">mm_modem_dup_plugin()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-plugin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-plugin.returns"></a><h4>Returns</h4>
+<p>The name of the plugin, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-plugin"></a><h3>mm_modem_dup_plugin ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_plugin (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the name of the plugin handling this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-plugin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-plugin.returns"></a><h4>Returns</h4>
+<p>The name of the plugin, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-primary-port"></a><h3>mm_modem_get_primary_port ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_primary_port (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the name of the primary port controlling this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-primary-port" title="mm_modem_dup_primary_port ()"><code class="function">mm_modem_dup_primary_port()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-primary-port.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-primary-port.returns"></a><h4>Returns</h4>
+<p>The name of the primary port. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-primary-port"></a><h3>mm_modem_dup_primary_port ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_primary_port (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the name of the primary port controlling this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-primary-port.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-primary-port.returns"></a><h4>Returns</h4>
+<p>The name of the primary port. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-peek-ports"></a><h3>mm_modem_peek_ports ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_peek_ports (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a class="link" href="MMModem.html#MMModemPortInfo" title="struct MMModemPortInfo"><span class="type">MMModemPortInfo</span></a> **ports</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_ports</code></em>);</pre>
+<p>Gets the list of ports in the modem.</p>
+<div class="refsect3">
+<a name="mm-modem-peek-ports.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ports</p></td>
+<td class="parameter_description"><p>Return location for the array of <a class="link" href="MMModem.html#MMModemPortInfo" title="struct MMModemPortInfo"><span class="type">MMModemPortInfo</span></a> values. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_ports][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_ports</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>ports</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-peek-ports.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>ports</code></em>
+and <em class="parameter"><code>n_ports</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-ports"></a><h3>mm_modem_get_ports ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_get_ports (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMModem.html#MMModemPortInfo" title="struct MMModemPortInfo"><span class="type">MMModemPortInfo</span></a> **ports</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_ports</code></em>);</pre>
+<p>Gets the list of ports in the modem.</p>
+<div class="refsect3">
+<a name="mm-modem-get-ports.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ports</p></td>
+<td class="parameter_description"><p>Return location for the array of <a class="link" href="MMModem.html#MMModemPortInfo" title="struct MMModemPortInfo"><span class="type">MMModemPortInfo</span></a> values. The returned array should be freed with <a class="link" href="MMModem.html#mm-modem-port-info-array-free" title="mm_modem_port_info_array_free ()"><code class="function">mm_modem_port_info_array_free()</code></a> when no longer needed. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_ports]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_ports</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>ports</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-ports.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>ports</code></em>
+and <em class="parameter"><code>n_ports</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-device"></a><h3>mm_modem_get_device ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_device (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the physical modem device reference (ie, USB, PCI, PCMCIA device), which
+may be dependent upon the operating system.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-device" title="mm_modem_dup_device ()"><code class="function">mm_modem_dup_device()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-device.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-device.returns"></a><h4>Returns</h4>
+<p>The device, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-device"></a><h3>mm_modem_dup_device ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_device (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the physical modem device reference (ie, USB, PCI, PCMCIA device), which
+may be dependent upon the operating system.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-device.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-device.returns"></a><h4>Returns</h4>
+<p>The device, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-equipment-identifier"></a><h3>mm_modem_get_equipment_identifier ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_equipment_identifier (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the identity of the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>This will be the IMEI number for GSM devices and the hex-format ESN/MEID
+for CDMA devices.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-equipment-identifier" title="mm_modem_dup_equipment_identifier ()"><code class="function">mm_modem_dup_equipment_identifier()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-equipment-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-equipment-identifier.returns"></a><h4>Returns</h4>
+<p>The equipment identifier, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-equipment-identifier"></a><h3>mm_modem_dup_equipment_identifier ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_equipment_identifier (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the identity of the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>This will be the IMEI number for GSM devices and the hex-format ESN/MEID
+for CDMA devices.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-equipment-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-equipment-identifier.returns"></a><h4>Returns</h4>
+<p>The equipment identifier, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-device-identifier"></a><h3>mm_modem_get_device_identifier ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_device_identifier (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a best-effort device identifier based on various device information like
+model name, firmware revision, USB/PCI/PCMCIA IDs, and other properties.</p>
+<p>This ID is not guaranteed to be unique and may be shared between
+identical devices with the same firmware, but is intended to be "unique
+enough" for use as a casual device identifier for various user
+experience operations.</p>
+<p>This is not the device's IMEI or ESN since those may not be available
+before unlocking the device via a PIN.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-device-identifier" title="mm_modem_dup_device_identifier ()"><code class="function">mm_modem_dup_device_identifier()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-device-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-device-identifier.returns"></a><h4>Returns</h4>
+<p>The device identifier, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-device-identifier"></a><h3>mm_modem_dup_device_identifier ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_device_identifier (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of a best-effort device identifier based on various device information
+like model name, firmware revision, USB/PCI/PCMCIA IDs, and other properties.</p>
+<p>This ID is not guaranteed to be unique and may be shared between
+identical devices with the same firmware, but is intended to be "unique
+enough" for use as a casual device identifier for various user
+experience operations.</p>
+<p>This is not the device's IMEI or ESN since those may not be available
+before unlocking the device via a PIN.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-device-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-device-identifier.returns"></a><h4>Returns</h4>
+<p>The device identifier, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-unlock-required"></a><h3>mm_modem_get_unlock_required ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="returnvalue">MMModemLock</span></a>
+mm_modem_get_unlock_required (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets current lock state of the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-get-unlock-required.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-unlock-required.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="type">MMModemLock</span></a> value, specifying the current lock state.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-peek-unlock-retries"></a><h3>mm_modem_peek_unlock_retries ()</h3>
+<pre class="programlisting"><a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="returnvalue">MMUnlockRetries</span></a> *
+mm_modem_peek_unlock_retries (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a> object, which provides, for each</p>
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock">MMModemLock</a> handled by the modem, the
+<p>number of PIN tries remaining before the code becomes blocked (requiring a PUK)
+or permanently blocked.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-get-unlock-retries" title="mm_modem_get_unlock_retries ()"><code class="function">mm_modem_get_unlock_retries()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-peek-unlock-retries.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-peek-unlock-retries.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-unlock-retries"></a><h3>mm_modem_get_unlock_retries ()</h3>
+<pre class="programlisting"><a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="returnvalue">MMUnlockRetries</span></a> *
+mm_modem_get_unlock_retries (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a> object, which provides, for each</p>
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock">MMModemLock</a> handled by the modem, the
+<p>number of PIN tries remaining before the code becomes blocked (requiring a PUK)
+or permanently blocked.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMModem.html#mm-modem-get-unlock-retries" title="mm_modem_get_unlock_retries ()"><code class="function">mm_modem_get_unlock_retries()</code></a> again to get a new <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-modem-get-unlock-retries.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-unlock-retries.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-max-bearers"></a><h3>mm_modem_get_max_bearers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_modem_get_max_bearers (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the maximum number of defined packet data bearers this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> supports.</p>
+<p>This is not the number of active/connected bearers the modem supports,
+but simply the number of bearers that may be defined at any given time.
+For example, POTS and CDMA2000-only devices support only one bearer,
+while GSM/UMTS devices typically support three or more, and any
+LTE-capable device (whether LTE-only, GSM/UMTS-capable, and/or
+CDMA2000-capable) also typically support three or more.</p>
+<div class="refsect3">
+<a name="mm-modem-get-max-bearers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-max-bearers.returns"></a><h4>Returns</h4>
+<p> the maximum number of defined packet data bearers.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-max-active-bearers"></a><h3>mm_modem_get_max_active_bearers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_modem_get_max_active_bearers (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the maximum number of active packet data bearers this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> supports.</p>
+<p>POTS and CDMA2000-only devices support one active bearer, while GSM/UMTS
+and LTE-capable devices (including LTE/CDMA devices) typically support
+at least two active bearers.</p>
+<div class="refsect3">
+<a name="mm-modem-get-max-active-bearers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-max-active-bearers.returns"></a><h4>Returns</h4>
+<p> the maximum number of defined packet data bearers.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-bearer-paths"></a><h3>mm_modem_get_bearer_paths ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * const *
+mm_modem_get_bearer_paths (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the DBus paths of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> handled in this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-bearer-paths" title="mm_modem_dup_bearer_paths ()"><code class="function">mm_modem_dup_bearer_paths()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-get-bearer-paths.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-bearer-paths.returns"></a><h4>Returns</h4>
+<p>The DBus paths of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> handled in this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-bearer-paths"></a><h3>mm_modem_dup_bearer_paths ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_modem_dup_bearer_paths (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus paths of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> handled in this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-bearer-paths.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-bearer-paths.returns"></a><h4>Returns</h4>
+<p>The DBus paths of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> handled in this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-own-numbers"></a><h3>mm_modem_get_own_numbers ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+mm_modem_get_own_numbers (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the list of numbers (e.g. MSISDN in 3GPP) being currently handled by
+this modem.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-own-numbers" title="mm_modem_dup_own_numbers ()"><code class="function">mm_modem_dup_own_numbers()</code></a> if on another
+thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-modem-get-own-numbers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-own-numbers.returns"></a><h4>Returns</h4>
+<p>The list of own numbers or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-own-numbers"></a><h3>mm_modem_dup_own_numbers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_modem_dup_own_numbers (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the list of numbers (e.g. MSISDN in 3GPP) being currently
+handled by this modem.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-own-numbers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-own-numbers.returns"></a><h4>Returns</h4>
+<p>The list of own numbers or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none is available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-peek-supported-modes"></a><h3>mm_modem_peek_supported_modes ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_peek_supported_modes (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a class="link" href="MMModem.html#MMModemModeCombination" title="struct MMModemModeCombination"><span class="type">MMModemModeCombination</span></a> **modes</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_modes</code></em>);</pre>
+<p>Gets the list of supported mode combinations.</p>
+<div class="refsect3">
+<a name="mm-modem-peek-supported-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>modes</p></td>
+<td class="parameter_description"><p>Return location for the array of <a class="link" href="MMModem.html#MMModemModeCombination" title="struct MMModemModeCombination"><span class="type">MMModemModeCombination</span></a> values. Do not free the returned array, it is owned by <em class="parameter"><code>self</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_modes]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_modes</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>modes</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-peek-supported-modes.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>modes</code></em>
+and <em class="parameter"><code>n_modes</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-supported-modes"></a><h3>mm_modem_get_supported_modes ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_get_supported_modes (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMModem.html#MMModemModeCombination" title="struct MMModemModeCombination"><span class="type">MMModemModeCombination</span></a> **modes</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_modes</code></em>);</pre>
+<p>Gets the list of supported mode combinations.</p>
+<div class="refsect3">
+<a name="mm-modem-get-supported-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>modes</p></td>
+<td class="parameter_description"><p>Return location for the array of <a class="link" href="MMModem.html#MMModemModeCombination" title="struct MMModemModeCombination"><span class="type">MMModemModeCombination</span></a> structs. The returned array should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_modes]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_modes</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>modes</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-supported-modes.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>modes</code></em>
+and <em class="parameter"><code>n_modes</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-current-modes"></a><h3>mm_modem_get_current_modes ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_get_current_modes (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> *allowed</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> *preferred</code></em>);</pre>
+<p>Gets the list of modes specifying the access technologies (eg 2G/3G/4G)
+the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> is currently allowed to use when connecting to a network, as
+well as the preferred one, if any.</p>
+<div class="refsect3">
+<a name="mm-modem-get-current-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>allowed</p></td>
+<td class="parameter_description"><p>Return location for a bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> values. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>preferred</p></td>
+<td class="parameter_description"><p>Return location for a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> value. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-current-modes.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>allowed</code></em>
+and <em class="parameter"><code>preferred</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-peek-supported-bands"></a><h3>mm_modem_peek_supported_bands ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_peek_supported_bands (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> **bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_bands</code></em>);</pre>
+<p>Gets the list of radio frequency and technology bands supported by the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>For POTS devices, only <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-ANY:CAPS"><span class="type">MM_MODEM_BAND_ANY</span></a> will be returned in <em class="parameter"><code>bands</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-peek-supported-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bands</p></td>
+<td class="parameter_description"><p>Return location for the array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> values. Do not free the returned array, it is owned by <em class="parameter"><code>self</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_bands]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_bands</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>bands</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-peek-supported-bands.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>bands</code></em>
+and <em class="parameter"><code>n_bands</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-supported-bands"></a><h3>mm_modem_get_supported_bands ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_get_supported_bands (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> **bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_bands</code></em>);</pre>
+<p>Gets the list of radio frequency and technology bands supported by the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>For POTS devices, only <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-ANY:CAPS"><span class="type">MM_MODEM_BAND_ANY</span></a> will be returned in <em class="parameter"><code>bands</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-get-supported-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bands</p></td>
+<td class="parameter_description"><p>Return location for the array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> values. The returned array should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_bands]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_bands</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>bands</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-supported-bands.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>bands</code></em>
+and <em class="parameter"><code>n_bands</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-peek-current-bands"></a><h3>mm_modem_peek_current_bands ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_peek_current_bands (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> **bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_bands</code></em>);</pre>
+<p>Gets the list of radio frequency and technology bands the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> is currently
+using when connecting to a network.</p>
+<p>For POTS devices, only the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-ANY:CAPS"><span class="type">MM_MODEM_BAND_ANY</span></a> band is supported.</p>
+<div class="refsect3">
+<a name="mm-modem-peek-current-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bands</p></td>
+<td class="parameter_description"><p>Return location for the array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> values. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_bands]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_bands</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>bands</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-peek-current-bands.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>bands</code></em>
+and <em class="parameter"><code>n_bands</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-current-bands"></a><h3>mm_modem_get_current_bands ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_get_current_bands (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> **bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_bands</code></em>);</pre>
+<p>Gets the list of radio frequency and technology bands the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> is currently
+using when connecting to a network.</p>
+<p>For POTS devices, only the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-BAND-ANY:CAPS"><span class="type">MM_MODEM_BAND_ANY</span></a> band is supported.</p>
+<div class="refsect3">
+<a name="mm-modem-get-current-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bands</p></td>
+<td class="parameter_description"><p>Return location for the array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> values. The returned array should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_bands]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_bands</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>bands</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-current-bands.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>bands</code></em>
+and <em class="parameter"><code>n_bands</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-supported-ip-families"></a><h3>mm_modem_get_supported_ip_families ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="returnvalue">MMBearerIpFamily</span></a>
+mm_modem_get_supported_ip_families (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the list of supported IP families.</p>
+<div class="refsect3">
+<a name="mm-modem-get-supported-ip-families.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-supported-ip-families.returns"></a><h4>Returns</h4>
+<p> A bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="type">MMBearerIpFamily</span></a> values.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-signal-quality"></a><h3>mm_modem_get_signal_quality ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_modem_get_signal_quality (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *recent</code></em>);</pre>
+<p>Gets the signal quality value in percent (0 - 100) of the dominant access technology
+the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> is using to communicate with the network.</p>
+<p>Always 0 for POTS devices.</p>
+<div class="refsect3">
+<a name="mm-modem-get-signal-quality.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>recent</p></td>
+<td class="parameter_description"><p>Return location for the flag specifying if the signal quality value was recent or not. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-signal-quality.returns"></a><h4>Returns</h4>
+<p> The signal quality.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-access-technologies"></a><h3>mm_modem_get_access_technologies ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="returnvalue">MMModemAccessTechnology</span></a>
+mm_modem_get_access_technologies (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the current network access technology used by the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> to communicate
+with the network.</p>
+<div class="refsect3">
+<a name="mm-modem-get-access-technologies.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-access-technologies.returns"></a><h4>Returns</h4>
+<p> A #<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="type">MMModemAccessTechnology</span></a> value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-sim-path"></a><h3>mm_modem_get_sim_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_get_sim_path (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> handled in this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem.html#mm-modem-dup-sim-path" title="mm_modem_dup_sim_path ()"><code class="function">mm_modem_dup_sim_path()</code></a> if on another
+thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-modem-get-sim-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-sim-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> handled in this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-dup-sim-path"></a><h3>mm_modem_dup_sim_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_dup_sim_path (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> handled in this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-dup-sim-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-dup-sim-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> handled in this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-sim"></a><h3>mm_modem_get_sim ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_get_sim (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously gets the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object managed by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-get-sim-finish" title="mm_modem_get_sim_finish ()"><code class="function">mm_modem_get_sim_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-get-sim-sync" title="mm_modem_get_sim_sync ()"><code class="function">mm_modem_get_sim_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-get-sim.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-sim-finish"></a><h3>mm_modem_get_sim_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMSim.html" title="MMSim"><span class="returnvalue">MMSim</span></a> *
+mm_modem_get_sim_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-get-sim" title="mm_modem_get_sim ()"><code class="function">mm_modem_get_sim()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-get-sim-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-get-sim" title="mm_modem_get_sim ()"><code class="function">mm_modem_get_sim()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-sim-finish.returns"></a><h4>Returns</h4>
+<p>a <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-sim-sync"></a><h3>mm_modem_get_sim_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMSim.html" title="MMSim"><span class="returnvalue">MMSim</span></a> *
+mm_modem_get_sim_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously gets the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object managed by this <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-get-sim" title="mm_modem_get_sim ()"><code class="function">mm_modem_get_sim()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-get-sim-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-sim-sync.returns"></a><h4>Returns</h4>
+<p>a <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-enable"></a><h3>mm_modem_enable ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_enable (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously tries to enable the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>. When enabled, the modem's radio is
+powered on and data sessions, voice calls, location services, and Short Message
+Service may be available.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-enable-finish" title="mm_modem_enable_finish ()"><code class="function">mm_modem_enable_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-enable-sync" title="mm_modem_enable_sync ()"><code class="function">mm_modem_enable_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-enable.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-enable-finish"></a><h3>mm_modem_enable_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_enable_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-enable" title="mm_modem_enable ()"><code class="function">mm_modem_enable()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-enable-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-enable" title="mm_modem_enable ()"><code class="function">mm_modem_enable()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-enable-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the modem was properly enabled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-enable-sync"></a><h3>mm_modem_enable_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_enable_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously tries to enable the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>. When enabled, the modem's radio is
+powered on and data sessions, voice calls, location services, and Short Message
+Service may be available.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-enable" title="mm_modem_enable ()"><code class="function">mm_modem_enable()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-enable-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-enable-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the modem was properly enabled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-disable"></a><h3>mm_modem_disable ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_disable (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously tries to disable the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>. When disabled, the modem enters
+low-power state and no network-related operations are available.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-disable-finish" title="mm_modem_disable_finish ()"><code class="function">mm_modem_disable_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-disable-sync" title="mm_modem_disable_sync ()"><code class="function">mm_modem_disable_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-disable.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-disable-finish"></a><h3>mm_modem_disable_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_disable_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-disable" title="mm_modem_disable ()"><code class="function">mm_modem_disable()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-disable-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-disable" title="mm_modem_disable ()"><code class="function">mm_modem_disable()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-disable-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the modem was properly disabled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-disable-sync"></a><h3>mm_modem_disable_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_disable_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously tries to disable the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>. When disabled, the modem enters
+low-power state and no network-related operations are available.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-disable" title="mm_modem_disable ()"><code class="function">mm_modem_disable()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-disable-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-disable-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the modem was properly disabled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-power-state"></a><h3>mm_modem_set_power_state ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_set_power_state (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPowerState"><span class="type">MMModemPowerState</span></a> state</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously sets the power state of the device. This method can only be
+used while the modem is in <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-DISABLED:CAPS"><code class="literal">MM_MODEM_STATE_DISABLED</code></a> state.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-set-power-state-finish" title="mm_modem_set_power_state_finish ()"><code class="function">mm_modem_set_power_state_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-set-power-state-sync" title="mm_modem_set_power_state_sync ()"><code class="function">mm_modem_set_power_state_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-set-power-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>state</p></td>
+<td class="parameter_description"><p>Either <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-POWER-STATE-LOW:CAPS"><code class="literal">MM_MODEM_POWER_STATE_LOW</code></a> or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-POWER-STATE-ON:CAPS"><code class="literal">MM_MODEM_POWER_STATE_ON</code></a>. Every other <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPowerState"><span class="type">MMModemPowerState</span></a> value is not allowed.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-power-state-finish"></a><h3>mm_modem_set_power_state_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_set_power_state_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-set-power-state" title="mm_modem_set_power_state ()"><code class="function">mm_modem_set_power_state()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-set-power-state-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-set-power-state" title="mm_modem_set_power_state ()"><code class="function">mm_modem_set_power_state()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-set-power-state-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the power state was successfully set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-power-state-sync"></a><h3>mm_modem_set_power_state_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_set_power_state_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPowerState"><span class="type">MMModemPowerState</span></a> state</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously sets the power state of the device. This method can only be
+used while the modem is in <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-DISABLED:CAPS"><code class="literal">MM_MODEM_STATE_DISABLED</code></a> state.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-set-power-state" title="mm_modem_set_power_state ()"><code class="function">mm_modem_set_power_state()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-set-power-state-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>state</p></td>
+<td class="parameter_description"><p>Either <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-POWER-STATE-LOW:CAPS"><code class="literal">MM_MODEM_POWER_STATE_LOW</code></a> or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-POWER-STATE-ON:CAPS"><code class="literal">MM_MODEM_POWER_STATE_ON</code></a>. Every other <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPowerState"><span class="type">MMModemPowerState</span></a> value is not allowed.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-set-power-state-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the power state was successfully set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-current-modes"></a><h3>mm_modem_set_current_modes ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_set_current_modes (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> modes</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> preferred</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously sets the access technologies (e.g. 2G/3G/4G preference) the device is
+currently allowed to use when connecting to a network.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-set-current-modes-finish" title="mm_modem_set_current_modes_finish ()"><code class="function">mm_modem_set_current_modes_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-set-current-modes-sync" title="mm_modem_set_current_modes_sync ()"><code class="function">mm_modem_set_current_modes_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-set-current-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>modes</p></td>
+<td class="parameter_description"><p>Mask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> values specifying which modes are allowed.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>preferred</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> value specifying which of the modes given in <em class="parameter"><code>modes</code></em>
+is the preferred one, or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-MODE-NONE:CAPS"><span class="type">MM_MODEM_MODE_NONE</span></a> if none.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-current-modes-finish"></a><h3>mm_modem_set_current_modes_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_set_current_modes_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-set-current-modes" title="mm_modem_set_current_modes ()"><code class="function">mm_modem_set_current_modes()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-set-current-modes-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-set-current-modes" title="mm_modem_set_current_modes ()"><code class="function">mm_modem_set_current_modes()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-set-current-modes-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the allowed modes were successfully set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-current-modes-sync"></a><h3>mm_modem_set_current_modes_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_set_current_modes_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> modes</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> preferred</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously sets the access technologies (e.g. 2G/3G/4G preference) the device is
+currently allowed to use when connecting to a network.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-set-current-modes" title="mm_modem_set_current_modes ()"><code class="function">mm_modem_set_current_modes()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-set-current-modes-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>modes</p></td>
+<td class="parameter_description"><p>Mask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> values specifying which modes are allowed.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>preferred</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> value specifying which of the modes given in <em class="parameter"><code>modes</code></em>
+is the preferred one, or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-MODE-NONE:CAPS"><span class="type">MM_MODEM_MODE_NONE</span></a> if none.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-set-current-modes-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the allowed modes were successfully set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-current-bands"></a><h3>mm_modem_set_current_bands ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_set_current_bands (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> *bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously sets the radio frequency and technology bands the device is currently
+allowed to use when connecting to a network.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-set-current-bands-finish" title="mm_modem_set_current_bands_finish ()"><code class="function">mm_modem_set_current_bands_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-set-current-bands-sync" title="mm_modem_set_current_bands_sync ()"><code class="function">mm_modem_set_current_bands_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-set-current-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bands</p></td>
+<td class="parameter_description"><p>An array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> values specifying which bands are allowed.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_bands</p></td>
+<td class="parameter_description"><p>Number of elements in <em class="parameter"><code>bands</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-current-bands-finish"></a><h3>mm_modem_set_current_bands_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_set_current_bands_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-set-current-bands" title="mm_modem_set_current_bands ()"><code class="function">mm_modem_set_current_bands()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-set-current-bands-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-set-current-bands" title="mm_modem_set_current_bands ()"><code class="function">mm_modem_set_current_bands()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-set-current-bands-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the bands were successfully set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-current-bands-sync"></a><h3>mm_modem_set_current_bands_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_set_current_bands_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> *bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously sets the radio frequency and technology bands the device is currently
+allowed to use when connecting to a network.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-set-current-bands" title="mm_modem_set_current_bands ()"><code class="function">mm_modem_set_current_bands()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-set-current-bands-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bands</p></td>
+<td class="parameter_description"><p>An array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> values specifying which bands are allowed.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_bands</p></td>
+<td class="parameter_description"><p>Number of elements in <em class="parameter"><code>bands</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-set-current-bands-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the bands were successfully set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-current-capabilities"></a><h3>mm_modem_set_current_capabilities ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_set_current_capabilities (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> capabilities</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously sets the capabilities of the device. A restart of the modem may be required.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-set-current-capabilities-finish" title="mm_modem_set_current_capabilities_finish ()"><code class="function">mm_modem_set_current_capabilities_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-set-current-capabilities-sync" title="mm_modem_set_current_capabilities_sync ()"><code class="function">mm_modem_set_current_capabilities_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-set-current-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>capabilities</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> mask.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-current-capabilities-finish"></a><h3>mm_modem_set_current_capabilities_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_set_current_capabilities_finish
+ (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-set-current-capabilities" title="mm_modem_set_current_capabilities ()"><code class="function">mm_modem_set_current_capabilities()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-set-current-capabilities-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-set-current-capabilities" title="mm_modem_set_current_capabilities ()"><code class="function">mm_modem_set_current_capabilities()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-set-current-capabilities-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the capabilities were successfully set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-set-current-capabilities-sync"></a><h3>mm_modem_set_current_capabilities_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_set_current_capabilities_sync
+ (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> capabilities</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously sets the capabilities of the device. A restart of the modem may be required.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-set-current-capabilities" title="mm_modem_set_current_capabilities ()"><code class="function">mm_modem_set_current_capabilities()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-set-current-capabilities-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>capabilities</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> mask.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-set-current-capabilities-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the capabilities were successfully set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-reset"></a><h3>mm_modem_reset ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_reset (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously clears non-persistent configuration and state, and returns the device to
+a newly-powered-on state.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-reset-finish" title="mm_modem_reset_finish ()"><code class="function">mm_modem_reset_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-reset-sync" title="mm_modem_reset_sync ()"><code class="function">mm_modem_reset_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-reset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-reset-finish"></a><h3>mm_modem_reset_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_reset_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-reset" title="mm_modem_reset ()"><code class="function">mm_modem_reset()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-reset-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-reset" title="mm_modem_reset ()"><code class="function">mm_modem_reset()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-reset-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the reset was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-reset-sync"></a><h3>mm_modem_reset_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_reset_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously clears non-persistent configuration and state, and returns the device to
+a newly-powered-on state.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-reset" title="mm_modem_reset ()"><code class="function">mm_modem_reset()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-reset-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-reset-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the reset was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-factory-reset"></a><h3>mm_modem_factory_reset ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_factory_reset (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *code</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously clears the modem's configuration (including persistent configuration and
+state), and returns the device to a factory-default state.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-factory-reset-finish" title="mm_modem_factory_reset_finish ()"><code class="function">mm_modem_factory_reset_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-factory-reset-sync" title="mm_modem_factory_reset_sync ()"><code class="function">mm_modem_factory_reset_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-factory-reset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>code</p></td>
+<td class="parameter_description"><p>Carrier-supplied code required to reset the modem.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-factory-reset-finish"></a><h3>mm_modem_factory_reset_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_factory_reset_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-factory-reset" title="mm_modem_factory_reset ()"><code class="function">mm_modem_factory_reset()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-factory-reset-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-factory-reset" title="mm_modem_factory_reset ()"><code class="function">mm_modem_factory_reset()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-factory-reset-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the factory_reset was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-factory-reset-sync"></a><h3>mm_modem_factory_reset_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_factory_reset_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *code</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously clears the modem's configuration (including persistent configuration and
+state), and returns the device to a factory-default state.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-factory-reset" title="mm_modem_factory_reset ()"><code class="function">mm_modem_factory_reset()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-factory-reset-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>code</p></td>
+<td class="parameter_description"><p>Carrier-supplied code required to reset the modem.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-factory-reset-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the factory reset was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-list-bearers"></a><h3>mm_modem_list_bearers ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_list_bearers (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously lists the packet data bearers in the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-list-bearers-finish" title="mm_modem_list_bearers_finish ()"><code class="function">mm_modem_list_bearers_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-list-bearers-sync" title="mm_modem_list_bearers_sync ()"><code class="function">mm_modem_list_bearers_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-list-bearers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-list-bearers-finish"></a><h3>mm_modem_list_bearers_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_modem_list_bearers_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-list-bearers" title="mm_modem_list_bearers ()"><code class="function">mm_modem_list_bearers()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-list-bearers-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-list-bearers" title="mm_modem_list_bearers ()"><code class="function">mm_modem_list_bearers()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-list-bearers-finish.returns"></a><h4>Returns</h4>
+<p>The list of <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> objects, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if either none found or if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Bearer]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-list-bearers-sync"></a><h3>mm_modem_list_bearers_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_modem_list_bearers_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously lists the packet data bearers in the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-list-bearers" title="mm_modem_list_bearers ()"><code class="function">mm_modem_list_bearers()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-list-bearers-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-list-bearers-sync.returns"></a><h4>Returns</h4>
+<p>The list of <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> objects, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if either none found or if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Bearer]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-create-bearer"></a><h3>mm_modem_create_bearer ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_create_bearer (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a new packet data bearer in the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>This request may fail if the modem does not support additional bearers,
+if too many bearers are already defined, or if <em class="parameter"><code>properties</code></em>
+ are invalid.</p>
+<p>See <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer">CreateBearer</a> to check which properties may be passed.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-create-bearer-finish" title="mm_modem_create_bearer_finish ()"><code class="function">mm_modem_create_bearer_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-create-bearer-sync" title="mm_modem_create_bearer_sync ()"><code class="function">mm_modem_create_bearer_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-create-bearer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> object with the properties to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-create-bearer-finish"></a><h3>mm_modem_create_bearer_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+mm_modem_create_bearer_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-create-bearer" title="mm_modem_create_bearer ()"><code class="function">mm_modem_create_bearer()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-create-bearer-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-create-bearer" title="mm_modem_create_bearer ()"><code class="function">mm_modem_create_bearer()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-create-bearer-finish.returns"></a><h4>Returns</h4>
+<p>A newly created <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-create-bearer-sync"></a><h3>mm_modem_create_bearer_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+mm_modem_create_bearer_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a new packet data bearer in the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>This request may fail if the modem does not support additional bearers,
+if too many bearers are already defined, or if <em class="parameter"><code>properties</code></em>
+ are invalid.</p>
+<p>See <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer">CreateBearer</a> to check which properties may be passed.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-create-bearer" title="mm_modem_create_bearer ()"><code class="function">mm_modem_create_bearer()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-create-bearer-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> object with the properties to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-create-bearer-sync.returns"></a><h4>Returns</h4>
+<p>A newly created <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-delete-bearer"></a><h3>mm_modem_delete_bearer ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_delete_bearer (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously deletes a given bearer from the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-delete-bearer-finish" title="mm_modem_delete_bearer_finish ()"><code class="function">mm_modem_delete_bearer_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-delete-bearer-sync" title="mm_modem_delete_bearer_sync ()"><code class="function">mm_modem_delete_bearer_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-delete-bearer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bearer</p></td>
+<td class="parameter_description"><p>Path of the bearer to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-delete-bearer-finish"></a><h3>mm_modem_delete_bearer_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_delete_bearer_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-delete-bearer" title="mm_modem_delete_bearer ()"><code class="function">mm_modem_delete_bearer()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-delete-bearer-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-delete-bearer" title="mm_modem_delete_bearer ()"><code class="function">mm_modem_delete_bearer()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-delete-bearer-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the bearer was deleted, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-delete-bearer-sync"></a><h3>mm_modem_delete_bearer_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_delete_bearer_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously deletes a given bearer from the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-delete-bearer" title="mm_modem_delete_bearer ()"><code class="function">mm_modem_delete_bearer()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-delete-bearer-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bearer</p></td>
+<td class="parameter_description"><p>Path of the bearer to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-delete-bearer-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the bearer was deleted, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-command"></a><h3>mm_modem_command ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_command (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *cmd</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> timeout</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously runs an AT command in the modem.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem.html#mm-modem-command-finish" title="mm_modem_command_finish ()"><code class="function">mm_modem_command_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem.html#mm-modem-command-sync" title="mm_modem_command_sync ()"><code class="function">mm_modem_command_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-command.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cmd</p></td>
+<td class="parameter_description"><p>AT command to run.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>timeout</p></td>
+<td class="parameter_description"><p>Maximum time to wait for the response, in seconds.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-command-finish"></a><h3>mm_modem_command_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_command_finish (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem.html#mm-modem-command" title="mm_modem_command ()"><code class="function">mm_modem_command()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-command-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-command" title="mm_modem_command ()"><code class="function">mm_modem_command()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-command-finish.returns"></a><h4>Returns</h4>
+<p>A newly allocated string with the reply to the command, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-command-sync"></a><h3>mm_modem_command_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_command_sync (<em class="parameter"><code><a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *cmd</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> timeout</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously runs an AT command in the modem.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem.html#mm-modem-command" title="mm_modem_command ()"><code class="function">mm_modem_command()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-command-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cmd</p></td>
+<td class="parameter_description"><p>AT command to run.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>timeout</p></td>
+<td class="parameter_description"><p>Maximum time to wait for the response, in seconds.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-command-sync.returns"></a><h4>Returns</h4>
+<p>A newly allocated string with the reply to the command, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-port-info-array-free"></a><h3>mm_modem_port_info_array_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_port_info_array_free (<em class="parameter"><code><a class="link" href="MMModem.html#MMModemPortInfo" title="struct MMModemPortInfo"><span class="type">MMModemPortInfo</span></a> *array</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> array_size</code></em>);</pre>
+<p>Frees an array of <a class="link" href="MMModem.html#MMModemPortInfo" title="struct MMModemPortInfo"><span class="type">MMModemPortInfo</span></a> values.</p>
+<div class="refsect3">
+<a name="mm-modem-port-info-array-free.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>array</p></td>
+<td class="parameter_description"><p>an array of <a class="link" href="MMModem.html#MMModemPortInfo" title="struct MMModemPortInfo"><span class="type">MMModemPortInfo</span></a> values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>array_size</p></td>
+<td class="parameter_description"><p>length of <em class="parameter"><code>array</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModem.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModem-struct"></a><h3>struct MMModem</h3>
+<pre class="programlisting">struct MMModem;</pre>
+<p>The <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemModeCombination"></a><h3>struct MMModemModeCombination</h3>
+<pre class="programlisting">struct MMModemModeCombination {
+ MMModemMode allowed;
+ MMModemMode preferred;
+};
+</pre>
+<p><a class="link" href="MMModem.html#MMModemModeCombination" title="struct MMModemModeCombination"><span class="type">MMModemModeCombination</span></a> is a simple struct holding a pair of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> values.</p>
+<div class="refsect3">
+<a name="MMModemModeCombination.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> <em class="structfield"><code><a name="MMModemModeCombination.allowed"></a>allowed</code></em>;</p></td>
+<td class="struct_member_description"><p>Mask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> values specifying allowed modes.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> <em class="structfield"><code><a name="MMModemModeCombination.preferred"></a>preferred</code></em>;</p></td>
+<td class="struct_member_description"><p>A single <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> value specifying the preferred mode.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModemPortInfo"></a><h3>struct MMModemPortInfo</h3>
+<pre class="programlisting">struct MMModemPortInfo {
+ gchar *name;
+ MMModemPortType type;
+};
+</pre>
+<p>Information of a given port.</p>
+<div class="refsect3">
+<a name="MMModemPortInfo.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="MMModemPortInfo.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>Name of the port.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPortType"><span class="type">MMModemPortType</span></a> <em class="structfield"><code><a name="MMModemPortInfo.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPortType"><span class="type">MMModemPortType</span></a> value.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModem3gpp.html b/docs/reference/libmm-glib/html/MMModem3gpp.html
new file mode 100644
index 00000000..1d28961d
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModem3gpp.html
@@ -0,0 +1,1792 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModem3gpp: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html#id-1.2.4.3" title="Generic interfaces">
+<link rel="prev" href="MMModem.html" title="MMModem">
+<link rel="next" href="MMModem3gppUssd.html" title="MMModem3gppUssd">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModem3gpp.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModem3gpp.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModem3gpp.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html#id-1.2.4.3"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModem.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModem3gppUssd.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModem3gpp"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModem3gpp.top_of_page"></a>MMModem3gpp</span></h2>
+<p>MMModem3gpp — The 3GPP interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModem3gpp.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-operator-code" title="mm_modem_3gpp_network_get_operator_code ()">mm_modem_3gpp_network_get_operator_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-operator-short" title="mm_modem_3gpp_network_get_operator_short ()">mm_modem_3gpp_network_get_operator_short</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-operator-long" title="mm_modem_3gpp_network_get_operator_long ()">mm_modem_3gpp_network_get_operator_long</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="returnvalue">MMModemAccessTechnology</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-access-technology" title="mm_modem_3gpp_network_get_access_technology ()">mm_modem_3gpp_network_get_access_technology</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppNetworkAvailability"><span class="returnvalue">MMModem3gppNetworkAvailability</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-availability" title="mm_modem_3gpp_network_get_availability ()">mm_modem_3gpp_network_get_availability</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-free" title="mm_modem_3gpp_network_free ()">mm_modem_3gpp_network_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-path" title="mm_modem_3gpp_get_path ()">mm_modem_3gpp_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-path" title="mm_modem_3gpp_dup_path ()">mm_modem_3gpp_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-imei" title="mm_modem_3gpp_get_imei ()">mm_modem_3gpp_get_imei</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-imei" title="mm_modem_3gpp_dup_imei ()">mm_modem_3gpp_dup_imei</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-operator-code" title="mm_modem_3gpp_get_operator_code ()">mm_modem_3gpp_get_operator_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-operator-code" title="mm_modem_3gpp_dup_operator_code ()">mm_modem_3gpp_dup_operator_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-operator-name" title="mm_modem_3gpp_get_operator_name ()">mm_modem_3gpp_get_operator_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-operator-name" title="mm_modem_3gpp_dup_operator_name ()">mm_modem_3gpp_dup_operator_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppFacility"><span class="returnvalue">MMModem3gppFacility</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-enabled-facility-locks" title="mm_modem_3gpp_get_enabled_facility_locks ()">mm_modem_3gpp_get_enabled_facility_locks</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="returnvalue">MMModem3gppRegistrationState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-registration-state" title="mm_modem_3gpp_get_registration_state ()">mm_modem_3gpp_get_registration_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="returnvalue">MMModem3gppSubscriptionState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-subscription-state" title="mm_modem_3gpp_get_subscription_state ()">mm_modem_3gpp_get_subscription_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-pco" title="mm_modem_3gpp_get_pco ()">mm_modem_3gpp_get_pco</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"><span class="returnvalue">MMModem3gppEpsUeModeOperation</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-eps-ue-mode-operation" title="mm_modem_3gpp_get_eps_ue_mode_operation ()">mm_modem_3gpp_get_eps_ue_mode_operation</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-path" title="mm_modem_3gpp_get_initial_eps_bearer_path ()">mm_modem_3gpp_get_initial_eps_bearer_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-initial-eps-bearer-path" title="mm_modem_3gpp_dup_initial_eps_bearer_path ()">mm_modem_3gpp_dup_initial_eps_bearer_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer" title="mm_modem_3gpp_get_initial_eps_bearer ()">mm_modem_3gpp_get_initial_eps_bearer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-finish" title="mm_modem_3gpp_get_initial_eps_bearer_finish ()">mm_modem_3gpp_get_initial_eps_bearer_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-sync" title="mm_modem_3gpp_get_initial_eps_bearer_sync ()">mm_modem_3gpp_get_initial_eps_bearer_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-settings" title="mm_modem_3gpp_get_initial_eps_bearer_settings ()">mm_modem_3gpp_get_initial_eps_bearer_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-peek-initial-eps-bearer-settings" title="mm_modem_3gpp_peek_initial_eps_bearer_settings ()">mm_modem_3gpp_peek_initial_eps_bearer_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register" title="mm_modem_3gpp_register ()">mm_modem_3gpp_register</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register-finish" title="mm_modem_3gpp_register_finish ()">mm_modem_3gpp_register_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register-sync" title="mm_modem_3gpp_register_sync ()">mm_modem_3gpp_register_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan" title="mm_modem_3gpp_scan ()">mm_modem_3gpp_scan</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan-finish" title="mm_modem_3gpp_scan_finish ()">mm_modem_3gpp_scan_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan-sync" title="mm_modem_3gpp_scan_sync ()">mm_modem_3gpp_scan_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation" title="mm_modem_3gpp_set_eps_ue_mode_operation ()">mm_modem_3gpp_set_eps_ue_mode_operation</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation-finish" title="mm_modem_3gpp_set_eps_ue_mode_operation_finish ()">mm_modem_3gpp_set_eps_ue_mode_operation_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation-sync" title="mm_modem_3gpp_set_eps_ue_mode_operation_sync ()">mm_modem_3gpp_set_eps_ue_mode_operation_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings" title="mm_modem_3gpp_set_initial_eps_bearer_settings ()">mm_modem_3gpp_set_initial_eps_bearer_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings-finish" title="mm_modem_3gpp_set_initial_eps_bearer_settings_finish ()">mm_modem_3gpp_set_initial_eps_bearer_settings_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings-sync" title="mm_modem_3gpp_set_initial_eps_bearer_settings_sync ()">mm_modem_3gpp_set_initial_eps_bearer_settings_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModem3gpp.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModem3gpp.html#MMModem3gpp-struct" title="struct MMModem3gpp">MMModem3gpp</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork">MMModem3gppNetwork</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModem3gpp.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>
+ <span class="lineart">╰──</span> MMModem3gpp
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModem3gpp.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModem3gpp implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModem3gpp.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> is an object providing access to the methods, signals and
+properties of the 3GPP interface.</p>
+<p>The 3GPP interface is exposed whenever a modem has any of the 3GPP
+capabilities (<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-GSM-UMTS:CAPS"><code class="literal">MM_MODEM_CAPABILITY_GSM_UMTS</code></a>, <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-LTE:CAPS"><code class="literal">MM_MODEM_CAPABILITY_LTE</code></a> or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-LTE-ADVANCED:CAPS"><code class="literal">MM_MODEM_CAPABILITY_LTE_ADVANCED</code></a>).</p>
+</div>
+<div class="refsect1">
+<a name="MMModem3gpp.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-3gpp-network-get-operator-code"></a><h3>mm_modem_3gpp_network_get_operator_code ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_network_get_operator_code
+ (<em class="parameter"><code>const <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a> *network</code></em>);</pre>
+<p>Get the operator code (MCCMNC) of the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-operator-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>network</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-operator-code.returns"></a><h4>Returns</h4>
+<p>The operator code, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-network-get-operator-short"></a><h3>mm_modem_3gpp_network_get_operator_short ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_network_get_operator_short
+ (<em class="parameter"><code>const <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a> *network</code></em>);</pre>
+<p>Get the short operator name of the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-operator-short.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>network</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-operator-short.returns"></a><h4>Returns</h4>
+<p>The long operator name, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-network-get-operator-long"></a><h3>mm_modem_3gpp_network_get_operator_long ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_network_get_operator_long
+ (<em class="parameter"><code>const <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a> *network</code></em>);</pre>
+<p>Get the long operator name of the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-operator-long.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>network</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-operator-long.returns"></a><h4>Returns</h4>
+<p>The long operator name, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-network-get-access-technology"></a><h3>mm_modem_3gpp_network_get_access_technology ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="returnvalue">MMModemAccessTechnology</span></a>
+mm_modem_3gpp_network_get_access_technology
+ (<em class="parameter"><code>const <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a> *network</code></em>);</pre>
+<p>Get the technology used to access the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-access-technology.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>network</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-access-technology.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="type">MMModemAccessTechnology</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-network-get-availability"></a><h3>mm_modem_3gpp_network_get_availability ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppNetworkAvailability"><span class="returnvalue">MMModem3gppNetworkAvailability</span></a>
+mm_modem_3gpp_network_get_availability
+ (<em class="parameter"><code>const <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a> *network</code></em>);</pre>
+<p>Get availability of the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-availability.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>network</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-get-availability.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppNetworkAvailability"><span class="type">MMModem3gppNetworkAvailability</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-network-free"></a><h3>mm_modem_3gpp_network_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_3gpp_network_free (<em class="parameter"><code><a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a> *network</code></em>);</pre>
+<p>Frees a <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-free.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>network</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-path"></a><h3>mm_modem_3gpp_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_get_path (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-dup-path"></a><h3>mm_modem_3gpp_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_dup_path (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-imei"></a><h3>mm_modem_3gpp_get_imei ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_get_imei (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="ulink" href="http://en.wikipedia.org/wiki/Imei" target="_top">IMEI</a>,
+as reported by this <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-imei" title="mm_modem_3gpp_dup_imei ()"><code class="function">mm_modem_3gpp_dup_imei()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-imei.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-imei.returns"></a><h4>Returns</h4>
+<p>The IMEI, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-dup-imei"></a><h3>mm_modem_3gpp_dup_imei ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_dup_imei (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the <a class="ulink" href="http://en.wikipedia.org/wiki/Imei" target="_top">IMEI</a>,
+as reported by this <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-imei.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-imei.returns"></a><h4>Returns</h4>
+<p>The IMEI, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-operator-code"></a><h3>mm_modem_3gpp_get_operator_code ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_get_operator_code (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the code of the operator to which the mobile is
+currently registered.</p>
+<p>Returned in the format <code class="literal">"MCCMNC"</code>, where
+<code class="literal">MCC</code> is the three-digit ITU E.212 Mobile Country Code
+and <code class="literal">MNC</code> is the two- or three-digit GSM Mobile Network
+Code. e.g. e<code class="literal">"31026"</code> or <code class="literal">"310260"</code>.</p>
+<p>If the <code class="literal">MCC</code> and <code class="literal">MNC</code> are not known
+or the mobile is not registered to a mobile network, this property will
+be a zero-length (blank) string.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-operator-code" title="mm_modem_3gpp_dup_operator_code ()"><code class="function">mm_modem_3gpp_dup_operator_code()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-operator-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-operator-code.returns"></a><h4>Returns</h4>
+<p>The operator code, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-dup-operator-code"></a><h3>mm_modem_3gpp_dup_operator_code ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_dup_operator_code (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the code of the operator to which the mobile is
+currently registered.</p>
+<p>Returned in the format <code class="literal">"MCCMNC"</code>, where
+<code class="literal">MCC</code> is the three-digit ITU E.212 Mobile Country Code
+and <code class="literal">MNC</code> is the two- or three-digit GSM Mobile Network
+Code. e.g. e<code class="literal">"31026"</code> or <code class="literal">"310260"</code>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-operator-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-operator-code.returns"></a><h4>Returns</h4>
+<p>The operator code, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-operator-name"></a><h3>mm_modem_3gpp_get_operator_name ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_get_operator_name (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the name of the operator to which the mobile is
+currently registered.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-operator-name" title="mm_modem_3gpp_dup_operator_name ()"><code class="function">mm_modem_3gpp_dup_operator_name()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-operator-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-operator-name.returns"></a><h4>Returns</h4>
+<p>The operator name, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-dup-operator-name"></a><h3>mm_modem_3gpp_dup_operator_name ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_dup_operator_name (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the name of the operator to which the mobile is
+currently registered.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-operator-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-operator-name.returns"></a><h4>Returns</h4>
+<p>The operator name, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-enabled-facility-locks"></a><h3>mm_modem_3gpp_get_enabled_facility_locks ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppFacility"><span class="returnvalue">MMModem3gppFacility</span></a>
+mm_modem_3gpp_get_enabled_facility_locks
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Get the list of facilities for which PIN locking is enabled.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-enabled-facility-locks.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-enabled-facility-locks.returns"></a><h4>Returns</h4>
+<p> A bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppFacility"><span class="type">MMModem3gppFacility</span></a> flags, specifying which facilities have locks enabled.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-registration-state"></a><h3>mm_modem_3gpp_get_registration_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="returnvalue">MMModem3gppRegistrationState</span></a>
+mm_modem_3gpp_get_registration_state (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Get the the mobile registration status as defined in 3GPP TS 27.007
+section 10.1.19.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-registration-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-registration-state.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="type">MMModem3gppRegistrationState</span></a> value, specifying the current registration state.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-subscription-state"></a><h3>mm_modem_3gpp_get_subscription_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="returnvalue">MMModem3gppSubscriptionState</span></a>
+mm_modem_3gpp_get_subscription_state (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<div class="warning">
+<p><code class="literal">mm_modem_3gpp_get_subscription_state</code> has been deprecated since version 1.10.0. and should not be used in newly-written code.</p>
+<p>The value of this property can only be obtained with operator
+specific logic (e.g. processing specific PCO info), and therefore it doesn't make sense
+to expose it in the ModemManager interface.</p>
+</div>
+<p>Get the current subscription status of the account. This value is only
+available after the modem attempts to register with the network.</p>
+<p>The value of this property can only be obtained with operator specific logic (e.g.
+processing specific PCO info), and therefore it doesn't make sense to expose it in
+the ModemManager interface.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-subscription-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-subscription-state.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="type">MMModem3gppSubscriptionState</span></a> value, specifying the current subscription state.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-pco"></a><h3>mm_modem_3gpp_get_pco ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_modem_3gpp_get_pco (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Get the list of <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> received from the network.</p>
+<p>The caller is responsible for freeing the returned <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> with
+<a class="link" href="MMPco.html#mm-pco-list-free" title="mm_pco_list_free ()"><code class="function">mm_pco_list_free()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-pco.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-pco.returns"></a><h4>Returns</h4>
+<p>A list of <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a>. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Pco][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-eps-ue-mode-operation"></a><h3>mm_modem_3gpp_get_eps_ue_mode_operation ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"><span class="returnvalue">MMModem3gppEpsUeModeOperation</span></a>
+mm_modem_3gpp_get_eps_ue_mode_operation
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Get the UE mode of operation for EPS.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-eps-ue-mode-operation.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-eps-ue-mode-operation.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"><span class="type">MMModem3gppEpsUeModeOperation</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-path"></a><h3>mm_modem_3gpp_get_initial_eps_bearer_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_get_initial_eps_bearer_path
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the initial EPS <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> exposed in this <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-initial-eps-bearer-path" title="mm_modem_3gpp_dup_initial_eps_bearer_path ()"><code class="function">mm_modem_3gpp_dup_initial_eps_bearer_path()</code></a> if on another
+thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-dup-initial-eps-bearer-path"></a><h3>mm_modem_3gpp_dup_initial_eps_bearer_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_dup_initial_eps_bearer_path
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the initial EPS <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> exposed in this <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-initial-eps-bearer-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-dup-initial-eps-bearer-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-initial-eps-bearer"></a><h3>mm_modem_3gpp_get_initial_eps_bearer ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_3gpp_get_initial_eps_bearer (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously gets the initial EPS <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> object exposed by this <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-finish" title="mm_modem_3gpp_get_initial_eps_bearer_finish ()"><code class="function">mm_modem_3gpp_get_initial_eps_bearer_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-sync" title="mm_modem_3gpp_get_initial_eps_bearer_sync ()"><code class="function">mm_modem_3gpp_get_initial_eps_bearer_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-initial-eps-bearer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-finish"></a><h3>mm_modem_3gpp_get_initial_eps_bearer_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+mm_modem_3gpp_get_initial_eps_bearer_finish
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer" title="mm_modem_3gpp_get_initial_eps_bearer ()"><code class="function">mm_modem_3gpp_get_initial_eps_bearer()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer" title="mm_modem_3gpp_get_initial_eps_bearer ()"><code class="function">mm_modem_3gpp_get_initial_eps_bearer()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-finish.returns"></a><h4>Returns</h4>
+<p>a <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-sync"></a><h3>mm_modem_3gpp_get_initial_eps_bearer_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+mm_modem_3gpp_get_initial_eps_bearer_sync
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously gets the initial EPS <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> object exposed by this <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer" title="mm_modem_3gpp_get_initial_eps_bearer ()"><code class="function">mm_modem_3gpp_get_initial_eps_bearer()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-sync.returns"></a><h4>Returns</h4>
+<p>a <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-settings"></a><h3>mm_modem_3gpp_get_initial_eps_bearer_settings ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+mm_modem_3gpp_get_initial_eps_bearer_settings
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> object specifying the settings configured in
+the device to use when attaching to the LTE network.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-settings" title="mm_modem_3gpp_get_initial_eps_bearer_settings ()"><code class="function">mm_modem_3gpp_get_initial_eps_bearer_settings()</code></a> again to get a new <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-get-initial-eps-bearer-settings.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-peek-initial-eps-bearer-settings"></a><h3>mm_modem_3gpp_peek_initial_eps_bearer_settings ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="returnvalue">MMBearerProperties</span></a> *
+mm_modem_3gpp_peek_initial_eps_bearer_settings
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> object specifying the settings configured in
+the device to use when attaching to the LTE network.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-settings" title="mm_modem_3gpp_get_initial_eps_bearer_settings ()"><code class="function">mm_modem_3gpp_get_initial_eps_bearer_settings()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-peek-initial-eps-bearer-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-peek-initial-eps-bearer-settings.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-register"></a><h3>mm_modem_3gpp_register ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_3gpp_register (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *network_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests registration with a given mobile network.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register-finish" title="mm_modem_3gpp_register_finish ()"><code class="function">mm_modem_3gpp_register_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register-sync" title="mm_modem_3gpp_register_sync ()"><code class="function">mm_modem_3gpp_register_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-register.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>network_id</p></td>
+<td class="parameter_description"><p>The operator ID to register. An empty string can be used to register to the home network.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-register-finish"></a><h3>mm_modem_3gpp_register_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_3gpp_register_finish (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register" title="mm_modem_3gpp_register ()"><code class="function">mm_modem_3gpp_register()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-register-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register" title="mm_modem_3gpp_register ()"><code class="function">mm_modem_3gpp_register()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-register-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the modem was registered, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-register-sync"></a><h3>mm_modem_3gpp_register_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_3gpp_register_sync (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *network_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests registration with a given mobile network.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register" title="mm_modem_3gpp_register ()"><code class="function">mm_modem_3gpp_register()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-register-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>network_id</p></td>
+<td class="parameter_description"><p>The operator ID to register. An empty string can be used to register to the home network.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-register-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the modem was registered, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-scan"></a><h3>mm_modem_3gpp_scan ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_3gpp_scan (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to scan available 3GPP networks.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan-finish" title="mm_modem_3gpp_scan_finish ()"><code class="function">mm_modem_3gpp_scan_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan-sync" title="mm_modem_3gpp_scan_sync ()"><code class="function">mm_modem_3gpp_scan_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-scan.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-scan-finish"></a><h3>mm_modem_3gpp_scan_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_modem_3gpp_scan_finish (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan" title="mm_modem_3gpp_scan ()"><code class="function">mm_modem_3gpp_scan()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-scan-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan" title="mm_modem_3gpp_scan ()"><code class="function">mm_modem_3gpp_scan()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-scan-finish.returns"></a><h4>Returns</h4>
+<p>a list of <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a> structs, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free-full"><code class="function">g_list_free_full()</code></a> using <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-free" title="mm_modem_3gpp_network_free ()"><code class="function">mm_modem_3gpp_network_free()</code></a> as <a href="https://developer.gnome.org/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> function. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Modem3gppNetwork]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-scan-sync"></a><h3>mm_modem_3gpp_scan_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_modem_3gpp_scan_sync (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to scan available 3GPP networks.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan" title="mm_modem_3gpp_scan ()"><code class="function">mm_modem_3gpp_scan()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-scan-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-scan-sync.returns"></a><h4>Returns</h4>
+<p>a list of <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a> structs, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free-full"><code class="function">g_list_free_full()</code></a> using <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-free" title="mm_modem_3gpp_network_free ()"><code class="function">mm_modem_3gpp_network_free()</code></a> as <a href="https://developer.gnome.org/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> function. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Modem3gppNetwork]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-set-eps-ue-mode-operation"></a><h3>mm_modem_3gpp_set_eps_ue_mode_operation ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_3gpp_set_eps_ue_mode_operation
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"><span class="type">MMModem3gppEpsUeModeOperation</span></a> mode</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to update the EPS UE mode of operation.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the</p>
+<a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a><p>of the thread you are calling this method from. You can then call
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation-finish" title="mm_modem_3gpp_set_eps_ue_mode_operation_finish ()"><code class="function">mm_modem_3gpp_set_eps_ue_mode_operation_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation-sync" title="mm_modem_3gpp_set_eps_ue_mode_operation_sync ()"><code class="function">mm_modem_3gpp_set_eps_ue_mode_operation_sync()</code></a> for the synchronous, blocking
+version of this method. The calling thread is blocked until a reply is received.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-eps-ue-mode-operation.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"><span class="type">MMModem3gppEpsUeModeOperation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-set-eps-ue-mode-operation-finish"></a><h3>mm_modem_3gpp_set_eps_ue_mode_operation_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_3gpp_set_eps_ue_mode_operation_finish
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation" title="mm_modem_3gpp_set_eps_ue_mode_operation ()"><code class="function">mm_modem_3gpp_set_eps_ue_mode_operation()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-eps-ue-mode-operation-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation" title="mm_modem_3gpp_set_eps_ue_mode_operation ()"><code class="function">mm_modem_3gpp_set_eps_ue_mode_operation()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-eps-ue-mode-operation-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-set-eps-ue-mode-operation-sync"></a><h3>mm_modem_3gpp_set_eps_ue_mode_operation_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_3gpp_set_eps_ue_mode_operation_sync
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"><span class="type">MMModem3gppEpsUeModeOperation</span></a> mode</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to update the EPS UE mode of operation.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation" title="mm_modem_3gpp_set_eps_ue_mode_operation ()"><code class="function">mm_modem_3gpp_set_eps_ue_mode_operation()</code></a> for the asynchronous version
+of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-eps-ue-mode-operation-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"><span class="type">MMModem3gppEpsUeModeOperation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-eps-ue-mode-operation-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-set-initial-eps-bearer-settings"></a><h3>mm_modem_3gpp_set_initial_eps_bearer_settings ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_3gpp_set_initial_eps_bearer_settings
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *config</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously configures the settings for the initial LTE default bearer.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the</p>
+<a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a><p>of the thread you are calling this method from. You can then call
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings-finish" title="mm_modem_3gpp_set_initial_eps_bearer_settings_finish ()"><code class="function">mm_modem_3gpp_set_initial_eps_bearer_settings_finish()</code></a> to get the result of the operation.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-initial-eps-bearer-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>config</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> object with the properties to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-set-initial-eps-bearer-settings-finish"></a><h3>mm_modem_3gpp_set_initial_eps_bearer_settings_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_3gpp_set_initial_eps_bearer_settings_finish
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings" title="mm_modem_3gpp_set_initial_eps_bearer_settings ()"><code class="function">mm_modem_3gpp_set_initial_eps_bearer_settings()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-initial-eps-bearer-settings-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings" title="mm_modem_3gpp_set_initial_eps_bearer_settings ()"><code class="function">mm_modem_3gpp_set_initial_eps_bearer_settings()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-initial-eps-bearer-settings-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-set-initial-eps-bearer-settings-sync"></a><h3>mm_modem_3gpp_set_initial_eps_bearer_settings_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_3gpp_set_initial_eps_bearer_settings_sync
+ (<em class="parameter"><code><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> *config</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously configures the settings for the initial LTE default bearer.</p>
+<p>The calling thread is blocked until a reply is received. See
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings" title="mm_modem_3gpp_set_initial_eps_bearer_settings ()"><code class="function">mm_modem_3gpp_set_initial_eps_bearer_settings()</code></a> for the asynchronous
+version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-initial-eps-bearer-settings-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>config</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMBearerProperties.html" title="MMBearerProperties"><span class="type">MMBearerProperties</span></a> object with the properties to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-set-initial-eps-bearer-settings-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModem3gpp.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModem3gpp-struct"></a><h3>struct MMModem3gpp</h3>
+<pre class="programlisting">struct MMModem3gpp;</pre>
+<p>The <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMModem3gppNetwork"></a><h3>MMModem3gppNetwork</h3>
+<pre class="programlisting">typedef struct _MMModem3gppNetwork MMModem3gppNetwork;</pre>
+<p>The <a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork"><span class="type">MMModem3gppNetwork</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModem3gppUssd.html b/docs/reference/libmm-glib/html/MMModem3gppUssd.html
new file mode 100644
index 00000000..bcd8f31d
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModem3gppUssd.html
@@ -0,0 +1,843 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModem3gppUssd: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html#id-1.2.4.3" title="Generic interfaces">
+<link rel="prev" href="MMModem3gpp.html" title="MMModem3gpp">
+<link rel="next" href="MMModemCdma.html" title="MMModemCdma">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModem3gppUssd.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModem3gppUssd.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModem3gppUssd.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html#id-1.2.4.3"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModem3gpp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModemCdma.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModem3gppUssd"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModem3gppUssd.top_of_page"></a>MMModem3gppUssd</span></h2>
+<p>MMModem3gppUssd — The 3GPP USSD interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModem3gppUssd.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-path" title="mm_modem_3gpp_ussd_get_path ()">mm_modem_3gpp_ussd_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-path" title="mm_modem_3gpp_ussd_dup_path ()">mm_modem_3gpp_ussd_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppUssdSessionState"><span class="returnvalue">MMModem3gppUssdSessionState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-state" title="mm_modem_3gpp_ussd_get_state ()">mm_modem_3gpp_ussd_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-network-request" title="mm_modem_3gpp_ussd_get_network_request ()">mm_modem_3gpp_ussd_get_network_request</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-network-request" title="mm_modem_3gpp_ussd_dup_network_request ()">mm_modem_3gpp_ussd_dup_network_request</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-network-notification" title="mm_modem_3gpp_ussd_get_network_notification ()">mm_modem_3gpp_ussd_get_network_notification</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-network-notification" title="mm_modem_3gpp_ussd_dup_network_notification ()">mm_modem_3gpp_ussd_dup_network_notification</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate" title="mm_modem_3gpp_ussd_initiate ()">mm_modem_3gpp_ussd_initiate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate-finish" title="mm_modem_3gpp_ussd_initiate_finish ()">mm_modem_3gpp_ussd_initiate_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate-sync" title="mm_modem_3gpp_ussd_initiate_sync ()">mm_modem_3gpp_ussd_initiate_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond" title="mm_modem_3gpp_ussd_respond ()">mm_modem_3gpp_ussd_respond</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond-finish" title="mm_modem_3gpp_ussd_respond_finish ()">mm_modem_3gpp_ussd_respond_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond-sync" title="mm_modem_3gpp_ussd_respond_sync ()">mm_modem_3gpp_ussd_respond_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel" title="mm_modem_3gpp_ussd_cancel ()">mm_modem_3gpp_ussd_cancel</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel-finish" title="mm_modem_3gpp_ussd_cancel_finish ()">mm_modem_3gpp_ussd_cancel_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel-sync" title="mm_modem_3gpp_ussd_cancel_sync ()">mm_modem_3gpp_ussd_cancel_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModem3gppUssd.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModem3gppUssd.html#MMModem3gppUssd-struct" title="struct MMModem3gppUssd">MMModem3gppUssd</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModem3gppUssd.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>
+ <span class="lineart">╰──</span> MMModem3gppUssd
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModem3gppUssd.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModem3gppUssd implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModem3gppUssd.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> is an object providing access to the methods, signals and
+properties of the 3GPP USSD interface.</p>
+<p>This interface is only exposed when the 3GPP modem is known to handle USSD operations.</p>
+</div>
+<div class="refsect1">
+<a name="MMModem3gppUssd.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-get-path"></a><h3>mm_modem_3gpp_ussd_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_get_path (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-dup-path"></a><h3>mm_modem_3gpp_ussd_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_dup_path (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-get-state"></a><h3>mm_modem_3gpp_ussd_get_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppUssdSessionState"><span class="returnvalue">MMModem3gppUssdSessionState</span></a>
+mm_modem_3gpp_ussd_get_state (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>);</pre>
+<p>Get the state of the ongoing USSD session, if any.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-get-state.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppUssdSessionState"><span class="type">MMModem3gppUssdSessionState</span></a> value, specifying the current state.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-get-network-request"></a><h3>mm_modem_3gpp_ussd_get_network_request ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_get_network_request
+ (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>);</pre>
+<p>Gets any pending network-initiated request.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-network-request" title="mm_modem_3gpp_ussd_dup_network_request ()"><code class="function">mm_modem_3gpp_ussd_dup_network_request()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-get-network-request.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-get-network-request.returns"></a><h4>Returns</h4>
+<p>The network request, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-dup-network-request"></a><h3>mm_modem_3gpp_ussd_dup_network_request ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_dup_network_request
+ (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>);</pre>
+<p>Gets a copy of any pending network-initiated request.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-dup-network-request.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-dup-network-request.returns"></a><h4>Returns</h4>
+<p>The network request, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-get-network-notification"></a><h3>mm_modem_3gpp_ussd_get_network_notification ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_get_network_notification
+ (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>);</pre>
+<p>Gets any pending network-initiated request to which no USSD response is required.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-network-notification" title="mm_modem_3gpp_ussd_dup_network_notification ()"><code class="function">mm_modem_3gpp_ussd_dup_network_notification()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-get-network-notification.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-get-network-notification.returns"></a><h4>Returns</h4>
+<p>The network notification, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-dup-network-notification"></a><h3>mm_modem_3gpp_ussd_dup_network_notification ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_dup_network_notification
+ (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>);</pre>
+<p>Gets a copy of any pending network-initiated request to which no USSD response is required.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-dup-network-notification.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-dup-network-notification.returns"></a><h4>Returns</h4>
+<p>The network notification, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-initiate"></a><h3>mm_modem_3gpp_ussd_initiate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_3gpp_ussd_initiate (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *command</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously sends a USSD command string to the network initiating a USSD session.</p>
+<p>When the request is handled by the network, the method returns the
+response or an appropriate error. The network may be awaiting further
+response from the ME after returning from this method and no new command.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate-finish" title="mm_modem_3gpp_ussd_initiate_finish ()"><code class="function">mm_modem_3gpp_ussd_initiate_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate-sync" title="mm_modem_3gpp_ussd_initiate_sync ()"><code class="function">mm_modem_3gpp_ussd_initiate_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-initiate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>command</p></td>
+<td class="parameter_description"><p>The command to start the USSD session with.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-initiate-finish"></a><h3>mm_modem_3gpp_ussd_initiate_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_initiate_finish (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate" title="mm_modem_3gpp_ussd_initiate ()"><code class="function">mm_modem_3gpp_ussd_initiate()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-initiate-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate" title="mm_modem_3gpp_ussd_initiate ()"><code class="function">mm_modem_3gpp_ussd_initiate()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-initiate-finish.returns"></a><h4>Returns</h4>
+<p> The response from the network, if any. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-initiate-sync"></a><h3>mm_modem_3gpp_ussd_initiate_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_initiate_sync (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *command</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously sends a USSD command string to the network initiating a USSD session.</p>
+<p>When the request is handled by the network, the method returns the
+response or an appropriate error. The network may be awaiting further
+response from the ME after returning from this method and no new command.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate" title="mm_modem_3gpp_ussd_initiate ()"><code class="function">mm_modem_3gpp_ussd_initiate()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-initiate-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>command</p></td>
+<td class="parameter_description"><p>The command to start the USSD session with.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-initiate-sync.returns"></a><h4>Returns</h4>
+<p> The response from the network, if any. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-respond"></a><h3>mm_modem_3gpp_ussd_respond ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_3gpp_ussd_respond (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *response</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously responds to a USSD request that is either initiated by the
+mobile network, or that is awaiting further input after a previous call to
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate" title="mm_modem_3gpp_ussd_initiate ()"><code class="function">mm_modem_3gpp_ussd_initiate()</code></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond-finish" title="mm_modem_3gpp_ussd_respond_finish ()"><code class="function">mm_modem_3gpp_ussd_respond_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond-sync" title="mm_modem_3gpp_ussd_respond_sync ()"><code class="function">mm_modem_3gpp_ussd_respond_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-respond.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>response</p></td>
+<td class="parameter_description"><p>The response to network-initiated USSD command, or a response to a request for further input.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-respond-finish"></a><h3>mm_modem_3gpp_ussd_respond_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_respond_finish (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond" title="mm_modem_3gpp_ussd_respond ()"><code class="function">mm_modem_3gpp_ussd_respond()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-respond-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond" title="mm_modem_3gpp_ussd_respond ()"><code class="function">mm_modem_3gpp_ussd_respond()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-respond-finish.returns"></a><h4>Returns</h4>
+<p> The network reply to this response to the network-initiated USSD command. The reply may require further responses. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-respond-sync"></a><h3>mm_modem_3gpp_ussd_respond_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_respond_sync (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *response</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously responds to a USSD request that is either initiated by the
+mobile network, or that is awaiting further input after a previous call to
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate" title="mm_modem_3gpp_ussd_initiate ()"><code class="function">mm_modem_3gpp_ussd_initiate()</code></a>.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond" title="mm_modem_3gpp_ussd_respond ()"><code class="function">mm_modem_3gpp_ussd_respond()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-respond-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>response</p></td>
+<td class="parameter_description"><p>The response to network-initiated USSD command, or a response to a request for further input.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-respond-sync.returns"></a><h4>Returns</h4>
+<p> The network reply to this response to the network-initiated USSD command. The reply may require further responses. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-cancel"></a><h3>mm_modem_3gpp_ussd_cancel ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_3gpp_ussd_cancel (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously cancels an ongoing USSD session, either mobile or network initiated.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel-finish" title="mm_modem_3gpp_ussd_cancel_finish ()"><code class="function">mm_modem_3gpp_ussd_cancel_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel-sync" title="mm_modem_3gpp_ussd_cancel_sync ()"><code class="function">mm_modem_3gpp_ussd_cancel_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-cancel.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-cancel-finish"></a><h3>mm_modem_3gpp_ussd_cancel_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_3gpp_ussd_cancel_finish (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel" title="mm_modem_3gpp_ussd_cancel ()"><code class="function">mm_modem_3gpp_ussd_cancel()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-cancel-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel" title="mm_modem_3gpp_ussd_cancel ()"><code class="function">mm_modem_3gpp_ussd_cancel()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-cancel-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session was successfully cancelled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-cancel-sync"></a><h3>mm_modem_3gpp_ussd_cancel_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_3gpp_ussd_cancel_sync (<em class="parameter"><code><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously cancels an ongoing USSD session, either mobile or network initiated.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel" title="mm_modem_3gpp_ussd_cancel ()"><code class="function">mm_modem_3gpp_ussd_cancel()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-cancel-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-cancel-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session was successfully cancelled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModem3gppUssd.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModem3gppUssd-struct"></a><h3>struct MMModem3gppUssd</h3>
+<pre class="programlisting">struct MMModem3gppUssd;</pre>
+<p>The <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModemCdma.html b/docs/reference/libmm-glib/html/MMModemCdma.html
new file mode 100644
index 00000000..650bc7a4
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModemCdma.html
@@ -0,0 +1,853 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModemCdma: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html#id-1.2.4.3" title="Generic interfaces">
+<link rel="prev" href="MMModem3gppUssd.html" title="MMModem3gppUssd">
+<link rel="next" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModemCdma.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModemCdma.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModemCdma.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html#id-1.2.4.3"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModem3gppUssd.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMCdmaManualActivationProperties.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModemCdma"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModemCdma.top_of_page"></a>MMModemCdma</span></h2>
+<p>MMModemCdma — The CDMA interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModemCdma.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-path" title="mm_modem_cdma_get_path ()">mm_modem_cdma_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-dup-path" title="mm_modem_cdma_dup_path ()">mm_modem_cdma_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-esn" title="mm_modem_cdma_get_esn ()">mm_modem_cdma_get_esn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-dup-esn" title="mm_modem_cdma_dup_esn ()">mm_modem_cdma_dup_esn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-meid" title="mm_modem_cdma_get_meid ()">mm_modem_cdma_get_meid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-dup-meid" title="mm_modem_cdma_dup_meid ()">mm_modem_cdma_dup_meid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-nid" title="mm_modem_cdma_get_nid ()">mm_modem_cdma_get_nid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-sid" title="mm_modem_cdma_get_sid ()">mm_modem_cdma_get_sid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="returnvalue">MMModemCdmaRegistrationState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-cdma1x-registration-state" title="mm_modem_cdma_get_cdma1x_registration_state ()">mm_modem_cdma_get_cdma1x_registration_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="returnvalue">MMModemCdmaRegistrationState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-evdo-registration-state" title="mm_modem_cdma_get_evdo_registration_state ()">mm_modem_cdma_get_evdo_registration_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState"><span class="returnvalue">MMModemCdmaActivationState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-activation-state" title="mm_modem_cdma_get_activation_state ()">mm_modem_cdma_get_activation_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate" title="mm_modem_cdma_activate ()">mm_modem_cdma_activate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-finish" title="mm_modem_cdma_activate_finish ()">mm_modem_cdma_activate_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-sync" title="mm_modem_cdma_activate_sync ()">mm_modem_cdma_activate_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual" title="mm_modem_cdma_activate_manual ()">mm_modem_cdma_activate_manual</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual-finish" title="mm_modem_cdma_activate_manual_finish ()">mm_modem_cdma_activate_manual_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual-sync" title="mm_modem_cdma_activate_manual_sync ()">mm_modem_cdma_activate_manual_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemCdma.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemCdma.html#MMModemCdma-struct" title="struct MMModemCdma">MMModemCdma</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="MMModemCdma.html#MM-MODEM-CDMA-NID-UNKNOWN:CAPS" title="MM_MODEM_CDMA_NID_UNKNOWN">MM_MODEM_CDMA_NID_UNKNOWN</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="MMModemCdma.html#MM-MODEM-CDMA-SID-UNKNOWN:CAPS" title="MM_MODEM_CDMA_SID_UNKNOWN">MM_MODEM_CDMA_SID_UNKNOWN</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemCdma.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>
+ <span class="lineart">╰──</span> MMModemCdma
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModemCdma.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModemCdma implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemCdma.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> is an object providing access to the methods, signals and
+properties of the CDMA interface.</p>
+<p>The CDMA interface is exposed whenever a modem has CDMA capabilities
+(<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-CAPABILITY-CDMA-EVDO:CAPS"><code class="literal">MM_MODEM_CAPABILITY_CDMA_EVDO</code></a>).</p>
+</div>
+<div class="refsect1">
+<a name="MMModemCdma.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-cdma-get-path"></a><h3>mm_modem_cdma_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_cdma_get_path (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-dup-path"></a><h3>mm_modem_cdma_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_cdma_dup_path (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-get-esn"></a><h3>mm_modem_cdma_get_esn ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_cdma_get_esn (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="ulink" href="http://en.wikipedia.org/wiki/Electronic_serial_number" target="_top">Electronic Serial Number</a>,
+as reported by this <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p>
+<p>The ESN is superceded by MEID, but still used in older devices.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemCdma.html#mm-modem-cdma-dup-esn" title="mm_modem_cdma_dup_esn ()"><code class="function">mm_modem_cdma_dup_esn()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-esn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-esn.returns"></a><h4>Returns</h4>
+<p>The ESN, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-dup-esn"></a><h3>mm_modem_cdma_dup_esn ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_cdma_dup_esn (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the <a class="ulink" href="http://en.wikipedia.org/wiki/Electronic_serial_number" target="_top">Electronic Serial Number</a>,
+as reported by this <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p>
+<p>The ESN is superceded by MEID, but still used in older devices.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-dup-esn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-dup-esn.returns"></a><h4>Returns</h4>
+<p>The ESN, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-get-meid"></a><h3>mm_modem_cdma_get_meid ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_cdma_get_meid (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="ulink" href="http://en.wikipedia.org/wiki/MEID" target="_top">Mobile Equipment Identifier</a>,
+as reported by this <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemCdma.html#mm-modem-cdma-dup-meid" title="mm_modem_cdma_dup_meid ()"><code class="function">mm_modem_cdma_dup_meid()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-meid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-meid.returns"></a><h4>Returns</h4>
+<p>The MEID, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-dup-meid"></a><h3>mm_modem_cdma_dup_meid ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_cdma_dup_meid (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the <a class="ulink" href="http://en.wikipedia.org/wiki/MEID" target="_top">Mobile Equipment Identifier</a>,
+as reported by this <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-dup-meid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-dup-meid.returns"></a><h4>Returns</h4>
+<p>The MEID, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-get-nid"></a><h3>mm_modem_cdma_get_nid ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_modem_cdma_get_nid (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="ulink" href="http://en.wikipedia.org/wiki/Network_Identification_Number" target="_top">Network Identifier</a>
+of the serving CDMA 1x network, if known, and if the modem is registered with
+a CDMA 1x network.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-nid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-nid.returns"></a><h4>Returns</h4>
+<p> The NID, or <a class="link" href="MMModemCdma.html#MM-MODEM-CDMA-NID-UNKNOWN:CAPS" title="MM_MODEM_CDMA_NID_UNKNOWN"><code class="literal">MM_MODEM_CDMA_NID_UNKNOWN</code></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-get-sid"></a><h3>mm_modem_cdma_get_sid ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_modem_cdma_get_sid (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="ulink" href="http://en.wikipedia.org/wiki/System_Identification_Number" target="_top">System Identifier</a>
+of the serving CDMA 1x network, if known, and if the modem is registered with
+a CDMA 1x network.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-sid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-sid.returns"></a><h4>Returns</h4>
+<p> The SID, or <a class="link" href="MMModemCdma.html#MM-MODEM-CDMA-SID-UNKNOWN:CAPS" title="MM_MODEM_CDMA_SID_UNKNOWN"><code class="literal">MM_MODEM_CDMA_SID_UNKNOWN</code></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-get-cdma1x-registration-state"></a><h3>mm_modem_cdma_get_cdma1x_registration_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="returnvalue">MMModemCdmaRegistrationState</span></a>
+mm_modem_cdma_get_cdma1x_registration_state
+ (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets the state of the registration in the CDMA 1x network.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-cdma1x-registration-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-cdma1x-registration-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-get-evdo-registration-state"></a><h3>mm_modem_cdma_get_evdo_registration_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="returnvalue">MMModemCdmaRegistrationState</span></a>
+mm_modem_cdma_get_evdo_registration_state
+ (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets the state of the registration in the EV-DO network.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-evdo-registration-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-evdo-registration-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-get-activation-state"></a><h3>mm_modem_cdma_get_activation_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState"><span class="returnvalue">MMModemCdmaActivationState</span></a>
+mm_modem_cdma_get_activation_state (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>);</pre>
+<p>Gets the state of the activation in the 3GPP2 network.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-activation-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-get-activation-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState"><span class="type">MMModemCdmaActivationState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-activate"></a><h3>mm_modem_cdma_activate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_cdma_activate (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *carrier</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to provision the modem for use with a given carrier
+using the modem's OTA activation functionality, if any.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-finish" title="mm_modem_cdma_activate_finish ()"><code class="function">mm_modem_cdma_activate_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-sync" title="mm_modem_cdma_activate_sync ()"><code class="function">mm_modem_cdma_activate_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>carrier</p></td>
+<td class="parameter_description"><p>Name of the carrier.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-activate-finish"></a><h3>mm_modem_cdma_activate_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_cdma_activate_finish (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate" title="mm_modem_cdma_activate ()"><code class="function">mm_modem_cdma_activate()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate" title="mm_modem_cdma_activate ()"><code class="function">mm_modem_cdma_activate()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the activation was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-activate-sync"></a><h3>mm_modem_cdma_activate_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_cdma_activate_sync (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *carrier</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to provision the modem for use with a given carrier
+using the modem's OTA activation functionality, if any.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate" title="mm_modem_cdma_activate ()"><code class="function">mm_modem_cdma_activate()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>carrier</p></td>
+<td class="parameter_description"><p>Name of the carrier.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the activation was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-activate-manual"></a><h3>mm_modem_cdma_activate_manual ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_cdma_activate_manual (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to provision the modem with the given properties.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual-finish" title="mm_modem_cdma_activate_manual_finish ()"><code class="function">mm_modem_cdma_activate_manual_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual-sync" title="mm_modem_cdma_activate_manual_sync ()"><code class="function">mm_modem_cdma_activate_manual_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate-manual.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-activate-manual-finish"></a><h3>mm_modem_cdma_activate_manual_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_cdma_activate_manual_finish (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual" title="mm_modem_cdma_activate_manual ()"><code class="function">mm_modem_cdma_activate_manual()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate-manual-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual" title="mm_modem_cdma_activate_manual ()"><code class="function">mm_modem_cdma_activate_manual()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate-manual-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the activation was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-activate-manual-sync"></a><h3>mm_modem_cdma_activate_manual_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_cdma_activate_manual_sync (<em class="parameter"><code><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to provision the modem with the given properties.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual" title="mm_modem_cdma_activate_manual ()"><code class="function">mm_modem_cdma_activate_manual()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate-manual-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties"><span class="type">MMCdmaManualActivationProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-activate-manual-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the activation was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModemCdma.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModemCdma-struct"></a><h3>struct MMModemCdma</h3>
+<pre class="programlisting">struct MMModemCdma;</pre>
+<p>The <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-CDMA-NID-UNKNOWN:CAPS"></a><h3>MM_MODEM_CDMA_NID_UNKNOWN</h3>
+<pre class="programlisting">#define MM_MODEM_CDMA_NID_UNKNOWN 99999
+</pre>
+<p>Identifier for an unknown NID.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-MODEM-CDMA-SID-UNKNOWN:CAPS"></a><h3>MM_MODEM_CDMA_SID_UNKNOWN</h3>
+<pre class="programlisting">#define MM_MODEM_CDMA_SID_UNKNOWN 99999
+</pre>
+<p>Identifier for an unknown SID.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModemFirmware.html b/docs/reference/libmm-glib/html/MMModemFirmware.html
new file mode 100644
index 00000000..4efedd92
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModemFirmware.html
@@ -0,0 +1,596 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModemFirmware: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s06.html" title="Firmware support">
+<link rel="prev" href="ch03s06.html" title="Firmware support">
+<link rel="next" href="MMFirmwareProperties.html" title="MMFirmwareProperties">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModemFirmware.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModemFirmware.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModemFirmware.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s06.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s06.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMFirmwareProperties.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModemFirmware"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModemFirmware.top_of_page"></a>MMModemFirmware</span></h2>
+<p>MMModemFirmware — The Firmware interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModemFirmware.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-get-path" title="mm_modem_firmware_get_path ()">mm_modem_firmware_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-dup-path" title="mm_modem_firmware_dup_path ()">mm_modem_firmware_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-list" title="mm_modem_firmware_list ()">mm_modem_firmware_list</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-list-finish" title="mm_modem_firmware_list_finish ()">mm_modem_firmware_list_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-list-sync" title="mm_modem_firmware_list_sync ()">mm_modem_firmware_list_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-select" title="mm_modem_firmware_select ()">mm_modem_firmware_select</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-select-finish" title="mm_modem_firmware_select_finish ()">mm_modem_firmware_select_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-select-sync" title="mm_modem_firmware_select_sync ()">mm_modem_firmware_select_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="returnvalue">MMFirmwareUpdateSettings</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-get-update-settings" title="mm_modem_firmware_get_update_settings ()">mm_modem_firmware_get_update_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="returnvalue">MMFirmwareUpdateSettings</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-peek-update-settings" title="mm_modem_firmware_peek_update_settings ()">mm_modem_firmware_peek_update_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemFirmware.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemFirmware.html#MMModemFirmware-struct" title="struct MMModemFirmware">MMModemFirmware</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemFirmware.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>
+ <span class="lineart">╰──</span> MMModemFirmware
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModemFirmware.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModemFirmware implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemFirmware.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> is an object providing access to the methods, signals and
+properties of the Firmware interface.</p>
+<p>The Firmware interface is exposed whenever a modem has firmware capabilities.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemFirmware.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-firmware-get-path"></a><h3>mm_modem_firmware_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_firmware_get_path (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-firmware-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-dup-path"></a><h3>mm_modem_firmware_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_firmware_dup_path (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-firmware-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-list"></a><h3>mm_modem_firmware_list ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_firmware_list (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously gets the list of available firmware images.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemFirmware.html#mm-modem-firmware-list-finish" title="mm_modem_firmware_list_finish ()"><code class="function">mm_modem_firmware_list_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemFirmware.html#mm-modem-firmware-list-sync" title="mm_modem_firmware_list_sync ()"><code class="function">mm_modem_firmware_list_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-firmware-list.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-list-finish"></a><h3>mm_modem_firmware_list_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_firmware_list_finish (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> **selected</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **installed</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemFirmware.html#mm-modem-firmware-list" title="mm_modem_firmware_list ()"><code class="function">mm_modem_firmware_list()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-firmware-list-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>selected</p></td>
+<td class="parameter_description"><p>The selected firmware slot, or NULL if no slot is selected (such as if all slots are empty, or no slots exist). The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>installed</p></td>
+<td class="parameter_description"><p>A list of <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> objects specifying the installed images. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free-full"><code class="function">g_list_free_full()</code></a> using <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> as <a href="https://developer.gnome.org/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.FirmwareProperties]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemFirmware.html#mm-modem-firmware-list" title="mm_modem_firmware_list ()"><code class="function">mm_modem_firmware_list()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-list-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the list was correctly retrieved, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-list-sync"></a><h3>mm_modem_firmware_list_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_firmware_list_sync (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> **selected</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **installed</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously gets the list of available firmware images.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemFirmware.html#mm-modem-firmware-list" title="mm_modem_firmware_list ()"><code class="function">mm_modem_firmware_list()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-firmware-list-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>selected</p></td>
+<td class="parameter_description"><p>The selected firmware slot, or NULL if no slot is selected (such as if all slots are empty, or no slots exist). The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>installed</p></td>
+<td class="parameter_description"><p>A list of <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties"><span class="type">MMFirmwareProperties</span></a> objects specifying the installed images. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free-full"><code class="function">g_list_free_full()</code></a> using <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> as <a href="https://developer.gnome.org/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.FirmwareProperties]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return firmware for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-list-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the list was correctly retrieved, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-select"></a><h3>mm_modem_firmware_select ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_firmware_select (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *unique_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously selects a firmware image to boot.</p>
+<div class="warning">The modem will possibly disappear once this action is run, as it
+needs to reboot in order to select the new image.</div>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemFirmware.html#mm-modem-firmware-select-finish" title="mm_modem_firmware_select_finish ()"><code class="function">mm_modem_firmware_select_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemFirmware.html#mm-modem-firmware-select-sync" title="mm_modem_firmware_select_sync ()"><code class="function">mm_modem_firmware_select_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-firmware-select.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>unique_id</p></td>
+<td class="parameter_description"><p>Unique ID of the firmware image to select.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-select-finish"></a><h3>mm_modem_firmware_select_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_firmware_select_finish (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemFirmware.html#mm-modem-firmware-select" title="mm_modem_firmware_select ()"><code class="function">mm_modem_firmware_select()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-firmware-select-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemFirmware.html#mm-modem-firmware-select" title="mm_modem_firmware_select ()"><code class="function">mm_modem_firmware_select()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-select-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the selection was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-select-sync"></a><h3>mm_modem_firmware_select_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_firmware_select_sync (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *unique_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously selects a firmware image to boot.</p>
+<div class="warning">The modem will possibly disappear once this action is run, as it
+needs to reboot in order to select the new image.</div>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemFirmware.html#mm-modem-firmware-select" title="mm_modem_firmware_select ()"><code class="function">mm_modem_firmware_select()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-firmware-select-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>unique_id</p></td>
+<td class="parameter_description"><p>Unique ID of the firmware image to select.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-select-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the selection was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-get-update-settings"></a><h3>mm_modem_firmware_get_update_settings ()</h3>
+<pre class="programlisting"><a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="returnvalue">MMFirmwareUpdateSettings</span></a> *
+mm_modem_firmware_get_update_settings (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a> object specifying the expected update
+settings.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-get-update-settings" title="mm_modem_firmware_get_update_settings ()"><code class="function">mm_modem_firmware_get_update_settings()</code></a> again to get a new <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a>
+with the new values.</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-get-update-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-get-update-settings.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-peek-update-settings"></a><h3>mm_modem_firmware_peek_update_settings ()</h3>
+<pre class="programlisting"><a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="returnvalue">MMFirmwareUpdateSettings</span></a> *
+mm_modem_firmware_peek_update_settings
+ (<em class="parameter"><code><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a> object specifying the expected update
+settings.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemFirmware.html#mm-modem-firmware-get-update-settings" title="mm_modem_firmware_get_update_settings ()"><code class="function">mm_modem_firmware_get_update_settings()</code></a> if on
+another thread.</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-peek-update-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-peek-update-settings.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings"><span class="type">MMFirmwareUpdateSettings</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModemFirmware.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModemFirmware-struct"></a><h3>struct MMModemFirmware</h3>
+<pre class="programlisting">struct MMModemFirmware;</pre>
+<p>The <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModemLocation.html b/docs/reference/libmm-glib/html/MMModemLocation.html
new file mode 100644
index 00000000..a5494548
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModemLocation.html
@@ -0,0 +1,2052 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModemLocation: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s03.html" title="Location support">
+<link rel="prev" href="ch03s03.html" title="Location support">
+<link rel="next" href="MMLocation3gpp.html" title="MMLocation3gpp">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModemLocation.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModemLocation.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModemLocation.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMLocation3gpp.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModemLocation"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModemLocation.top_of_page"></a>MMModemLocation</span></h2>
+<p>MMModemLocation — The Location interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModemLocation.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-path" title="mm_modem_location_get_path ()">mm_modem_location_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-dup-path" title="mm_modem_location_dup_path ()">mm_modem_location_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="returnvalue">MMModemLocationSource</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-capabilities" title="mm_modem_location_get_capabilities ()">mm_modem_location_get_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="returnvalue">MMModemLocationSource</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-enabled" title="mm_modem_location_get_enabled ()">mm_modem_location_get_enabled</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-refresh-rate" title="mm_modem_location_get_gps_refresh_rate ()">mm_modem_location_get_gps_refresh_rate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-signals-location" title="mm_modem_location_signals_location ()">mm_modem_location_signals_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-dup-supl-server" title="mm_modem_location_dup_supl_server ()">mm_modem_location_dup_supl_server</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-supl-server" title="mm_modem_location_get_supl_server ()">mm_modem_location_get_supl_server</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationAssistanceDataType"><span class="returnvalue">MMModemLocationAssistanceDataType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-supported-assistance-data" title="mm_modem_location_get_supported_assistance_data ()">mm_modem_location_get_supported_assistance_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-dup-assistance-data-servers" title="mm_modem_location_dup_assistance_data_servers ()">mm_modem_location_dup_assistance_data_servers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-assistance-data-servers" title="mm_modem_location_get_assistance_data_servers ()">mm_modem_location_get_assistance_data_servers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-setup" title="mm_modem_location_setup ()">mm_modem_location_setup</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-setup-finish" title="mm_modem_location_setup_finish ()">mm_modem_location_setup_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-setup-sync" title="mm_modem_location_setup_sync ()">mm_modem_location_setup_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server" title="mm_modem_location_set_supl_server ()">mm_modem_location_set_supl_server</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server-finish" title="mm_modem_location_set_supl_server_finish ()">mm_modem_location_set_supl_server_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server-sync" title="mm_modem_location_set_supl_server_sync ()">mm_modem_location_set_supl_server_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data" title="mm_modem_location_inject_assistance_data ()">mm_modem_location_inject_assistance_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data-finish" title="mm_modem_location_inject_assistance_data_finish ()">mm_modem_location_inject_assistance_data_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data-sync" title="mm_modem_location_inject_assistance_data_sync ()">mm_modem_location_inject_assistance_data_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate" title="mm_modem_location_set_gps_refresh_rate ()">mm_modem_location_set_gps_refresh_rate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate-finish" title="mm_modem_location_set_gps_refresh_rate_finish ()">mm_modem_location_set_gps_refresh_rate_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate-sync" title="mm_modem_location_set_gps_refresh_rate_sync ()">mm_modem_location_set_gps_refresh_rate_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp" title="mm_modem_location_get_3gpp ()">mm_modem_location_get_3gpp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="returnvalue">MMLocation3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp-finish" title="mm_modem_location_get_3gpp_finish ()">mm_modem_location_get_3gpp_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="returnvalue">MMLocation3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp-sync" title="mm_modem_location_get_3gpp_sync ()">mm_modem_location_get_3gpp_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea" title="mm_modem_location_get_gps_nmea ()">mm_modem_location_get_gps_nmea</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="returnvalue">MMLocationGpsNmea</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea-finish" title="mm_modem_location_get_gps_nmea_finish ()">mm_modem_location_get_gps_nmea_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="returnvalue">MMLocationGpsNmea</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea-sync" title="mm_modem_location_get_gps_nmea_sync ()">mm_modem_location_get_gps_nmea_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw" title="mm_modem_location_get_gps_raw ()">mm_modem_location_get_gps_raw</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="returnvalue">MMLocationGpsRaw</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw-finish" title="mm_modem_location_get_gps_raw_finish ()">mm_modem_location_get_gps_raw_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="returnvalue">MMLocationGpsRaw</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw-sync" title="mm_modem_location_get_gps_raw_sync ()">mm_modem_location_get_gps_raw_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs" title="mm_modem_location_get_cdma_bs ()">mm_modem_location_get_cdma_bs</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="returnvalue">MMLocationCdmaBs</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs-finish" title="mm_modem_location_get_cdma_bs_finish ()">mm_modem_location_get_cdma_bs_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="returnvalue">MMLocationCdmaBs</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs-sync" title="mm_modem_location_get_cdma_bs_sync ()">mm_modem_location_get_cdma_bs_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full" title="mm_modem_location_get_full ()">mm_modem_location_get_full</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full-finish" title="mm_modem_location_get_full_finish ()">mm_modem_location_get_full_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full-sync" title="mm_modem_location_get_full_sync ()">mm_modem_location_get_full_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemLocation.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemLocation.html#MMModemLocation-struct" title="struct MMModemLocation">MMModemLocation</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="MMModemLocation.html#MM-LOCATION-LONGITUDE-UNKNOWN:CAPS" title="MM_LOCATION_LONGITUDE_UNKNOWN">MM_LOCATION_LONGITUDE_UNKNOWN</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="MMModemLocation.html#MM-LOCATION-LATITUDE-UNKNOWN:CAPS" title="MM_LOCATION_LATITUDE_UNKNOWN">MM_LOCATION_LATITUDE_UNKNOWN</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="MMModemLocation.html#MM-LOCATION-ALTITUDE-UNKNOWN:CAPS" title="MM_LOCATION_ALTITUDE_UNKNOWN">MM_LOCATION_ALTITUDE_UNKNOWN</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemLocation.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>
+ <span class="lineart">╰──</span> MMModemLocation
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModemLocation.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModemLocation implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemLocation.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> is an object providing access to the methods, signals and
+properties of the Location interface.</p>
+<p>The Location interface is exposed whenever a modem has location capabilities.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemLocation.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-location-get-path"></a><h3>mm_modem_location_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_location_get_path (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-dup-path"></a><h3>mm_modem_location_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_location_dup_path (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-location-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-capabilities"></a><h3>mm_modem_location_get_capabilities ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="returnvalue">MMModemLocationSource</span></a>
+mm_modem_location_get_capabilities (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets a bitmask of the location capabilities supported by this <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-capabilities.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="type">MMModemLocationSource</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-enabled"></a><h3>mm_modem_location_get_enabled ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="returnvalue">MMModemLocationSource</span></a>
+mm_modem_location_get_enabled (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets a bitmask of the location capabilities which are enabled in this <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-enabled.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-enabled.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="type">MMModemLocationSource</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-gps-refresh-rate"></a><h3>mm_modem_location_get_gps_refresh_rate ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_modem_location_get_gps_refresh_rate
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets the GPS refresh rate, in seconds.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-refresh-rate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-refresh-rate.returns"></a><h4>Returns</h4>
+<p> The GPS refresh rate, or 0 if no fixed rate is used.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-signals-location"></a><h3>mm_modem_location_signals_location ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_signals_location (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets the status of the location signaling in the <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-signals-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-signals-location.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if location changes are signaled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise..</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-dup-supl-server"></a><h3>mm_modem_location_dup_supl_server ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_location_dup_supl_server (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets the address of the SUPL server.</p>
+<div class="refsect3">
+<a name="mm-modem-location-dup-supl-server.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-dup-supl-server.returns"></a><h4>Returns</h4>
+<p>The SUPL server address, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-supl-server"></a><h3>mm_modem_location_get_supl_server ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_location_get_supl_server (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets the address of the SUPL server.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemLocation.html#mm-modem-location-dup-supl-server" title="mm_modem_location_dup_supl_server ()"><code class="function">mm_modem_location_dup_supl_server()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-supl-server.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-supl-server.returns"></a><h4>Returns</h4>
+<p>The SUPL server address, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-supported-assistance-data"></a><h3>mm_modem_location_get_supported_assistance_data ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationAssistanceDataType"><span class="returnvalue">MMModemLocationAssistanceDataType</span></a>
+mm_modem_location_get_supported_assistance_data
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets a bitmask of the supported assistance data types.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-supported-assistance-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-supported-assistance-data.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationAssistanceDataType"><span class="type">MMModemLocationAssistanceDataType</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-dup-assistance-data-servers"></a><h3>mm_modem_location_dup_assistance_data_servers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_modem_location_dup_assistance_data_servers
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets the list of assistance data servers.</p>
+<div class="refsect3">
+<a name="mm-modem-location-dup-assistance-data-servers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-dup-assistance-data-servers.returns"></a><h4>Returns</h4>
+<p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of server addresses, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-assistance-data-servers"></a><h3>mm_modem_location_get_assistance_data_servers ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_modem_location_get_assistance_data_servers
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>);</pre>
+<p>Gets the list of assistance data servers.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemLocation.html#mm-modem-location-dup-assistance-data-servers" title="mm_modem_location_dup_assistance_data_servers ()"><code class="function">mm_modem_location_dup_assistance_data_servers()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-assistance-data-servers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-assistance-data-servers.returns"></a><h4>Returns</h4>
+<p>a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of server addresses, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none available. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-setup"></a><h3>mm_modem_location_setup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_location_setup (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="type">MMModemLocationSource</span></a> sources</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> signal_location</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously configures the location sources to use when gathering location
+information. Also enable or disable location information gathering.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemLocation.html#mm-modem-location-setup-finish" title="mm_modem_location_setup_finish ()"><code class="function">mm_modem_location_setup_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemLocation.html#mm-modem-location-setup-sync" title="mm_modem_location_setup_sync ()"><code class="function">mm_modem_location_setup_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sources</p></td>
+<td class="parameter_description"><p>Bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="type">MMModemLocationSource</span></a> values specifying which locations should get enabled.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>signal_location</p></td>
+<td class="parameter_description"><p>Flag to enable or disable location signaling.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-setup-finish"></a><h3>mm_modem_location_setup_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_setup_finish (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemLocation.html#mm-modem-location-setup" title="mm_modem_location_setup ()"><code class="function">mm_modem_location_setup()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-setup-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemLocation.html#mm-modem-location-setup" title="mm_modem_location_setup ()"><code class="function">mm_modem_location_setup()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-setup-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the setup was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-setup-sync"></a><h3>mm_modem_location_setup_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_setup_sync (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="type">MMModemLocationSource</span></a> sources</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> signal_location</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously configures the location sources to use when gathering location
+information. Also enable or disable location information gathering.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemLocation.html#mm-modem-location-setup" title="mm_modem_location_setup ()"><code class="function">mm_modem_location_setup()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-setup-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sources</p></td>
+<td class="parameter_description"><p>Bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="type">MMModemLocationSource</span></a> values specifying which locations should get enabled.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>signal_location</p></td>
+<td class="parameter_description"><p>Flag to enable or disable location signaling.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-setup-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the setup was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-set-supl-server"></a><h3>mm_modem_location_set_supl_server ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_location_set_supl_server (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *supl</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously configures the address of the SUPL server for A-GPS operation.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server-finish" title="mm_modem_location_set_supl_server_finish ()"><code class="function">mm_modem_location_set_supl_server_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server-sync" title="mm_modem_location_set_supl_server_sync ()"><code class="function">mm_modem_location_set_supl_server_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-set-supl-server.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>supl</p></td>
+<td class="parameter_description"><p>The SUPL server address, given as IP:PORT or with a full URL.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-set-supl-server-finish"></a><h3>mm_modem_location_set_supl_server_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_set_supl_server_finish
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server" title="mm_modem_location_set_supl_server ()"><code class="function">mm_modem_location_set_supl_server()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-set-supl-server-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server" title="mm_modem_location_set_supl_server ()"><code class="function">mm_modem_location_set_supl_server()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-set-supl-server-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the SUPL server was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-set-supl-server-sync"></a><h3>mm_modem_location_set_supl_server_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_set_supl_server_sync
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *supl</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously configures the address of the SUPL server for A-GPS operation.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server" title="mm_modem_location_set_supl_server ()"><code class="function">mm_modem_location_set_supl_server()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-set-supl-server-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>supl</p></td>
+<td class="parameter_description"><p>The SUPL server address, given as IP:PORT or with a full URL.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-set-supl-server-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the SUPL server was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-inject-assistance-data"></a><h3>mm_modem_location_inject_assistance_data ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_location_inject_assistance_data
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> data_size</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Aynchronously injects assistance data to the GNSS module.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data-finish" title="mm_modem_location_inject_assistance_data_finish ()"><code class="function">mm_modem_location_inject_assistance_data_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data-sync" title="mm_modem_location_inject_assistance_data_sync ()"><code class="function">mm_modem_location_inject_assistance_data_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-inject-assistance-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>Data to inject. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=data_size]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data_size</p></td>
+<td class="parameter_description"><p>size of <em class="parameter"><code>data</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-inject-assistance-data-finish"></a><h3>mm_modem_location_inject_assistance_data_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_inject_assistance_data_finish
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data" title="mm_modem_location_inject_assistance_data ()"><code class="function">mm_modem_location_inject_assistance_data()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-inject-assistance-data-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data" title="mm_modem_location_inject_assistance_data ()"><code class="function">mm_modem_location_inject_assistance_data()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-inject-assistance-data-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the injection was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-inject-assistance-data-sync"></a><h3>mm_modem_location_inject_assistance_data_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_inject_assistance_data_sync
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> data_size</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously injects assistance data to the GNSS module.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data" title="mm_modem_location_inject_assistance_data ()"><code class="function">mm_modem_location_inject_assistance_data()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-inject-assistance-data-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>Data to inject. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=data_size]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data_size</p></td>
+<td class="parameter_description"><p>size of <em class="parameter"><code>data</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-inject-assistance-data-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the injection was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-set-gps-refresh-rate"></a><h3>mm_modem_location_set_gps_refresh_rate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_location_set_gps_refresh_rate
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> rate</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously configures the GPS refresh rate.</p>
+<p>If a 0 rate is used, the GPS location updates will be immediately propagated to the interface.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate-finish" title="mm_modem_location_set_gps_refresh_rate_finish ()"><code class="function">mm_modem_location_set_gps_refresh_rate_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate-sync" title="mm_modem_location_set_gps_refresh_rate_sync ()"><code class="function">mm_modem_location_set_gps_refresh_rate_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-set-gps-refresh-rate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rate</p></td>
+<td class="parameter_description"><p>The GPS refresh rate, in seconds.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-set-gps-refresh-rate-finish"></a><h3>mm_modem_location_set_gps_refresh_rate_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_set_gps_refresh_rate_finish
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate" title="mm_modem_location_set_gps_refresh_rate ()"><code class="function">mm_modem_location_set_gps_refresh_rate()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-set-gps-refresh-rate-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate" title="mm_modem_location_set_gps_refresh_rate ()"><code class="function">mm_modem_location_set_gps_refresh_rate()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-set-gps-refresh-rate-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the GPS refresh rate was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-set-gps-refresh-rate-sync"></a><h3>mm_modem_location_set_gps_refresh_rate_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_set_gps_refresh_rate_sync
+ (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> rate</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously configures the GPS refresh rate.</p>
+<p>If a 0 rate is used, the GPS location updates will be immediately propagated to the interface.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate" title="mm_modem_location_set_gps_refresh_rate ()"><code class="function">mm_modem_location_set_gps_refresh_rate()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-set-gps-refresh-rate-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rate</p></td>
+<td class="parameter_description"><p>The GPS refresh rate, in seconds.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-set-gps-refresh-rate-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the refresh rate was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-3gpp"></a><h3>mm_modem_location_get_3gpp ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_location_get_3gpp (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously gets the current 3GPP location information.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp-finish" title="mm_modem_location_get_3gpp_finish ()"><code class="function">mm_modem_location_get_3gpp_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp-sync" title="mm_modem_location_get_3gpp_sync ()"><code class="function">mm_modem_location_get_3gpp_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-3gpp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-3gpp-finish"></a><h3>mm_modem_location_get_3gpp_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="returnvalue">MMLocation3gpp</span></a> *
+mm_modem_location_get_3gpp_finish (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp" title="mm_modem_location_get_3gpp ()"><code class="function">mm_modem_location_get_3gpp()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-3gpp-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp" title="mm_modem_location_get_3gpp ()"><code class="function">mm_modem_location_get_3gpp()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-3gpp-finish.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not available. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-3gpp-sync"></a><h3>mm_modem_location_get_3gpp_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="returnvalue">MMLocation3gpp</span></a> *
+mm_modem_location_get_3gpp_sync (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously gets the current 3GPP location information.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp" title="mm_modem_location_get_3gpp ()"><code class="function">mm_modem_location_get_3gpp()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-3gpp-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-3gpp-sync.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not available. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-gps-nmea"></a><h3>mm_modem_location_get_gps_nmea ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_location_get_gps_nmea (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously gets the current GPS NMEA location information.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea-finish" title="mm_modem_location_get_gps_nmea_finish ()"><code class="function">mm_modem_location_get_gps_nmea_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea-sync" title="mm_modem_location_get_gps_nmea_sync ()"><code class="function">mm_modem_location_get_gps_nmea_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-nmea.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-gps-nmea-finish"></a><h3>mm_modem_location_get_gps_nmea_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="returnvalue">MMLocationGpsNmea</span></a> *
+mm_modem_location_get_gps_nmea_finish (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea" title="mm_modem_location_get_gps_nmea ()"><code class="function">mm_modem_location_get_gps_nmea()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-nmea-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea" title="mm_modem_location_get_gps_nmea ()"><code class="function">mm_modem_location_get_gps_nmea()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-nmea-finish.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not available. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-gps-nmea-sync"></a><h3>mm_modem_location_get_gps_nmea_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="returnvalue">MMLocationGpsNmea</span></a> *
+mm_modem_location_get_gps_nmea_sync (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously gets the current GPS NMEA location information.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea" title="mm_modem_location_get_gps_nmea ()"><code class="function">mm_modem_location_get_gps_nmea()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-nmea-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-nmea-sync.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not available. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-gps-raw"></a><h3>mm_modem_location_get_gps_raw ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_location_get_gps_raw (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously gets the current GPS raw location information.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw-finish" title="mm_modem_location_get_gps_raw_finish ()"><code class="function">mm_modem_location_get_gps_raw_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw-sync" title="mm_modem_location_get_gps_raw_sync ()"><code class="function">mm_modem_location_get_gps_raw_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-raw.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-gps-raw-finish"></a><h3>mm_modem_location_get_gps_raw_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="returnvalue">MMLocationGpsRaw</span></a> *
+mm_modem_location_get_gps_raw_finish (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw" title="mm_modem_location_get_gps_raw ()"><code class="function">mm_modem_location_get_gps_raw()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-raw-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw" title="mm_modem_location_get_gps_raw ()"><code class="function">mm_modem_location_get_gps_raw()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-raw-finish.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not available. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-gps-raw-sync"></a><h3>mm_modem_location_get_gps_raw_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="returnvalue">MMLocationGpsRaw</span></a> *
+mm_modem_location_get_gps_raw_sync (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously gets the current GPS raw location information.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw" title="mm_modem_location_get_gps_raw ()"><code class="function">mm_modem_location_get_gps_raw()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-raw-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-gps-raw-sync.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not available. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-cdma-bs"></a><h3>mm_modem_location_get_cdma_bs ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_location_get_cdma_bs (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously gets the current CDMA base station location information.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs-finish" title="mm_modem_location_get_cdma_bs_finish ()"><code class="function">mm_modem_location_get_cdma_bs_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs-sync" title="mm_modem_location_get_cdma_bs_sync ()"><code class="function">mm_modem_location_get_cdma_bs_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-cdma-bs.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-cdma-bs-finish"></a><h3>mm_modem_location_get_cdma_bs_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="returnvalue">MMLocationCdmaBs</span></a> *
+mm_modem_location_get_cdma_bs_finish (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs" title="mm_modem_location_get_cdma_bs ()"><code class="function">mm_modem_location_get_cdma_bs()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-cdma-bs-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs" title="mm_modem_location_get_cdma_bs ()"><code class="function">mm_modem_location_get_cdma_bs()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-cdma-bs-finish.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not available. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-cdma-bs-sync"></a><h3>mm_modem_location_get_cdma_bs_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="returnvalue">MMLocationCdmaBs</span></a> *
+mm_modem_location_get_cdma_bs_sync (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously gets the current CDMA base station location information.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs" title="mm_modem_location_get_cdma_bs ()"><code class="function">mm_modem_location_get_cdma_bs()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-cdma-bs-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-cdma-bs-sync.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not available. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-full"></a><h3>mm_modem_location_get_full ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_location_get_full (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously gets the current location information.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemLocation.html#mm-modem-location-get-full-finish" title="mm_modem_location_get_full_finish ()"><code class="function">mm_modem_location_get_full_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemLocation.html#mm-modem-location-get-full-sync" title="mm_modem_location_get_full_sync ()"><code class="function">mm_modem_location_get_full_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-full.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-full-finish"></a><h3>mm_modem_location_get_full_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_get_full_finish (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> **location_3gpp</code></em>,
+ <em class="parameter"><code><a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a> **location_gps_nmea</code></em>,
+ <em class="parameter"><code><a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> **location_gps_raw</code></em>,
+ <em class="parameter"><code><a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a> **location_cdma_bs</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemLocation.html#mm-modem-location-get-full" title="mm_modem_location_get_full ()"><code class="function">mm_modem_location_get_full()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-full-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>location_3gpp</p></td>
+<td class="parameter_description"><p>Return location for a <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> if 3GPP location is requested, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not required. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>location_gps_nmea</p></td>
+<td class="parameter_description"><p>Return location for a <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a> if GPS NMEA location is requested, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not required. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>location_gps_raw</p></td>
+<td class="parameter_description"><p>Return location for a <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> if GPS raw location is requested, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not required. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>location_cdma_bs</p></td>
+<td class="parameter_description"><p>Return location for a <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a> if CDMA Base Station location is requested, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not required. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemLocation.html#mm-modem-location-get-full" title="mm_modem_location_get_full ()"><code class="function">mm_modem_location_get_full()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-full-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the retrieval was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-get-full-sync"></a><h3>mm_modem_location_get_full_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_location_get_full_sync (<em class="parameter"><code><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> **location_3gpp</code></em>,
+ <em class="parameter"><code><a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a> **location_gps_nmea</code></em>,
+ <em class="parameter"><code><a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> **location_gps_raw</code></em>,
+ <em class="parameter"><code><a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a> **location_cdma_bs</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously gets the current location information.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemLocation.html#mm-modem-location-get-full" title="mm_modem_location_get_full ()"><code class="function">mm_modem_location_get_full()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-location-get-full-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>location_3gpp</p></td>
+<td class="parameter_description"><p>Return location for a <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp"><span class="type">MMLocation3gpp</span></a> if 3GPP location is requested, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not required. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>location_gps_nmea</p></td>
+<td class="parameter_description"><p>Return location for a <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea"><span class="type">MMLocationGpsNmea</span></a> if GPS NMEA location is requested, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not required. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>location_gps_raw</p></td>
+<td class="parameter_description"><p>Return location for a <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw"><span class="type">MMLocationGpsRaw</span></a> if GPS raw location is requested, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not required. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>location_cdma_bs</p></td>
+<td class="parameter_description"><p>Return location for a <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs"><span class="type">MMLocationCdmaBs</span></a> if CDMA Base Station location is requested, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not required. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-get-full-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the setup was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModemLocation.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModemLocation-struct"></a><h3>struct MMModemLocation</h3>
+<pre class="programlisting">struct MMModemLocation;</pre>
+<p>The <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-LOCATION-LONGITUDE-UNKNOWN:CAPS"></a><h3>MM_LOCATION_LONGITUDE_UNKNOWN</h3>
+<pre class="programlisting">#define MM_LOCATION_LONGITUDE_UNKNOWN G_MINDOUBLE
+</pre>
+<p>Identifier for an unknown longitude value.</p>
+<p>Proper longitude values fall in the [-180,180] range.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-LOCATION-LATITUDE-UNKNOWN:CAPS"></a><h3>MM_LOCATION_LATITUDE_UNKNOWN</h3>
+<pre class="programlisting">#define MM_LOCATION_LATITUDE_UNKNOWN G_MINDOUBLE
+</pre>
+<p>Identifier for an unknown latitude value.</p>
+<p>Proper latitude values fall in the [-90,90] range.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-LOCATION-ALTITUDE-UNKNOWN:CAPS"></a><h3>MM_LOCATION_ALTITUDE_UNKNOWN</h3>
+<pre class="programlisting">#define MM_LOCATION_ALTITUDE_UNKNOWN G_MINDOUBLE
+</pre>
+<p>Identifier for an unknown altitude value.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModemMessaging.html b/docs/reference/libmm-glib/html/MMModemMessaging.html
new file mode 100644
index 00000000..d5e152ef
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModemMessaging.html
@@ -0,0 +1,797 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModemMessaging: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s04.html" title="Messaging support">
+<link rel="prev" href="ch03s04.html" title="Messaging support">
+<link rel="next" href="ch03s05.html" title="Time support">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModemMessaging.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModemMessaging.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModemMessaging.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s04.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s04.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s05.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModemMessaging"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModemMessaging.top_of_page"></a>MMModemMessaging</span></h2>
+<p>MMModemMessaging — The Messaging interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModemMessaging.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-get-path" title="mm_modem_messaging_get_path ()">mm_modem_messaging_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-dup-path" title="mm_modem_messaging_dup_path ()">mm_modem_messaging_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-peek-supported-storages" title="mm_modem_messaging_peek_supported_storages ()">mm_modem_messaging_peek_supported_storages</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-get-supported-storages" title="mm_modem_messaging_get_supported_storages ()">mm_modem_messaging_get_supported_storages</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="returnvalue">MMSmsStorage</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-get-default-storage" title="mm_modem_messaging_get_default_storage ()">mm_modem_messaging_get_default_storage</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-create" title="mm_modem_messaging_create ()">mm_modem_messaging_create</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSms.html" title="MMSms"><span class="returnvalue">MMSms</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-create-finish" title="mm_modem_messaging_create_finish ()">mm_modem_messaging_create_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSms.html" title="MMSms"><span class="returnvalue">MMSms</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-create-sync" title="mm_modem_messaging_create_sync ()">mm_modem_messaging_create_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete" title="mm_modem_messaging_delete ()">mm_modem_messaging_delete</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete-finish" title="mm_modem_messaging_delete_finish ()">mm_modem_messaging_delete_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete-sync" title="mm_modem_messaging_delete_sync ()">mm_modem_messaging_delete_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-list" title="mm_modem_messaging_list ()">mm_modem_messaging_list</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-list-finish" title="mm_modem_messaging_list_finish ()">mm_modem_messaging_list_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-list-sync" title="mm_modem_messaging_list_sync ()">mm_modem_messaging_list_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemMessaging.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemMessaging.html#MMModemMessaging-struct" title="struct MMModemMessaging">MMModemMessaging</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemMessaging.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>
+ <span class="lineart">╰──</span> MMModemMessaging
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModemMessaging.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModemMessaging implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemMessaging.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> is an object providing access to the methods, signals and
+properties of the Messaging interface.</p>
+<p>The Messaging interface is exposed whenever a modem has messaging capabilities.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemMessaging.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-messaging-get-path"></a><h3>mm_modem_messaging_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_messaging_get_path (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-dup-path"></a><h3>mm_modem_messaging_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_messaging_dup_path (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-peek-supported-storages"></a><h3>mm_modem_messaging_peek_supported_storages ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_messaging_peek_supported_storages
+ (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> **storages</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_storages</code></em>);</pre>
+<p>Gets the list of SMS storages supported by the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-peek-supported-storages.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>storages</p></td>
+<td class="parameter_description"><p>Return location for the array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> values. Do not free the returned array, it is owned by <em class="parameter"><code>self</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_storages</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>storages</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-peek-supported-storages.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>storages</code></em>
+and <em class="parameter"><code>n_storages</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-get-supported-storages"></a><h3>mm_modem_messaging_get_supported_storages ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_messaging_get_supported_storages
+ (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> **storages</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_storages</code></em>);</pre>
+<p>Gets the list of SMS storages supported by the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-get-supported-storages.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>storages</p></td>
+<td class="parameter_description"><p>Return location for the array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> values. The returned array should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_storages]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_storages</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>storages</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-get-supported-storages.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>storages</code></em>
+and <em class="parameter"><code>n_storages</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-get-default-storage"></a><h3>mm_modem_messaging_get_default_storage ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="returnvalue">MMSmsStorage</span></a>
+mm_modem_messaging_get_default_storage
+ (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>);</pre>
+<p>Gets the default SMS storage used when storing or receiving SMS messages.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-get-default-storage.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-get-default-storage.returns"></a><h4>Returns</h4>
+<p> the default <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-create"></a><h3>mm_modem_messaging_create ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_messaging_create (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a new <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> in the modem.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemMessaging.html#mm-modem-messaging-create-finish" title="mm_modem_messaging_create_finish ()"><code class="function">mm_modem_messaging_create_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemMessaging.html#mm-modem-messaging-create-sync" title="mm_modem_messaging_create_sync ()"><code class="function">mm_modem_messaging_create_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-create.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A #<a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> object with the properties to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-create-finish"></a><h3>mm_modem_messaging_create_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMSms.html" title="MMSms"><span class="returnvalue">MMSms</span></a> *
+mm_modem_messaging_create_finish (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemMessaging.html#mm-modem-messaging-create" title="mm_modem_messaging_create ()"><code class="function">mm_modem_messaging_create()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-create-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemMessaging.html#mm-modem-messaging-create" title="mm_modem_messaging_create ()"><code class="function">mm_modem_messaging_create()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-create-finish.returns"></a><h4>Returns</h4>
+<p>A newly created <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-create-sync"></a><h3>mm_modem_messaging_create_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMSms.html" title="MMSms"><span class="returnvalue">MMSms</span></a> *
+mm_modem_messaging_create_sync (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a new <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> in the modem.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemMessaging.html#mm-modem-messaging-create" title="mm_modem_messaging_create ()"><code class="function">mm_modem_messaging_create()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-create-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A #<a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> object with the properties to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-create-sync.returns"></a><h4>Returns</h4>
+<p>A newly created <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-delete"></a><h3>mm_modem_messaging_delete ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_messaging_delete (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *sms</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously deletes a given <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> from the modem.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete-finish" title="mm_modem_messaging_delete_finish ()"><code class="function">mm_modem_messaging_delete_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete-sync" title="mm_modem_messaging_delete_sync ()"><code class="function">mm_modem_messaging_delete_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-delete.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sms</p></td>
+<td class="parameter_description"><p>Path of the <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-delete-finish"></a><h3>mm_modem_messaging_delete_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_messaging_delete_finish (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete" title="mm_modem_messaging_delete ()"><code class="function">mm_modem_messaging_delete()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-delete-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete" title="mm_modem_messaging_delete ()"><code class="function">mm_modem_messaging_delete()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-delete-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the sms was deleted, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-delete-sync"></a><h3>mm_modem_messaging_delete_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_messaging_delete_sync (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *sms</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously deletes a given <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> from the modem.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete" title="mm_modem_messaging_delete ()"><code class="function">mm_modem_messaging_delete()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-delete-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sms</p></td>
+<td class="parameter_description"><p>Path of the <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-delete-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the SMS was deleted, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-list"></a><h3>mm_modem_messaging_list ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_messaging_list (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously lists the <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> objects in the modem.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemMessaging.html#mm-modem-messaging-list-finish" title="mm_modem_messaging_list_finish ()"><code class="function">mm_modem_messaging_list_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemMessaging.html#mm-modem-messaging-list-sync" title="mm_modem_messaging_list_sync ()"><code class="function">mm_modem_messaging_list_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-list.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-list-finish"></a><h3>mm_modem_messaging_list_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_modem_messaging_list_finish (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemMessaging.html#mm-modem-messaging-list" title="mm_modem_messaging_list ()"><code class="function">mm_modem_messaging_list()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-list-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemMessaging.html#mm-modem-messaging-list" title="mm_modem_messaging_list ()"><code class="function">mm_modem_messaging_list()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-list-finish.returns"></a><h4>Returns</h4>
+<p>A list of <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> objects, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if either not found or <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free-full"><code class="function">g_list_free_full()</code></a> using <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> as <a href="https://developer.gnome.org/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> function. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Sms][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-messaging-list-sync"></a><h3>mm_modem_messaging_list_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_modem_messaging_list_sync (<em class="parameter"><code><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously lists the <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> objects in the modem.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemMessaging.html#mm-modem-messaging-list" title="mm_modem_messaging_list ()"><code class="function">mm_modem_messaging_list()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-messaging-list-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-messaging-list-sync.returns"></a><h4>Returns</h4>
+<p>A list of <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> objects, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if either not found or <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free-full"><code class="function">g_list_free_full()</code></a> using <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> as <a href="https://developer.gnome.org/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> function. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Sms][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModemMessaging.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModemMessaging-struct"></a><h3>struct MMModemMessaging</h3>
+<pre class="programlisting">struct MMModemMessaging;</pre>
+<p>The <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModemOma.html b/docs/reference/libmm-glib/html/MMModemOma.html
new file mode 100644
index 00000000..debf7f05
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModemOma.html
@@ -0,0 +1,1084 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModemOma: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s08.html" title="OMA support">
+<link rel="prev" href="ch03s08.html" title="OMA support">
+<link rel="next" href="ch03s09.html" title="Voice support">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModemOma.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModemOma.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModemOma.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s08.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s08.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s09.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModemOma"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModemOma.top_of_page"></a>MMModemOma</span></h2>
+<p>MMModemOma — The OMA interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModemOma.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-get-path" title="mm_modem_oma_get_path ()">mm_modem_oma_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-dup-path" title="mm_modem_oma_dup_path ()">mm_modem_oma_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-setup" title="mm_modem_oma_setup ()">mm_modem_oma_setup</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-setup-finish" title="mm_modem_oma_setup_finish ()">mm_modem_oma_setup_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-setup-sync" title="mm_modem_oma_setup_sync ()">mm_modem_oma_setup_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session" title="mm_modem_oma_start_client_initiated_session ()">mm_modem_oma_start_client_initiated_session</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session-finish" title="mm_modem_oma_start_client_initiated_session_finish ()">mm_modem_oma_start_client_initiated_session_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session-sync" title="mm_modem_oma_start_client_initiated_session_sync ()">mm_modem_oma_start_client_initiated_session_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session" title="mm_modem_oma_accept_network_initiated_session ()">mm_modem_oma_accept_network_initiated_session</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session-finish" title="mm_modem_oma_accept_network_initiated_session_finish ()">mm_modem_oma_accept_network_initiated_session_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session-sync" title="mm_modem_oma_accept_network_initiated_session_sync ()">mm_modem_oma_accept_network_initiated_session_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session" title="mm_modem_oma_cancel_session ()">mm_modem_oma_cancel_session</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session-finish" title="mm_modem_oma_cancel_session_finish ()">mm_modem_oma_cancel_session_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session-sync" title="mm_modem_oma_cancel_session_sync ()">mm_modem_oma_cancel_session_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaFeature"><span class="returnvalue">MMOmaFeature</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-get-features" title="mm_modem_oma_get_features ()">mm_modem_oma_get_features</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="returnvalue">MMOmaSessionType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-get-session-type" title="mm_modem_oma_get_session_type ()">mm_modem_oma_get_session_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionState"><span class="returnvalue">MMOmaSessionState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-oma-get-session-state" title="mm_modem_oma_get_session_state ()">mm_modem_oma_get_session_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-peek-pending-network-initiated-sessions" title="mm_modem_peek_pending_network_initiated_sessions ()">mm_modem_peek_pending_network_initiated_sessions</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemOma.html#mm-modem-get-pending-network-initiated-sessions" title="mm_modem_get_pending_network_initiated_sessions ()">mm_modem_get_pending_network_initiated_sessions</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemOma.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemOma.html#MMModemOma-struct" title="struct MMModemOma">MMModemOma</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemOma.html#MMOmaPendingNetworkInitiatedSession" title="struct MMOmaPendingNetworkInitiatedSession">MMOmaPendingNetworkInitiatedSession</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemOma.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>
+ <span class="lineart">╰──</span> MMModemOma
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModemOma.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModemOma implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemOma.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> is an object providing access to the methods, signals and
+properties of the OMA interface.</p>
+<p>The OMA interface is exposed whenever a modem has OMA device management capabilities.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemOma.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-oma-get-path"></a><h3>mm_modem_oma_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_oma_get_path (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-dup-path"></a><h3>mm_modem_oma_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_oma_dup_path (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-setup"></a><h3>mm_modem_oma_setup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_oma_setup (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaFeature"><span class="type">MMOmaFeature</span></a> features</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously sets up the OMA device management service.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemOma.html#mm-modem-oma-setup-finish" title="mm_modem_oma_setup_finish ()"><code class="function">mm_modem_oma_setup_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemOma.html#mm-modem-oma-setup-sync" title="mm_modem_oma_setup_sync ()"><code class="function">mm_modem_oma_setup_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>features</p></td>
+<td class="parameter_description"><p>Mask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaFeature"><span class="type">MMOmaFeatures</span></a> to enable.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-setup-finish"></a><h3>mm_modem_oma_setup_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_oma_setup_finish (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemOma.html#mm-modem-oma-setup" title="mm_modem_oma_setup ()"><code class="function">mm_modem_oma_setup()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-setup-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemOma.html#mm-modem-oma-setup" title="mm_modem_oma_setup ()"><code class="function">mm_modem_oma_setup()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-setup-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the setup was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-setup-sync"></a><h3>mm_modem_oma_setup_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_oma_setup_sync (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaFeature"><span class="type">MMOmaFeature</span></a> features</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously sets up the OMA device management service.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemOma.html#mm-modem-oma-setup" title="mm_modem_oma_setup ()"><code class="function">mm_modem_oma_setup()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-setup-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>features</p></td>
+<td class="parameter_description"><p>Mask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaFeature"><span class="type">MMOmaFeatures</span></a> to enable.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-setup-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the setup was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-start-client-initiated-session"></a><h3>mm_modem_oma_start_client_initiated_session ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_oma_start_client_initiated_session
+ (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="type">MMOmaSessionType</span></a> session_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously starts a client-initiated OMA device management session.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session-finish" title="mm_modem_oma_start_client_initiated_session_finish ()"><code class="function">mm_modem_oma_start_client_initiated_session_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session-sync" title="mm_modem_oma_start_client_initiated_session_sync ()"><code class="function">mm_modem_oma_start_client_initiated_session_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-start-client-initiated-session.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>session_type</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="type">MMOmaSessionType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-start-client-initiated-session-finish"></a><h3>mm_modem_oma_start_client_initiated_session_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_oma_start_client_initiated_session_finish
+ (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session" title="mm_modem_oma_start_client_initiated_session ()"><code class="function">mm_modem_oma_start_client_initiated_session()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-start-client-initiated-session-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session" title="mm_modem_oma_start_client_initiated_session ()"><code class="function">mm_modem_oma_start_client_initiated_session()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-start-client-initiated-session-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session was started, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-start-client-initiated-session-sync"></a><h3>mm_modem_oma_start_client_initiated_session_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_oma_start_client_initiated_session_sync
+ (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="type">MMOmaSessionType</span></a> session_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously starts a client-initiated OMA device management session.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session" title="mm_modem_oma_start_client_initiated_session ()"><code class="function">mm_modem_oma_start_client_initiated_session()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-start-client-initiated-session-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>session_type</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="type">MMOmaSessionType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-start-client-initiated-session-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session was started, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-accept-network-initiated-session"></a><h3>mm_modem_oma_accept_network_initiated_session ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_oma_accept_network_initiated_session
+ (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> session_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> accept</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously accepts a nework-initiated OMA device management session.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session-finish" title="mm_modem_oma_accept_network_initiated_session_finish ()"><code class="function">mm_modem_oma_accept_network_initiated_session_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session-sync" title="mm_modem_oma_accept_network_initiated_session_sync ()"><code class="function">mm_modem_oma_accept_network_initiated_session_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-accept-network-initiated-session.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>session_id</p></td>
+<td class="parameter_description"><p>The unique ID of the network-initiated session.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>accept</p></td>
+<td class="parameter_description"><p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session is to be accepted, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-accept-network-initiated-session-finish"></a><h3>mm_modem_oma_accept_network_initiated_session_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_oma_accept_network_initiated_session_finish
+ (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session" title="mm_modem_oma_accept_network_initiated_session ()"><code class="function">mm_modem_oma_accept_network_initiated_session()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-accept-network-initiated-session-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session" title="mm_modem_oma_accept_network_initiated_session ()"><code class="function">mm_modem_oma_accept_network_initiated_session()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-accept-network-initiated-session-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session was started, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-accept-network-initiated-session-sync"></a><h3>mm_modem_oma_accept_network_initiated_session_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_oma_accept_network_initiated_session_sync
+ (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> session_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> accept</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously accepts a nework-initiated OMA device management session.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session" title="mm_modem_oma_accept_network_initiated_session ()"><code class="function">mm_modem_oma_accept_network_initiated_session()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-accept-network-initiated-session-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>session_id</p></td>
+<td class="parameter_description"><p>The unique ID of the network-initiated session.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>accept</p></td>
+<td class="parameter_description"><p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session is to be accepted, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-accept-network-initiated-session-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session was started, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-cancel-session"></a><h3>mm_modem_oma_cancel_session ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_oma_cancel_session (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously cancels the current OMA device management session.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session-finish" title="mm_modem_oma_cancel_session_finish ()"><code class="function">mm_modem_oma_cancel_session_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session-sync" title="mm_modem_oma_cancel_session_sync ()"><code class="function">mm_modem_oma_cancel_session_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-cancel-session.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-cancel-session-finish"></a><h3>mm_modem_oma_cancel_session_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_oma_cancel_session_finish (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session" title="mm_modem_oma_cancel_session ()"><code class="function">mm_modem_oma_cancel_session()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-cancel-session-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session" title="mm_modem_oma_cancel_session ()"><code class="function">mm_modem_oma_cancel_session()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-cancel-session-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session was started, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-cancel-session-sync"></a><h3>mm_modem_oma_cancel_session_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_oma_cancel_session_sync (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously cancels the current OMA device management session.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session" title="mm_modem_oma_cancel_session ()"><code class="function">mm_modem_oma_cancel_session()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-cancel-session-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-cancel-session-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the session was started, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-get-features"></a><h3>mm_modem_oma_get_features ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaFeature"><span class="returnvalue">MMOmaFeature</span></a>
+mm_modem_oma_get_features (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>);</pre>
+<p>Gets the currently enabled OMA features.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-get-features.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-get-features.returns"></a><h4>Returns</h4>
+<p> a bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaFeature"><span class="type">MMOmaFeature</span></a> values.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-get-session-type"></a><h3>mm_modem_oma_get_session_type ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="returnvalue">MMOmaSessionType</span></a>
+mm_modem_oma_get_session_type (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>);</pre>
+<p>Gets the type of the current OMA device management session.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-get-session-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-get-session-type.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="type">MMOmaSessionType</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-oma-get-session-state"></a><h3>mm_modem_oma_get_session_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionState"><span class="returnvalue">MMOmaSessionState</span></a>
+mm_modem_oma_get_session_state (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>);</pre>
+<p>Gets the state of the current OMA device management session.</p>
+<div class="refsect3">
+<a name="mm-modem-oma-get-session-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-oma-get-session-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionState"><span class="type">MMOmaSessionState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-peek-pending-network-initiated-sessions"></a><h3>mm_modem_peek_pending_network_initiated_sessions ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_peek_pending_network_initiated_sessions
+ (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a class="link" href="MMModemOma.html#MMOmaPendingNetworkInitiatedSession" title="struct MMOmaPendingNetworkInitiatedSession"><span class="type">MMOmaPendingNetworkInitiatedSession</span></a> **sessions</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_sessions</code></em>);</pre>
+<p>Gets the list of pending network-initiated OMA sessions.</p>
+<div class="refsect3">
+<a name="mm-modem-peek-pending-network-initiated-sessions.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sessions</p></td>
+<td class="parameter_description"><p>Return location for the array of <a class="link" href="MMModemOma.html#MMOmaPendingNetworkInitiatedSession" title="struct MMOmaPendingNetworkInitiatedSession"><span class="type">MMOmaPendingNetworkInitiatedSession</span></a> values. Do not free the returned array, it is owned by <em class="parameter"><code>self</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_sessions]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_sessions</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>sessions</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-peek-pending-network-initiated-sessions.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>sessions</code></em>
+and <em class="parameter"><code>n_sessions</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-get-pending-network-initiated-sessions"></a><h3>mm_modem_get_pending_network_initiated_sessions ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_get_pending_network_initiated_sessions
+ (<em class="parameter"><code><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMModemOma.html#MMOmaPendingNetworkInitiatedSession" title="struct MMOmaPendingNetworkInitiatedSession"><span class="type">MMOmaPendingNetworkInitiatedSession</span></a> **sessions</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_sessions</code></em>);</pre>
+<p>Gets the list of pending network-initiated OMA sessions.</p>
+<div class="refsect3">
+<a name="mm-modem-get-pending-network-initiated-sessions.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sessions</p></td>
+<td class="parameter_description"><p>Return location for the array of <a class="link" href="MMModemOma.html#MMOmaPendingNetworkInitiatedSession" title="struct MMOmaPendingNetworkInitiatedSession"><span class="type">MMOmaPendingNetworkInitiatedSession</span></a> structs. The returned array should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_sessions]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_sessions</p></td>
+<td class="parameter_description"><p>Return location for the number of values in <em class="parameter"><code>sessions</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-get-pending-network-initiated-sessions.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>sessions</code></em>
+and <em class="parameter"><code>n_sessions</code></em>
+are set, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModemOma.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModemOma-struct"></a><h3>struct MMModemOma</h3>
+<pre class="programlisting">struct MMModemOma;</pre>
+<p>The <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMOmaPendingNetworkInitiatedSession"></a><h3>struct MMOmaPendingNetworkInitiatedSession</h3>
+<pre class="programlisting">struct MMOmaPendingNetworkInitiatedSession {
+ MMOmaSessionType session_type;
+ guint session_id;
+};
+</pre>
+<p><a class="link" href="MMModemOma.html#MMOmaPendingNetworkInitiatedSession" title="struct MMOmaPendingNetworkInitiatedSession"><span class="type">MMOmaPendingNetworkInitiatedSession</span></a> is a simple struct specifying the
+information available for a pending network-initiated OMA session.</p>
+<div class="refsect3">
+<a name="MMOmaPendingNetworkInitiatedSession.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="type">MMOmaSessionType</span></a> <em class="structfield"><code><a name="MMOmaPendingNetworkInitiatedSession.session-type"></a>session_type</code></em>;</p></td>
+<td class="struct_member_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="type">MMOmaSessionType</span></a>.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="MMOmaPendingNetworkInitiatedSession.session-id"></a>session_id</code></em>;</p></td>
+<td class="struct_member_description"><p>Unique ID of the network-initiated OMA session.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModemSignal.html b/docs/reference/libmm-glib/html/MMModemSignal.html
new file mode 100644
index 00000000..a29077a5
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModemSignal.html
@@ -0,0 +1,761 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModemSignal: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s07.html" title="Extended signal information">
+<link rel="prev" href="ch03s07.html" title="Extended signal information">
+<link rel="next" href="MMSignal.html" title="MMSignal">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModemSignal.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModemSignal.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModemSignal.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s07.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s07.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMSignal.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModemSignal"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModemSignal.top_of_page"></a>MMModemSignal</span></h2>
+<p>MMModemSignal — The extended Signal interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModemSignal.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-path" title="mm_modem_signal_get_path ()">mm_modem_signal_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-dup-path" title="mm_modem_signal_dup_path ()">mm_modem_signal_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-rate" title="mm_modem_signal_get_rate ()">mm_modem_signal_get_rate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-cdma" title="mm_modem_signal_peek_cdma ()">mm_modem_signal_peek_cdma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-cdma" title="mm_modem_signal_get_cdma ()">mm_modem_signal_get_cdma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-evdo" title="mm_modem_signal_peek_evdo ()">mm_modem_signal_peek_evdo</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-evdo" title="mm_modem_signal_get_evdo ()">mm_modem_signal_get_evdo</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-gsm" title="mm_modem_signal_peek_gsm ()">mm_modem_signal_peek_gsm</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-gsm" title="mm_modem_signal_get_gsm ()">mm_modem_signal_get_gsm</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-umts" title="mm_modem_signal_peek_umts ()">mm_modem_signal_peek_umts</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-umts" title="mm_modem_signal_get_umts ()">mm_modem_signal_get_umts</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-lte" title="mm_modem_signal_peek_lte ()">mm_modem_signal_peek_lte</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-lte" title="mm_modem_signal_get_lte ()">mm_modem_signal_get_lte</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-setup" title="mm_modem_signal_setup ()">mm_modem_signal_setup</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-setup-finish" title="mm_modem_signal_setup_finish ()">mm_modem_signal_setup_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSignal.html#mm-modem-signal-setup-sync" title="mm_modem_signal_setup_sync ()">mm_modem_signal_setup_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemSignal.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemSignal.html#MMModemSignal-struct" title="struct MMModemSignal">MMModemSignal</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemSignal.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>
+ <span class="lineart">╰──</span> MMModemSignal
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModemSignal.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModemSignal implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemSignal.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> is an object providing access to the methods, signals and
+properties of the Signal interface.</p>
+<p>The Signal interface is exposed whenever a modem has extended signal retrieval
+capabilities.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemSignal.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-signal-get-path"></a><h3>mm_modem_signal_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_signal_get_path (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-signal-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-dup-path"></a><h3>mm_modem_signal_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_signal_dup_path (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-signal-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-get-rate"></a><h3>mm_modem_signal_get_rate ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_modem_signal_get_rate (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets the currently configured refresh rate.</p>
+<div class="refsect3">
+<a name="mm-modem-signal-get-rate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-rate.returns"></a><h4>Returns</h4>
+<p> the refresh rate, in seconds.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-peek-cdma"></a><h3>mm_modem_signal_peek_cdma ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_peek_cdma (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the CDMA signal information.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemSignal.html#mm-modem-signal-get-cdma" title="mm_modem_signal_get_cdma ()"><code class="function">mm_modem_signal_get_cdma()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-cdma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-cdma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-get-cdma"></a><h3>mm_modem_signal_get_cdma ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_get_cdma (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the CDMA signal information.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-cdma" title="mm_modem_signal_get_cdma ()"><code class="function">mm_modem_signal_get_cdma()</code></a> again to get a new <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-cdma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-cdma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-peek-evdo"></a><h3>mm_modem_signal_peek_evdo ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_peek_evdo (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the EV-DO signal information.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemSignal.html#mm-modem-signal-get-evdo" title="mm_modem_signal_get_evdo ()"><code class="function">mm_modem_signal_get_evdo()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-evdo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-evdo.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-get-evdo"></a><h3>mm_modem_signal_get_evdo ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_get_evdo (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the EV-DO signal information.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-evdo" title="mm_modem_signal_get_evdo ()"><code class="function">mm_modem_signal_get_evdo()</code></a> again to get a new <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-evdo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-evdo.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-peek-gsm"></a><h3>mm_modem_signal_peek_gsm ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_peek_gsm (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the GSM signal information.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemSignal.html#mm-modem-signal-get-gsm" title="mm_modem_signal_get_gsm ()"><code class="function">mm_modem_signal_get_gsm()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-gsm.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-gsm.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-get-gsm"></a><h3>mm_modem_signal_get_gsm ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_get_gsm (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the GSM signal information.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-gsm" title="mm_modem_signal_get_gsm ()"><code class="function">mm_modem_signal_get_gsm()</code></a> again to get a new <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-gsm.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-gsm.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-peek-umts"></a><h3>mm_modem_signal_peek_umts ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_peek_umts (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the UMTS signal information.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemSignal.html#mm-modem-signal-get-umts" title="mm_modem_signal_get_umts ()"><code class="function">mm_modem_signal_get_umts()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-umts.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-umts.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-get-umts"></a><h3>mm_modem_signal_get_umts ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_get_umts (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the UMTS signal information.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-umts" title="mm_modem_signal_get_umts ()"><code class="function">mm_modem_signal_get_umts()</code></a> again to get a new <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-umts.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-umts.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-peek-lte"></a><h3>mm_modem_signal_peek_lte ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_peek_lte (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the LTE signal information.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemSignal.html#mm-modem-signal-get-lte" title="mm_modem_signal_get_lte ()"><code class="function">mm_modem_signal_get_lte()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-lte.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-peek-lte.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-get-lte"></a><h3>mm_modem_signal_get_lte ()</h3>
+<pre class="programlisting"><a class="link" href="MMSignal.html" title="MMSignal"><span class="returnvalue">MMSignal</span></a> *
+mm_modem_signal_get_lte (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>);</pre>
+<p>Gets a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> object specifying the LTE signal information.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-lte" title="mm_modem_signal_get_lte ()"><code class="function">mm_modem_signal_get_lte()</code></a> again to get a new <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-lte.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-get-lte.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-setup"></a><h3>mm_modem_signal_setup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_signal_setup (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> rate</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously setups the extended signal quality retrieval.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemSignal.html#mm-modem-signal-setup-finish" title="mm_modem_signal_setup_finish ()"><code class="function">mm_modem_signal_setup_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemSignal.html#mm-modem-signal-setup-sync" title="mm_modem_signal_setup_sync ()"><code class="function">mm_modem_signal_setup_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-signal-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rate</p></td>
+<td class="parameter_description"><p>Rate to use when refreshing signal values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-setup-finish"></a><h3>mm_modem_signal_setup_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_signal_setup_finish (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemSignal.html#mm-modem-signal-setup" title="mm_modem_signal_setup ()"><code class="function">mm_modem_signal_setup()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-signal-setup-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemSignal.html#mm-modem-signal-setup" title="mm_modem_signal_setup ()"><code class="function">mm_modem_signal_setup()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-setup-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the setup was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-signal-setup-sync"></a><h3>mm_modem_signal_setup_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_signal_setup_sync (<em class="parameter"><code><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> rate</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously setups the extended signal quality retrieval.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemSignal.html#mm-modem-signal-setup" title="mm_modem_signal_setup ()"><code class="function">mm_modem_signal_setup()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-signal-setup-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rate</p></td>
+<td class="parameter_description"><p>Rate to use when refreshing signal values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-signal-setup-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the setup was successful, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModemSignal.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModemSignal-struct"></a><h3>struct MMModemSignal</h3>
+<pre class="programlisting">struct MMModemSignal;</pre>
+<p>The <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModemSimple.html b/docs/reference/libmm-glib/html/MMModemSimple.html
new file mode 100644
index 00000000..0ea9889e
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModemSimple.html
@@ -0,0 +1,659 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModemSimple: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s02.html" title="Simple interface support">
+<link rel="prev" href="ch03s02.html" title="Simple interface support">
+<link rel="next" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModemSimple.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModemSimple.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModemSimple.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMSimpleConnectProperties.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModemSimple"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModemSimple.top_of_page"></a>MMModemSimple</span></h2>
+<p>MMModemSimple — The Simple interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModemSimple.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-get-path" title="mm_modem_simple_get_path ()">mm_modem_simple_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-dup-path" title="mm_modem_simple_dup_path ()">mm_modem_simple_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-connect" title="mm_modem_simple_connect ()">mm_modem_simple_connect</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-connect-finish" title="mm_modem_simple_connect_finish ()">mm_modem_simple_connect_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-connect-sync" title="mm_modem_simple_connect_sync ()">mm_modem_simple_connect_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect" title="mm_modem_simple_disconnect ()">mm_modem_simple_disconnect</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect-finish" title="mm_modem_simple_disconnect_finish ()">mm_modem_simple_disconnect_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect-sync" title="mm_modem_simple_disconnect_sync ()">mm_modem_simple_disconnect_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-get-status" title="mm_modem_simple_get_status ()">mm_modem_simple_get_status</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="returnvalue">MMSimpleStatus</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-get-status-finish" title="mm_modem_simple_get_status_finish ()">mm_modem_simple_get_status_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="returnvalue">MMSimpleStatus</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemSimple.html#mm-modem-simple-get-status-sync" title="mm_modem_simple_get_status_sync ()">mm_modem_simple_get_status_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemSimple.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemSimple.html#MMModemSimple-struct" title="struct MMModemSimple">MMModemSimple</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemSimple.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>
+ <span class="lineart">╰──</span> MMModemSimple
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModemSimple.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModemSimple implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemSimple.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> is an object providing access to the methods, signals and
+properties of the Simple interface.</p>
+<p>The Simple interface is exposed on modems which are not in <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-MODEM-STATE-FAILED:CAPS"><code class="literal">MM_MODEM_STATE_FAILED</code></a> state.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemSimple.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-simple-get-path"></a><h3>mm_modem_simple_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_simple_get_path (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-simple-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-dup-path"></a><h3>mm_modem_simple_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_simple_dup_path (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-simple-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-connect"></a><h3>mm_modem_simple_connect ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_simple_connect (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to connect the modem using the given <em class="parameter"><code>properties</code></em>
+.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemSimple.html#mm-modem-simple-connect-finish" title="mm_modem_simple_connect_finish ()"><code class="function">mm_modem_simple_connect_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemSimple.html#mm-modem-simple-connect-sync" title="mm_modem_simple_connect_sync ()"><code class="function">mm_modem_simple_connect_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-connect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> bundle. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-connect-finish"></a><h3>mm_modem_simple_connect_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+mm_modem_simple_connect_finish (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemSimple.html#mm-modem-simple-connect" title="mm_modem_simple_connect ()"><code class="function">mm_modem_simple_connect()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-connect-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemSimple.html#mm-modem-simple-connect" title="mm_modem_simple_connect ()"><code class="function">mm_modem_simple_connect()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-simple-connect-finish.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-connect-sync"></a><h3>mm_modem_simple_connect_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMBearer.html" title="MMBearer"><span class="returnvalue">MMBearer</span></a> *
+mm_modem_simple_connect_sync (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to connect the modem using the given <em class="parameter"><code>properties</code></em>
+.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemSimple.html#mm-modem-simple-connect" title="mm_modem_simple_connect ()"><code class="function">mm_modem_simple_connect()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-connect-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> bundle. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-simple-connect-sync.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMBearer.html" title="MMBearer"><span class="type">MMBearer</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-disconnect"></a><h3>mm_modem_simple_disconnect ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_simple_disconnect (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to disconnect the modem.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect-finish" title="mm_modem_simple_disconnect_finish ()"><code class="function">mm_modem_simple_disconnect_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect-sync" title="mm_modem_simple_disconnect_sync ()"><code class="function">mm_modem_simple_disconnect_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-disconnect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bearer</p></td>
+<td class="parameter_description"><p>Path of the bearer to disconnect, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to disconnect all connected bearers. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-disconnect-finish"></a><h3>mm_modem_simple_disconnect_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_simple_disconnect_finish (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect" title="mm_modem_simple_disconnect ()"><code class="function">mm_modem_simple_disconnect()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-disconnect-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect" title="mm_modem_simple_disconnect ()"><code class="function">mm_modem_simple_disconnect()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-simple-disconnect-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the modem is successfully disconnected, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-disconnect-sync"></a><h3>mm_modem_simple_disconnect_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_simple_disconnect_sync (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to disconnect the modem.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect" title="mm_modem_simple_disconnect ()"><code class="function">mm_modem_simple_disconnect()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-disconnect-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bearer</p></td>
+<td class="parameter_description"><p>Path of the bearer to disconnect, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to disconnect all connected bearers. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-simple-disconnect-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the modem is successfully disconnected, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-get-status"></a><h3>mm_modem_simple_get_status ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_simple_get_status (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests a compilation of the status of the modem.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemSimple.html#mm-modem-simple-get-status-finish" title="mm_modem_simple_get_status_finish ()"><code class="function">mm_modem_simple_get_status_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemSimple.html#mm-modem-simple-get-status-sync" title="mm_modem_simple_get_status_sync ()"><code class="function">mm_modem_simple_get_status_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-get-status.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-get-status-finish"></a><h3>mm_modem_simple_get_status_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="returnvalue">MMSimpleStatus</span></a> *
+mm_modem_simple_get_status_finish (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemSimple.html#mm-modem-simple-get-status" title="mm_modem_simple_get_status ()"><code class="function">mm_modem_simple_get_status()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-get-status-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemSimple.html#mm-modem-simple-connect" title="mm_modem_simple_connect ()"><code class="function">mm_modem_simple_connect()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-simple-get-status-finish.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-simple-get-status-sync"></a><h3>mm_modem_simple_get_status_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="returnvalue">MMSimpleStatus</span></a> *
+mm_modem_simple_get_status_sync (<em class="parameter"><code><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests a compilation of the status of the modem.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemSimple.html#mm-modem-simple-get-status" title="mm_modem_simple_get_status ()"><code class="function">mm_modem_simple_get_status()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-simple-get-status-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-simple-get-status-sync.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModemSimple.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModemSimple-struct"></a><h3>struct MMModemSimple</h3>
+<pre class="programlisting">struct MMModemSimple;</pre>
+<p>The <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModemTime.html b/docs/reference/libmm-glib/html/MMModemTime.html
new file mode 100644
index 00000000..50488a6d
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModemTime.html
@@ -0,0 +1,400 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModemTime: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s05.html" title="Time support">
+<link rel="prev" href="ch03s05.html" title="Time support">
+<link rel="next" href="MMNetworkTimezone.html" title="MMNetworkTimezone">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModemTime.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModemTime.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModemTime.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s05.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s05.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMNetworkTimezone.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModemTime"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModemTime.top_of_page"></a>MMModemTime</span></h2>
+<p>MMModemTime — The Time interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModemTime.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemTime.html#mm-modem-time-get-path" title="mm_modem_time_get_path ()">mm_modem_time_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemTime.html#mm-modem-time-dup-path" title="mm_modem_time_dup_path ()">mm_modem_time_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="returnvalue">MMNetworkTimezone</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemTime.html#mm-modem-time-peek-network-timezone" title="mm_modem_time_peek_network_timezone ()">mm_modem_time_peek_network_timezone</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="returnvalue">MMNetworkTimezone</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemTime.html#mm-modem-time-get-network-timezone" title="mm_modem_time_get_network_timezone ()">mm_modem_time_get_network_timezone</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemTime.html#mm-modem-time-get-network-time" title="mm_modem_time_get_network_time ()">mm_modem_time_get_network_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemTime.html#mm-modem-time-get-network-time-finish" title="mm_modem_time_get_network_time_finish ()">mm_modem_time_get_network_time_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemTime.html#mm-modem-time-get-network-time-sync" title="mm_modem_time_get_network_time_sync ()">mm_modem_time_get_network_time_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemTime.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemTime.html#MMModemTime-struct" title="struct MMModemTime">MMModemTime</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemTime.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>
+ <span class="lineart">╰──</span> MMModemTime
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModemTime.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModemTime implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemTime.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> is an object providing access to the methods, signals and
+properties of the Time interface.</p>
+<p>The Time interface is exposed on modems which support network time retrieval.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemTime.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-time-get-path"></a><h3>mm_modem_time_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_time_get_path (<em class="parameter"><code><a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-time-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-time-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-time-dup-path"></a><h3>mm_modem_time_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_time_dup_path (<em class="parameter"><code><a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-time-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-time-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-time-peek-network-timezone"></a><h3>mm_modem_time_peek_network_timezone ()</h3>
+<pre class="programlisting"><a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="returnvalue">MMNetworkTimezone</span></a> *
+mm_modem_time_peek_network_timezone (<em class="parameter"><code><a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> *self</code></em>);</pre>
+<p>Gets the network timezone information.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMModemTime.html#mm-modem-time-get-network-timezone" title="mm_modem_time_get_network_timezone ()"><code class="function">mm_modem_time_get_network_timezone()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-modem-time-peek-network-timezone.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-time-peek-network-timezone.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a>. Do not free the returned value, it belongs to <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-time-get-network-timezone"></a><h3>mm_modem_time_get_network_timezone ()</h3>
+<pre class="programlisting"><a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="returnvalue">MMNetworkTimezone</span></a> *
+mm_modem_time_get_network_timezone (<em class="parameter"><code><a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> *self</code></em>);</pre>
+<p>Gets the network timezone information.</p>
+<div class="warning">The values reported by <em class="parameter"><code>self</code></em> are not updated when the values in the
+interface change. Instead, the client is expected to call
+<a class="link" href="MMModemTime.html#mm-modem-time-get-network-timezone" title="mm_modem_time_get_network_timezone ()"><code class="function">mm_modem_time_get_network_timezone()</code></a> again to get a new <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a> with the
+new values.</div>
+<div class="refsect3">
+<a name="mm-modem-time-get-network-timezone.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-time-get-network-timezone.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-time-get-network-time"></a><h3>mm_modem_time_get_network_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_time_get_network_time (<em class="parameter"><code><a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests the current network time.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemTime.html#mm-modem-time-get-network-time-finish" title="mm_modem_time_get_network_time_finish ()"><code class="function">mm_modem_time_get_network_time_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemTime.html#mm-modem-time-get-network-time-sync" title="mm_modem_time_get_network_time_sync ()"><code class="function">mm_modem_time_get_network_time_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-time-get-network-time.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-time-get-network-time-finish"></a><h3>mm_modem_time_get_network_time_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_time_get_network_time_finish (<em class="parameter"><code><a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemTime.html#mm-modem-time-get-network-time" title="mm_modem_time_get_network_time ()"><code class="function">mm_modem_time_get_network_time()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-time-get-network-time-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModem.html#mm-modem-enable" title="mm_modem_enable ()"><code class="function">mm_modem_enable()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-time-get-network-time-finish.returns"></a><h4>Returns</h4>
+<p>A string containing the network time, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-time-get-network-time-sync"></a><h3>mm_modem_time_get_network_time_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_time_get_network_time_sync (<em class="parameter"><code><a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests the current network time.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemTime.html#mm-modem-time-get-network-time" title="mm_modem_time_get_network_time ()"><code class="function">mm_modem_time_get_network_time()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-time-get-network-time-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-time-get-network-time-sync.returns"></a><h4>Returns</h4>
+<p>A string containing the network time, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModemTime.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModemTime-struct"></a><h3>struct MMModemTime</h3>
+<pre class="programlisting">struct MMModemTime;</pre>
+<p>The <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMModemVoice.html b/docs/reference/libmm-glib/html/MMModemVoice.html
new file mode 100644
index 00000000..c1807be3
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMModemVoice.html
@@ -0,0 +1,657 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMModemVoice: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s09.html" title="Voice support">
+<link rel="prev" href="ch03s09.html" title="Voice support">
+<link rel="next" href="ch03s10.html" title="PCO support">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMModemVoice.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMModemVoice.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMModemVoice.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s09.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s09.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s10.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMModemVoice"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMModemVoice.top_of_page"></a>MMModemVoice</span></h2>
+<p>MMModemVoice — The Voice interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMModemVoice.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-get-path" title="mm_modem_voice_get_path ()">mm_modem_voice_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-dup-path" title="mm_modem_voice_dup_path ()">mm_modem_voice_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-create-call" title="mm_modem_voice_create_call ()">mm_modem_voice_create_call</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMCall.html" title="MMCall"><span class="returnvalue">MMCall</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-create-call-finish" title="mm_modem_voice_create_call_finish ()">mm_modem_voice_create_call_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMCall.html" title="MMCall"><span class="returnvalue">MMCall</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-create-call-sync" title="mm_modem_voice_create_call_sync ()">mm_modem_voice_create_call_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call" title="mm_modem_voice_delete_call ()">mm_modem_voice_delete_call</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call-finish" title="mm_modem_voice_delete_call_finish ()">mm_modem_voice_delete_call_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call-sync" title="mm_modem_voice_delete_call_sync ()">mm_modem_voice_delete_call_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls" title="mm_modem_voice_list_calls ()">mm_modem_voice_list_calls</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls-finish" title="mm_modem_voice_list_calls_finish ()">mm_modem_voice_list_calls_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls-sync" title="mm_modem_voice_list_calls_sync ()">mm_modem_voice_list_calls_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemVoice.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMModemVoice.html#MMModemVoice-struct" title="struct MMModemVoice">MMModemVoice</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMModemVoice.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>
+ <span class="lineart">╰──</span> MMModemVoice
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMModemVoice.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMModemVoice implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemVoice.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> is an object providing access to the methods, signals and
+properties of the Voice interface.</p>
+<p>The Voice interface is exposed whenever a modem has voice capabilities.</p>
+</div>
+<div class="refsect1">
+<a name="MMModemVoice.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-modem-voice-get-path"></a><h3>mm_modem_voice_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_voice_get_path (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-voice-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-dup-path"></a><h3>mm_modem_voice_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_voice_dup_path (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object which implements this interface.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-voice-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-create-call"></a><h3>mm_modem_voice_create_call ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_voice_create_call (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a new <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> in the modem.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemVoice.html#mm-modem-voice-create-call-finish" title="mm_modem_voice_create_call_finish ()"><code class="function">mm_modem_voice_create_call_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemVoice.html#mm-modem-voice-create-call-sync" title="mm_modem_voice_create_call_sync ()"><code class="function">mm_modem_voice_create_call_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-create-call.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A #<a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> object with the properties to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-create-call-finish"></a><h3>mm_modem_voice_create_call_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MMCall.html" title="MMCall"><span class="returnvalue">MMCall</span></a> *
+mm_modem_voice_create_call_finish (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemVoice.html#mm-modem-voice-create-call" title="mm_modem_voice_create_call ()"><code class="function">mm_modem_voice_create_call()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-create-call-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemVoice.html#mm-modem-voice-create-call" title="mm_modem_voice_create_call ()"><code class="function">mm_modem_voice_create_call()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-voice-create-call-finish.returns"></a><h4>Returns</h4>
+<p>A newly created <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-create-call-sync"></a><h3>mm_modem_voice_create_call_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MMCall.html" title="MMCall"><span class="returnvalue">MMCall</span></a> *
+mm_modem_voice_create_call_sync (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> *properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a new <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> in the modem.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemVoice.html#mm-modem-voice-create-call" title="mm_modem_voice_create_call ()"><code class="function">mm_modem_voice_create_call()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-create-call-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>properties</p></td>
+<td class="parameter_description"><p>A #<a class="link" href="MMCallProperties.html" title="MMCallProperties"><span class="type">MMCallProperties</span></a> object with the properties to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-voice-create-call-sync.returns"></a><h4>Returns</h4>
+<p>A newly created <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a>, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-delete-call"></a><h3>mm_modem_voice_delete_call ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_voice_delete_call (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *call</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously deletes a given <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> from the modem.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call-finish" title="mm_modem_voice_delete_call_finish ()"><code class="function">mm_modem_voice_delete_call_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call-sync" title="mm_modem_voice_delete_call_sync ()"><code class="function">mm_modem_voice_delete_call_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-delete-call.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>call</p></td>
+<td class="parameter_description"><p>Path of the <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-delete-call-finish"></a><h3>mm_modem_voice_delete_call_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_voice_delete_call_finish (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call" title="mm_modem_voice_delete_call ()"><code class="function">mm_modem_voice_delete_call()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-delete-call-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call" title="mm_modem_voice_delete_call ()"><code class="function">mm_modem_voice_delete_call()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-voice-delete-call-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call was deleted, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-delete-call-sync"></a><h3>mm_modem_voice_delete_call_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_modem_voice_delete_call_sync (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *call</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously deletes a given <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> from the modem.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call" title="mm_modem_voice_delete_call ()"><code class="function">mm_modem_voice_delete_call()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-delete-call-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>call</p></td>
+<td class="parameter_description"><p>Path of the <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> to delete.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-voice-delete-call-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the CALL was deleted, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-list-calls"></a><h3>mm_modem_voice_list_calls ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_modem_voice_list_calls (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously lists the <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> objects in the modem.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls-finish" title="mm_modem_voice_list_calls_finish ()"><code class="function">mm_modem_voice_list_calls_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls-sync" title="mm_modem_voice_list_calls_sync ()"><code class="function">mm_modem_voice_list_calls_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-list-calls.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-list-calls-finish"></a><h3>mm_modem_voice_list_calls_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_modem_voice_list_calls_finish (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls" title="mm_modem_voice_list_calls ()"><code class="function">mm_modem_voice_list_calls()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-list-calls-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls" title="mm_modem_voice_list_calls ()"><code class="function">mm_modem_voice_list_calls()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-voice-list-calls-finish.returns"></a><h4>Returns</h4>
+<p>A list of <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> objects, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if either not found or <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free-full"><code class="function">g_list_free_full()</code></a> using <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> as <a href="https://developer.gnome.org/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> function. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Call][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-voice-list-calls-sync"></a><h3>mm_modem_voice_list_calls_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_modem_voice_list_calls_sync (<em class="parameter"><code><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously lists the <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> objects in the modem.</p>
+<p>The calling thread is blocked until a reply is received. See <a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls" title="mm_modem_voice_list_calls ()"><code class="function">mm_modem_voice_list_calls()</code></a>
+for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-modem-voice-list-calls-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-voice-list-calls-sync.returns"></a><h4>Returns</h4>
+<p>A list of <a class="link" href="MMCall.html" title="MMCall"><span class="type">MMCall</span></a> objects, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if either not found or <em class="parameter"><code>error</code></em>
+is set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free-full"><code class="function">g_list_free_full()</code></a> using <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> as <a href="https://developer.gnome.org/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> function. </p>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Call][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMModemVoice.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMModemVoice-struct"></a><h3>struct MMModemVoice</h3>
+<pre class="programlisting">struct MMModemVoice;</pre>
+<p>The <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMNetworkTimezone.html b/docs/reference/libmm-glib/html/MMNetworkTimezone.html
new file mode 100644
index 00000000..8568640d
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMNetworkTimezone.html
@@ -0,0 +1,214 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMNetworkTimezone: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s05.html" title="Time support">
+<link rel="prev" href="MMModemTime.html" title="MMModemTime">
+<link rel="next" href="ch03s06.html" title="Firmware support">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMNetworkTimezone.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMNetworkTimezone.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s05.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModemTime.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s06.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMNetworkTimezone"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMNetworkTimezone.top_of_page"></a>MMNetworkTimezone</span></h2>
+<p>MMNetworkTimezone — Helper object to handle network timezone information.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMNetworkTimezone.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint32"><span class="returnvalue">gint32</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMNetworkTimezone.html#mm-network-timezone-get-offset" title="mm_network_timezone_get_offset ()">mm_network_timezone_get_offset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint32"><span class="returnvalue">gint32</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMNetworkTimezone.html#mm-network-timezone-get-dst-offset" title="mm_network_timezone_get_dst_offset ()">mm_network_timezone_get_dst_offset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint32"><span class="returnvalue">gint32</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMNetworkTimezone.html#mm-network-timezone-get-leap-seconds" title="mm_network_timezone_get_leap_seconds ()">mm_network_timezone_get_leap_seconds</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMNetworkTimezone.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMNetworkTimezone.html#MMNetworkTimezone-struct" title="struct MMNetworkTimezone">MMNetworkTimezone</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="MMNetworkTimezone.html#MM-NETWORK-TIMEZONE-OFFSET-UNKNOWN:CAPS" title="MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN">MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="MMNetworkTimezone.html#MM-NETWORK-TIMEZONE-LEAP-SECONDS-UNKNOWN:CAPS" title="MM_NETWORK_TIMEZONE_LEAP_SECONDS_UNKNOWN">MM_NETWORK_TIMEZONE_LEAP_SECONDS_UNKNOWN</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMNetworkTimezone.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMNetworkTimezone
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMNetworkTimezone.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a> is an object handling the timezone information
+reported by the network.</p>
+<p>This object is retrieved with either <a class="link" href="MMModemTime.html#mm-modem-time-peek-network-timezone" title="mm_modem_time_peek_network_timezone ()"><code class="function">mm_modem_time_peek_network_timezone()</code></a>
+or <a class="link" href="MMModemTime.html#mm-modem-time-get-network-timezone" title="mm_modem_time_get_network_timezone ()"><code class="function">mm_modem_time_get_network_timezone()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMNetworkTimezone.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-network-timezone-get-offset"></a><h3>mm_network_timezone_get_offset ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint32"><span class="returnvalue">gint32</span></a>
+mm_network_timezone_get_offset (<em class="parameter"><code><a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a> *self</code></em>);</pre>
+<p>Gets the timezone offset (in minutes) reported by the network.</p>
+<div class="refsect3">
+<a name="mm-network-timezone-get-offset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-network-timezone-get-offset.returns"></a><h4>Returns</h4>
+<p> the offset, or <a class="link" href="MMNetworkTimezone.html#MM-NETWORK-TIMEZONE-OFFSET-UNKNOWN:CAPS" title="MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN"><code class="literal">MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-network-timezone-get-dst-offset"></a><h3>mm_network_timezone_get_dst_offset ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint32"><span class="returnvalue">gint32</span></a>
+mm_network_timezone_get_dst_offset (<em class="parameter"><code><a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a> *self</code></em>);</pre>
+<p>Gets the timezone offset due to daylight saving time (in minutes) reported by
+the network.</p>
+<div class="refsect3">
+<a name="mm-network-timezone-get-dst-offset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-network-timezone-get-dst-offset.returns"></a><h4>Returns</h4>
+<p> the offset, or <a class="link" href="MMNetworkTimezone.html#MM-NETWORK-TIMEZONE-OFFSET-UNKNOWN:CAPS" title="MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN"><code class="literal">MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-network-timezone-get-leap-seconds"></a><h3>mm_network_timezone_get_leap_seconds ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint32"><span class="returnvalue">gint32</span></a>
+mm_network_timezone_get_leap_seconds (<em class="parameter"><code><a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a> *self</code></em>);</pre>
+<p>Gets the number of leap seconds (TAI-UTC), as reported by the network.</p>
+<div class="refsect3">
+<a name="mm-network-timezone-get-leap-seconds.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-network-timezone-get-leap-seconds.returns"></a><h4>Returns</h4>
+<p> the number of leap seconds, or <a class="link" href="MMNetworkTimezone.html#MM-NETWORK-TIMEZONE-LEAP-SECONDS-UNKNOWN:CAPS" title="MM_NETWORK_TIMEZONE_LEAP_SECONDS_UNKNOWN"><code class="literal">MM_NETWORK_TIMEZONE_LEAP_SECONDS_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMNetworkTimezone.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMNetworkTimezone-struct"></a><h3>struct MMNetworkTimezone</h3>
+<pre class="programlisting">struct MMNetworkTimezone;</pre>
+<p>The <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone"><span class="type">MMNetworkTimezone</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-NETWORK-TIMEZONE-OFFSET-UNKNOWN:CAPS"></a><h3>MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN</h3>
+<pre class="programlisting">#define MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN G_MAXINT32
+</pre>
+<p>Identifier for an unknown timezone offset.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-NETWORK-TIMEZONE-LEAP-SECONDS-UNKNOWN:CAPS"></a><h3>MM_NETWORK_TIMEZONE_LEAP_SECONDS_UNKNOWN</h3>
+<pre class="programlisting">#define MM_NETWORK_TIMEZONE_LEAP_SECONDS_UNKNOWN G_MAXINT32
+</pre>
+<p>Identifier for an unknown leap seconds value.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMObject.html b/docs/reference/libmm-glib/html/MMObject.html
new file mode 100644
index 00000000..7b575151
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMObject.html
@@ -0,0 +1,1078 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMObject: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="ch03.html" title="The Modem object">
+<link rel="next" href="MMModem.html" title="MMModem">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMObject.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMObject.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMObject.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModem.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMObject"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMObject.top_of_page"></a>MMObject</span></h2>
+<p>MMObject — Generic object representing a modem in ModemManager</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMObject.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-path" title="mm_object_get_path ()">mm_object_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-dup-path" title="mm_object_dup_path ()">mm_object_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModem.html" title="MMModem"><span class="returnvalue">MMModem</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem" title="mm_object_peek_modem ()">mm_object_peek_modem</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModem.html" title="MMModem"><span class="returnvalue">MMModem</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem" title="mm_object_get_modem ()">mm_object_get_modem</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="returnvalue">MMModem3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-3gpp" title="mm_object_peek_modem_3gpp ()">mm_object_peek_modem_3gpp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="returnvalue">MMModem3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-3gpp" title="mm_object_get_modem_3gpp ()">mm_object_get_modem_3gpp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="returnvalue">MMModem3gppUssd</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-3gpp-ussd" title="mm_object_peek_modem_3gpp_ussd ()">mm_object_peek_modem_3gpp_ussd</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="returnvalue">MMModem3gppUssd</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-3gpp-ussd" title="mm_object_get_modem_3gpp_ussd ()">mm_object_get_modem_3gpp_ussd</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="returnvalue">MMModemCdma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-cdma" title="mm_object_peek_modem_cdma ()">mm_object_peek_modem_cdma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="returnvalue">MMModemCdma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-cdma" title="mm_object_get_modem_cdma ()">mm_object_get_modem_cdma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="returnvalue">MMModemLocation</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-location" title="mm_object_peek_modem_location ()">mm_object_peek_modem_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="returnvalue">MMModemLocation</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-location" title="mm_object_get_modem_location ()">mm_object_get_modem_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="returnvalue">MMModemMessaging</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-messaging" title="mm_object_peek_modem_messaging ()">mm_object_peek_modem_messaging</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="returnvalue">MMModemMessaging</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-messaging" title="mm_object_get_modem_messaging ()">mm_object_get_modem_messaging</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemTime.html" title="MMModemTime"><span class="returnvalue">MMModemTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-time" title="mm_object_peek_modem_time ()">mm_object_peek_modem_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemTime.html" title="MMModemTime"><span class="returnvalue">MMModemTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-time" title="mm_object_get_modem_time ()">mm_object_get_modem_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="returnvalue">MMModemFirmware</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-firmware" title="mm_object_peek_modem_firmware ()">mm_object_peek_modem_firmware</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="returnvalue">MMModemFirmware</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-firmware" title="mm_object_get_modem_firmware ()">mm_object_get_modem_firmware</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemOma.html" title="MMModemOma"><span class="returnvalue">MMModemOma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-oma" title="mm_object_peek_modem_oma ()">mm_object_peek_modem_oma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemOma.html" title="MMModemOma"><span class="returnvalue">MMModemOma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-oma" title="mm_object_get_modem_oma ()">mm_object_get_modem_oma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="returnvalue">MMModemSimple</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-simple" title="mm_object_peek_modem_simple ()">mm_object_peek_modem_simple</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="returnvalue">MMModemSimple</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-simple" title="mm_object_get_modem_simple ()">mm_object_get_modem_simple</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="returnvalue">MMModemSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-signal" title="mm_object_peek_modem_signal ()">mm_object_peek_modem_signal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="returnvalue">MMModemSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-signal" title="mm_object_get_modem_signal ()">mm_object_get_modem_signal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="returnvalue">MMModemVoice</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-peek-modem-voice" title="mm_object_peek_modem_voice ()">mm_object_peek_modem_voice</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="returnvalue">MMModemVoice</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMObject.html#mm-object-get-modem-voice" title="mm_object_get_modem_voice ()">mm_object_get_modem_voice</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMObject.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMObject.html#MMObject-struct" title="struct MMObject">MMObject</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMObject.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusObjectProxy.html#GDBusObjectProxy-struct">GDBusObjectProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy">MmGdbusObjectProxy</a>
+ <span class="lineart">╰──</span> MMObject
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMObject.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMObject implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusObject.html#GDBusObject-struct">GDBusObject</a> and <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMObject.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> is a generic object which represents any kind of modem exposed
+in ModemManager, and allows accessing the exported interfaces one by one.</p>
+<p>When this object is available, it is ensured that at least the Modem
+interface is also available.</p>
+</div>
+<div class="refsect1">
+<a name="MMObject.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-object-get-path"></a><h3>mm_object_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_object_get_path (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-dup-path"></a><h3>mm_object_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_object_dup_path (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-object-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem"></a><h3>mm_object_peek_modem ()</h3>
+<pre class="programlisting"><a class="link" href="MMModem.html" title="MMModem"><span class="returnvalue">MMModem</span></a> *
+mm_object_peek_modem (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem" title="mm_object_get_modem ()"><code class="function">mm_object_get_modem()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem"></a><h3>mm_object_get_modem ()</h3>
+<pre class="programlisting"><a class="link" href="MMModem.html" title="MMModem"><span class="returnvalue">MMModem</span></a> *
+mm_object_get_modem (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-3gpp"></a><h3>mm_object_peek_modem_3gpp ()</h3>
+<pre class="programlisting"><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="returnvalue">MMModem3gpp</span></a> *
+mm_object_peek_modem_3gpp (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-3gpp" title="mm_object_get_modem_3gpp ()"><code class="function">mm_object_get_modem_3gpp()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-3gpp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-3gpp.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-3gpp"></a><h3>mm_object_get_modem_3gpp ()</h3>
+<pre class="programlisting"><a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="returnvalue">MMModem3gpp</span></a> *
+mm_object_get_modem_3gpp (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-3gpp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-3gpp.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModem3gpp.html" title="MMModem3gpp"><span class="type">MMModem3gpp</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-3gpp-ussd"></a><h3>mm_object_peek_modem_3gpp_ussd ()</h3>
+<pre class="programlisting"><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="returnvalue">MMModem3gppUssd</span></a> *
+mm_object_peek_modem_3gpp_ussd (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-3gpp-ussd" title="mm_object_get_modem_3gpp_ussd ()"><code class="function">mm_object_get_modem_3gpp_ussd()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-3gpp-ussd.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-3gpp-ussd.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-3gpp-ussd"></a><h3>mm_object_get_modem_3gpp_ussd ()</h3>
+<pre class="programlisting"><a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="returnvalue">MMModem3gppUssd</span></a> *
+mm_object_get_modem_3gpp_ussd (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp-Ussd on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-3gpp-ussd.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-3gpp-ussd.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd"><span class="type">MMModem3gppUssd</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-cdma"></a><h3>mm_object_peek_modem_cdma ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="returnvalue">MMModemCdma</span></a> *
+mm_object_peek_modem_cdma (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-cdma" title="mm_object_get_modem_cdma ()"><code class="function">mm_object_get_modem_cdma()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-cdma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-cdma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-cdma"></a><h3>mm_object_get_modem_cdma ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="returnvalue">MMModemCdma</span></a> *
+mm_object_get_modem_cdma (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.ModemCdma on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-cdma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-cdma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemCdma.html" title="MMModemCdma"><span class="type">MMModemCdma</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-location"></a><h3>mm_object_peek_modem_location ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="returnvalue">MMModemLocation</span></a> *
+mm_object_peek_modem_location (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-location" title="mm_object_get_modem_location ()"><code class="function">mm_object_get_modem_location()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-location.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-location"></a><h3>mm_object_get_modem_location ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="returnvalue">MMModemLocation</span></a> *
+mm_object_get_modem_location (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modemlocation on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-location.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemLocation.html" title="MMModemLocation"><span class="type">MMModemLocation</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-messaging"></a><h3>mm_object_peek_modem_messaging ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="returnvalue">MMModemMessaging</span></a> *
+mm_object_peek_modem_messaging (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-messaging" title="mm_object_get_modem_messaging ()"><code class="function">mm_object_get_modem_messaging()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-messaging.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-messaging.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-messaging"></a><h3>mm_object_get_modem_messaging ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="returnvalue">MMModemMessaging</span></a> *
+mm_object_get_modem_messaging (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modemmessaging on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-messaging.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-messaging.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemMessaging.html" title="MMModemMessaging"><span class="type">MMModemMessaging</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-time"></a><h3>mm_object_peek_modem_time ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemTime.html" title="MMModemTime"><span class="returnvalue">MMModemTime</span></a> *
+mm_object_peek_modem_time (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-time" title="mm_object_get_modem_time ()"><code class="function">mm_object_get_modem_time()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-time.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-time.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-time"></a><h3>mm_object_get_modem_time ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemTime.html" title="MMModemTime"><span class="returnvalue">MMModemTime</span></a> *
+mm_object_get_modem_time (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Time on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-time.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-time.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemTime.html" title="MMModemTime"><span class="type">MMModemTime</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-firmware"></a><h3>mm_object_peek_modem_firmware ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="returnvalue">MMModemFirmware</span></a> *
+mm_object_peek_modem_firmware (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-firmware" title="mm_object_get_modem_firmware ()"><code class="function">mm_object_get_modem_firmware()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-firmware.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-firmware.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-firmware"></a><h3>mm_object_get_modem_firmware ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="returnvalue">MMModemFirmware</span></a> *
+mm_object_get_modem_firmware (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Firmware on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-firmware.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-firmware.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemFirmware.html" title="MMModemFirmware"><span class="type">MMModemFirmware</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-oma"></a><h3>mm_object_peek_modem_oma ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="returnvalue">MMModemOma</span></a> *
+mm_object_peek_modem_oma (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-oma" title="mm_object_get_modem_oma ()"><code class="function">mm_object_get_modem_oma()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-oma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-oma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-oma"></a><h3>mm_object_get_modem_oma ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemOma.html" title="MMModemOma"><span class="returnvalue">MMModemOma</span></a> *
+mm_object_get_modem_oma (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Oma on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-oma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-oma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemOma.html" title="MMModemOma"><span class="type">MMModemOma</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-simple"></a><h3>mm_object_peek_modem_simple ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="returnvalue">MMModemSimple</span></a> *
+mm_object_peek_modem_simple (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-simple" title="mm_object_get_modem_simple ()"><code class="function">mm_object_get_modem_simple()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-simple.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-simple.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-simple"></a><h3>mm_object_get_modem_simple ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="returnvalue">MMModemSimple</span></a> *
+mm_object_get_modem_simple (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modemsimple on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-simple.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-simple.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemSimple.html" title="MMModemSimple"><span class="type">MMModemSimple</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-signal"></a><h3>mm_object_peek_modem_signal ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="returnvalue">MMModemSignal</span></a> *
+mm_object_peek_modem_signal (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-signal" title="mm_object_get_modem_signal ()"><code class="function">mm_object_get_modem_signal()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-signal.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-signal"></a><h3>mm_object_get_modem_signal ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="returnvalue">MMModemSignal</span></a> *
+mm_object_get_modem_signal (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-signal.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemSignal.html" title="MMModemSignal"><span class="type">MMModemSignal</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-peek-modem-voice"></a><h3>mm_object_peek_modem_voice ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="returnvalue">MMModemVoice</span></a> *
+mm_object_peek_modem_voice (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Like <a class="link" href="MMObject.html#mm-object-get-modem-voice" title="mm_object_get_modem_voice ()"><code class="function">mm_object_get_modem_voice()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a class="link" href="MMManager.html" title="MMManager"><span class="type">MMManager</span></a> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-object-peek-modem-voice.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-peek-modem-voice.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-object-get-modem-voice"></a><h3>mm_object_get_modem_voice ()</h3>
+<pre class="programlisting"><a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="returnvalue">MMModemVoice</span></a> *
+mm_object_get_modem_voice (<em class="parameter"><code><a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> *self</code></em>);</pre>
+<p>Gets the <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modemvoice on <em class="parameter"><code>self</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-object-get-modem-voice.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-object-get-modem-voice.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MMModemVoice.html" title="MMModemVoice"><span class="type">MMModemVoice</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>self</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMObject.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMObject-struct"></a><h3>struct MMObject</h3>
+<pre class="programlisting">struct MMObject;</pre>
+<p>The <a class="link" href="MMObject.html" title="MMObject"><span class="type">MMObject</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMPco.html b/docs/reference/libmm-glib/html/MMPco.html
new file mode 100644
index 00000000..b656dc60
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMPco.html
@@ -0,0 +1,272 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMPco: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s10.html" title="PCO support">
+<link rel="prev" href="ch03s10.html" title="PCO support">
+<link rel="next" href="ch04.html" title="The Bearer object">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMPco.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMPco.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s10.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch03s10.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch04.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMPco"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMPco.top_of_page"></a>MMPco</span></h2>
+<p>MMPco — Helper object to handle 3GPP PCO.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMPco.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMPco.html#mm-pco-get-session-id" title="mm_pco_get_session_id ()">mm_pco_get_session_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMPco.html#mm-pco-is-complete" title="mm_pco_is_complete ()">mm_pco_is_complete</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMPco.html#mm-pco-get-data" title="mm_pco_get_data ()">mm_pco_get_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMPco.html#mm-pco-list-add" title="mm_pco_list_add ()">mm_pco_list_add</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMPco.html#mm-pco-list-free" title="mm_pco_list_free ()">mm_pco_list_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMPco.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMPco.html#MMPco-struct" title="struct MMPco">MMPco</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMPco.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMPco
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMPco.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> is an object handling the raw 3GPP Protocol Configuration Options
+(PCO) that the modem has received from the network.</p>
+<p>This object is retrieved with <a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-pco" title="mm_modem_3gpp_get_pco ()"><code class="function">mm_modem_3gpp_get_pco()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMPco.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-pco-get-session-id"></a><h3>mm_pco_get_session_id ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
+mm_pco_get_session_id (<em class="parameter"><code><a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> *self</code></em>);</pre>
+<p>Gets the session ID associated with the PCO.</p>
+<div class="refsect3">
+<a name="mm-pco-get-session-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-pco-get-session-id.returns"></a><h4>Returns</h4>
+<p> the session ID.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-pco-is-complete"></a><h3>mm_pco_is_complete ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_pco_is_complete (<em class="parameter"><code><a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> *self</code></em>);</pre>
+<p>Gets the complete flag that indicates whether the PCO data contains the
+complete PCO structure received from the network.</p>
+<div class="refsect3">
+<a name="mm-pco-is-complete.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-pco-is-complete.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the PCO data contains the complete PCO structure, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-pco-get-data"></a><h3>mm_pco_get_data ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+mm_pco_get_data (<em class="parameter"><code><a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *data_size</code></em>);</pre>
+<p>Gets the PCO data in raw bytes.</p>
+<div class="refsect3">
+<a name="mm-pco-get-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data_size</p></td>
+<td class="parameter_description"><p>Size of the PCO data, if any given. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-pco-get-data.returns"></a><h4>Returns</h4>
+<p>the PCO data, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-pco-list-add"></a><h3>mm_pco_list_add ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+mm_pco_list_add (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *pco_list</code></em>,
+ <em class="parameter"><code><a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> *pco</code></em>);</pre>
+<p>Adds a <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> to a given PCO list. <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> objects stored in the order of
+their session ID. An existing PCO with the same session ID is overwritten
+with the new value.</p>
+<div class="refsect3">
+<a name="mm-pco-list-add.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>pco_list</p></td>
+<td class="parameter_description"><p>a <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Pco]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pco</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> to add to the given list. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-pco-list-add.returns"></a><h4>Returns</h4>
+<p>the new start of an updated or newly allocated <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Pco]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-pco-list-free"></a><h3>mm_pco_list_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_pco_list_free (<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *pco_list</code></em>);</pre>
+<p>Frees all of the memory used by a <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a>.</p>
+<div class="refsect3">
+<a name="mm-pco-list-free.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>pco_list</p></td>
+<td class="parameter_description"><p>a <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> ModemManager.Pco]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMPco.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMPco-struct"></a><h3>struct MMPco</h3>
+<pre class="programlisting">struct MMPco;</pre>
+<p>The <a class="link" href="MMPco.html" title="MMPco"><span class="type">MMPco</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMSignal.html b/docs/reference/libmm-glib/html/MMSignal.html
new file mode 100644
index 00000000..744158d1
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMSignal.html
@@ -0,0 +1,376 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMSignal: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s07.html" title="Extended signal information">
+<link rel="prev" href="MMModemSignal.html" title="MMModemSignal">
+<link rel="next" href="ch03s08.html" title="OMA support">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMSignal.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMSignal.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s07.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModemSignal.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s08.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMSignal"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMSignal.top_of_page"></a>MMSignal</span></h2>
+<p>MMSignal — Helper object to handle extended Signal information.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMSignal.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSignal.html#mm-signal-get-rssi" title="mm_signal_get_rssi ()">mm_signal_get_rssi</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSignal.html#mm-signal-get-rscp" title="mm_signal_get_rscp ()">mm_signal_get_rscp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSignal.html#mm-signal-get-ecio" title="mm_signal_get_ecio ()">mm_signal_get_ecio</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSignal.html#mm-signal-get-sinr" title="mm_signal_get_sinr ()">mm_signal_get_sinr</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSignal.html#mm-signal-get-io" title="mm_signal_get_io ()">mm_signal_get_io</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSignal.html#mm-signal-get-rsrp" title="mm_signal_get_rsrp ()">mm_signal_get_rsrp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSignal.html#mm-signal-get-rsrq" title="mm_signal_get_rsrq ()">mm_signal_get_rsrq</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSignal.html#mm-signal-get-snr" title="mm_signal_get_snr ()">mm_signal_get_snr</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSignal.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMSignal.html#MMSignal-struct" title="struct MMSignal">MMSignal</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN">MM_SIGNAL_UNKNOWN</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSignal.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMSignal
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMSignal.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> is an object handling the signal information of the
+modem.</p>
+</div>
+<div class="refsect1">
+<a name="MMSignal.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-signal-get-rssi"></a><h3>mm_signal_get_rssi ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_signal_get_rssi (<em class="parameter"><code><a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> *self</code></em>);</pre>
+<p>Gets the RSSI (Received Signal Strength Indication), in dBm.</p>
+<div class="refsect3">
+<a name="mm-signal-get-rssi.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-signal-get-rssi.returns"></a><h4>Returns</h4>
+<p> the RSSI, or <a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN"><code class="literal">MM_SIGNAL_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-signal-get-rscp"></a><h3>mm_signal_get_rscp ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_signal_get_rscp (<em class="parameter"><code><a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> *self</code></em>);</pre>
+<p>Gets the RSCP (Received Signal Code Power), in dBm.</p>
+<div class="refsect3">
+<a name="mm-signal-get-rscp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-signal-get-rscp.returns"></a><h4>Returns</h4>
+<p> the RSCP, or <a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN"><code class="literal">MM_SIGNAL_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-signal-get-ecio"></a><h3>mm_signal_get_ecio ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_signal_get_ecio (<em class="parameter"><code><a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> *self</code></em>);</pre>
+<p>Gets the Ec/Io, in dB.</p>
+<p>Only applicable to CDMA1x, CDMA EV-DO and UMTS (WCDMA).</p>
+<div class="refsect3">
+<a name="mm-signal-get-ecio.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-signal-get-ecio.returns"></a><h4>Returns</h4>
+<p> the ECIO, or <a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN"><code class="literal">MM_SIGNAL_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-signal-get-sinr"></a><h3>mm_signal_get_sinr ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_signal_get_sinr (<em class="parameter"><code><a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> *self</code></em>);</pre>
+<p>Gets the SINR level, in dB.</p>
+<p>Only applicable to CDMA EV-DO.</p>
+<div class="refsect3">
+<a name="mm-signal-get-sinr.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-signal-get-sinr.returns"></a><h4>Returns</h4>
+<p> the SINR, or <a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN"><code class="literal">MM_SIGNAL_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-signal-get-io"></a><h3>mm_signal_get_io ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_signal_get_io (<em class="parameter"><code><a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> *self</code></em>);</pre>
+<p>Gets the Io, in dBm.</p>
+<p>Only applicable to CDMA EV-DO.</p>
+<div class="refsect3">
+<a name="mm-signal-get-io.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-signal-get-io.returns"></a><h4>Returns</h4>
+<p> the Io, or <a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN"><code class="literal">MM_SIGNAL_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-signal-get-rsrp"></a><h3>mm_signal_get_rsrp ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_signal_get_rsrp (<em class="parameter"><code><a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> *self</code></em>);</pre>
+<p>Gets the RSRP (Reference Signal Received Power), in dBm.</p>
+<p>Only applicable to LTE.</p>
+<div class="refsect3">
+<a name="mm-signal-get-rsrp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-signal-get-rsrp.returns"></a><h4>Returns</h4>
+<p> the RSRP, or <a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN"><code class="literal">MM_SIGNAL_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-signal-get-rsrq"></a><h3>mm_signal_get_rsrq ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_signal_get_rsrq (<em class="parameter"><code><a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> *self</code></em>);</pre>
+<p>Gets the RSRQ (Reference Signal Received Quality), in dB.</p>
+<p>Only applicable to LTE.</p>
+<div class="refsect3">
+<a name="mm-signal-get-rsrq.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-signal-get-rsrq.returns"></a><h4>Returns</h4>
+<p> the RSRQ, or <a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN"><code class="literal">MM_SIGNAL_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-signal-get-snr"></a><h3>mm_signal_get_snr ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
+mm_signal_get_snr (<em class="parameter"><code><a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> *self</code></em>);</pre>
+<p>Gets the S/R ration, in dB.</p>
+<p>Only applicable to LTE.</p>
+<div class="refsect3">
+<a name="mm-signal-get-snr.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-signal-get-snr.returns"></a><h4>Returns</h4>
+<p> the S/R ratio, or <a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN"><code class="literal">MM_SIGNAL_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMSignal.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMSignal-struct"></a><h3>struct MMSignal</h3>
+<pre class="programlisting">struct MMSignal;</pre>
+<p>The <a class="link" href="MMSignal.html" title="MMSignal"><span class="type">MMSignal</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-SIGNAL-UNKNOWN:CAPS"></a><h3>MM_SIGNAL_UNKNOWN</h3>
+<pre class="programlisting">#define MM_SIGNAL_UNKNOWN -G_MAXDOUBLE
+</pre>
+<p>Identifier for an unknown signal value.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMSim.html b/docs/reference/libmm-glib/html/MMSim.html
new file mode 100644
index 00000000..e60dba23
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMSim.html
@@ -0,0 +1,1316 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMSim: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch05.html" title="The SIM object">
+<link rel="prev" href="ch05.html" title="The SIM object">
+<link rel="next" href="ch06.html" title="The SMS object">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMSim.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMSim.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMSim.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch05.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch05.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch06.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMSim"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMSim.top_of_page"></a>MMSim</span></h2>
+<p>MMSim — The SIM interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMSim.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-get-path" title="mm_sim_get_path ()">mm_sim_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-dup-path" title="mm_sim_dup_path ()">mm_sim_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-get-identifier" title="mm_sim_get_identifier ()">mm_sim_get_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-dup-identifier" title="mm_sim_dup_identifier ()">mm_sim_dup_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-get-imsi" title="mm_sim_get_imsi ()">mm_sim_get_imsi</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-dup-imsi" title="mm_sim_dup_imsi ()">mm_sim_dup_imsi</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-get-operator-identifier" title="mm_sim_get_operator_identifier ()">mm_sim_get_operator_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-dup-operator-identifier" title="mm_sim_dup_operator_identifier ()">mm_sim_dup_operator_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-get-operator-name" title="mm_sim_get_operator_name ()">mm_sim_get_operator_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-dup-operator-name" title="mm_sim_dup_operator_name ()">mm_sim_dup_operator_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-send-pin" title="mm_sim_send_pin ()">mm_sim_send_pin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-send-pin-finish" title="mm_sim_send_pin_finish ()">mm_sim_send_pin_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-send-pin-sync" title="mm_sim_send_pin_sync ()">mm_sim_send_pin_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-send-puk" title="mm_sim_send_puk ()">mm_sim_send_puk</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-send-puk-finish" title="mm_sim_send_puk_finish ()">mm_sim_send_puk_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-send-puk-sync" title="mm_sim_send_puk_sync ()">mm_sim_send_puk_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-enable-pin" title="mm_sim_enable_pin ()">mm_sim_enable_pin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-enable-pin-finish" title="mm_sim_enable_pin_finish ()">mm_sim_enable_pin_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-enable-pin-sync" title="mm_sim_enable_pin_sync ()">mm_sim_enable_pin_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-disable-pin" title="mm_sim_disable_pin ()">mm_sim_disable_pin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-disable-pin-finish" title="mm_sim_disable_pin_finish ()">mm_sim_disable_pin_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-disable-pin-sync" title="mm_sim_disable_pin_sync ()">mm_sim_disable_pin_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-change-pin" title="mm_sim_change_pin ()">mm_sim_change_pin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-change-pin-finish" title="mm_sim_change_pin_finish ()">mm_sim_change_pin_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSim.html#mm-sim-change-pin-sync" title="mm_sim_change_pin_sync ()">mm_sim_change_pin_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSim.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMSim.html#MMSim-struct" title="struct MMSim">MMSim</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSim.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a>
+ <span class="lineart">╰──</span> MMSim
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMSim.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMSim implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMSim.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> is an object providing access to the methods, signals and
+properties of the SIM interface.</p>
+<p>When the SIM is exposed and available in the bus, it is ensured that at
+least this interface is also available.</p>
+</div>
+<div class="refsect1">
+<a name="MMSim.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-sim-get-path"></a><h3>mm_sim_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_get_path (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-sim-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-dup-path"></a><h3>mm_sim_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_dup_path (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-sim-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-get-identifier"></a><h3>mm_sim_get_identifier ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_get_identifier (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets the unique SIM identifier of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMSim.html#mm-sim-dup-identifier" title="mm_sim_dup_identifier ()"><code class="function">mm_sim_dup_identifier()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-sim-get-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-get-identifier.returns"></a><h4>Returns</h4>
+<p>The unique identifier of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-dup-identifier"></a><h3>mm_sim_dup_identifier ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_dup_identifier (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the unique SIM identifier of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-sim-dup-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-dup-identifier.returns"></a><h4>Returns</h4>
+<p>The unique identifier of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-get-imsi"></a><h3>mm_sim_get_imsi ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_get_imsi (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets the International Mobile Subscriber Identity (IMSI) of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMSim.html#mm-sim-dup-imsi" title="mm_sim_dup_imsi ()"><code class="function">mm_sim_dup_imsi()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-sim-get-imsi.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-get-imsi.returns"></a><h4>Returns</h4>
+<p>The IMSI of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-dup-imsi"></a><h3>mm_sim_dup_imsi ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_dup_imsi (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the International Mobile Subscriber Identity (IMSI) of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-sim-dup-imsi.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-dup-imsi.returns"></a><h4>Returns</h4>
+<p>The IMSI of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-get-operator-identifier"></a><h3>mm_sim_get_operator_identifier ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_get_operator_identifier (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets the Operator Identifier of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMSim.html#mm-sim-dup-operator-identifier" title="mm_sim_dup_operator_identifier ()"><code class="function">mm_sim_dup_operator_identifier()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-sim-get-operator-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-get-operator-identifier.returns"></a><h4>Returns</h4>
+<p>The Operator Identifier of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-dup-operator-identifier"></a><h3>mm_sim_dup_operator_identifier ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_dup_operator_identifier (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the Operator Identifier of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-sim-dup-operator-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-dup-operator-identifier.returns"></a><h4>Returns</h4>
+<p>The Operator Identifier of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-get-operator-name"></a><h3>mm_sim_get_operator_name ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_get_operator_name (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets the Operator Name of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMSim.html#mm-sim-dup-operator-name" title="mm_sim_dup_operator_name ()"><code class="function">mm_sim_dup_operator_name()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-sim-get-operator-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-get-operator-name.returns"></a><h4>Returns</h4>
+<p>The Operator Name of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-dup-operator-name"></a><h3>mm_sim_dup_operator_name ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sim_dup_operator_name (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the Operator Name of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-sim-dup-operator-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-dup-operator-name.returns"></a><h4>Returns</h4>
+<p>The Operator Name of the <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> object, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-send-pin"></a><h3>mm_sim_send_pin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sim_send_pin (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously sends the PIN code to the SIM card.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMSim.html#mm-sim-send-pin-finish" title="mm_sim_send_pin_finish ()"><code class="function">mm_sim_send_pin_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMSim.html#mm-sim-send-pin-sync" title="mm_sim_send_pin_sync ()"><code class="function">mm_sim_send_pin_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-send-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pin</p></td>
+<td class="parameter_description"><p>The PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-send-pin-finish"></a><h3>mm_sim_send_pin_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_send_pin_finish (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMSim.html#mm-sim-send-pin" title="mm_sim_send_pin ()"><code class="function">mm_sim_send_pin()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sim-send-pin-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMSim.html#mm-sim-send-pin" title="mm_sim_send_pin ()"><code class="function">mm_sim_send_pin()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-send-pin-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-send-pin-sync"></a><h3>mm_sim_send_pin_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_send_pin_sync (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously sends the PIN to the SIM card.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMSim.html#mm-sim-send-pin" title="mm_sim_send_pin ()"><code class="function">mm_sim_send_pin()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-send-pin-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pin</p></td>
+<td class="parameter_description"><p>The PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-send-pin-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-send-puk"></a><h3>mm_sim_send_puk ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sim_send_puk (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *puk</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously sends the PUK code to the SIM card.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMSim.html#mm-sim-send-puk-finish" title="mm_sim_send_puk_finish ()"><code class="function">mm_sim_send_puk_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMSim.html#mm-sim-send-puk-sync" title="mm_sim_send_puk_sync ()"><code class="function">mm_sim_send_puk_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-send-puk.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>puk</p></td>
+<td class="parameter_description"><p>The PUK code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pin</p></td>
+<td class="parameter_description"><p>The PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-send-puk-finish"></a><h3>mm_sim_send_puk_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_send_puk_finish (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMSim.html#mm-sim-send-puk" title="mm_sim_send_puk ()"><code class="function">mm_sim_send_puk()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sim-send-puk-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMSim.html#mm-sim-send-puk" title="mm_sim_send_puk ()"><code class="function">mm_sim_send_puk()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-send-puk-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-send-puk-sync"></a><h3>mm_sim_send_puk_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_send_puk_sync (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *puk</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously sends the PUK to the SIM card.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMSim.html#mm-sim-send-puk" title="mm_sim_send_puk ()"><code class="function">mm_sim_send_puk()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-send-puk-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>puk</p></td>
+<td class="parameter_description"><p>The PUK code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pin</p></td>
+<td class="parameter_description"><p>The PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-send-puk-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-enable-pin"></a><h3>mm_sim_enable_pin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sim_enable_pin (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously enables requesting the PIN code in the SIM card.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMSim.html#mm-sim-enable-pin-finish" title="mm_sim_enable_pin_finish ()"><code class="function">mm_sim_enable_pin_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMSim.html#mm-sim-enable-pin-sync" title="mm_sim_enable_pin_sync ()"><code class="function">mm_sim_enable_pin_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-enable-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pin</p></td>
+<td class="parameter_description"><p>The PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-enable-pin-finish"></a><h3>mm_sim_enable_pin_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_enable_pin_finish (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMSim.html#mm-sim-enable-pin" title="mm_sim_enable_pin ()"><code class="function">mm_sim_enable_pin()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sim-enable-pin-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMSim.html#mm-sim-enable-pin" title="mm_sim_enable_pin ()"><code class="function">mm_sim_enable_pin()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-enable-pin-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-enable-pin-sync"></a><h3>mm_sim_enable_pin_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_enable_pin_sync (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously enables requesting the PIN code in the SIM card.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMSim.html#mm-sim-enable-pin" title="mm_sim_enable_pin ()"><code class="function">mm_sim_enable_pin()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-enable-pin-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pin</p></td>
+<td class="parameter_description"><p>The PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-enable-pin-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-disable-pin"></a><h3>mm_sim_disable_pin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sim_disable_pin (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously disables requesting the PIN code in the SIM card.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMSim.html#mm-sim-disable-pin-finish" title="mm_sim_disable_pin_finish ()"><code class="function">mm_sim_disable_pin_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMSim.html#mm-sim-disable-pin-sync" title="mm_sim_disable_pin_sync ()"><code class="function">mm_sim_disable_pin_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-disable-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pin</p></td>
+<td class="parameter_description"><p>The PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-disable-pin-finish"></a><h3>mm_sim_disable_pin_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_disable_pin_finish (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMSim.html#mm-sim-disable-pin" title="mm_sim_disable_pin ()"><code class="function">mm_sim_disable_pin()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sim-disable-pin-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMSim.html#mm-sim-disable-pin" title="mm_sim_disable_pin ()"><code class="function">mm_sim_disable_pin()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-disable-pin-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-disable-pin-sync"></a><h3>mm_sim_disable_pin_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_disable_pin_sync (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously disables requesting the PIN code in the SIM card.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMSim.html#mm-sim-disable-pin" title="mm_sim_disable_pin ()"><code class="function">mm_sim_disable_pin()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-disable-pin-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pin</p></td>
+<td class="parameter_description"><p>The PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-disable-pin-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-change-pin"></a><h3>mm_sim_change_pin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sim_change_pin (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *old_pin</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *new_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously changes the PIN code in the SIM card.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMSim.html#mm-sim-change-pin-finish" title="mm_sim_change_pin_finish ()"><code class="function">mm_sim_change_pin_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMSim.html#mm-sim-change-pin-sync" title="mm_sim_change_pin_sync ()"><code class="function">mm_sim_change_pin_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-change-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>old_pin</p></td>
+<td class="parameter_description"><p>The current PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>new_pin</p></td>
+<td class="parameter_description"><p>The new PIN code to be set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-change-pin-finish"></a><h3>mm_sim_change_pin_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_change_pin_finish (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMSim.html#mm-sim-change-pin" title="mm_sim_change_pin ()"><code class="function">mm_sim_change_pin()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sim-change-pin-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMSim.html#mm-sim-change-pin" title="mm_sim_change_pin ()"><code class="function">mm_sim_change_pin()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-change-pin-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sim-change-pin-sync"></a><h3>mm_sim_change_pin_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sim_change_pin_sync (<em class="parameter"><code><a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *old_pin</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *new_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously changes the PIN code in the SIM card.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMSim.html#mm-sim-change-pin" title="mm_sim_change_pin ()"><code class="function">mm_sim_change_pin()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-sim-change-pin-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>old_pin</p></td>
+<td class="parameter_description"><p>The current PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>new_pin</p></td>
+<td class="parameter_description"><p>The new PIN code to be set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sim-change-pin-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMSim.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMSim-struct"></a><h3>struct MMSim</h3>
+<pre class="programlisting">struct MMSim;</pre>
+<p>The <a class="link" href="MMSim.html" title="MMSim"><span class="type">MMSim</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMSimpleConnectProperties.html b/docs/reference/libmm-glib/html/MMSimpleConnectProperties.html
new file mode 100644
index 00000000..e541d350
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMSimpleConnectProperties.html
@@ -0,0 +1,784 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMSimpleConnectProperties: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s02.html" title="Simple interface support">
+<link rel="prev" href="MMModemSimple.html" title="MMModemSimple">
+<link rel="next" href="MMSimpleStatus.html" title="MMSimpleStatus">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMSimpleConnectProperties.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMSimpleConnectProperties.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModemSimple.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMSimpleStatus.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMSimpleConnectProperties"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMSimpleConnectProperties.top_of_page"></a>MMSimpleConnectProperties</span></h2>
+<p>MMSimpleConnectProperties — Helper object to handle connection properties.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMSimpleConnectProperties.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="returnvalue">MMSimpleConnectProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-new" title="mm_simple_connect_properties_new ()">mm_simple_connect_properties_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-pin" title="mm_simple_connect_properties_get_pin ()">mm_simple_connect_properties_get_pin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-pin" title="mm_simple_connect_properties_set_pin ()">mm_simple_connect_properties_set_pin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-operator-id" title="mm_simple_connect_properties_get_operator_id ()">mm_simple_connect_properties_get_operator_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-operator-id" title="mm_simple_connect_properties_set_operator_id ()">mm_simple_connect_properties_set_operator_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-apn" title="mm_simple_connect_properties_get_apn ()">mm_simple_connect_properties_get_apn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-apn" title="mm_simple_connect_properties_set_apn ()">mm_simple_connect_properties_set_apn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="returnvalue">MMBearerAllowedAuth</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-allowed-auth" title="mm_simple_connect_properties_get_allowed_auth ()">mm_simple_connect_properties_get_allowed_auth</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-allowed-auth" title="mm_simple_connect_properties_set_allowed_auth ()">mm_simple_connect_properties_set_allowed_auth</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-user" title="mm_simple_connect_properties_get_user ()">mm_simple_connect_properties_get_user</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-user" title="mm_simple_connect_properties_set_user ()">mm_simple_connect_properties_set_user</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-password" title="mm_simple_connect_properties_get_password ()">mm_simple_connect_properties_get_password</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-password" title="mm_simple_connect_properties_set_password ()">mm_simple_connect_properties_set_password</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="returnvalue">MMBearerIpFamily</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-ip-type" title="mm_simple_connect_properties_get_ip_type ()">mm_simple_connect_properties_get_ip_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-ip-type" title="mm_simple_connect_properties_set_ip_type ()">mm_simple_connect_properties_set_ip_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-allow-roaming" title="mm_simple_connect_properties_get_allow_roaming ()">mm_simple_connect_properties_get_allow_roaming</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-allow-roaming" title="mm_simple_connect_properties_set_allow_roaming ()">mm_simple_connect_properties_set_allow_roaming</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-number" title="mm_simple_connect_properties_get_number ()">mm_simple_connect_properties_get_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-number" title="mm_simple_connect_properties_set_number ()">mm_simple_connect_properties_set_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSimpleConnectProperties.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMSimpleConnectProperties.html#MMSimpleConnectProperties-struct" title="struct MMSimpleConnectProperties">MMSimpleConnectProperties</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSimpleConnectProperties.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMSimpleConnectProperties
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMSimpleConnectProperties.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> is an object handling the properties requested
+to ModemManager when launching a connection with the Simple interface.</p>
+<p>This object is created by the user and passed to ModemManager with either
+<a class="link" href="MMModemSimple.html#mm-modem-simple-connect" title="mm_modem_simple_connect ()"><code class="function">mm_modem_simple_connect()</code></a> or <a class="link" href="MMModemSimple.html#mm-modem-simple-connect-sync" title="mm_modem_simple_connect_sync ()"><code class="function">mm_modem_simple_connect_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMSimpleConnectProperties.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-new"></a><h3>mm_simple_connect_properties_new ()</h3>
+<pre class="programlisting"><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="returnvalue">MMSimpleConnectProperties</span></a> *
+mm_simple_connect_properties_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new empty <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-new.returns"></a><h4>Returns</h4>
+<p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-get-pin"></a><h3>mm_simple_connect_properties_get_pin ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_simple_connect_properties_get_pin (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>);</pre>
+<p>Gets the PIN code to use when unlocking the modem.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-pin.returns"></a><h4>Returns</h4>
+<p>the PIN, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-set-pin"></a><h3>mm_simple_connect_properties_set_pin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_connect_properties_set_pin (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *pin</code></em>);</pre>
+<p>Sets the PIN code to use when unlocking the modem.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-set-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pin</p></td>
+<td class="parameter_description"><p>PIN code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-get-operator-id"></a><h3>mm_simple_connect_properties_get_operator_id ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_simple_connect_properties_get_operator_id
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>);</pre>
+<p>Gets the ID of the network to which register before connecting.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-operator-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-operator-id.returns"></a><h4>Returns</h4>
+<p>the operator ID, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-set-operator-id"></a><h3>mm_simple_connect_properties_set_operator_id ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_connect_properties_set_operator_id
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *operator_id</code></em>);</pre>
+<p>Sets the ID of the network to which register before connecting.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-set-operator-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>operator_id</p></td>
+<td class="parameter_description"><p>operator ID, given as MCC/MNC.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-get-apn"></a><h3>mm_simple_connect_properties_get_apn ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_simple_connect_properties_get_apn (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>);</pre>
+<p>Gets the name of the access point to use when connecting.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-apn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-apn.returns"></a><h4>Returns</h4>
+<p>the access point, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-set-apn"></a><h3>mm_simple_connect_properties_set_apn ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_connect_properties_set_apn (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *apn</code></em>);</pre>
+<p>Sets the name of the access point to use when connecting.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-set-apn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>apn</p></td>
+<td class="parameter_description"><p>Name of the access point.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-get-allowed-auth"></a><h3>mm_simple_connect_properties_get_allowed_auth ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="returnvalue">MMBearerAllowedAuth</span></a>
+mm_simple_connect_properties_get_allowed_auth
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>);</pre>
+<p>Gets the authentication methods allowed in the connection.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-allowed-auth.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-allowed-auth.returns"></a><h4>Returns</h4>
+<p> a bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="type">MMBearerAllowedAuth</span></a> values, or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-UNKNOWN:CAPS"><code class="literal">MM_BEARER_ALLOWED_AUTH_UNKNOWN</code></a> to request the modem-default method.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-set-allowed-auth"></a><h3>mm_simple_connect_properties_set_allowed_auth ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_connect_properties_set_allowed_auth
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="type">MMBearerAllowedAuth</span></a> allowed_auth</code></em>);</pre>
+<p>Sets the authentication method to use.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-set-allowed-auth.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>allowed_auth</p></td>
+<td class="parameter_description"><p>a bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="type">MMBearerAllowedAuth</span></a> values. <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-BEARER-ALLOWED-AUTH-UNKNOWN:CAPS"><code class="literal">MM_BEARER_ALLOWED_AUTH_UNKNOWN</code></a> may be given to request the modem-default method.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-get-user"></a><h3>mm_simple_connect_properties_get_user ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_simple_connect_properties_get_user (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>);</pre>
+<p>Gets the username used to authenticate with the access point.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-user.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-user.returns"></a><h4>Returns</h4>
+<p>the username, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-set-user"></a><h3>mm_simple_connect_properties_set_user ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_connect_properties_set_user (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *user</code></em>);</pre>
+<p>Sets the username used to authenticate with the access point.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-set-user.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user</p></td>
+<td class="parameter_description"><p>the username</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-get-password"></a><h3>mm_simple_connect_properties_get_password ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_simple_connect_properties_get_password
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>);</pre>
+<p>Gets the password used to authenticate with the access point.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-password.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-password.returns"></a><h4>Returns</h4>
+<p>the password, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-set-password"></a><h3>mm_simple_connect_properties_set_password ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_connect_properties_set_password
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *password</code></em>);</pre>
+<p>Sets the password used to authenticate with the access point.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-set-password.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>password</p></td>
+<td class="parameter_description"><p>the password</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-get-ip-type"></a><h3>mm_simple_connect_properties_get_ip_type ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="returnvalue">MMBearerIpFamily</span></a>
+mm_simple_connect_properties_get_ip_type
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>);</pre>
+<p>Sets the IP type to use.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-ip-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-ip-type.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="type">MMBearerIpFamily</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-set-ip-type"></a><h3>mm_simple_connect_properties_set_ip_type ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_connect_properties_set_ip_type
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="type">MMBearerIpFamily</span></a> ip_type</code></em>);</pre>
+<p>Sets the IP type to use.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-set-ip-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ip_type</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="type">MMBearerIpFamily</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-get-allow-roaming"></a><h3>mm_simple_connect_properties_get_allow_roaming ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_simple_connect_properties_get_allow_roaming
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>);</pre>
+<p>Checks whether roaming is allowed in the connection.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-allow-roaming.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-allow-roaming.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if roaming is allowed, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise..</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-set-allow-roaming"></a><h3>mm_simple_connect_properties_set_allow_roaming ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_connect_properties_set_allow_roaming
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> allow_roaming</code></em>);</pre>
+<p>Sets the flag to indicate whether roaming is allowed or not in the
+connection.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-set-allow-roaming.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>allow_roaming</p></td>
+<td class="parameter_description"><p>boolean value.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-get-number"></a><h3>mm_simple_connect_properties_get_number ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_simple_connect_properties_get_number
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>);</pre>
+<div class="warning">
+<p><code class="literal">mm_simple_connect_properties_get_number</code> has been deprecated since version 1.10.0. and should not be used in newly-written code.</p>
+<p>The number setting is not used anywhere, and therefore
+it doesn't make sense to expose it in the ModemManager interface.</p>
+</div>
+<p>Gets the number to use when performing the connection.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-get-number.returns"></a><h4>Returns</h4>
+<p>the number, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if not set. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-connect-properties-set-number"></a><h3>mm_simple_connect_properties_set_number ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_connect_properties_set_number
+ (<em class="parameter"><code><a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *number</code></em>);</pre>
+<div class="warning">
+<p><code class="literal">mm_simple_connect_properties_set_number</code> has been deprecated since version 1.10.0. and should not be used in newly-written code.</p>
+<p>The number setting is not used anywhere, and therefore
+it doesn't make sense to expose it in the ModemManager interface.</p>
+</div>
+<p>Sets the number to use when performing the connection.</p>
+<div class="refsect3">
+<a name="mm-simple-connect-properties-set-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>number</p></td>
+<td class="parameter_description"><p>the number.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMSimpleConnectProperties.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMSimpleConnectProperties-struct"></a><h3>struct MMSimpleConnectProperties</h3>
+<pre class="programlisting">struct MMSimpleConnectProperties;</pre>
+<p>The <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties"><span class="type">MMSimpleConnectProperties</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMSimpleStatus.html b/docs/reference/libmm-glib/html/MMSimpleStatus.html
new file mode 100644
index 00000000..a39966a9
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMSimpleStatus.html
@@ -0,0 +1,700 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMSimpleStatus: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03s02.html" title="Simple interface support">
+<link rel="prev" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">
+<link rel="next" href="ch03s03.html" title="Location support">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMSimpleStatus.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMSimpleStatus.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MMSimpleStatus.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03s02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMSimpleConnectProperties.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s03.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMSimpleStatus"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMSimpleStatus.top_of_page"></a>MMSimpleStatus</span></h2>
+<p>MMSimpleStatus — Helper object to handle overall modem status.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMSimpleStatus.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="returnvalue">MMModemState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-state" title="mm_simple_status_get_state ()">mm_simple_status_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-signal-quality" title="mm_simple_status_get_signal_quality ()">mm_simple_status_get_signal_quality</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="returnvalue">MMModemAccessTechnology</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-access-technologies" title="mm_simple_status_get_access_technologies ()">mm_simple_status_get_access_technologies</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-current-bands" title="mm_simple_status_get_current_bands ()">mm_simple_status_get_current_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="returnvalue">MMModem3gppRegistrationState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-3gpp-registration-state" title="mm_simple_status_get_3gpp_registration_state ()">mm_simple_status_get_3gpp_registration_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-3gpp-operator-code" title="mm_simple_status_get_3gpp_operator_code ()">mm_simple_status_get_3gpp_operator_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-3gpp-operator-name" title="mm_simple_status_get_3gpp_operator_name ()">mm_simple_status_get_3gpp_operator_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="returnvalue">MMModem3gppSubscriptionState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-3gpp-subscription-state" title="mm_simple_status_get_3gpp_subscription_state ()">mm_simple_status_get_3gpp_subscription_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="returnvalue">MMModemCdmaRegistrationState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-cdma-cdma1x-registration-state" title="mm_simple_status_get_cdma_cdma1x_registration_state ()">mm_simple_status_get_cdma_cdma1x_registration_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="returnvalue">MMModemCdmaRegistrationState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-cdma-evdo-registration-state" title="mm_simple_status_get_cdma_evdo_registration_state ()">mm_simple_status_get_cdma_evdo_registration_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-cdma-nid" title="mm_simple_status_get_cdma_nid ()">mm_simple_status_get_cdma_nid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-cdma-sid" title="mm_simple_status_get_cdma_sid ()">mm_simple_status_get_cdma_sid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSimpleStatus.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="type">MMModemAccessTechnology</span></a></td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--access-technologies" title="The “access-technologies” property">access-technologies</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a></td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--cdma-cdma1x-registration-state" title="The “cdma-cdma1x-registration-state” property">cdma-cdma1x-registration-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a></td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--cdma-evdo-registration-state" title="The “cdma-evdo-registration-state” property">cdma-evdo-registration-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--cdma-nid" title="The “cdma-nid” property">cdma-nid</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--cdma-sid" title="The “cdma-sid” property">cdma-sid</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--current-bands" title="The “current-bands” property">current-bands</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--m3gpp-operator-code" title="The “m3gpp-operator-code” property">m3gpp-operator-code</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--m3gpp-operator-name" title="The “m3gpp-operator-name” property">m3gpp-operator-name</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="type">MMModem3gppRegistrationState</span></a></td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--m3gpp-registration-state" title="The “m3gpp-registration-state” property">m3gpp-registration-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="type">MMModem3gppSubscriptionState</span></a></td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--m3gpp-subscription-state" title="The “m3gpp-subscription-state” property">m3gpp-subscription-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--signal-quality" title="The “signal-quality” property">signal-quality</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="type">MMModemState</span></a></td>
+<td class="property_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus--state" title="The “state” property">state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSimpleStatus.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMSimpleStatus.html#MMSimpleStatus-struct" title="struct MMSimpleStatus">MMSimpleStatus</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSimpleStatus.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMSimpleStatus
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMSimpleStatus.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> is an object handling the general modem status properties,
+available in the Simple interface.</p>
+<p>This object is retrieved with either <a class="link" href="MMModemSimple.html#mm-modem-simple-get-status" title="mm_modem_simple_get_status ()"><code class="function">mm_modem_simple_get_status()</code></a> or
+<a class="link" href="MMModemSimple.html#mm-modem-simple-get-status-sync" title="mm_modem_simple_get_status_sync ()"><code class="function">mm_modem_simple_get_status_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMSimpleStatus.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-simple-status-get-state"></a><h3>mm_simple_status_get_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="returnvalue">MMModemState</span></a>
+mm_simple_status_get_state (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the state of the modem.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="type">MMModemState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-signal-quality"></a><h3>mm_simple_status_get_signal_quality ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint32"><span class="returnvalue">guint32</span></a>
+mm_simple_status_get_signal_quality (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *recent</code></em>);</pre>
+<p>Gets the signal quality.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-signal-quality.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>recent</p></td>
+<td class="parameter_description"><p>indication of whether the given signal quality is considered recent. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-signal-quality.returns"></a><h4>Returns</h4>
+<p> the signal quality.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-access-technologies"></a><h3>mm_simple_status_get_access_technologies ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="returnvalue">MMModemAccessTechnology</span></a>
+mm_simple_status_get_access_technologies
+ (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the currently used access technologies.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-access-technologies.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-access-technologies.returns"></a><h4>Returns</h4>
+<p> a bitmask of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="type">MMModemAccessTechnology</span></a> values.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-current-bands"></a><h3>mm_simple_status_get_current_bands ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_simple_status_get_current_bands (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> **bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *n_bands</code></em>);</pre>
+<p>Gets the currently used frequency bands.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-current-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bands</p></td>
+<td class="parameter_description"><p>location for an array of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> values. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>n_bands</p></td>
+<td class="parameter_description"><p>number of elements in <em class="parameter"><code>bands</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-3gpp-registration-state"></a><h3>mm_simple_status_get_3gpp_registration_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="returnvalue">MMModem3gppRegistrationState</span></a>
+mm_simple_status_get_3gpp_registration_state
+ (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the current state of the registration in the 3GPP network.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-3gpp-registration-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-3gpp-registration-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="type">MMModem3gppRegistrationState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-3gpp-operator-code"></a><h3>mm_simple_status_get_3gpp_operator_code ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_simple_status_get_3gpp_operator_code
+ (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the MCC/MNC of the operator of the 3GPP network where the modem is registered.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-3gpp-operator-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-3gpp-operator-code.returns"></a><h4>Returns</h4>
+<p> the operator code, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-3gpp-operator-name"></a><h3>mm_simple_status_get_3gpp_operator_name ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_simple_status_get_3gpp_operator_name
+ (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the name of the operator of the 3GPP network where the modem is registered.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-3gpp-operator-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-3gpp-operator-name.returns"></a><h4>Returns</h4>
+<p> the operator name, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if unknown. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-3gpp-subscription-state"></a><h3>mm_simple_status_get_3gpp_subscription_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="returnvalue">MMModem3gppSubscriptionState</span></a>
+mm_simple_status_get_3gpp_subscription_state
+ (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the current subscription status of the account.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-3gpp-subscription-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-3gpp-subscription-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="type">MMModem3gppSubscriptionState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-cdma-cdma1x-registration-state"></a><h3>mm_simple_status_get_cdma_cdma1x_registration_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="returnvalue">MMModemCdmaRegistrationState</span></a>
+mm_simple_status_get_cdma_cdma1x_registration_state
+ (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the current state of the registration in the CDMA-1x network.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-cdma-cdma1x-registration-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-cdma-cdma1x-registration-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-cdma-evdo-registration-state"></a><h3>mm_simple_status_get_cdma_evdo_registration_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="returnvalue">MMModemCdmaRegistrationState</span></a>
+mm_simple_status_get_cdma_evdo_registration_state
+ (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the current state of the registration in the EV-DO network.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-cdma-evdo-registration-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-cdma-evdo-registration-state.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-cdma-nid"></a><h3>mm_simple_status_get_cdma_nid ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_simple_status_get_cdma_nid (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the Network Identification number of the CDMA network.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-cdma-nid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-cdma-nid.returns"></a><h4>Returns</h4>
+<p> the NID, or <a class="link" href="MMModemCdma.html#MM-MODEM-CDMA-NID-UNKNOWN:CAPS" title="MM_MODEM_CDMA_NID_UNKNOWN"><code class="literal">MM_MODEM_CDMA_NID_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-simple-status-get-cdma-sid"></a><h3>mm_simple_status_get_cdma_sid ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_simple_status_get_cdma_sid (<em class="parameter"><code><a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> *self</code></em>);</pre>
+<p>Gets the System Identification number of the CDMA network.</p>
+<div class="refsect3">
+<a name="mm-simple-status-get-cdma-sid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-simple-status-get-cdma-sid.returns"></a><h4>Returns</h4>
+<p> the SID, or <a class="link" href="MMModemCdma.html#MM-MODEM-CDMA-SID-UNKNOWN:CAPS" title="MM_MODEM_CDMA_SID_UNKNOWN"><code class="literal">MM_MODEM_CDMA_SID_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMSimpleStatus.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMSimpleStatus-struct"></a><h3>struct MMSimpleStatus</h3>
+<pre class="programlisting">struct MMSimpleStatus;</pre>
+<p>The <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus"><span class="type">MMSimpleStatus</span></a> structure contains private data and should
+only be accessed using the provided API.</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMSimpleStatus.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MMSimpleStatus--access-technologies"></a><h3>The <code class="literal">“access-technologies”</code> property</h3>
+<pre class="programlisting"> “access-technologies” <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="type">MMModemAccessTechnology</span></a></pre>
+<p>Access technologies used by the modem.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--cdma-cdma1x-registration-state"></a><h3>The <code class="literal">“cdma-cdma1x-registration-state”</code> property</h3>
+<pre class="programlisting"> “cdma-cdma1x-registration-state” <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a></pre>
+<p>Registration state in the CDMA1x network.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--cdma-evdo-registration-state"></a><h3>The <code class="literal">“cdma-evdo-registration-state”</code> property</h3>
+<pre class="programlisting"> “cdma-evdo-registration-state” <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a></pre>
+<p>Registration state in the EV-DO network.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: MM_MODEM_CDMA_REGISTRATION_STATE_UNKNOWN</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--cdma-nid"></a><h3>The <code class="literal">“cdma-nid”</code> property</h3>
+<pre class="programlisting"> “cdma-nid” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Network Identifier of the serving CDMA1x network.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &lt;= 99999</p>
+<p>Default value: 99999</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--cdma-sid"></a><h3>The <code class="literal">“cdma-sid”</code> property</h3>
+<pre class="programlisting"> “cdma-sid” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>System Identifier of the serving CDMA1x network.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &lt;= 99999</p>
+<p>Default value: 99999</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--current-bands"></a><h3>The <code class="literal">“current-bands”</code> property</h3>
+<pre class="programlisting"> “current-bands” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Frequency bands used by the modem.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;au&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--m3gpp-operator-code"></a><h3>The <code class="literal">“m3gpp-operator-code”</code> property</h3>
+<pre class="programlisting"> “m3gpp-operator-code” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Code of the current operator in the 3GPP network.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--m3gpp-operator-name"></a><h3>The <code class="literal">“m3gpp-operator-name”</code> property</h3>
+<pre class="programlisting"> “m3gpp-operator-name” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Name of the current operator in the 3GPP network.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--m3gpp-registration-state"></a><h3>The <code class="literal">“m3gpp-registration-state”</code> property</h3>
+<pre class="programlisting"> “m3gpp-registration-state” <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="type">MMModem3gppRegistrationState</span></a></pre>
+<p>Registration state in the 3GPP network.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: MM_MODEM_3GPP_REGISTRATION_STATE_UNKNOWN</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--m3gpp-subscription-state"></a><h3>The <code class="literal">“m3gpp-subscription-state”</code> property</h3>
+<pre class="programlisting"> “m3gpp-subscription-state” <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="type">MMModem3gppSubscriptionState</span></a></pre>
+<p>Subscription state of the account.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: MM_MODEM_3GPP_SUBSCRIPTION_STATE_UNKNOWN</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--signal-quality"></a><h3>The <code class="literal">“signal-quality”</code> property</h3>
+<pre class="programlisting"> “signal-quality” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Signal quality reported by the modem.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;(ub)&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMSimpleStatus--state"></a><h3>The <code class="literal">“state”</code> property</h3>
+<pre class="programlisting"> “state” <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="type">MMModemState</span></a></pre>
+<p>State of the modem.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: MM_MODEM_STATE_UNKNOWN</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMSms.html b/docs/reference/libmm-glib/html/MMSms.html
new file mode 100644
index 00000000..c4263926
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMSms.html
@@ -0,0 +1,1329 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMSms: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch06.html" title="The SMS object">
+<link rel="prev" href="ch06.html" title="The SMS object">
+<link rel="next" href="MMSmsProperties.html" title="MMSmsProperties">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMSms.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMSms.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MMSms.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch06.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch06.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMSmsProperties.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMSms"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMSms.top_of_page"></a>MMSms</span></h2>
+<p>MMSms — The SMS interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMSms.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-path" title="mm_sms_get_path ()">mm_sms_get_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-dup-path" title="mm_sms_dup_path ()">mm_sms_dup_path</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsState"><span class="returnvalue">MMSmsState</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-state" title="mm_sms_get_state ()">mm_sms_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsPduType"><span class="returnvalue">MMSmsPduType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-pdu-type" title="mm_sms_get_pdu_type ()">mm_sms_get_pdu_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="returnvalue">MMSmsStorage</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-storage" title="mm_sms_get_storage ()">mm_sms_get_storage</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-text" title="mm_sms_get_text ()">mm_sms_get_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-dup-text" title="mm_sms_dup_text ()">mm_sms_dup_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-data" title="mm_sms_get_data ()">mm_sms_get_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-dup-data" title="mm_sms_dup_data ()">mm_sms_dup_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-number" title="mm_sms_get_number ()">mm_sms_get_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-dup-number" title="mm_sms_dup_number ()">mm_sms_dup_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-smsc" title="mm_sms_get_smsc ()">mm_sms_get_smsc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-dup-smsc" title="mm_sms_dup_smsc ()">mm_sms_dup_smsc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-message-reference" title="mm_sms_get_message_reference ()">mm_sms_get_message_reference</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-class" title="mm_sms_get_class ()">mm_sms_get_class</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId"><span class="returnvalue">MMSmsCdmaTeleserviceId</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-teleservice-id" title="mm_sms_get_teleservice_id ()">mm_sms_get_teleservice_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory"><span class="returnvalue">MMSmsCdmaServiceCategory</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-service-category" title="mm_sms_get_service_category ()">mm_sms_get_service_category</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsValidityType"><span class="returnvalue">MMSmsValidityType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-validity-type" title="mm_sms_get_validity_type ()">mm_sms_get_validity_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-validity-relative" title="mm_sms_get_validity_relative ()">mm_sms_get_validity_relative</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-timestamp" title="mm_sms_get_timestamp ()">mm_sms_get_timestamp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-dup-timestamp" title="mm_sms_dup_timestamp ()">mm_sms_dup_timestamp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-discharge-timestamp" title="mm_sms_get_discharge_timestamp ()">mm_sms_get_discharge_timestamp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-dup-discharge-timestamp" title="mm_sms_dup_discharge_timestamp ()">mm_sms_dup_discharge_timestamp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-delivery-state" title="mm_sms_get_delivery_state ()">mm_sms_get_delivery_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-get-delivery-report-request" title="mm_sms_get_delivery_report_request ()">mm_sms_get_delivery_report_request</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-send" title="mm_sms_send ()">mm_sms_send</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-send-finish" title="mm_sms_send_finish ()">mm_sms_send_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-send-sync" title="mm_sms_send_sync ()">mm_sms_send_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-store" title="mm_sms_store ()">mm_sms_store</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-store-finish" title="mm_sms_store_finish ()">mm_sms_store_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSms.html#mm-sms-store-sync" title="mm_sms_store_sync ()">mm_sms_store_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSms.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMSms.html#MMSms-struct" title="struct MMSms">MMSms</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSms.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a>
+ <span class="lineart">╰──</span> MMSms
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMSms.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MMSms implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMSms.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> is an object providing access to the methods, signals and
+properties of the SMS interface.</p>
+<p>When the SMS is exposed and available in the bus, it is ensured that at
+least this interface is also available.</p>
+</div>
+<div class="refsect1">
+<a name="MMSms.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-sms-get-path"></a><h3>mm_sms_get_path ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_get_path (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the DBus path of the <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-sms-get-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> object. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-dup-path"></a><h3>mm_sms_dup_path ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_dup_path (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets a copy of the DBus path of the <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> object.</p>
+<div class="refsect3">
+<a name="mm-sms-dup-path.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-dup-path.returns"></a><h4>Returns</h4>
+<p>The DBus path of the <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> object. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-state"></a><h3>mm_sms_get_state ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsState"><span class="returnvalue">MMSmsState</span></a>
+mm_sms_get_state (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the state of this SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-state.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsState"><span class="type">MMSmsState</span></a> specifying the state.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-pdu-type"></a><h3>mm_sms_get_pdu_type ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsPduType"><span class="returnvalue">MMSmsPduType</span></a>
+mm_sms_get_pdu_type (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the PDU type on which this SMS is based.</p>
+<div class="refsect3">
+<a name="mm-sms-get-pdu-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-pdu-type.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsPduType"><span class="type">MMSmsPduType</span></a> specifying the PDU type.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-storage"></a><h3>mm_sms_get_storage ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="returnvalue">MMSmsStorage</span></a>
+mm_sms_get_storage (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the storage in which this SMS is kept.</p>
+<div class="refsect3">
+<a name="mm-sms-get-storage.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-storage.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> specifying the storage.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-text"></a><h3>mm_sms_get_text ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_get_text (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the message text, in UTF-8.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMSms.html#mm-sms-dup-text" title="mm_sms_dup_text ()"><code class="function">mm_sms_dup_text()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-sms-get-text.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-text.returns"></a><h4>Returns</h4>
+<p>The message text, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any (e.g. contains data instead). </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-dup-text"></a><h3>mm_sms_dup_text ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_dup_text (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the message text, in UTF-8.</p>
+<div class="refsect3">
+<a name="mm-sms-dup-text.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-dup-text.returns"></a><h4>Returns</h4>
+<p>The message text, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any (e.g. contains data instead). The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-data"></a><h3>mm_sms_get_data ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+mm_sms_get_data (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *data_len</code></em>);</pre>
+<p>Gets the message data.</p>
+<div class="refsect3">
+<a name="mm-sms-get-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data_len</p></td>
+<td class="parameter_description"><p>Size of the output data, if any given. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-data.returns"></a><h4>Returns</h4>
+<p>The message data, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any (e.g. contains text instead). </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=data_len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-dup-data"></a><h3>mm_sms_dup_data ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+mm_sms_dup_data (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *data_len</code></em>);</pre>
+<p>Gets the message data.</p>
+<div class="refsect3">
+<a name="mm-sms-dup-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data_len</p></td>
+<td class="parameter_description"><p>Size of the output data, if any given. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-dup-data.returns"></a><h4>Returns</h4>
+<p>The message data, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any (e.g. contains text instead). The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=data_len][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-number"></a><h3>mm_sms_get_number ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_get_number (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the number to which the message is addressed.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMSms.html#mm-sms-dup-number" title="mm_sms_dup_number ()"><code class="function">mm_sms_dup_number()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-sms-get-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-number.returns"></a><h4>Returns</h4>
+<p>The number, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-dup-number"></a><h3>mm_sms_dup_number ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_dup_number (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the number to which the message is addressed.</p>
+<div class="refsect3">
+<a name="mm-sms-dup-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-dup-number.returns"></a><h4>Returns</h4>
+<p>The number, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-smsc"></a><h3>mm_sms_get_smsc ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_get_smsc (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the SMS service center number.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMSms.html#mm-sms-dup-smsc" title="mm_sms_dup_smsc ()"><code class="function">mm_sms_dup_smsc()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-sms-get-smsc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-smsc.returns"></a><h4>Returns</h4>
+<p>The number of the SMSC, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-dup-smsc"></a><h3>mm_sms_dup_smsc ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_dup_smsc (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the SMS service center number.</p>
+<div class="refsect3">
+<a name="mm-sms-dup-smsc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-dup-smsc.returns"></a><h4>Returns</h4>
+<p>The number of the SMSC, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-message-reference"></a><h3>mm_sms_get_message_reference ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_sms_get_message_reference (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the message reference of the last PDU sent/received within this SMS.</p>
+<p>If the PDU type is <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="literal">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>, this field identifies the
+message reference of the PDU associated to the status report.</p>
+<div class="refsect3">
+<a name="mm-sms-get-message-reference.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-message-reference.returns"></a><h4>Returns</h4>
+<p> The message reference.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-class"></a><h3>mm_sms_get_class ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+mm_sms_get_class (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the 3GPP message class of the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-get-class.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-class.returns"></a><h4>Returns</h4>
+<p> the message class, or -1 for invalid/unset class.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-teleservice-id"></a><h3>mm_sms_get_teleservice_id ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId"><span class="returnvalue">MMSmsCdmaTeleserviceId</span></a>
+mm_sms_get_teleservice_id (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the 3GPP2 Teleservice ID.</p>
+<div class="refsect3">
+<a name="mm-sms-get-teleservice-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-teleservice-id.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId"><span class="type">MMSmsCdmaTeleserviceId</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-service-category"></a><h3>mm_sms_get_service_category ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory"><span class="returnvalue">MMSmsCdmaServiceCategory</span></a>
+mm_sms_get_service_category (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the 3GPP2 Service Category.</p>
+<div class="refsect3">
+<a name="mm-sms-get-service-category.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-service-category.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory"><span class="type">MMSmsCdmaServiceCategory</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-validity-type"></a><h3>mm_sms_get_validity_type ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsValidityType"><span class="returnvalue">MMSmsValidityType</span></a>
+mm_sms_get_validity_type (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the type of validity information in the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-get-validity-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-validity-type.returns"></a><h4>Returns</h4>
+<p> the validity type or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-VALIDITY-TYPE-UNKNOWN:CAPS"><span class="type">MM_SMS_VALIDITY_TYPE_UNKNOWN</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-validity-relative"></a><h3>mm_sms_get_validity_relative ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_sms_get_validity_relative (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the length of the validity period, in minutes.</p>
+<p>Only applicable if the type of validity is <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-VALIDITY-TYPE-RELATIVE:CAPS"><span class="type">MM_SMS_VALIDITY_TYPE_RELATIVE</span></a>.</p>
+<div class="refsect3">
+<a name="mm-sms-get-validity-relative.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-validity-relative.returns"></a><h4>Returns</h4>
+<p> the length of the validity period, or 0 if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-timestamp"></a><h3>mm_sms_get_timestamp ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_get_timestamp (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the time when the first PDU of the SMS message arrived the SMSC, in</p>
+<a class="ulink" href="http://en.wikipedia.org/wiki/ISO_8601" target="_top">ISO8601</a><p>format.</p>
+<p>This field is only applicable if the PDU type is <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-DELIVER:CAPS"><code class="literal">MM_SMS_PDU_TYPE_DELIVER</code></a> or
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="literal">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMSms.html#mm-sms-dup-timestamp" title="mm_sms_dup_timestamp ()"><code class="function">mm_sms_dup_timestamp()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-sms-get-timestamp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-timestamp.returns"></a><h4>Returns</h4>
+<p>The timestamp, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-dup-timestamp"></a><h3>mm_sms_dup_timestamp ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_dup_timestamp (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the time when the first PDU of the SMS message arrived the SMSC, in</p>
+<a class="ulink" href="http://en.wikipedia.org/wiki/ISO_8601" target="_top">ISO8601</a><p>format.</p>
+<p>This field is only applicable if the PDU type is <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-DELIVER:CAPS"><code class="literal">MM_SMS_PDU_TYPE_DELIVER</code></a> or
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="literal">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sms-dup-timestamp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-dup-timestamp.returns"></a><h4>Returns</h4>
+<p>The timestamp, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-discharge-timestamp"></a><h3>mm_sms_get_discharge_timestamp ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_get_discharge_timestamp (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the time when the first PDU of the SMS message left the SMSC, in</p>
+<a class="ulink" href="http://en.wikipedia.org/wiki/ISO_8601" target="_top">ISO8601</a><p>format.</p>
+<p>This field is only applicable if the PDU type is <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="literal">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>.</p>
+<div class="warning">The returned value is only valid until the property changes so
+it is only safe to use this function on the thread where
+<em class="parameter"><code>self</code></em> was constructed. Use <a class="link" href="MMSms.html#mm-sms-dup-discharge-timestamp" title="mm_sms_dup_discharge_timestamp ()"><code class="function">mm_sms_dup_discharge_timestamp()</code></a> if on another
+thread.</div>
+<div class="refsect3">
+<a name="mm-sms-get-discharge-timestamp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-discharge-timestamp.returns"></a><h4>Returns</h4>
+<p>The timestamp, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-dup-discharge-timestamp"></a><h3>mm_sms_dup_discharge_timestamp ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_dup_discharge_timestamp (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the time when the first PDU of the SMS message left the SMSC, in</p>
+<a class="ulink" href="http://en.wikipedia.org/wiki/ISO_8601" target="_top">ISO8601</a><p>format.</p>
+<p>This field is only applicable if the PDU type is <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="literal">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sms-dup-discharge-timestamp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-dup-discharge-timestamp.returns"></a><h4>Returns</h4>
+<p>The timestamp, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-delivery-state"></a><h3>mm_sms_get_delivery_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_sms_get_delivery_state (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Gets the delivery state of this SMS.</p>
+<p>This field is only applicable if the PDU type is <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><code class="literal">MM_SMS_PDU_TYPE_STATUS_REPORT</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sms-get-delivery-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-delivery-state.returns"></a><h4>Returns</h4>
+<p> A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsDeliveryState"><span class="type">MMSmsDeliveryState</span></a> specifying the delivery state.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-get-delivery-report-request"></a><h3>mm_sms_get_delivery_report_request ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sms_get_delivery_report_request (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>);</pre>
+<p>Checks whether delivery report is requested for this SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-get-delivery-report-request.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-get-delivery-report-request.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if delivery report is requested, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-send"></a><h3>mm_sms_send ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_send (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously requests to queue the message for delivery.</p>
+<p>SMS objects can only be sent once.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMSms.html#mm-sms-send-finish" title="mm_sms_send_finish ()"><code class="function">mm_sms_send_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMSms.html#mm-sms-send-sync" title="mm_sms_send_sync ()"><code class="function">mm_sms_send_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-sms-send.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-send-finish"></a><h3>mm_sms_send_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sms_send_finish (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMSms.html#mm-sms-send" title="mm_sms_send ()"><code class="function">mm_sms_send()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sms-send-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMSms.html#mm-sms-send" title="mm_sms_send ()"><code class="function">mm_sms_send()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-send-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-send-sync"></a><h3>mm_sms_send_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sms_send_sync (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously requests to queue the message for delivery.</p>
+<p>SMS objects can only be sent once.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMSms.html#mm-sms-send" title="mm_sms_send ()"><code class="function">mm_sms_send()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-sms-send-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-send-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-store"></a><h3>mm_sms_store ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_store (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> storage</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronoulsy requests to store the message in the device if not already done.</p>
+<p>SMS objects can only be stored once.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MMSms.html#mm-sms-store-finish" title="mm_sms_store_finish ()"><code class="function">mm_sms_store_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MMSms.html#mm-sms-store-sync" title="mm_sms_store_sync ()"><code class="function">mm_sms_store_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-sms-store.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>storage</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> specifying where to store the SMS, or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-UNKNOWN:CAPS"><span class="type">MM_SMS_STORAGE_UNKNOWN</span></a> to use the default.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-store-finish"></a><h3>mm_sms_store_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sms_store_finish (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MMSms.html#mm-sms-store" title="mm_sms_store ()"><code class="function">mm_sms_store()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-sms-store-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MMSms.html#mm-sms-store" title="mm_sms_store ()"><code class="function">mm_sms_store()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-store-finish.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-store-sync"></a><h3>mm_sms_store_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sms_store_sync (<em class="parameter"><code><a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> storage</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronoulsy requests to store the message in the device if not already done.</p>
+<p>SMS objects can only be stored once.</p>
+<p>The calling thread is blocked until a reply is received.
+See <a class="link" href="MMSms.html#mm-sms-store" title="mm_sms_store ()"><code class="function">mm_sms_store()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-sms-store-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>storage</p></td>
+<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> specifying where to store the SMS, or <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-STORAGE-UNKNOWN:CAPS"><span class="type">MM_SMS_STORAGE_UNKNOWN</span></a> to use the default.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-store-sync.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMSms.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMSms-struct"></a><h3>struct MMSms</h3>
+<pre class="programlisting">struct MMSms;</pre>
+<p>The <a class="link" href="MMSms.html" title="MMSms"><span class="type">MMSms</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMSmsProperties.html b/docs/reference/libmm-glib/html/MMSmsProperties.html
new file mode 100644
index 00000000..1a125a43
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMSmsProperties.html
@@ -0,0 +1,923 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMSmsProperties: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch06.html" title="The SMS object">
+<link rel="prev" href="MMSms.html" title="MMSms">
+<link rel="next" href="ch07.html" title="The Call object">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMSmsProperties.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMSmsProperties.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch06.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMSms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch07.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMSmsProperties"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMSmsProperties.top_of_page"></a>MMSmsProperties</span></h2>
+<p>MMSmsProperties — Helper object to handle SMS properties.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMSmsProperties.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="returnvalue">MMSmsProperties</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-new" title="mm_sms_properties_new ()">mm_sms_properties_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-text" title="mm_sms_properties_get_text ()">mm_sms_properties_get_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-text" title="mm_sms_properties_set_text ()">mm_sms_properties_set_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-data" title="mm_sms_properties_get_data ()">mm_sms_properties_get_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-data" title="mm_sms_properties_set_data ()">mm_sms_properties_set_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-peek-data-bytearray" title="mm_sms_properties_peek_data_bytearray ()">mm_sms_properties_peek_data_bytearray</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-data-bytearray" title="mm_sms_properties_get_data_bytearray ()">mm_sms_properties_get_data_bytearray</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-data-bytearray" title="mm_sms_properties_set_data_bytearray ()">mm_sms_properties_set_data_bytearray</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-number" title="mm_sms_properties_get_number ()">mm_sms_properties_get_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-number" title="mm_sms_properties_set_number ()">mm_sms_properties_set_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-smsc" title="mm_sms_properties_get_smsc ()">mm_sms_properties_get_smsc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-smsc" title="mm_sms_properties_set_smsc ()">mm_sms_properties_set_smsc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsValidityType"><span class="returnvalue">MMSmsValidityType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-validity-type" title="mm_sms_properties_get_validity_type ()">mm_sms_properties_get_validity_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-validity-relative" title="mm_sms_properties_get_validity_relative ()">mm_sms_properties_get_validity_relative</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-validity-relative" title="mm_sms_properties_set_validity_relative ()">mm_sms_properties_set_validity_relative</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-class" title="mm_sms_properties_get_class ()">mm_sms_properties_get_class</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-class" title="mm_sms_properties_set_class ()">mm_sms_properties_set_class</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-delivery-report-request" title="mm_sms_properties_get_delivery_report_request ()">mm_sms_properties_get_delivery_report_request</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-delivery-report-request" title="mm_sms_properties_set_delivery_report_request ()">mm_sms_properties_set_delivery_report_request</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId"><span class="returnvalue">MMSmsCdmaTeleserviceId</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-teleservice-id" title="mm_sms_properties_get_teleservice_id ()">mm_sms_properties_get_teleservice_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-teleservice-id" title="mm_sms_properties_set_teleservice_id ()">mm_sms_properties_set_teleservice_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory"><span class="returnvalue">MMSmsCdmaServiceCategory</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-service-category" title="mm_sms_properties_get_service_category ()">mm_sms_properties_get_service_category</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-service-category" title="mm_sms_properties_set_service_category ()">mm_sms_properties_set_service_category</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSmsProperties.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMSmsProperties.html#MMSmsProperties-struct" title="struct MMSmsProperties">MMSmsProperties</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMSmsProperties.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMSmsProperties
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMSmsProperties.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> is an object handling the properties to be set
+in newly created SMS objects.</p>
+<p>This object is created by the user and passed to ModemManager with either
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-create" title="mm_modem_messaging_create ()"><code class="function">mm_modem_messaging_create()</code></a> or <a class="link" href="MMModemMessaging.html#mm-modem-messaging-create-sync" title="mm_modem_messaging_create_sync ()"><code class="function">mm_modem_messaging_create_sync()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMSmsProperties.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-sms-properties-new"></a><h3>mm_sms_properties_new ()</h3>
+<pre class="programlisting"><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="returnvalue">MMSmsProperties</span></a> *
+mm_sms_properties_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new empty <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-new.returns"></a><h4>Returns</h4>
+<p>a <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>. The returned value should be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-text"></a><h3>mm_sms_properties_get_text ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_properties_get_text (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the message text, in UTF-8.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-text.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-text.returns"></a><h4>Returns</h4>
+<p>The message text, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any (e.g. contains data instead). Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-text"></a><h3>mm_sms_properties_set_text ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_text (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>);</pre>
+<p>Sets the message text.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-text.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>text</p></td>
+<td class="parameter_description"><p>The text to set, in UTF-8.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-data"></a><h3>mm_sms_properties_get_data ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+mm_sms_properties_get_data (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *data_len</code></em>);</pre>
+<p>Gets the message data.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data_len</p></td>
+<td class="parameter_description"><p>Size of the output data, if any given. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-data.returns"></a><h4>Returns</h4>
+<p>The message data, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any (e.g. contains text instead). </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-data"></a><h3>mm_sms_properties_set_data ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_data (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> data_length</code></em>);</pre>
+<p>Sets the message data.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>The data to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data_length</p></td>
+<td class="parameter_description"><p>Length of <em class="parameter"><code>data</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-peek-data-bytearray"></a><h3>mm_sms_properties_peek_data_bytearray ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> *
+mm_sms_properties_peek_data_bytearray (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the message data.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-peek-data-bytearray.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-peek-data-bytearray.returns"></a><h4>Returns</h4>
+<p>A <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> with the message data, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any (e.g. contains text instead). Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-data-bytearray"></a><h3>mm_sms_properties_get_data_bytearray ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="returnvalue">GByteArray</span></a> *
+mm_sms_properties_get_data_bytearray (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the message data.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-data-bytearray.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-data-bytearray.returns"></a><h4>Returns</h4>
+<p>A <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> with the message data, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it doesn't contain any (e.g. contains text instead). The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#g-byte-array-unref"><code class="function">g_byte_array_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-data-bytearray"></a><h3>mm_sms_properties_set_data_bytearray ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_data_bytearray (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> *data</code></em>);</pre>
+<p>Sets the message data.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-data-bytearray.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/glib/unstable/glib-Byte-Arrays.html#GByteArray"><span class="type">GByteArray</span></a> with the data to set. This method takes a new reference of <em class="parameter"><code>data</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-number"></a><h3>mm_sms_properties_get_number ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_properties_get_number (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the number to which the message is addressed.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-number.returns"></a><h4>Returns</h4>
+<p>The number, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-number"></a><h3>mm_sms_properties_set_number ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_number (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *number</code></em>);</pre>
+<p>Sets the number to which the message is addressed.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>number</p></td>
+<td class="parameter_description"><p>The number.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-smsc"></a><h3>mm_sms_properties_get_smsc ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_properties_get_smsc (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the SMS service center number.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-smsc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-smsc.returns"></a><h4>Returns</h4>
+<p>The number of the SMSC, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if it couldn't be retrieved. Do not free the returned value, it is owned by <em class="parameter"><code>self</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-smsc"></a><h3>mm_sms_properties_set_smsc ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_smsc (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *smsc</code></em>);</pre>
+<p>Sets the SMS service center number.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-smsc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>smsc</p></td>
+<td class="parameter_description"><p>The SMSC number.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-validity-type"></a><h3>mm_sms_properties_get_validity_type ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsValidityType"><span class="returnvalue">MMSmsValidityType</span></a>
+mm_sms_properties_get_validity_type (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the relative validity type the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-validity-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-validity-type.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsValidityType"><span class="type">MMSmsValidityType</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-validity-relative"></a><h3>mm_sms_properties_get_validity_relative ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_sms_properties_get_validity_relative
+ (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the relative validity time of the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-validity-relative.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-validity-relative.returns"></a><h4>Returns</h4>
+<p> the validity time or 0 if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-validity-relative"></a><h3>mm_sms_properties_set_validity_relative ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_validity_relative
+ (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> validity</code></em>);</pre>
+<p>Sets the relative validity time of the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-validity-relative.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>validity</p></td>
+<td class="parameter_description"><p>The validity of <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MM-SMS-VALIDITY-TYPE-RELATIVE:CAPS"><code class="literal">MM_SMS_VALIDITY_TYPE_RELATIVE</code></a> type.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-class"></a><h3>mm_sms_properties_get_class ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+mm_sms_properties_get_class (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the 3GPP message class of the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-class.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-class.returns"></a><h4>Returns</h4>
+<p> the message class, or -1 for invalid/unset class.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-class"></a><h3>mm_sms_properties_set_class ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_class (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> message_class</code></em>);</pre>
+<p>Sets the 3GPP message class of the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-class.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>message_class</p></td>
+<td class="parameter_description"><p>The message class (0..3), or -1 for invalid/unset class.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-delivery-report-request"></a><h3>mm_sms_properties_get_delivery_report_request ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_sms_properties_get_delivery_report_request
+ (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Checks whether delivery report is requested for the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-delivery-report-request.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-delivery-report-request.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if delivery report is requested, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-delivery-report-request"></a><h3>mm_sms_properties_set_delivery_report_request ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_delivery_report_request
+ (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> request</code></em>);</pre>
+<p>Sets whether delivery report is requested for the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-delivery-report-request.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>request</p></td>
+<td class="parameter_description"><p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if delivery report is requested, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-teleservice-id"></a><h3>mm_sms_properties_get_teleservice_id ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId"><span class="returnvalue">MMSmsCdmaTeleserviceId</span></a>
+mm_sms_properties_get_teleservice_id (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the CDMA teleservice ID of the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-teleservice-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-teleservice-id.returns"></a><h4>Returns</h4>
+<p> the CDMA teleservice ID.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-teleservice-id"></a><h3>mm_sms_properties_set_teleservice_id ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_teleservice_id (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId"><span class="type">MMSmsCdmaTeleserviceId</span></a> teleservice_id</code></em>);</pre>
+<p>Sets the CDMA teleservice ID of the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-teleservice-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>teleservice_id</p></td>
+<td class="parameter_description"><p>The CDMA teleservice ID.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-get-service-category"></a><h3>mm_sms_properties_get_service_category ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory"><span class="returnvalue">MMSmsCdmaServiceCategory</span></a>
+mm_sms_properties_get_service_category
+ (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>);</pre>
+<p>Gets the CDMA message service category of the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-get-service-category.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-properties-get-service-category.returns"></a><h4>Returns</h4>
+<p> the CDMA service category.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-properties-set-service-category"></a><h3>mm_sms_properties_set_service_category ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_sms_properties_set_service_category
+ (<em class="parameter"><code><a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory"><span class="type">MMSmsCdmaServiceCategory</span></a> service_category</code></em>);</pre>
+<p>Sets the CDMA service category of the SMS.</p>
+<div class="refsect3">
+<a name="mm-sms-properties-set-service-category.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>service_category</p></td>
+<td class="parameter_description"><p>The CDMA service category.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMSmsProperties.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMSmsProperties-struct"></a><h3>struct MMSmsProperties</h3>
+<pre class="programlisting">struct MMSmsProperties;</pre>
+<p>The <a class="link" href="MMSmsProperties.html" title="MMSmsProperties"><span class="type">MMSmsProperties</span></a> structure contains private data and should only be
+accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MMUnlockRetries.html b/docs/reference/libmm-glib/html/MMUnlockRetries.html
new file mode 100644
index 00000000..6fccfbfc
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MMUnlockRetries.html
@@ -0,0 +1,236 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MMUnlockRetries: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html#id-1.2.4.3" title="Generic interfaces">
+<link rel="prev" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">
+<link rel="next" href="ch03s02.html" title="Simple interface support">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MMUnlockRetries.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MMUnlockRetries.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html#id-1.2.4.3"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMCdmaManualActivationProperties.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch03s02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MMUnlockRetries"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MMUnlockRetries.top_of_page"></a>MMUnlockRetries</span></h2>
+<p>MMUnlockRetries — Helper object to report unlock retries.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MMUnlockRetries.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MMUnlockRetries.html#mm-unlock-retries-get" title="mm_unlock_retries_get ()">mm_unlock_retries_get</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<span class="c_punctuation">(</span><a class="link" href="MMUnlockRetries.html#MMUnlockRetriesForeachCb" title="MMUnlockRetriesForeachCb ()">*MMUnlockRetriesForeachCb</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MMUnlockRetries.html#mm-unlock-retries-foreach" title="mm_unlock_retries_foreach ()">mm_unlock_retries_foreach</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMUnlockRetries.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MMUnlockRetries.html#MMUnlockRetries-struct" title="struct MMUnlockRetries">MMUnlockRetries</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="MMUnlockRetries.html#MM-UNLOCK-RETRIES-UNKNOWN:CAPS" title="MM_UNLOCK_RETRIES_UNKNOWN">MM_UNLOCK_RETRIES_UNKNOWN</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MMUnlockRetries.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> MMUnlockRetries
+</pre>
+</div>
+<div class="refsect1">
+<a name="MMUnlockRetries.description"></a><h2>Description</h2>
+<p>The <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a> is an object exposing the unlock retry counts for
+different <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="type">MMModemLock</span></a> values.</p>
+<p>This object is retrieved from the <a class="link" href="MMModem.html" title="MMModem"><span class="type">MMModem</span></a> object with either
+<a class="link" href="MMModem.html#mm-modem-get-unlock-retries" title="mm_modem_get_unlock_retries ()"><code class="function">mm_modem_get_unlock_retries()</code></a> or <a class="link" href="MMModem.html#mm-modem-peek-unlock-retries" title="mm_modem_peek_unlock_retries ()"><code class="function">mm_modem_peek_unlock_retries()</code></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MMUnlockRetries.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-unlock-retries-get"></a><h3>mm_unlock_retries_get ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_unlock_retries_get (<em class="parameter"><code><a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a> *self</code></em>,
+ <em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="type">MMModemLock</span></a> lock</code></em>);</pre>
+<p>Gets the unlock retries for the given <em class="parameter"><code>lock</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-unlock-retries-get.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>lock</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="type">MMModemLock</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-unlock-retries-get.returns"></a><h4>Returns</h4>
+<p> the unlock retries or <a class="link" href="MMUnlockRetries.html#MM-UNLOCK-RETRIES-UNKNOWN:CAPS" title="MM_UNLOCK_RETRIES_UNKNOWN"><code class="literal">MM_UNLOCK_RETRIES_UNKNOWN</code></a> if unknown.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MMUnlockRetriesForeachCb"></a><h3>MMUnlockRetriesForeachCb ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+<span class="c_punctuation">(</span>*MMUnlockRetriesForeachCb<span class="c_punctuation">)</span> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="type">MMModemLock</span></a> lock</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Specifies the type of function passed to <a class="link" href="MMUnlockRetries.html#mm-unlock-retries-foreach" title="mm_unlock_retries_foreach ()"><code class="function">mm_unlock_retries_foreach()</code></a>.</p>
+<div class="refsect3">
+<a name="MMUnlockRetriesForeachCb.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>lock</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="type">MMModemLock</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>count</p></td>
+<td class="parameter_description"><p>the number of retries left for <em class="parameter"><code>lock</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>data passed to the function.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-unlock-retries-foreach"></a><h3>mm_unlock_retries_foreach ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_unlock_retries_foreach (<em class="parameter"><code><a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a> *self</code></em>,
+ <em class="parameter"><code><a class="link" href="MMUnlockRetries.html#MMUnlockRetriesForeachCb" title="MMUnlockRetriesForeachCb ()"><span class="type">MMUnlockRetriesForeachCb</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Executes <em class="parameter"><code>callback</code></em>
+ for each lock information found in <em class="parameter"><code>self</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-unlock-retries-foreach.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>self</p></td>
+<td class="parameter_description"><p>a <em class="parameter"><code>MMUnlockRetries</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>callback to call for each available lock. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid only during the call to the method."><span class="acronym">scope call</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>data to pass to <em class="parameter"><code>callback</code></em>
+. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'user_data', for callbacks; many bindings can pass NULL here."><span class="acronym">closure</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MMUnlockRetries.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MMUnlockRetries-struct"></a><h3>struct MMUnlockRetries</h3>
+<pre class="programlisting">struct MMUnlockRetries;</pre>
+<p>The <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries"><span class="type">MMUnlockRetries</span></a> structure contains private data and should only be accessed
+using the provided API.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MM-UNLOCK-RETRIES-UNKNOWN:CAPS"></a><h3>MM_UNLOCK_RETRIES_UNKNOWN</h3>
+<pre class="programlisting">#define MM_UNLOCK_RETRIES_UNKNOWN 999
+</pre>
+<p>Identifier for reporting unknown unlock retries.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusBearer.html b/docs/reference/libmm-glib/html/MmGdbusBearer.html
new file mode 100644
index 00000000..5aed3c88
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusBearer.html
@@ -0,0 +1,1312 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusBearer: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemSimpleSkeleton.html" title="MmGdbusModemSimpleSkeleton">
+<link rel="next" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearer.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearer.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearer.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearer.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearer.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearer.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemSimpleSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusBearerProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusBearer"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusBearer.top_of_page"></a>MmGdbusBearer</span></h2>
+<p>MmGdbusBearer — Generated C code for the org.freedesktop.ModemManager1.Bearer D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusBearer.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-interface" title="mm_gdbus_bearer_get_interface ()">mm_gdbus_bearer_get_interface</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-interface" title="mm_gdbus_bearer_dup_interface ()">mm_gdbus_bearer_dup_interface</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-ip4-config" title="mm_gdbus_bearer_get_ip4_config ()">mm_gdbus_bearer_get_ip4_config</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-ip4-config" title="mm_gdbus_bearer_dup_ip4_config ()">mm_gdbus_bearer_dup_ip4_config</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-ip6-config" title="mm_gdbus_bearer_get_ip6_config ()">mm_gdbus_bearer_get_ip6_config</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-ip6-config" title="mm_gdbus_bearer_dup_ip6_config ()">mm_gdbus_bearer_dup_ip6_config</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-ip-timeout" title="mm_gdbus_bearer_get_ip_timeout ()">mm_gdbus_bearer_get_ip_timeout</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-properties" title="mm_gdbus_bearer_get_properties ()">mm_gdbus_bearer_get_properties</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-properties" title="mm_gdbus_bearer_dup_properties ()">mm_gdbus_bearer_dup_properties</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-connected" title="mm_gdbus_bearer_get_connected ()">mm_gdbus_bearer_get_connected</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-suspended" title="mm_gdbus_bearer_get_suspended ()">mm_gdbus_bearer_get_suspended</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-bearer-type" title="mm_gdbus_bearer_get_bearer_type ()">mm_gdbus_bearer_get_bearer_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-stats" title="mm_gdbus_bearer_get_stats ()">mm_gdbus_bearer_get_stats</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-stats" title="mm_gdbus_bearer_dup_stats ()">mm_gdbus_bearer_dup_stats</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect" title="mm_gdbus_bearer_call_connect ()">mm_gdbus_bearer_call_connect</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect-finish" title="mm_gdbus_bearer_call_connect_finish ()">mm_gdbus_bearer_call_connect_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect-sync" title="mm_gdbus_bearer_call_connect_sync ()">mm_gdbus_bearer_call_connect_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect" title="mm_gdbus_bearer_call_disconnect ()">mm_gdbus_bearer_call_disconnect</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect-finish" title="mm_gdbus_bearer_call_disconnect_finish ()">mm_gdbus_bearer_call_disconnect_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect-sync" title="mm_gdbus_bearer_call_disconnect_sync ()">mm_gdbus_bearer_call_disconnect_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer--bearer-type" title="The “bearer-type” property">bearer-type</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer--connected" title="The “connected” property">connected</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer--interface" title="The “interface” property">interface</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer--ip-timeout" title="The “ip-timeout” property">ip-timeout</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer--ip4-config" title="The “ip4-config” property">ip4-config</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer--ip6-config" title="The “ip6-config” property">ip6-config</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer--properties" title="The “properties” property">properties</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer--stats" title="The “stats” property">stats</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer--suspended" title="The “suspended” property">suspended</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer-handle-connect" title="The “handle-connect” signal">handle-connect</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer-handle-disconnect" title="The “handle-disconnect” signal">handle-disconnect</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearer-struct" title="MmGdbusBearer">MmGdbusBearer</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusBearer.html#MmGdbusBearerIface" title="struct MmGdbusBearerIface">MmGdbusBearerIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusBearer
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusBearer requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusBearer is implemented by
+ <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>, <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a> and <a class="link" href="MmGdbusBearerSkeleton.html" title="MmGdbusBearerSkeleton">MmGdbusBearerSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Bearer D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-get-interface"></a><h3>mm_gdbus_bearer_get_interface ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_bearer_get_interface (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface">"Interface"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-interface" title="mm_gdbus_bearer_dup_interface ()"><code class="function">mm_gdbus_bearer_dup_interface()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-interface.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-interface.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-dup-interface"></a><h3>mm_gdbus_bearer_dup_interface ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_bearer_dup_interface (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface">"Interface"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-interface.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-interface.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-get-ip4-config"></a><h3>mm_gdbus_bearer_get_ip4_config ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_bearer_get_ip4_config (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config">"Ip4Config"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-ip4-config" title="mm_gdbus_bearer_dup_ip4_config ()"><code class="function">mm_gdbus_bearer_dup_ip4_config()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-ip4-config.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-ip4-config.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-dup-ip4-config"></a><h3>mm_gdbus_bearer_dup_ip4_config ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_bearer_dup_ip4_config (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config">"Ip4Config"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-ip4-config.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-ip4-config.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-get-ip6-config"></a><h3>mm_gdbus_bearer_get_ip6_config ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_bearer_get_ip6_config (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config">"Ip6Config"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-ip6-config" title="mm_gdbus_bearer_dup_ip6_config ()"><code class="function">mm_gdbus_bearer_dup_ip6_config()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-ip6-config.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-ip6-config.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-dup-ip6-config"></a><h3>mm_gdbus_bearer_dup_ip6_config ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_bearer_dup_ip6_config (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config">"Ip6Config"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-ip6-config.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-ip6-config.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-get-ip-timeout"></a><h3>mm_gdbus_bearer_get_ip_timeout ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_bearer_get_ip_timeout (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.IpTimeout">"IpTimeout"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-ip-timeout.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-ip-timeout.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-get-properties"></a><h3>mm_gdbus_bearer_get_properties ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_bearer_get_properties (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties">"Properties"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-properties" title="mm_gdbus_bearer_dup_properties ()"><code class="function">mm_gdbus_bearer_dup_properties()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-properties.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-properties.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-dup-properties"></a><h3>mm_gdbus_bearer_dup_properties ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_bearer_dup_properties (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties">"Properties"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-properties.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-properties.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-get-connected"></a><h3>mm_gdbus_bearer_get_connected ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_bearer_get_connected (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Connected">"Connected"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-connected.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-connected.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-get-suspended"></a><h3>mm_gdbus_bearer_get_suspended ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_bearer_get_suspended (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Suspended">"Suspended"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-suspended.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-suspended.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-get-bearer-type"></a><h3>mm_gdbus_bearer_get_bearer_type ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_bearer_get_bearer_type (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.BearerType">"BearerType"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-bearer-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-bearer-type.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-get-stats"></a><h3>mm_gdbus_bearer_get_stats ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_bearer_get_stats (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats">"Stats"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-stats" title="mm_gdbus_bearer_dup_stats ()"><code class="function">mm_gdbus_bearer_dup_stats()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-stats.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-get-stats.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-dup-stats"></a><h3>mm_gdbus_bearer_dup_stats ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_bearer_dup_stats (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats">"Stats"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-stats.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-dup-stats.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-call-connect"></a><h3>mm_gdbus_bearer_call_connect ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_bearer_call_connect (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect"><GTKDOCLINK HREF="Connect"><code class="function">Connect()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect-finish" title="mm_gdbus_bearer_call_connect_finish ()"><code class="function">mm_gdbus_bearer_call_connect_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect-sync" title="mm_gdbus_bearer_call_connect_sync ()"><code class="function">mm_gdbus_bearer_call_connect_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-connect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy"><span class="type">MmGdbusBearerProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-call-connect-finish"></a><h3>mm_gdbus_bearer_call_connect_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_bearer_call_connect_finish (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect" title="mm_gdbus_bearer_call_connect ()"><code class="function">mm_gdbus_bearer_call_connect()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-connect-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy"><span class="type">MmGdbusBearerProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect" title="mm_gdbus_bearer_call_connect ()"><code class="function">mm_gdbus_bearer_call_connect()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-connect-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-call-connect-sync"></a><h3>mm_gdbus_bearer_call_connect_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_bearer_call_connect_sync (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect"><GTKDOCLINK HREF="Connect"><code class="function">Connect()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect" title="mm_gdbus_bearer_call_connect ()"><code class="function">mm_gdbus_bearer_call_connect()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-connect-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy"><span class="type">MmGdbusBearerProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-connect-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-call-disconnect"></a><h3>mm_gdbus_bearer_call_disconnect ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_bearer_call_disconnect (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect"><GTKDOCLINK HREF="Disconnect"><code class="function">Disconnect()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect-finish" title="mm_gdbus_bearer_call_disconnect_finish ()"><code class="function">mm_gdbus_bearer_call_disconnect_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect-sync" title="mm_gdbus_bearer_call_disconnect_sync ()"><code class="function">mm_gdbus_bearer_call_disconnect_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-disconnect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy"><span class="type">MmGdbusBearerProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-call-disconnect-finish"></a><h3>mm_gdbus_bearer_call_disconnect_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_bearer_call_disconnect_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect" title="mm_gdbus_bearer_call_disconnect ()"><code class="function">mm_gdbus_bearer_call_disconnect()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-disconnect-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy"><span class="type">MmGdbusBearerProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect" title="mm_gdbus_bearer_call_disconnect ()"><code class="function">mm_gdbus_bearer_call_disconnect()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-disconnect-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-call-disconnect-sync"></a><h3>mm_gdbus_bearer_call_disconnect_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_bearer_call_disconnect_sync (<em class="parameter"><code><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect"><GTKDOCLINK HREF="Disconnect"><code class="function">Disconnect()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect" title="mm_gdbus_bearer_call_disconnect ()"><code class="function">mm_gdbus_bearer_call_disconnect()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-disconnect-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy"><span class="type">MmGdbusBearerProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-call-disconnect-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusBearer-struct"></a><h3>MmGdbusBearer</h3>
+<pre class="programlisting">typedef struct _MmGdbusBearer MmGdbusBearer;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Bearer.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearerIface"></a><h3>struct MmGdbusBearerIface</h3>
+<pre class="programlisting">struct MmGdbusBearerIface {
+ GTypeInterface parent_iface;
+
+
+ gboolean (*handle_connect) (
+ MmGdbusBearer *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_disconnect) (
+ MmGdbusBearer *object,
+ GDBusMethodInvocation *invocation);
+
+ guint (*get_bearer_type) (MmGdbusBearer *object);
+
+ gboolean (*get_connected) (MmGdbusBearer *object);
+
+ const gchar * (*get_interface) (MmGdbusBearer *object);
+
+ GVariant * (*get_ip4_config) (MmGdbusBearer *object);
+
+ GVariant * (*get_ip6_config) (MmGdbusBearer *object);
+
+ guint (*get_ip_timeout) (MmGdbusBearer *object);
+
+ GVariant * (*get_properties) (MmGdbusBearer *object);
+
+ GVariant * (*get_stats) (MmGdbusBearer *object);
+
+ gboolean (*get_suspended) (MmGdbusBearer *object);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Bearer.</p>
+<div class="refsect3">
+<a name="MmGdbusBearerIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusBearerIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.handle-connect"></a>handle_connect</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer-handle-connect" title="The “handle-connect” signal"><span class="type">“handle-connect”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.handle-disconnect"></a>handle_disconnect</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer-handle-disconnect" title="The “handle-disconnect” signal"><span class="type">“handle-disconnect”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.get-bearer-type"></a>get_bearer_type</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer--bearer-type" title="The “bearer-type” property"><span class="type">“bearer-type”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.get-connected"></a>get_connected</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer--connected" title="The “connected” property"><span class="type">“connected”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.get-interface"></a>get_interface</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer--interface" title="The “interface” property"><span class="type">“interface”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.get-ip4-config"></a>get_ip4_config</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer--ip4-config" title="The “ip4-config” property"><span class="type">“ip4-config”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.get-ip6-config"></a>get_ip6_config</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer--ip6-config" title="The “ip6-config” property"><span class="type">“ip6-config”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.get-ip-timeout"></a>get_ip_timeout</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer--ip-timeout" title="The “ip-timeout” property"><span class="type">“ip-timeout”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.get-properties"></a>get_properties</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer--properties" title="The “properties” property"><span class="type">“properties”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.get-stats"></a>get_stats</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer--stats" title="The “stats” property"><span class="type">“stats”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusBearerIface.get-suspended"></a>get_suspended</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusBearer.html#MmGdbusBearer--suspended" title="The “suspended” property"><span class="type">“suspended”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusBearer--bearer-type"></a><h3>The <code class="literal">“bearer-type”</code> property</h3>
+<pre class="programlisting"> “bearer-type” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.BearerType">"BearerType"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearer--connected"></a><h3>The <code class="literal">“connected”</code> property</h3>
+<pre class="programlisting"> “connected” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Connected">"Connected"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearer--interface"></a><h3>The <code class="literal">“interface”</code> property</h3>
+<pre class="programlisting"> “interface” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface">"Interface"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearer--ip-timeout"></a><h3>The <code class="literal">“ip-timeout”</code> property</h3>
+<pre class="programlisting"> “ip-timeout” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.IpTimeout">"IpTimeout"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearer--ip4-config"></a><h3>The <code class="literal">“ip4-config”</code> property</h3>
+<pre class="programlisting"> “ip4-config” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config">"Ip4Config"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearer--ip6-config"></a><h3>The <code class="literal">“ip6-config”</code> property</h3>
+<pre class="programlisting"> “ip6-config” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config">"Ip6Config"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearer--properties"></a><h3>The <code class="literal">“properties”</code> property</h3>
+<pre class="programlisting"> “properties” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties">"Properties"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearer--stats"></a><h3>The <code class="literal">“stats”</code> property</h3>
+<pre class="programlisting"> “stats” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats">"Stats"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearer--suspended"></a><h3>The <code class="literal">“suspended”</code> property</h3>
+<pre class="programlisting"> “suspended” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-property-org-freedesktop-ModemManager1-Bearer.Suspended">"Suspended"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearer.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusBearer-handle-connect"></a><h3>The <code class="literal">“handle-connect”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect"><GTKDOCLINK HREF="Connect"><code class="function">Connect()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_bearer_complete_connect()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusBearer-handle-connect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusBearer-handle-connect.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusBearer-handle-disconnect"></a><h3>The <code class="literal">“handle-disconnect”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Bearer.html#gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect"><GTKDOCLINK HREF="Disconnect"><code class="function">Disconnect()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_bearer_complete_disconnect()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusBearer-handle-disconnect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="type">MmGdbusBearer</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusBearer-handle-disconnect.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusBearerProxy.html b/docs/reference/libmm-glib/html/MmGdbusBearerProxy.html
new file mode 100644
index 00000000..4882671e
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusBearerProxy.html
@@ -0,0 +1,469 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusBearerProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusBearer.html" title="MmGdbusBearer">
+<link rel="next" href="MmGdbusBearerSkeleton.html" title="MmGdbusBearerSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearerProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearerProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearerProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusBearer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusBearerSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusBearerProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusBearerProxy.top_of_page"></a>MmGdbusBearerProxy</span></h2>
+<p>MmGdbusBearerProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusBearerProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new" title="mm_gdbus_bearer_proxy_new ()">mm_gdbus_bearer_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-finish" title="mm_gdbus_bearer_proxy_new_finish ()">mm_gdbus_bearer_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus" title="mm_gdbus_bearer_proxy_new_for_bus ()">mm_gdbus_bearer_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus-finish" title="mm_gdbus_bearer_proxy_new_for_bus_finish ()">mm_gdbus_bearer_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus-sync" title="mm_gdbus_bearer_proxy_new_for_bus_sync ()">mm_gdbus_bearer_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-sync" title="mm_gdbus_bearer_proxy_new_sync ()">mm_gdbus_bearer_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusBearerProxy.html#MmGdbusBearerProxy-struct" title="struct MmGdbusBearerProxy">MmGdbusBearerProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusBearerProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusBearerProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-proxy-new"></a><h3>mm_gdbus_bearer_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_bearer_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Bearer. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-finish" title="mm_gdbus_bearer_proxy_new_finish ()"><code class="function">mm_gdbus_bearer_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-sync" title="mm_gdbus_bearer_proxy_new_sync ()"><code class="function">mm_gdbus_bearer_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-proxy-new-finish"></a><h3>mm_gdbus_bearer_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+mm_gdbus_bearer_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new" title="mm_gdbus_bearer_proxy_new ()"><code class="function">mm_gdbus_bearer_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new" title="mm_gdbus_bearer_proxy_new ()"><code class="function">mm_gdbus_bearer_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusBearerProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-proxy-new-for-bus"></a><h3>mm_gdbus_bearer_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_bearer_proxy_new_for_bus (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new" title="mm_gdbus_bearer_proxy_new ()"><code class="function">mm_gdbus_bearer_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus-finish" title="mm_gdbus_bearer_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_bearer_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus-sync" title="mm_gdbus_bearer_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_bearer_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-proxy-new-for-bus-finish"></a><h3>mm_gdbus_bearer_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+mm_gdbus_bearer_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus" title="mm_gdbus_bearer_proxy_new_for_bus ()"><code class="function">mm_gdbus_bearer_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus" title="mm_gdbus_bearer_proxy_new_for_bus ()"><code class="function">mm_gdbus_bearer_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusBearerProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-proxy-new-for-bus-sync"></a><h3>mm_gdbus_bearer_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+mm_gdbus_bearer_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-sync" title="mm_gdbus_bearer_proxy_new_sync ()"><code class="function">mm_gdbus_bearer_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus" title="mm_gdbus_bearer_proxy_new_for_bus ()"><code class="function">mm_gdbus_bearer_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusBearerProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-proxy-new-sync"></a><h3>mm_gdbus_bearer_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+mm_gdbus_bearer_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Bearer. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new" title="mm_gdbus_bearer_proxy_new ()"><code class="function">mm_gdbus_bearer_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusBearerProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusBearerProxy-struct"></a><h3>struct MmGdbusBearerProxy</h3>
+<pre class="programlisting">struct MmGdbusBearerProxy;</pre>
+<p>The <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy"><span class="type">MmGdbusBearerProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusBearerSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusBearerSkeleton.html
new file mode 100644
index 00000000..bd77b5dd
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusBearerSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusBearerSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">
+<link rel="next" href="MmGdbusSim.html" title="MmGdbusSim">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearerSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearerSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusBearerSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusBearerProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusSim.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusBearerSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusBearerSkeleton.top_of_page"></a>MmGdbusBearerSkeleton</span></h2>
+<p>MmGdbusBearerSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusBearerSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusBearerSkeleton.html#mm-gdbus-bearer-skeleton-new" title="mm_gdbus_bearer_skeleton_new ()">mm_gdbus_bearer_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusBearerSkeleton.html#MmGdbusBearerSkeleton-struct" title="struct MmGdbusBearerSkeleton">MmGdbusBearerSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusBearerSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusBearerSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-bearer-skeleton-new"></a><h3>mm_gdbus_bearer_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer"><span class="returnvalue">MmGdbusBearer</span></a> *
+mm_gdbus_bearer_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Bearer.</p>
+<div class="refsect3">
+<a name="mm-gdbus-bearer-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusBearerSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusBearerSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusBearerSkeleton-struct"></a><h3>struct MmGdbusBearerSkeleton</h3>
+<pre class="programlisting">struct MmGdbusBearerSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusBearerSkeleton.html" title="MmGdbusBearerSkeleton"><span class="type">MmGdbusBearerSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusCall.html b/docs/reference/libmm-glib/html/MmGdbusCall.html
new file mode 100644
index 00000000..3c75144c
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusCall.html
@@ -0,0 +1,1622 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusCall: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusSmsSkeleton.html" title="MmGdbusSmsSkeleton">
+<link rel="next" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusCall.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusCall.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusCall.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusCall.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusCall.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusCall.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusSmsSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusCallProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusCall"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusCall.top_of_page"></a>MmGdbusCall</span></h2>
+<p>MmGdbusCall — Generated C code for the org.freedesktop.ModemManager1.Call D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusCall.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-direction" title="mm_gdbus_call_get_direction ()">mm_gdbus_call_get_direction</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-number" title="mm_gdbus_call_get_number ()">mm_gdbus_call_get_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-dup-number" title="mm_gdbus_call_dup_number ()">mm_gdbus_call_dup_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-state" title="mm_gdbus_call_get_state ()">mm_gdbus_call_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-state-reason" title="mm_gdbus_call_get_state_reason ()">mm_gdbus_call_get_state_reason</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-dup-audio-format" title="mm_gdbus_call_dup_audio_format ()">mm_gdbus_call_dup_audio_format</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-dup-audio-port" title="mm_gdbus_call_dup_audio_port ()">mm_gdbus_call_dup_audio_port</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-audio-format" title="mm_gdbus_call_get_audio_format ()">mm_gdbus_call_get_audio_format</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-audio-port" title="mm_gdbus_call_get_audio_port ()">mm_gdbus_call_get_audio_port</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept" title="mm_gdbus_call_call_accept ()">mm_gdbus_call_call_accept</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept-finish" title="mm_gdbus_call_call_accept_finish ()">mm_gdbus_call_call_accept_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept-sync" title="mm_gdbus_call_call_accept_sync ()">mm_gdbus_call_call_accept_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start" title="mm_gdbus_call_call_start ()">mm_gdbus_call_call_start</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start-finish" title="mm_gdbus_call_call_start_finish ()">mm_gdbus_call_call_start_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start-sync" title="mm_gdbus_call_call_start_sync ()">mm_gdbus_call_call_start_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup" title="mm_gdbus_call_call_hangup ()">mm_gdbus_call_call_hangup</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup-finish" title="mm_gdbus_call_call_hangup_finish ()">mm_gdbus_call_call_hangup_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup-sync" title="mm_gdbus_call_call_hangup_sync ()">mm_gdbus_call_call_hangup_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf" title="mm_gdbus_call_call_send_dtmf ()">mm_gdbus_call_call_send_dtmf</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf-finish" title="mm_gdbus_call_call_send_dtmf_finish ()">mm_gdbus_call_call_send_dtmf_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf-sync" title="mm_gdbus_call_call_send_dtmf_sync ()">mm_gdbus_call_call_send_dtmf_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall--audio-format" title="The “audio-format” property">audio-format</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall--audio-port" title="The “audio-port” property">audio-port</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall--direction" title="The “direction” property">direction</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall--number" title="The “number” property">number</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall--state" title="The “state” property">state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall--state-reason" title="The “state-reason” property">state-reason</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall-dtmf-received" title="The “dtmf-received” signal">dtmf-received</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-accept" title="The “handle-accept” signal">handle-accept</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-hangup" title="The “handle-hangup” signal">handle-hangup</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-send-dtmf" title="The “handle-send-dtmf” signal">handle-send-dtmf</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-start" title="The “handle-start” signal">handle-start</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall-state-changed" title="The “state-changed” signal">state-changed</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusCall.html#MmGdbusCall-struct" title="MmGdbusCall">MmGdbusCall</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusCall.html#MmGdbusCallIface" title="struct MmGdbusCallIface">MmGdbusCallIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusCall
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusCall requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusCall is implemented by
+ <a class="link" href="MMCall.html" title="MMCall">MMCall</a>, <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a> and <a class="link" href="MmGdbusCallSkeleton.html" title="MmGdbusCallSkeleton">MmGdbusCallSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Call D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-call-get-direction"></a><h3>mm_gdbus_call_get_direction ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+mm_gdbus_call_get_direction (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Direction">"Direction"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-direction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-direction.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-get-number"></a><h3>mm_gdbus_call_get_number ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_call_get_number (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Number">"Number"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusCall.html#mm-gdbus-call-dup-number" title="mm_gdbus_call_dup_number ()"><code class="function">mm_gdbus_call_dup_number()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-number.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-dup-number"></a><h3>mm_gdbus_call_dup_number ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_call_dup_number (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Number">"Number"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-call-dup-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-dup-number.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-get-state"></a><h3>mm_gdbus_call_get_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+mm_gdbus_call_get_state (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.State">"State"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-get-state-reason"></a><h3>mm_gdbus_call_get_state_reason ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+mm_gdbus_call_get_state_reason (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.StateReason">"StateReason"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-state-reason.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-state-reason.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-dup-audio-format"></a><h3>mm_gdbus_call_dup_audio_format ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_call_dup_audio_format (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioFormat">"AudioFormat"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-call-dup-audio-format.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-dup-audio-format.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-dup-audio-port"></a><h3>mm_gdbus_call_dup_audio_port ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_call_dup_audio_port (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioPort">"AudioPort"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-call-dup-audio-port.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-dup-audio-port.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-get-audio-format"></a><h3>mm_gdbus_call_get_audio_format ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_call_get_audio_format (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioFormat">"AudioFormat"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusCall.html#mm-gdbus-call-dup-audio-format" title="mm_gdbus_call_dup_audio_format ()"><code class="function">mm_gdbus_call_dup_audio_format()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-audio-format.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-audio-format.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-get-audio-port"></a><h3>mm_gdbus_call_get_audio_port ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_call_get_audio_port (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioPort">"AudioPort"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusCall.html#mm-gdbus-call-dup-audio-port" title="mm_gdbus_call_dup_audio_port ()"><code class="function">mm_gdbus_call_dup_audio_port()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-audio-port.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-get-audio-port.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-accept"></a><h3>mm_gdbus_call_call_accept ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_call_call_accept (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Accept"><GTKDOCLINK HREF="Accept"><code class="function">Accept()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept-finish" title="mm_gdbus_call_call_accept_finish ()"><code class="function">mm_gdbus_call_call_accept_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept-sync" title="mm_gdbus_call_call_accept_sync ()"><code class="function">mm_gdbus_call_call_accept_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-accept.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-accept-finish"></a><h3>mm_gdbus_call_call_accept_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_call_call_accept_finish (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept" title="mm_gdbus_call_call_accept ()"><code class="function">mm_gdbus_call_call_accept()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-accept-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept" title="mm_gdbus_call_call_accept ()"><code class="function">mm_gdbus_call_call_accept()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-accept-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-accept-sync"></a><h3>mm_gdbus_call_call_accept_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_call_call_accept_sync (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Accept"><GTKDOCLINK HREF="Accept"><code class="function">Accept()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept" title="mm_gdbus_call_call_accept ()"><code class="function">mm_gdbus_call_call_accept()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-accept-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-accept-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-start"></a><h3>mm_gdbus_call_call_start ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_call_call_start (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Start"><GTKDOCLINK HREF="Start"><code class="function">Start()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start-finish" title="mm_gdbus_call_call_start_finish ()"><code class="function">mm_gdbus_call_call_start_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start-sync" title="mm_gdbus_call_call_start_sync ()"><code class="function">mm_gdbus_call_call_start_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-start.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-start-finish"></a><h3>mm_gdbus_call_call_start_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_call_call_start_finish (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start" title="mm_gdbus_call_call_start ()"><code class="function">mm_gdbus_call_call_start()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-start-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start" title="mm_gdbus_call_call_start ()"><code class="function">mm_gdbus_call_call_start()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-start-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-start-sync"></a><h3>mm_gdbus_call_call_start_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_call_call_start_sync (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Start"><GTKDOCLINK HREF="Start"><code class="function">Start()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start" title="mm_gdbus_call_call_start ()"><code class="function">mm_gdbus_call_call_start()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-start-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-start-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-hangup"></a><h3>mm_gdbus_call_call_hangup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_call_call_hangup (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Hangup"><GTKDOCLINK HREF="Hangup"><code class="function">Hangup()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup-finish" title="mm_gdbus_call_call_hangup_finish ()"><code class="function">mm_gdbus_call_call_hangup_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup-sync" title="mm_gdbus_call_call_hangup_sync ()"><code class="function">mm_gdbus_call_call_hangup_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-hangup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-hangup-finish"></a><h3>mm_gdbus_call_call_hangup_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_call_call_hangup_finish (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup" title="mm_gdbus_call_call_hangup ()"><code class="function">mm_gdbus_call_call_hangup()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-hangup-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup" title="mm_gdbus_call_call_hangup ()"><code class="function">mm_gdbus_call_call_hangup()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-hangup-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-hangup-sync"></a><h3>mm_gdbus_call_call_hangup_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_call_call_hangup_sync (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Hangup"><GTKDOCLINK HREF="Hangup"><code class="function">Hangup()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup" title="mm_gdbus_call_call_hangup ()"><code class="function">mm_gdbus_call_call_hangup()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-hangup-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-hangup-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-send-dtmf"></a><h3>mm_gdbus_call_call_send_dtmf ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_call_call_send_dtmf (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_dtmf</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.SendDtmf"><GTKDOCLINK HREF="SendDtmf"><code class="function">SendDtmf()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf-finish" title="mm_gdbus_call_call_send_dtmf_finish ()"><code class="function">mm_gdbus_call_call_send_dtmf_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf-sync" title="mm_gdbus_call_call_send_dtmf_sync ()"><code class="function">mm_gdbus_call_call_send_dtmf_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-send-dtmf.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_dtmf</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-send-dtmf-finish"></a><h3>mm_gdbus_call_call_send_dtmf_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_call_call_send_dtmf_finish (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf" title="mm_gdbus_call_call_send_dtmf ()"><code class="function">mm_gdbus_call_call_send_dtmf()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-send-dtmf-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf" title="mm_gdbus_call_call_send_dtmf ()"><code class="function">mm_gdbus_call_call_send_dtmf()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-send-dtmf-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-call-send-dtmf-sync"></a><h3>mm_gdbus_call_call_send_dtmf_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_call_call_send_dtmf_sync (<em class="parameter"><code><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_dtmf</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.SendDtmf"><GTKDOCLINK HREF="SendDtmf"><code class="function">SendDtmf()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf" title="mm_gdbus_call_call_send_dtmf ()"><code class="function">mm_gdbus_call_call_send_dtmf()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-send-dtmf-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_dtmf</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-call-send-dtmf-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusCall-struct"></a><h3>MmGdbusCall</h3>
+<pre class="programlisting">typedef struct _MmGdbusCall MmGdbusCall;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Call.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCallIface"></a><h3>struct MmGdbusCallIface</h3>
+<pre class="programlisting">struct MmGdbusCallIface {
+ GTypeInterface parent_iface;
+
+
+
+ gboolean (*handle_accept) (
+ MmGdbusCall *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_hangup) (
+ MmGdbusCall *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_send_dtmf) (
+ MmGdbusCall *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_dtmf);
+
+ gboolean (*handle_start) (
+ MmGdbusCall *object,
+ GDBusMethodInvocation *invocation);
+
+ GVariant * (*get_audio_format) (MmGdbusCall *object);
+
+ const gchar * (*get_audio_port) (MmGdbusCall *object);
+
+ gint (*get_direction) (MmGdbusCall *object);
+
+ const gchar * (*get_number) (MmGdbusCall *object);
+
+ gint (*get_state) (MmGdbusCall *object);
+
+ gint (*get_state_reason) (MmGdbusCall *object);
+
+ void (*dtmf_received) (
+ MmGdbusCall *object,
+ const gchar *arg_dtmf);
+
+ void (*state_changed) (
+ MmGdbusCall *object,
+ gint arg_old,
+ gint arg_new,
+ guint arg_reason);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Call.</p>
+<div class="refsect3">
+<a name="MmGdbusCallIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusCallIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.handle-accept"></a>handle_accept</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-accept" title="The “handle-accept” signal"><span class="type">“handle-accept”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.handle-hangup"></a>handle_hangup</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-hangup" title="The “handle-hangup” signal"><span class="type">“handle-hangup”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.handle-send-dtmf"></a>handle_send_dtmf</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-send-dtmf" title="The “handle-send-dtmf” signal"><span class="type">“handle-send-dtmf”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.handle-start"></a>handle_start</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-start" title="The “handle-start” signal"><span class="type">“handle-start”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.get-audio-format"></a>get_audio_format</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusCall.html#MmGdbusCall--audio-format" title="The “audio-format” property"><span class="type">“audio-format”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.get-audio-port"></a>get_audio_port</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusCall.html#MmGdbusCall--audio-port" title="The “audio-port” property"><span class="type">“audio-port”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.get-direction"></a>get_direction</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusCall.html#MmGdbusCall--direction" title="The “direction” property"><span class="type">“direction”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.get-number"></a>get_number</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusCall.html#MmGdbusCall--number" title="The “number” property"><span class="type">“number”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.get-state"></a>get_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusCall.html#MmGdbusCall--state" title="The “state” property"><span class="type">“state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.get-state-reason"></a>get_state_reason</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusCall.html#MmGdbusCall--state-reason" title="The “state-reason” property"><span class="type">“state-reason”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.dtmf-received"></a>dtmf_received</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusCall.html#MmGdbusCall-dtmf-received" title="The “dtmf-received” signal"><span class="type">“dtmf-received”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusCallIface.state-changed"></a>state_changed</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusCall.html#MmGdbusCall-state-changed" title="The “state-changed” signal"><span class="type">“state-changed”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusCall--audio-format"></a><h3>The <code class="literal">“audio-format”</code> property</h3>
+<pre class="programlisting"> “audio-format” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioFormat">"AudioFormat"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall--audio-port"></a><h3>The <code class="literal">“audio-port”</code> property</h3>
+<pre class="programlisting"> “audio-port” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.AudioPort">"AudioPort"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall--direction"></a><h3>The <code class="literal">“direction”</code> property</h3>
+<pre class="programlisting"> “direction” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Direction">"Direction"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall--number"></a><h3>The <code class="literal">“number”</code> property</h3>
+<pre class="programlisting"> “number” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.Number">"Number"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall--state"></a><h3>The <code class="literal">“state”</code> property</h3>
+<pre class="programlisting"> “state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.State">"State"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall--state-reason"></a><h3>The <code class="literal">“state-reason”</code> property</h3>
+<pre class="programlisting"> “state-reason” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-property-org-freedesktop-ModemManager1-Call.StateReason">"StateReason"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCall.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusCall-dtmf-received"></a><h3>The <code class="literal">“dtmf-received”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_dtmf,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-signal-org-freedesktop-ModemManager1-Call.DtmfReceived">"DtmfReceived"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusCall-dtmf-received.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_dtmf</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall-handle-accept"></a><h3>The <code class="literal">“handle-accept”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Accept"><GTKDOCLINK HREF="Accept"><code class="function">Accept()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_call_complete_accept()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusCall-handle-accept.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusCall-handle-accept.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall-handle-hangup"></a><h3>The <code class="literal">“handle-hangup”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Hangup"><GTKDOCLINK HREF="Hangup"><code class="function">Hangup()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_call_complete_hangup()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusCall-handle-hangup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusCall-handle-hangup.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall-handle-send-dtmf"></a><h3>The <code class="literal">“handle-send-dtmf”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_dtmf,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.SendDtmf"><GTKDOCLINK HREF="SendDtmf"><code class="function">SendDtmf()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_call_complete_send_dtmf()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusCall-handle-send-dtmf.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_dtmf</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusCall-handle-send-dtmf.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall-handle-start"></a><h3>The <code class="literal">“handle-start”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-method-org-freedesktop-ModemManager1-Call.Start"><GTKDOCLINK HREF="Start"><code class="function">Start()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_call_complete_start()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusCall-handle-start.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusCall-handle-start.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusCall-state-changed"></a><h3>The <code class="literal">“state-changed”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> arg_old,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> arg_new,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_reason,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Call.html#gdbus-signal-org-freedesktop-ModemManager1-Call.StateChanged">"StateChanged"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusCall-state-changed.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="type">MmGdbusCall</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_old</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_new</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_reason</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusCallProxy.html b/docs/reference/libmm-glib/html/MmGdbusCallProxy.html
new file mode 100644
index 00000000..b96336d1
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusCallProxy.html
@@ -0,0 +1,468 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusCallProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusCall.html" title="MmGdbusCall">
+<link rel="next" href="MmGdbusCallSkeleton.html" title="MmGdbusCallSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusCallProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusCallProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusCallProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusCall.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusCallSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusCallProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusCallProxy.top_of_page"></a>MmGdbusCallProxy</span></h2>
+<p>MmGdbusCallProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusCallProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new" title="mm_gdbus_call_proxy_new ()">mm_gdbus_call_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-finish" title="mm_gdbus_call_proxy_new_finish ()">mm_gdbus_call_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus" title="mm_gdbus_call_proxy_new_for_bus ()">mm_gdbus_call_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus-finish" title="mm_gdbus_call_proxy_new_for_bus_finish ()">mm_gdbus_call_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus-sync" title="mm_gdbus_call_proxy_new_for_bus_sync ()">mm_gdbus_call_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-sync" title="mm_gdbus_call_proxy_new_sync ()">mm_gdbus_call_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusCallProxy.html#MmGdbusCallProxy-struct" title="struct MmGdbusCallProxy">MmGdbusCallProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusCallProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusCallProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-call-proxy-new"></a><h3>mm_gdbus_call_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_call_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Call. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-finish" title="mm_gdbus_call_proxy_new_finish ()"><code class="function">mm_gdbus_call_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-sync" title="mm_gdbus_call_proxy_new_sync ()"><code class="function">mm_gdbus_call_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-proxy-new-finish"></a><h3>mm_gdbus_call_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+mm_gdbus_call_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new" title="mm_gdbus_call_proxy_new ()"><code class="function">mm_gdbus_call_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new" title="mm_gdbus_call_proxy_new ()"><code class="function">mm_gdbus_call_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusCallProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-proxy-new-for-bus"></a><h3>mm_gdbus_call_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_call_proxy_new_for_bus (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new" title="mm_gdbus_call_proxy_new ()"><code class="function">mm_gdbus_call_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus-finish" title="mm_gdbus_call_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_call_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus-sync" title="mm_gdbus_call_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_call_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-proxy-new-for-bus-finish"></a><h3>mm_gdbus_call_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+mm_gdbus_call_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus" title="mm_gdbus_call_proxy_new_for_bus ()"><code class="function">mm_gdbus_call_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus" title="mm_gdbus_call_proxy_new_for_bus ()"><code class="function">mm_gdbus_call_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusCallProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-proxy-new-for-bus-sync"></a><h3>mm_gdbus_call_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+mm_gdbus_call_proxy_new_for_bus_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-sync" title="mm_gdbus_call_proxy_new_sync ()"><code class="function">mm_gdbus_call_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus" title="mm_gdbus_call_proxy_new_for_bus ()"><code class="function">mm_gdbus_call_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusCallProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-call-proxy-new-sync"></a><h3>mm_gdbus_call_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+mm_gdbus_call_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Call. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new" title="mm_gdbus_call_proxy_new ()"><code class="function">mm_gdbus_call_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-call-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusCallProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusCallProxy-struct"></a><h3>struct MmGdbusCallProxy</h3>
+<pre class="programlisting">struct MmGdbusCallProxy;</pre>
+<p>The <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy"><span class="type">MmGdbusCallProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusCallSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusCallSkeleton.html
new file mode 100644
index 00000000..258035f1
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusCallSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusCallSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">
+<link rel="next" href="object-tree.html" title="Object Hierarchy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusCallSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusCallSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusCallSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusCallProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="object-tree.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusCallSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusCallSkeleton.top_of_page"></a>MmGdbusCallSkeleton</span></h2>
+<p>MmGdbusCallSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusCallSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusCallSkeleton.html#mm-gdbus-call-skeleton-new" title="mm_gdbus_call_skeleton_new ()">mm_gdbus_call_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusCallSkeleton.html#MmGdbusCallSkeleton-struct" title="struct MmGdbusCallSkeleton">MmGdbusCallSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusCallSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusCallSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-call-skeleton-new"></a><h3>mm_gdbus_call_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusCall.html" title="MmGdbusCall"><span class="returnvalue">MmGdbusCall</span></a> *
+mm_gdbus_call_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Call.</p>
+<div class="refsect3">
+<a name="mm-gdbus-call-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusCallSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusCallSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusCallSkeleton-struct"></a><h3>struct MmGdbusCallSkeleton</h3>
+<pre class="programlisting">struct MmGdbusCallSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusCallSkeleton.html" title="MmGdbusCallSkeleton"><span class="type">MmGdbusCallSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModem.html b/docs/reference/libmm-glib/html/MmGdbusModem.html
new file mode 100644
index 00000000..1ec5cddb
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModem.html
@@ -0,0 +1,5402 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModem: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">
+<link rel="next" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusObjectSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModem"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModem.top_of_page"></a>MmGdbusModem</span></h2>
+<p>MmGdbusModem — Generated C code for the org.freedesktop.ModemManager1.Modem D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModem.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-access-technologies" title="mm_gdbus_modem_get_access_technologies ()">mm_gdbus_modem_get_access_technologies</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-bearers" title="mm_gdbus_modem_get_bearers ()">mm_gdbus_modem_get_bearers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-bearers" title="mm_gdbus_modem_dup_bearers ()">mm_gdbus_modem_dup_bearers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-current-modes" title="mm_gdbus_modem_get_current_modes ()">mm_gdbus_modem_get_current_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-current-modes" title="mm_gdbus_modem_dup_current_modes ()">mm_gdbus_modem_dup_current_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-current-bands" title="mm_gdbus_modem_get_current_bands ()">mm_gdbus_modem_get_current_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-current-bands" title="mm_gdbus_modem_dup_current_bands ()">mm_gdbus_modem_dup_current_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-current-capabilities" title="mm_gdbus_modem_get_current_capabilities ()">mm_gdbus_modem_get_current_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-device" title="mm_gdbus_modem_get_device ()">mm_gdbus_modem_get_device</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-device" title="mm_gdbus_modem_dup_device ()">mm_gdbus_modem_dup_device</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-device-identifier" title="mm_gdbus_modem_get_device_identifier ()">mm_gdbus_modem_get_device_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-device-identifier" title="mm_gdbus_modem_dup_device_identifier ()">mm_gdbus_modem_dup_device_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-drivers" title="mm_gdbus_modem_get_drivers ()">mm_gdbus_modem_get_drivers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-drivers" title="mm_gdbus_modem_dup_drivers ()">mm_gdbus_modem_dup_drivers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-equipment-identifier" title="mm_gdbus_modem_get_equipment_identifier ()">mm_gdbus_modem_get_equipment_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-equipment-identifier" title="mm_gdbus_modem_dup_equipment_identifier ()">mm_gdbus_modem_dup_equipment_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-manufacturer" title="mm_gdbus_modem_get_manufacturer ()">mm_gdbus_modem_get_manufacturer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-manufacturer" title="mm_gdbus_modem_dup_manufacturer ()">mm_gdbus_modem_dup_manufacturer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-max-active-bearers" title="mm_gdbus_modem_get_max_active_bearers ()">mm_gdbus_modem_get_max_active_bearers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-max-bearers" title="mm_gdbus_modem_get_max_bearers ()">mm_gdbus_modem_get_max_bearers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-model" title="mm_gdbus_modem_get_model ()">mm_gdbus_modem_get_model</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-model" title="mm_gdbus_modem_dup_model ()">mm_gdbus_modem_dup_model</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-own-numbers" title="mm_gdbus_modem_get_own_numbers ()">mm_gdbus_modem_get_own_numbers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-own-numbers" title="mm_gdbus_modem_dup_own_numbers ()">mm_gdbus_modem_dup_own_numbers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-plugin" title="mm_gdbus_modem_get_plugin ()">mm_gdbus_modem_get_plugin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-plugin" title="mm_gdbus_modem_dup_plugin ()">mm_gdbus_modem_dup_plugin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-power-state" title="mm_gdbus_modem_get_power_state ()">mm_gdbus_modem_get_power_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-primary-port" title="mm_gdbus_modem_get_primary_port ()">mm_gdbus_modem_get_primary_port</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-primary-port" title="mm_gdbus_modem_dup_primary_port ()">mm_gdbus_modem_dup_primary_port</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-ports" title="mm_gdbus_modem_get_ports ()">mm_gdbus_modem_get_ports</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-ports" title="mm_gdbus_modem_dup_ports ()">mm_gdbus_modem_dup_ports</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-revision" title="mm_gdbus_modem_get_revision ()">mm_gdbus_modem_get_revision</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-revision" title="mm_gdbus_modem_dup_revision ()">mm_gdbus_modem_dup_revision</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-hardware-revision" title="mm_gdbus_modem_get_hardware_revision ()">mm_gdbus_modem_get_hardware_revision</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-hardware-revision" title="mm_gdbus_modem_dup_hardware_revision ()">mm_gdbus_modem_dup_hardware_revision</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-signal-quality" title="mm_gdbus_modem_get_signal_quality ()">mm_gdbus_modem_get_signal_quality</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-signal-quality" title="mm_gdbus_modem_dup_signal_quality ()">mm_gdbus_modem_dup_signal_quality</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-sim" title="mm_gdbus_modem_get_sim ()">mm_gdbus_modem_get_sim</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-sim" title="mm_gdbus_modem_dup_sim ()">mm_gdbus_modem_dup_sim</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-supported-capabilities" title="mm_gdbus_modem_get_supported_capabilities ()">mm_gdbus_modem_get_supported_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-supported-capabilities" title="mm_gdbus_modem_dup_supported_capabilities ()">mm_gdbus_modem_dup_supported_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-state" title="mm_gdbus_modem_get_state ()">mm_gdbus_modem_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-state-failed-reason" title="mm_gdbus_modem_get_state_failed_reason ()">mm_gdbus_modem_get_state_failed_reason</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-supported-bands" title="mm_gdbus_modem_get_supported_bands ()">mm_gdbus_modem_get_supported_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-supported-bands" title="mm_gdbus_modem_dup_supported_bands ()">mm_gdbus_modem_dup_supported_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-supported-ip-families" title="mm_gdbus_modem_get_supported_ip_families ()">mm_gdbus_modem_get_supported_ip_families</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-supported-modes" title="mm_gdbus_modem_get_supported_modes ()">mm_gdbus_modem_get_supported_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-supported-modes" title="mm_gdbus_modem_dup_supported_modes ()">mm_gdbus_modem_dup_supported_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-unlock-required" title="mm_gdbus_modem_get_unlock_required ()">mm_gdbus_modem_get_unlock_required</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-unlock-retries" title="mm_gdbus_modem_get_unlock_retries ()">mm_gdbus_modem_get_unlock_retries</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-unlock-retries" title="mm_gdbus_modem_dup_unlock_retries ()">mm_gdbus_modem_dup_unlock_retries</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable" title="mm_gdbus_modem_call_enable ()">mm_gdbus_modem_call_enable</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable-finish" title="mm_gdbus_modem_call_enable_finish ()">mm_gdbus_modem_call_enable_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable-sync" title="mm_gdbus_modem_call_enable_sync ()">mm_gdbus_modem_call_enable_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state" title="mm_gdbus_modem_call_set_power_state ()">mm_gdbus_modem_call_set_power_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state-finish" title="mm_gdbus_modem_call_set_power_state_finish ()">mm_gdbus_modem_call_set_power_state_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state-sync" title="mm_gdbus_modem_call_set_power_state_sync ()">mm_gdbus_modem_call_set_power_state_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer" title="mm_gdbus_modem_call_create_bearer ()">mm_gdbus_modem_call_create_bearer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer-finish" title="mm_gdbus_modem_call_create_bearer_finish ()">mm_gdbus_modem_call_create_bearer_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer-sync" title="mm_gdbus_modem_call_create_bearer_sync ()">mm_gdbus_modem_call_create_bearer_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer" title="mm_gdbus_modem_call_delete_bearer ()">mm_gdbus_modem_call_delete_bearer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer-finish" title="mm_gdbus_modem_call_delete_bearer_finish ()">mm_gdbus_modem_call_delete_bearer_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer-sync" title="mm_gdbus_modem_call_delete_bearer_sync ()">mm_gdbus_modem_call_delete_bearer_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers" title="mm_gdbus_modem_call_list_bearers ()">mm_gdbus_modem_call_list_bearers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers-finish" title="mm_gdbus_modem_call_list_bearers_finish ()">mm_gdbus_modem_call_list_bearers_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers-sync" title="mm_gdbus_modem_call_list_bearers_sync ()">mm_gdbus_modem_call_list_bearers_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset" title="mm_gdbus_modem_call_reset ()">mm_gdbus_modem_call_reset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset-finish" title="mm_gdbus_modem_call_reset_finish ()">mm_gdbus_modem_call_reset_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset-sync" title="mm_gdbus_modem_call_reset_sync ()">mm_gdbus_modem_call_reset_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset" title="mm_gdbus_modem_call_factory_reset ()">mm_gdbus_modem_call_factory_reset</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset-finish" title="mm_gdbus_modem_call_factory_reset_finish ()">mm_gdbus_modem_call_factory_reset_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset-sync" title="mm_gdbus_modem_call_factory_reset_sync ()">mm_gdbus_modem_call_factory_reset_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes" title="mm_gdbus_modem_call_set_current_modes ()">mm_gdbus_modem_call_set_current_modes</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes-finish" title="mm_gdbus_modem_call_set_current_modes_finish ()">mm_gdbus_modem_call_set_current_modes_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes-sync" title="mm_gdbus_modem_call_set_current_modes_sync ()">mm_gdbus_modem_call_set_current_modes_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands" title="mm_gdbus_modem_call_set_current_bands ()">mm_gdbus_modem_call_set_current_bands</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands-finish" title="mm_gdbus_modem_call_set_current_bands_finish ()">mm_gdbus_modem_call_set_current_bands_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands-sync" title="mm_gdbus_modem_call_set_current_bands_sync ()">mm_gdbus_modem_call_set_current_bands_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities" title="mm_gdbus_modem_call_set_current_capabilities ()">mm_gdbus_modem_call_set_current_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities-finish" title="mm_gdbus_modem_call_set_current_capabilities_finish ()">mm_gdbus_modem_call_set_current_capabilities_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities-sync" title="mm_gdbus_modem_call_set_current_capabilities_sync ()">mm_gdbus_modem_call_set_current_capabilities_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command" title="mm_gdbus_modem_call_command ()">mm_gdbus_modem_call_command</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command-finish" title="mm_gdbus_modem_call_command_finish ()">mm_gdbus_modem_call_command_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command-sync" title="mm_gdbus_modem_call_command_sync ()">mm_gdbus_modem_call_command_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--access-technologies" title="The “access-technologies” property">access-technologies</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--bearers" title="The “bearers” property">bearers</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--current-bands" title="The “current-bands” property">current-bands</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--current-capabilities" title="The “current-capabilities” property">current-capabilities</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--current-modes" title="The “current-modes” property">current-modes</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--device" title="The “device” property">device</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--device-identifier" title="The “device-identifier” property">device-identifier</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--drivers" title="The “drivers” property">drivers</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--equipment-identifier" title="The “equipment-identifier” property">equipment-identifier</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--hardware-revision" title="The “hardware-revision” property">hardware-revision</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--manufacturer" title="The “manufacturer” property">manufacturer</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--max-active-bearers" title="The “max-active-bearers” property">max-active-bearers</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--max-bearers" title="The “max-bearers” property">max-bearers</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--model" title="The “model” property">model</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--own-numbers" title="The “own-numbers” property">own-numbers</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--plugin" title="The “plugin” property">plugin</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--ports" title="The “ports” property">ports</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--power-state" title="The “power-state” property">power-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--primary-port" title="The “primary-port” property">primary-port</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--revision" title="The “revision” property">revision</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--signal-quality" title="The “signal-quality” property">signal-quality</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--sim" title="The “sim” property">sim</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--state" title="The “state” property">state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--state-failed-reason" title="The “state-failed-reason” property">state-failed-reason</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-bands" title="The “supported-bands” property">supported-bands</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-capabilities" title="The “supported-capabilities” property">supported-capabilities</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-ip-families" title="The “supported-ip-families” property">supported-ip-families</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-modes" title="The “supported-modes” property">supported-modes</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--unlock-required" title="The “unlock-required” property">unlock-required</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem--unlock-retries" title="The “unlock-retries” property">unlock-retries</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-command" title="The “handle-command” signal">handle-command</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-create-bearer" title="The “handle-create-bearer” signal">handle-create-bearer</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-delete-bearer" title="The “handle-delete-bearer” signal">handle-delete-bearer</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-enable" title="The “handle-enable” signal">handle-enable</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-factory-reset" title="The “handle-factory-reset” signal">handle-factory-reset</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-list-bearers" title="The “handle-list-bearers” signal">handle-list-bearers</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-reset" title="The “handle-reset” signal">handle-reset</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-current-bands" title="The “handle-set-current-bands” signal">handle-set-current-bands</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-current-capabilities" title="The “handle-set-current-capabilities” signal">handle-set-current-capabilities</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-current-modes" title="The “handle-set-current-modes” signal">handle-set-current-modes</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-power-state" title="The “handle-set-power-state” signal">handle-set-power-state</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-state-changed" title="The “state-changed” signal">state-changed</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModem.html#MmGdbusModem-struct" title="MmGdbusModem">MmGdbusModem</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModem.html#MmGdbusModemIface" title="struct MmGdbusModemIface">MmGdbusModemIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModem
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModem requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModem is implemented by
+ <a class="link" href="MMModem.html" title="MMModem">MMModem</a>, <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a> and <a class="link" href="MmGdbusModemSkeleton.html" title="MmGdbusModemSkeleton">MmGdbusModemSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-access-technologies"></a><h3>mm_gdbus_modem_get_access_technologies ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_get_access_technologies
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.AccessTechnologies">"AccessTechnologies"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-access-technologies.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-access-technologies.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-bearers"></a><h3>mm_gdbus_modem_get_bearers ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+mm_gdbus_modem_get_bearers (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers">"Bearers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-bearers" title="mm_gdbus_modem_dup_bearers ()"><code class="function">mm_gdbus_modem_dup_bearers()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-bearers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-bearers.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-bearers"></a><h3>mm_gdbus_modem_dup_bearers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_gdbus_modem_dup_bearers (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers">"Bearers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-bearers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-bearers.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-current-modes"></a><h3>mm_gdbus_modem_get_current_modes ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_get_current_modes (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes">"CurrentModes"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-current-modes" title="mm_gdbus_modem_dup_current_modes ()"><code class="function">mm_gdbus_modem_dup_current_modes()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-current-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-current-modes.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-current-modes"></a><h3>mm_gdbus_modem_dup_current_modes ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_dup_current_modes (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes">"CurrentModes"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-current-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-current-modes.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-current-bands"></a><h3>mm_gdbus_modem_get_current_bands ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_get_current_bands (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands">"CurrentBands"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-current-bands" title="mm_gdbus_modem_dup_current_bands ()"><code class="function">mm_gdbus_modem_dup_current_bands()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-current-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-current-bands.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-current-bands"></a><h3>mm_gdbus_modem_dup_current_bands ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_dup_current_bands (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands">"CurrentBands"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-current-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-current-bands.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-current-capabilities"></a><h3>mm_gdbus_modem_get_current_capabilities ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_get_current_capabilities
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentCapabilities">"CurrentCapabilities"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-current-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-current-capabilities.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-device"></a><h3>mm_gdbus_modem_get_device ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_device (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Device">"Device"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-device" title="mm_gdbus_modem_dup_device ()"><code class="function">mm_gdbus_modem_dup_device()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-device.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-device.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-device"></a><h3>mm_gdbus_modem_dup_device ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_device (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Device">"Device"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-device.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-device.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-device-identifier"></a><h3>mm_gdbus_modem_get_device_identifier ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_device_identifier (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier">"DeviceIdentifier"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-device-identifier" title="mm_gdbus_modem_dup_device_identifier ()"><code class="function">mm_gdbus_modem_dup_device_identifier()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-device-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-device-identifier.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-device-identifier"></a><h3>mm_gdbus_modem_dup_device_identifier ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_device_identifier (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier">"DeviceIdentifier"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-device-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-device-identifier.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-drivers"></a><h3>mm_gdbus_modem_get_drivers ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+mm_gdbus_modem_get_drivers (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers">"Drivers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-drivers" title="mm_gdbus_modem_dup_drivers ()"><code class="function">mm_gdbus_modem_dup_drivers()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-drivers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-drivers.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-drivers"></a><h3>mm_gdbus_modem_dup_drivers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_gdbus_modem_dup_drivers (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers">"Drivers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-drivers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-drivers.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-equipment-identifier"></a><h3>mm_gdbus_modem_get_equipment_identifier ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_equipment_identifier
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier">"EquipmentIdentifier"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-equipment-identifier" title="mm_gdbus_modem_dup_equipment_identifier ()"><code class="function">mm_gdbus_modem_dup_equipment_identifier()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-equipment-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-equipment-identifier.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-equipment-identifier"></a><h3>mm_gdbus_modem_dup_equipment_identifier ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_equipment_identifier
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier">"EquipmentIdentifier"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-equipment-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-equipment-identifier.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-manufacturer"></a><h3>mm_gdbus_modem_get_manufacturer ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_manufacturer (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer">"Manufacturer"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-manufacturer" title="mm_gdbus_modem_dup_manufacturer ()"><code class="function">mm_gdbus_modem_dup_manufacturer()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-manufacturer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-manufacturer.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-manufacturer"></a><h3>mm_gdbus_modem_dup_manufacturer ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_manufacturer (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer">"Manufacturer"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-manufacturer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-manufacturer.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-max-active-bearers"></a><h3>mm_gdbus_modem_get_max_active_bearers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_get_max_active_bearers (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxActiveBearers">"MaxActiveBearers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-max-active-bearers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-max-active-bearers.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-max-bearers"></a><h3>mm_gdbus_modem_get_max_bearers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_get_max_bearers (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxBearers">"MaxBearers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-max-bearers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-max-bearers.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-model"></a><h3>mm_gdbus_modem_get_model ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_model (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Model">"Model"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-model" title="mm_gdbus_modem_dup_model ()"><code class="function">mm_gdbus_modem_dup_model()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-model.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-model.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-model"></a><h3>mm_gdbus_modem_dup_model ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_model (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Model">"Model"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-model.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-model.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-own-numbers"></a><h3>mm_gdbus_modem_get_own_numbers ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+mm_gdbus_modem_get_own_numbers (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers">"OwnNumbers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-own-numbers" title="mm_gdbus_modem_dup_own_numbers ()"><code class="function">mm_gdbus_modem_dup_own_numbers()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-own-numbers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-own-numbers.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-own-numbers"></a><h3>mm_gdbus_modem_dup_own_numbers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_gdbus_modem_dup_own_numbers (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers">"OwnNumbers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-own-numbers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-own-numbers.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-plugin"></a><h3>mm_gdbus_modem_get_plugin ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_plugin (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin">"Plugin"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-plugin" title="mm_gdbus_modem_dup_plugin ()"><code class="function">mm_gdbus_modem_dup_plugin()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-plugin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-plugin.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-plugin"></a><h3>mm_gdbus_modem_dup_plugin ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_plugin (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin">"Plugin"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-plugin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-plugin.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-power-state"></a><h3>mm_gdbus_modem_get_power_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_get_power_state (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PowerState">"PowerState"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-power-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-power-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-primary-port"></a><h3>mm_gdbus_modem_get_primary_port ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_primary_port (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort">"PrimaryPort"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-primary-port" title="mm_gdbus_modem_dup_primary_port ()"><code class="function">mm_gdbus_modem_dup_primary_port()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-primary-port.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-primary-port.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-primary-port"></a><h3>mm_gdbus_modem_dup_primary_port ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_primary_port (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort">"PrimaryPort"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-primary-port.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-primary-port.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-ports"></a><h3>mm_gdbus_modem_get_ports ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_get_ports (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Ports">"Ports"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-ports" title="mm_gdbus_modem_dup_ports ()"><code class="function">mm_gdbus_modem_dup_ports()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-ports.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-ports.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-ports"></a><h3>mm_gdbus_modem_dup_ports ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_dup_ports (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Ports">"Ports"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-ports.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-ports.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-revision"></a><h3>mm_gdbus_modem_get_revision ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_revision (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Revision">"Revision"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-revision" title="mm_gdbus_modem_dup_revision ()"><code class="function">mm_gdbus_modem_dup_revision()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-revision.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-revision.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-revision"></a><h3>mm_gdbus_modem_dup_revision ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_revision (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Revision">"Revision"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-revision.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-revision.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-hardware-revision"></a><h3>mm_gdbus_modem_get_hardware_revision ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_hardware_revision (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision">"HardwareRevision"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-hardware-revision" title="mm_gdbus_modem_dup_hardware_revision ()"><code class="function">mm_gdbus_modem_dup_hardware_revision()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-hardware-revision.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-hardware-revision.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-hardware-revision"></a><h3>mm_gdbus_modem_dup_hardware_revision ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_hardware_revision (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision">"HardwareRevision"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-hardware-revision.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-hardware-revision.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-signal-quality"></a><h3>mm_gdbus_modem_get_signal_quality ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_get_signal_quality (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality">"SignalQuality"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-signal-quality" title="mm_gdbus_modem_dup_signal_quality ()"><code class="function">mm_gdbus_modem_dup_signal_quality()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-signal-quality.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-signal-quality.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-signal-quality"></a><h3>mm_gdbus_modem_dup_signal_quality ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_dup_signal_quality (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality">"SignalQuality"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-signal-quality.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-signal-quality.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-sim"></a><h3>mm_gdbus_modem_get_sim ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_get_sim (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Sim">"Sim"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-sim" title="mm_gdbus_modem_dup_sim ()"><code class="function">mm_gdbus_modem_dup_sim()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-sim.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-sim.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-sim"></a><h3>mm_gdbus_modem_dup_sim ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_dup_sim (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Sim">"Sim"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-sim.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-sim.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-supported-capabilities"></a><h3>mm_gdbus_modem_get_supported_capabilities ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_get_supported_capabilities
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities">"SupportedCapabilities"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-supported-capabilities" title="mm_gdbus_modem_dup_supported_capabilities ()"><code class="function">mm_gdbus_modem_dup_supported_capabilities()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-supported-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-supported-capabilities.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-supported-capabilities"></a><h3>mm_gdbus_modem_dup_supported_capabilities ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_dup_supported_capabilities
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities">"SupportedCapabilities"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-supported-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-supported-capabilities.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-state"></a><h3>mm_gdbus_modem_get_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+mm_gdbus_modem_get_state (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.State">"State"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-state-failed-reason"></a><h3>mm_gdbus_modem_get_state_failed_reason ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_get_state_failed_reason
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason">"StateFailedReason"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-state-failed-reason.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-state-failed-reason.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-supported-bands"></a><h3>mm_gdbus_modem_get_supported_bands ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_get_supported_bands (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands">"SupportedBands"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-supported-bands" title="mm_gdbus_modem_dup_supported_bands ()"><code class="function">mm_gdbus_modem_dup_supported_bands()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-supported-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-supported-bands.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-supported-bands"></a><h3>mm_gdbus_modem_dup_supported_bands ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_dup_supported_bands (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands">"SupportedBands"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-supported-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-supported-bands.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-supported-ip-families"></a><h3>mm_gdbus_modem_get_supported_ip_families ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_get_supported_ip_families
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedIpFamilies">"SupportedIpFamilies"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-supported-ip-families.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-supported-ip-families.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-supported-modes"></a><h3>mm_gdbus_modem_get_supported_modes ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_get_supported_modes (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes">"SupportedModes"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-supported-modes" title="mm_gdbus_modem_dup_supported_modes ()"><code class="function">mm_gdbus_modem_dup_supported_modes()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-supported-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-supported-modes.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-supported-modes"></a><h3>mm_gdbus_modem_dup_supported_modes ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_dup_supported_modes (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes">"SupportedModes"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-supported-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-supported-modes.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-unlock-required"></a><h3>mm_gdbus_modem_get_unlock_required ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_get_unlock_required (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRequired">"UnlockRequired"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-unlock-required.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-unlock-required.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-get-unlock-retries"></a><h3>mm_gdbus_modem_get_unlock_retries ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_get_unlock_retries (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries">"UnlockRetries"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-unlock-retries" title="mm_gdbus_modem_dup_unlock_retries ()"><code class="function">mm_gdbus_modem_dup_unlock_retries()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-unlock-retries.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-get-unlock-retries.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-dup-unlock-retries"></a><h3>mm_gdbus_modem_dup_unlock_retries ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_dup_unlock_retries (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries">"UnlockRetries"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-unlock-retries.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-dup-unlock-retries.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-enable"></a><h3>mm_gdbus_modem_call_enable ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_enable (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_enable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Enable"><GTKDOCLINK HREF="Enable"><code class="function">Enable()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable-finish" title="mm_gdbus_modem_call_enable_finish ()"><code class="function">mm_gdbus_modem_call_enable_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable-sync" title="mm_gdbus_modem_call_enable_sync ()"><code class="function">mm_gdbus_modem_call_enable_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-enable.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_enable</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-enable-finish"></a><h3>mm_gdbus_modem_call_enable_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_enable_finish (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable" title="mm_gdbus_modem_call_enable ()"><code class="function">mm_gdbus_modem_call_enable()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-enable-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable" title="mm_gdbus_modem_call_enable ()"><code class="function">mm_gdbus_modem_call_enable()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-enable-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-enable-sync"></a><h3>mm_gdbus_modem_call_enable_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_enable_sync (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_enable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Enable"><GTKDOCLINK HREF="Enable"><code class="function">Enable()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable" title="mm_gdbus_modem_call_enable ()"><code class="function">mm_gdbus_modem_call_enable()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-enable-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_enable</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-enable-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-power-state"></a><h3>mm_gdbus_modem_call_set_power_state ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_set_power_state (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_state</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState"><GTKDOCLINK HREF="SetPowerState"><code class="function">SetPowerState()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state-finish" title="mm_gdbus_modem_call_set_power_state_finish ()"><code class="function">mm_gdbus_modem_call_set_power_state_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state-sync" title="mm_gdbus_modem_call_set_power_state_sync ()"><code class="function">mm_gdbus_modem_call_set_power_state_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-power-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_state</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-power-state-finish"></a><h3>mm_gdbus_modem_call_set_power_state_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_set_power_state_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state" title="mm_gdbus_modem_call_set_power_state ()"><code class="function">mm_gdbus_modem_call_set_power_state()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-power-state-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state" title="mm_gdbus_modem_call_set_power_state ()"><code class="function">mm_gdbus_modem_call_set_power_state()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-power-state-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-power-state-sync"></a><h3>mm_gdbus_modem_call_set_power_state_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_set_power_state_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_state</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState"><GTKDOCLINK HREF="SetPowerState"><code class="function">SetPowerState()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state" title="mm_gdbus_modem_call_set_power_state ()"><code class="function">mm_gdbus_modem_call_set_power_state()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-power-state-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_state</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-power-state-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-create-bearer"></a><h3>mm_gdbus_modem_call_create_bearer ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_create_bearer (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer"><GTKDOCLINK HREF="CreateBearer"><code class="function">CreateBearer()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer-finish" title="mm_gdbus_modem_call_create_bearer_finish ()"><code class="function">mm_gdbus_modem_call_create_bearer_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer-sync" title="mm_gdbus_modem_call_create_bearer_sync ()"><code class="function">mm_gdbus_modem_call_create_bearer_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-create-bearer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-create-bearer-finish"></a><h3>mm_gdbus_modem_call_create_bearer_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_create_bearer_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer" title="mm_gdbus_modem_call_create_bearer ()"><code class="function">mm_gdbus_modem_call_create_bearer()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-create-bearer-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_path</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer" title="mm_gdbus_modem_call_create_bearer ()"><code class="function">mm_gdbus_modem_call_create_bearer()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-create-bearer-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-create-bearer-sync"></a><h3>mm_gdbus_modem_call_create_bearer_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_create_bearer_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer"><GTKDOCLINK HREF="CreateBearer"><code class="function">CreateBearer()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer" title="mm_gdbus_modem_call_create_bearer ()"><code class="function">mm_gdbus_modem_call_create_bearer()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-create-bearer-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_path</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-create-bearer-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-delete-bearer"></a><h3>mm_gdbus_modem_call_delete_bearer ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_delete_bearer (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer"><GTKDOCLINK HREF="DeleteBearer"><code class="function">DeleteBearer()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer-finish" title="mm_gdbus_modem_call_delete_bearer_finish ()"><code class="function">mm_gdbus_modem_call_delete_bearer_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer-sync" title="mm_gdbus_modem_call_delete_bearer_sync ()"><code class="function">mm_gdbus_modem_call_delete_bearer_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-delete-bearer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_bearer</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-delete-bearer-finish"></a><h3>mm_gdbus_modem_call_delete_bearer_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_delete_bearer_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer" title="mm_gdbus_modem_call_delete_bearer ()"><code class="function">mm_gdbus_modem_call_delete_bearer()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-delete-bearer-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer" title="mm_gdbus_modem_call_delete_bearer ()"><code class="function">mm_gdbus_modem_call_delete_bearer()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-delete-bearer-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-delete-bearer-sync"></a><h3>mm_gdbus_modem_call_delete_bearer_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_delete_bearer_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer"><GTKDOCLINK HREF="DeleteBearer"><code class="function">DeleteBearer()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer" title="mm_gdbus_modem_call_delete_bearer ()"><code class="function">mm_gdbus_modem_call_delete_bearer()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-delete-bearer-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_bearer</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-delete-bearer-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-list-bearers"></a><h3>mm_gdbus_modem_call_list_bearers ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_list_bearers (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers"><GTKDOCLINK HREF="ListBearers"><code class="function">ListBearers()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers-finish" title="mm_gdbus_modem_call_list_bearers_finish ()"><code class="function">mm_gdbus_modem_call_list_bearers_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers-sync" title="mm_gdbus_modem_call_list_bearers_sync ()"><code class="function">mm_gdbus_modem_call_list_bearers_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-list-bearers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-list-bearers-finish"></a><h3>mm_gdbus_modem_call_list_bearers_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_list_bearers_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> ***out_bearers</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers" title="mm_gdbus_modem_call_list_bearers ()"><code class="function">mm_gdbus_modem_call_list_bearers()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-list-bearers-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_bearers</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers" title="mm_gdbus_modem_call_list_bearers ()"><code class="function">mm_gdbus_modem_call_list_bearers()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-list-bearers-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-list-bearers-sync"></a><h3>mm_gdbus_modem_call_list_bearers_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_list_bearers_sync (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> ***out_bearers</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers"><GTKDOCLINK HREF="ListBearers"><code class="function">ListBearers()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers" title="mm_gdbus_modem_call_list_bearers ()"><code class="function">mm_gdbus_modem_call_list_bearers()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-list-bearers-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_bearers</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-list-bearers-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-reset"></a><h3>mm_gdbus_modem_call_reset ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_reset (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Reset"><GTKDOCLINK HREF="Reset"><code class="function">Reset()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset-finish" title="mm_gdbus_modem_call_reset_finish ()"><code class="function">mm_gdbus_modem_call_reset_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset-sync" title="mm_gdbus_modem_call_reset_sync ()"><code class="function">mm_gdbus_modem_call_reset_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-reset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-reset-finish"></a><h3>mm_gdbus_modem_call_reset_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_reset_finish (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset" title="mm_gdbus_modem_call_reset ()"><code class="function">mm_gdbus_modem_call_reset()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-reset-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset" title="mm_gdbus_modem_call_reset ()"><code class="function">mm_gdbus_modem_call_reset()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-reset-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-reset-sync"></a><h3>mm_gdbus_modem_call_reset_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_reset_sync (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Reset"><GTKDOCLINK HREF="Reset"><code class="function">Reset()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset" title="mm_gdbus_modem_call_reset ()"><code class="function">mm_gdbus_modem_call_reset()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-reset-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-reset-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-factory-reset"></a><h3>mm_gdbus_modem_call_factory_reset ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_factory_reset (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_code</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset"><GTKDOCLINK HREF="FactoryReset"><code class="function">FactoryReset()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset-finish" title="mm_gdbus_modem_call_factory_reset_finish ()"><code class="function">mm_gdbus_modem_call_factory_reset_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset-sync" title="mm_gdbus_modem_call_factory_reset_sync ()"><code class="function">mm_gdbus_modem_call_factory_reset_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-factory-reset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_code</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-factory-reset-finish"></a><h3>mm_gdbus_modem_call_factory_reset_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_factory_reset_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset" title="mm_gdbus_modem_call_factory_reset ()"><code class="function">mm_gdbus_modem_call_factory_reset()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-factory-reset-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset" title="mm_gdbus_modem_call_factory_reset ()"><code class="function">mm_gdbus_modem_call_factory_reset()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-factory-reset-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-factory-reset-sync"></a><h3>mm_gdbus_modem_call_factory_reset_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_factory_reset_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_code</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset"><GTKDOCLINK HREF="FactoryReset"><code class="function">FactoryReset()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset" title="mm_gdbus_modem_call_factory_reset ()"><code class="function">mm_gdbus_modem_call_factory_reset()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-factory-reset-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_code</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-factory-reset-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-current-modes"></a><h3>mm_gdbus_modem_call_set_current_modes ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_set_current_modes (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_modes</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes"><GTKDOCLINK HREF="SetCurrentModes"><code class="function">SetCurrentModes()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes-finish" title="mm_gdbus_modem_call_set_current_modes_finish ()"><code class="function">mm_gdbus_modem_call_set_current_modes_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes-sync" title="mm_gdbus_modem_call_set_current_modes_sync ()"><code class="function">mm_gdbus_modem_call_set_current_modes_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_modes</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-current-modes-finish"></a><h3>mm_gdbus_modem_call_set_current_modes_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_set_current_modes_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes" title="mm_gdbus_modem_call_set_current_modes ()"><code class="function">mm_gdbus_modem_call_set_current_modes()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-modes-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes" title="mm_gdbus_modem_call_set_current_modes ()"><code class="function">mm_gdbus_modem_call_set_current_modes()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-modes-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-current-modes-sync"></a><h3>mm_gdbus_modem_call_set_current_modes_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_set_current_modes_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_modes</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes"><GTKDOCLINK HREF="SetCurrentModes"><code class="function">SetCurrentModes()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes" title="mm_gdbus_modem_call_set_current_modes ()"><code class="function">mm_gdbus_modem_call_set_current_modes()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-modes-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_modes</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-modes-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-current-bands"></a><h3>mm_gdbus_modem_call_set_current_bands ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_set_current_bands (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands"><GTKDOCLINK HREF="SetCurrentBands"><code class="function">SetCurrentBands()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands-finish" title="mm_gdbus_modem_call_set_current_bands_finish ()"><code class="function">mm_gdbus_modem_call_set_current_bands_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands-sync" title="mm_gdbus_modem_call_set_current_bands_sync ()"><code class="function">mm_gdbus_modem_call_set_current_bands_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_bands</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-current-bands-finish"></a><h3>mm_gdbus_modem_call_set_current_bands_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_set_current_bands_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands" title="mm_gdbus_modem_call_set_current_bands ()"><code class="function">mm_gdbus_modem_call_set_current_bands()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-bands-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands" title="mm_gdbus_modem_call_set_current_bands ()"><code class="function">mm_gdbus_modem_call_set_current_bands()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-bands-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-current-bands-sync"></a><h3>mm_gdbus_modem_call_set_current_bands_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_set_current_bands_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_bands</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands"><GTKDOCLINK HREF="SetCurrentBands"><code class="function">SetCurrentBands()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands" title="mm_gdbus_modem_call_set_current_bands ()"><code class="function">mm_gdbus_modem_call_set_current_bands()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-bands-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_bands</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-bands-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-current-capabilities"></a><h3>mm_gdbus_modem_call_set_current_capabilities ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_set_current_capabilities
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_capabilities</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities"><GTKDOCLINK HREF="SetCurrentCapabilities"><code class="function">SetCurrentCapabilities()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities-finish" title="mm_gdbus_modem_call_set_current_capabilities_finish ()"><code class="function">mm_gdbus_modem_call_set_current_capabilities_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities-sync" title="mm_gdbus_modem_call_set_current_capabilities_sync ()"><code class="function">mm_gdbus_modem_call_set_current_capabilities_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_capabilities</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-current-capabilities-finish"></a><h3>mm_gdbus_modem_call_set_current_capabilities_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_set_current_capabilities_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities" title="mm_gdbus_modem_call_set_current_capabilities ()"><code class="function">mm_gdbus_modem_call_set_current_capabilities()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-capabilities-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities" title="mm_gdbus_modem_call_set_current_capabilities ()"><code class="function">mm_gdbus_modem_call_set_current_capabilities()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-capabilities-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-set-current-capabilities-sync"></a><h3>mm_gdbus_modem_call_set_current_capabilities_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_set_current_capabilities_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_capabilities</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities"><GTKDOCLINK HREF="SetCurrentCapabilities"><code class="function">SetCurrentCapabilities()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities" title="mm_gdbus_modem_call_set_current_capabilities ()"><code class="function">mm_gdbus_modem_call_set_current_capabilities()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-capabilities-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_capabilities</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-set-current-capabilities-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-command"></a><h3>mm_gdbus_modem_call_command ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_call_command (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_cmd</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_timeout</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Command"><GTKDOCLINK HREF="Command"><code class="function">Command()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command-finish" title="mm_gdbus_modem_call_command_finish ()"><code class="function">mm_gdbus_modem_call_command_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command-sync" title="mm_gdbus_modem_call_command_sync ()"><code class="function">mm_gdbus_modem_call_command_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-command.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_cmd</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_timeout</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-command-finish"></a><h3>mm_gdbus_modem_call_command_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_command_finish (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_response</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command" title="mm_gdbus_modem_call_command ()"><code class="function">mm_gdbus_modem_call_command()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-command-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_response</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command" title="mm_gdbus_modem_call_command ()"><code class="function">mm_gdbus_modem_call_command()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-command-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-call-command-sync"></a><h3>mm_gdbus_modem_call_command_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_call_command_sync (<em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_cmd</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_timeout</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_response</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Command"><GTKDOCLINK HREF="Command"><code class="function">Command()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command" title="mm_gdbus_modem_call_command ()"><code class="function">mm_gdbus_modem_call_command()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-command-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_cmd</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_timeout</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_response</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-call-command-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModem-struct"></a><h3>MmGdbusModem</h3>
+<pre class="programlisting">typedef struct _MmGdbusModem MmGdbusModem;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemIface"></a><h3>struct MmGdbusModemIface</h3>
+<pre class="programlisting">struct MmGdbusModemIface {
+ GTypeInterface parent_iface;
+
+
+
+ gboolean (*handle_command) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_cmd,
+ guint arg_timeout);
+
+ gboolean (*handle_create_bearer) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_properties);
+
+ gboolean (*handle_delete_bearer) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_bearer);
+
+ gboolean (*handle_enable) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation,
+ gboolean arg_enable);
+
+ gboolean (*handle_factory_reset) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_code);
+
+ gboolean (*handle_list_bearers) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_reset) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_set_current_bands) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_bands);
+
+ gboolean (*handle_set_current_capabilities) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_capabilities);
+
+ gboolean (*handle_set_current_modes) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_modes);
+
+ gboolean (*handle_set_power_state) (
+ MmGdbusModem *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_state);
+
+ guint (*get_access_technologies) (MmGdbusModem *object);
+
+ const gchar *const * (*get_bearers) (MmGdbusModem *object);
+
+ GVariant * (*get_current_bands) (MmGdbusModem *object);
+
+ guint (*get_current_capabilities) (MmGdbusModem *object);
+
+ GVariant * (*get_current_modes) (MmGdbusModem *object);
+
+ const gchar * (*get_device) (MmGdbusModem *object);
+
+ const gchar * (*get_device_identifier) (MmGdbusModem *object);
+
+ const gchar *const * (*get_drivers) (MmGdbusModem *object);
+
+ const gchar * (*get_equipment_identifier) (MmGdbusModem *object);
+
+ const gchar * (*get_hardware_revision) (MmGdbusModem *object);
+
+ const gchar * (*get_manufacturer) (MmGdbusModem *object);
+
+ guint (*get_max_active_bearers) (MmGdbusModem *object);
+
+ guint (*get_max_bearers) (MmGdbusModem *object);
+
+ const gchar * (*get_model) (MmGdbusModem *object);
+
+ const gchar *const * (*get_own_numbers) (MmGdbusModem *object);
+
+ const gchar * (*get_plugin) (MmGdbusModem *object);
+
+ GVariant * (*get_ports) (MmGdbusModem *object);
+
+ guint (*get_power_state) (MmGdbusModem *object);
+
+ const gchar * (*get_primary_port) (MmGdbusModem *object);
+
+ const gchar * (*get_revision) (MmGdbusModem *object);
+
+ GVariant * (*get_signal_quality) (MmGdbusModem *object);
+
+ const gchar * (*get_sim) (MmGdbusModem *object);
+
+ gint (*get_state) (MmGdbusModem *object);
+
+ guint (*get_state_failed_reason) (MmGdbusModem *object);
+
+ GVariant * (*get_supported_bands) (MmGdbusModem *object);
+
+ GVariant * (*get_supported_capabilities) (MmGdbusModem *object);
+
+ guint (*get_supported_ip_families) (MmGdbusModem *object);
+
+ GVariant * (*get_supported_modes) (MmGdbusModem *object);
+
+ guint (*get_unlock_required) (MmGdbusModem *object);
+
+ GVariant * (*get_unlock_retries) (MmGdbusModem *object);
+
+ void (*state_changed) (
+ MmGdbusModem *object,
+ gint arg_old,
+ gint arg_new,
+ guint arg_reason);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.</p>
+<div class="refsect3">
+<a name="MmGdbusModemIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-command"></a>handle_command</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-command" title="The “handle-command” signal"><span class="type">“handle-command”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-create-bearer"></a>handle_create_bearer</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-create-bearer" title="The “handle-create-bearer” signal"><span class="type">“handle-create-bearer”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-delete-bearer"></a>handle_delete_bearer</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-delete-bearer" title="The “handle-delete-bearer” signal"><span class="type">“handle-delete-bearer”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-enable"></a>handle_enable</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-enable" title="The “handle-enable” signal"><span class="type">“handle-enable”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-factory-reset"></a>handle_factory_reset</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-factory-reset" title="The “handle-factory-reset” signal"><span class="type">“handle-factory-reset”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-list-bearers"></a>handle_list_bearers</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-list-bearers" title="The “handle-list-bearers” signal"><span class="type">“handle-list-bearers”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-reset"></a>handle_reset</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-reset" title="The “handle-reset” signal"><span class="type">“handle-reset”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-set-current-bands"></a>handle_set_current_bands</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-current-bands" title="The “handle-set-current-bands” signal"><span class="type">“handle-set-current-bands”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-set-current-capabilities"></a>handle_set_current_capabilities</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-current-capabilities" title="The “handle-set-current-capabilities” signal"><span class="type">“handle-set-current-capabilities”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-set-current-modes"></a>handle_set_current_modes</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-current-modes" title="The “handle-set-current-modes” signal"><span class="type">“handle-set-current-modes”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.handle-set-power-state"></a>handle_set_power_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-power-state" title="The “handle-set-power-state” signal"><span class="type">“handle-set-power-state”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-access-technologies"></a>get_access_technologies</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--access-technologies" title="The “access-technologies” property"><span class="type">“access-technologies”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-bearers"></a>get_bearers</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--bearers" title="The “bearers” property"><span class="type">“bearers”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-current-bands"></a>get_current_bands</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--current-bands" title="The “current-bands” property"><span class="type">“current-bands”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-current-capabilities"></a>get_current_capabilities</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--current-capabilities" title="The “current-capabilities” property"><span class="type">“current-capabilities”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-current-modes"></a>get_current_modes</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--current-modes" title="The “current-modes” property"><span class="type">“current-modes”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-device"></a>get_device</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--device" title="The “device” property"><span class="type">“device”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-device-identifier"></a>get_device_identifier</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--device-identifier" title="The “device-identifier” property"><span class="type">“device-identifier”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-drivers"></a>get_drivers</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--drivers" title="The “drivers” property"><span class="type">“drivers”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-equipment-identifier"></a>get_equipment_identifier</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--equipment-identifier" title="The “equipment-identifier” property"><span class="type">“equipment-identifier”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-hardware-revision"></a>get_hardware_revision</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--hardware-revision" title="The “hardware-revision” property"><span class="type">“hardware-revision”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-manufacturer"></a>get_manufacturer</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--manufacturer" title="The “manufacturer” property"><span class="type">“manufacturer”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-max-active-bearers"></a>get_max_active_bearers</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--max-active-bearers" title="The “max-active-bearers” property"><span class="type">“max-active-bearers”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-max-bearers"></a>get_max_bearers</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--max-bearers" title="The “max-bearers” property"><span class="type">“max-bearers”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-model"></a>get_model</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--model" title="The “model” property"><span class="type">“model”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-own-numbers"></a>get_own_numbers</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--own-numbers" title="The “own-numbers” property"><span class="type">“own-numbers”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-plugin"></a>get_plugin</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--plugin" title="The “plugin” property"><span class="type">“plugin”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-ports"></a>get_ports</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--ports" title="The “ports” property"><span class="type">“ports”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-power-state"></a>get_power_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--power-state" title="The “power-state” property"><span class="type">“power-state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-primary-port"></a>get_primary_port</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--primary-port" title="The “primary-port” property"><span class="type">“primary-port”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-revision"></a>get_revision</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--revision" title="The “revision” property"><span class="type">“revision”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-signal-quality"></a>get_signal_quality</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--signal-quality" title="The “signal-quality” property"><span class="type">“signal-quality”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-sim"></a>get_sim</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--sim" title="The “sim” property"><span class="type">“sim”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-state"></a>get_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--state" title="The “state” property"><span class="type">“state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-state-failed-reason"></a>get_state_failed_reason</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--state-failed-reason" title="The “state-failed-reason” property"><span class="type">“state-failed-reason”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-supported-bands"></a>get_supported_bands</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-bands" title="The “supported-bands” property"><span class="type">“supported-bands”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-supported-capabilities"></a>get_supported_capabilities</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-capabilities" title="The “supported-capabilities” property"><span class="type">“supported-capabilities”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-supported-ip-families"></a>get_supported_ip_families</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-ip-families" title="The “supported-ip-families” property"><span class="type">“supported-ip-families”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-supported-modes"></a>get_supported_modes</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-modes" title="The “supported-modes” property"><span class="type">“supported-modes”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-unlock-required"></a>get_unlock_required</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--unlock-required" title="The “unlock-required” property"><span class="type">“unlock-required”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.get-unlock-retries"></a>get_unlock_retries</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem.html#MmGdbusModem--unlock-retries" title="The “unlock-retries” property"><span class="type">“unlock-retries”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemIface.state-changed"></a>state_changed</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem.html#MmGdbusModem-state-changed" title="The “state-changed” signal"><span class="type">“state-changed”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModem--access-technologies"></a><h3>The <code class="literal">“access-technologies”</code> property</h3>
+<pre class="programlisting"> “access-technologies” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.AccessTechnologies">"AccessTechnologies"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--bearers"></a><h3>The <code class="literal">“bearers”</code> property</h3>
+<pre class="programlisting"> “bearers” <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers">"Bearers"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--current-bands"></a><h3>The <code class="literal">“current-bands”</code> property</h3>
+<pre class="programlisting"> “current-bands” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands">"CurrentBands"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;au&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--current-capabilities"></a><h3>The <code class="literal">“current-capabilities”</code> property</h3>
+<pre class="programlisting"> “current-capabilities” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentCapabilities">"CurrentCapabilities"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--current-modes"></a><h3>The <code class="literal">“current-modes”</code> property</h3>
+<pre class="programlisting"> “current-modes” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes">"CurrentModes"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;(uu)&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--device"></a><h3>The <code class="literal">“device”</code> property</h3>
+<pre class="programlisting"> “device” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Device">"Device"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--device-identifier"></a><h3>The <code class="literal">“device-identifier”</code> property</h3>
+<pre class="programlisting"> “device-identifier” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier">"DeviceIdentifier"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--drivers"></a><h3>The <code class="literal">“drivers”</code> property</h3>
+<pre class="programlisting"> “drivers” <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers">"Drivers"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--equipment-identifier"></a><h3>The <code class="literal">“equipment-identifier”</code> property</h3>
+<pre class="programlisting"> “equipment-identifier” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier">"EquipmentIdentifier"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--hardware-revision"></a><h3>The <code class="literal">“hardware-revision”</code> property</h3>
+<pre class="programlisting"> “hardware-revision” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision">"HardwareRevision"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--manufacturer"></a><h3>The <code class="literal">“manufacturer”</code> property</h3>
+<pre class="programlisting"> “manufacturer” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer">"Manufacturer"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--max-active-bearers"></a><h3>The <code class="literal">“max-active-bearers”</code> property</h3>
+<pre class="programlisting"> “max-active-bearers” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxActiveBearers">"MaxActiveBearers"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--max-bearers"></a><h3>The <code class="literal">“max-bearers”</code> property</h3>
+<pre class="programlisting"> “max-bearers” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.MaxBearers">"MaxBearers"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--model"></a><h3>The <code class="literal">“model”</code> property</h3>
+<pre class="programlisting"> “model” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Model">"Model"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--own-numbers"></a><h3>The <code class="literal">“own-numbers”</code> property</h3>
+<pre class="programlisting"> “own-numbers” <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers">"OwnNumbers"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--plugin"></a><h3>The <code class="literal">“plugin”</code> property</h3>
+<pre class="programlisting"> “plugin” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin">"Plugin"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--ports"></a><h3>The <code class="literal">“ports”</code> property</h3>
+<pre class="programlisting"> “ports” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Ports">"Ports"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a(su)&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--power-state"></a><h3>The <code class="literal">“power-state”</code> property</h3>
+<pre class="programlisting"> “power-state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PowerState">"PowerState"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--primary-port"></a><h3>The <code class="literal">“primary-port”</code> property</h3>
+<pre class="programlisting"> “primary-port” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort">"PrimaryPort"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--revision"></a><h3>The <code class="literal">“revision”</code> property</h3>
+<pre class="programlisting"> “revision” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Revision">"Revision"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--signal-quality"></a><h3>The <code class="literal">“signal-quality”</code> property</h3>
+<pre class="programlisting"> “signal-quality” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality">"SignalQuality"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;(ub)&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--sim"></a><h3>The <code class="literal">“sim”</code> property</h3>
+<pre class="programlisting"> “sim” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.Sim">"Sim"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--state"></a><h3>The <code class="literal">“state”</code> property</h3>
+<pre class="programlisting"> “state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.State">"State"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--state-failed-reason"></a><h3>The <code class="literal">“state-failed-reason”</code> property</h3>
+<pre class="programlisting"> “state-failed-reason” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason">"StateFailedReason"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--supported-bands"></a><h3>The <code class="literal">“supported-bands”</code> property</h3>
+<pre class="programlisting"> “supported-bands” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands">"SupportedBands"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;au&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--supported-capabilities"></a><h3>The <code class="literal">“supported-capabilities”</code> property</h3>
+<pre class="programlisting"> “supported-capabilities” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities">"SupportedCapabilities"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;au&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--supported-ip-families"></a><h3>The <code class="literal">“supported-ip-families”</code> property</h3>
+<pre class="programlisting"> “supported-ip-families” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedIpFamilies">"SupportedIpFamilies"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--supported-modes"></a><h3>The <code class="literal">“supported-modes”</code> property</h3>
+<pre class="programlisting"> “supported-modes” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes">"SupportedModes"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a(uu)&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--unlock-required"></a><h3>The <code class="literal">“unlock-required”</code> property</h3>
+<pre class="programlisting"> “unlock-required” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRequired">"UnlockRequired"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem--unlock-retries"></a><h3>The <code class="literal">“unlock-retries”</code> property</h3>
+<pre class="programlisting"> “unlock-retries” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries">"UnlockRetries"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{uu}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-command"></a><h3>The <code class="literal">“handle-command”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_cmd,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_timeout,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Command"><GTKDOCLINK HREF="Command"><code class="function">Command()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_command()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-command.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_cmd</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_timeout</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-command.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-create-bearer"></a><h3>The <code class="literal">“handle-create-bearer”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer"><GTKDOCLINK HREF="CreateBearer"><code class="function">CreateBearer()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_create_bearer()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-create-bearer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-create-bearer.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-delete-bearer"></a><h3>The <code class="literal">“handle-delete-bearer”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_bearer,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer"><GTKDOCLINK HREF="DeleteBearer"><code class="function">DeleteBearer()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_delete_bearer()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-delete-bearer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_bearer</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-delete-bearer.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-enable"></a><h3>The <code class="literal">“handle-enable”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_enable,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Enable"><GTKDOCLINK HREF="Enable"><code class="function">Enable()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_enable()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-enable.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_enable</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-enable.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-factory-reset"></a><h3>The <code class="literal">“handle-factory-reset”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_code,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset"><GTKDOCLINK HREF="FactoryReset"><code class="function">FactoryReset()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_factory_reset()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-factory-reset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_code</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-factory-reset.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-list-bearers"></a><h3>The <code class="literal">“handle-list-bearers”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers"><GTKDOCLINK HREF="ListBearers"><code class="function">ListBearers()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_list_bearers()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-list-bearers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-list-bearers.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-reset"></a><h3>The <code class="literal">“handle-reset”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.Reset"><GTKDOCLINK HREF="Reset"><code class="function">Reset()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_reset()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-reset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-reset.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-set-current-bands"></a><h3>The <code class="literal">“handle-set-current-bands”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_bands,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands"><GTKDOCLINK HREF="SetCurrentBands"><code class="function">SetCurrentBands()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_set_current_bands()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-set-current-bands.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_bands</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-set-current-bands.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-set-current-capabilities"></a><h3>The <code class="literal">“handle-set-current-capabilities”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_capabilities,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities"><GTKDOCLINK HREF="SetCurrentCapabilities"><code class="function">SetCurrentCapabilities()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_set_current_capabilities()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-set-current-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_capabilities</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-set-current-capabilities.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-set-current-modes"></a><h3>The <code class="literal">“handle-set-current-modes”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_modes,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes"><GTKDOCLINK HREF="SetCurrentModes"><code class="function">SetCurrentModes()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_set_current_modes()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-set-current-modes.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_modes</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-set-current-modes.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-handle-set-power-state"></a><h3>The <code class="literal">“handle-set-power-state”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_state,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState"><GTKDOCLINK HREF="SetPowerState"><code class="function">SetPowerState()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_complete_set_power_state()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-set-power-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_state</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem-handle-set-power-state.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem-state-changed"></a><h3>The <code class="literal">“state-changed”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> arg_old,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> arg_new,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_reason,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-signal-org-freedesktop-ModemManager1-Modem.StateChanged">"StateChanged"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusModem-state-changed.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_old</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_new</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_reason</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModem3gpp.html b/docs/reference/libmm-glib/html/MmGdbusModem3gpp.html
new file mode 100644
index 00000000..33d86366
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModem3gpp.html
@@ -0,0 +1,1918 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModem3gpp: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemSkeleton.html" title="MmGdbusModemSkeleton">
+<link rel="next" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gpp.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gpp.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gpp.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gpp.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gpp.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gpp.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModem3gppProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModem3gpp"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModem3gpp.top_of_page"></a>MmGdbusModem3gpp</span></h2>
+<p>MmGdbusModem3gpp — Generated C code for the org.freedesktop.ModemManager1.Modem.Modem3gpp D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-registration-state" title="mm_gdbus_modem3gpp_get_registration_state ()">mm_gdbus_modem3gpp_get_registration_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-imei" title="mm_gdbus_modem3gpp_get_imei ()">mm_gdbus_modem3gpp_get_imei</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-imei" title="mm_gdbus_modem3gpp_dup_imei ()">mm_gdbus_modem3gpp_dup_imei</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-operator-code" title="mm_gdbus_modem3gpp_get_operator_code ()">mm_gdbus_modem3gpp_get_operator_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-operator-code" title="mm_gdbus_modem3gpp_dup_operator_code ()">mm_gdbus_modem3gpp_dup_operator_code</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-operator-name" title="mm_gdbus_modem3gpp_get_operator_name ()">mm_gdbus_modem3gpp_get_operator_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-operator-name" title="mm_gdbus_modem3gpp_dup_operator_name ()">mm_gdbus_modem3gpp_dup_operator_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-enabled-facility-locks" title="mm_gdbus_modem3gpp_get_enabled_facility_locks ()">mm_gdbus_modem3gpp_get_enabled_facility_locks</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-subscription-state" title="mm_gdbus_modem3gpp_get_subscription_state ()">mm_gdbus_modem3gpp_get_subscription_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-eps-ue-mode-operation" title="mm_gdbus_modem3gpp_get_eps_ue_mode_operation ()">mm_gdbus_modem3gpp_get_eps_ue_mode_operation</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-pco" title="mm_gdbus_modem3gpp_get_pco ()">mm_gdbus_modem3gpp_get_pco</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-pco" title="mm_gdbus_modem3gpp_dup_pco ()">mm_gdbus_modem3gpp_dup_pco</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-initial-eps-bearer" title="mm_gdbus_modem3gpp_get_initial_eps_bearer ()">mm_gdbus_modem3gpp_get_initial_eps_bearer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-initial-eps-bearer" title="mm_gdbus_modem3gpp_dup_initial_eps_bearer ()">mm_gdbus_modem3gpp_dup_initial_eps_bearer</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_get_initial_eps_bearer_settings ()">mm_gdbus_modem3gpp_get_initial_eps_bearer_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings ()">mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register" title="mm_gdbus_modem3gpp_call_register ()">mm_gdbus_modem3gpp_call_register</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register-finish" title="mm_gdbus_modem3gpp_call_register_finish ()">mm_gdbus_modem3gpp_call_register_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register-sync" title="mm_gdbus_modem3gpp_call_register_sync ()">mm_gdbus_modem3gpp_call_register_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan" title="mm_gdbus_modem3gpp_call_scan ()">mm_gdbus_modem3gpp_call_scan</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan-finish" title="mm_gdbus_modem3gpp_call_scan_finish ()">mm_gdbus_modem3gpp_call_scan_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan-sync" title="mm_gdbus_modem3gpp_call_scan_sync ()">mm_gdbus_modem3gpp_call_scan_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation ()">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-finish" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_finish ()">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-sync" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_sync ()">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings ()">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-finish" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_finish ()">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-sync" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_sync ()">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--enabled-facility-locks" title="The “enabled-facility-locks” property">enabled-facility-locks</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--eps-ue-mode-operation" title="The “eps-ue-mode-operation” property">eps-ue-mode-operation</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--imei" title="The “imei” property">imei</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--initial-eps-bearer" title="The “initial-eps-bearer” property">initial-eps-bearer</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--initial-eps-bearer-settings" title="The “initial-eps-bearer-settings” property">initial-eps-bearer-settings</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--operator-code" title="The “operator-code” property">operator-code</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--operator-name" title="The “operator-name” property">operator-name</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--pco" title="The “pco” property">pco</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--registration-state" title="The “registration-state” property">registration-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--subscription-state" title="The “subscription-state” property">subscription-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-register" title="The “handle-register” signal">handle-register</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-scan" title="The “handle-scan” signal">handle-scan</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-set-eps-ue-mode-operation" title="The “handle-set-eps-ue-mode-operation” signal">handle-set-eps-ue-mode-operation</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-set-initial-eps-bearer-settings" title="The “handle-set-initial-eps-bearer-settings” signal">handle-set-initial-eps-bearer-settings</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-struct" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gppIface" title="struct MmGdbusModem3gppIface">MmGdbusModem3gppIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModem3gpp
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModem3gpp requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModem3gpp is implemented by
+ <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>, <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a> and <a class="link" href="MmGdbusModem3gppSkeleton.html" title="MmGdbusModem3gppSkeleton">MmGdbusModem3gppSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Modem3gpp D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-registration-state"></a><h3>mm_gdbus_modem3gpp_get_registration_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem3gpp_get_registration_state
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.RegistrationState">"RegistrationState"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-registration-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-registration-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-imei"></a><h3>mm_gdbus_modem3gpp_get_imei ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_get_imei (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei">"Imei"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-imei" title="mm_gdbus_modem3gpp_dup_imei ()"><code class="function">mm_gdbus_modem3gpp_dup_imei()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-imei.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-imei.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-dup-imei"></a><h3>mm_gdbus_modem3gpp_dup_imei ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_dup_imei (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei">"Imei"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-imei.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-imei.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-operator-code"></a><h3>mm_gdbus_modem3gpp_get_operator_code ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_get_operator_code (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode">"OperatorCode"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-operator-code" title="mm_gdbus_modem3gpp_dup_operator_code ()"><code class="function">mm_gdbus_modem3gpp_dup_operator_code()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-operator-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-operator-code.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-dup-operator-code"></a><h3>mm_gdbus_modem3gpp_dup_operator_code ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_dup_operator_code (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode">"OperatorCode"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-operator-code.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-operator-code.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-operator-name"></a><h3>mm_gdbus_modem3gpp_get_operator_name ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_get_operator_name (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName">"OperatorName"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-operator-name" title="mm_gdbus_modem3gpp_dup_operator_name ()"><code class="function">mm_gdbus_modem3gpp_dup_operator_name()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-operator-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-operator-name.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-dup-operator-name"></a><h3>mm_gdbus_modem3gpp_dup_operator_name ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_dup_operator_name (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName">"OperatorName"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-operator-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-operator-name.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-enabled-facility-locks"></a><h3>mm_gdbus_modem3gpp_get_enabled_facility_locks ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem3gpp_get_enabled_facility_locks
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EnabledFacilityLocks">"EnabledFacilityLocks"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-enabled-facility-locks.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-enabled-facility-locks.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-subscription-state"></a><h3>mm_gdbus_modem3gpp_get_subscription_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem3gpp_get_subscription_state
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.SubscriptionState">"SubscriptionState"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-subscription-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-subscription-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-eps-ue-mode-operation"></a><h3>mm_gdbus_modem3gpp_get_eps_ue_mode_operation ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem3gpp_get_eps_ue_mode_operation
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EpsUeModeOperation">"EpsUeModeOperation"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-eps-ue-mode-operation.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-eps-ue-mode-operation.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-pco"></a><h3>mm_gdbus_modem3gpp_get_pco ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem3gpp_get_pco (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco">"Pco"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-pco" title="mm_gdbus_modem3gpp_dup_pco ()"><code class="function">mm_gdbus_modem3gpp_dup_pco()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-pco.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-pco.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-dup-pco"></a><h3>mm_gdbus_modem3gpp_dup_pco ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem3gpp_dup_pco (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco">"Pco"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-pco.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-pco.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-initial-eps-bearer"></a><h3>mm_gdbus_modem3gpp_get_initial_eps_bearer ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_get_initial_eps_bearer
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer">"InitialEpsBearer"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-initial-eps-bearer" title="mm_gdbus_modem3gpp_dup_initial_eps_bearer ()"><code class="function">mm_gdbus_modem3gpp_dup_initial_eps_bearer()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-initial-eps-bearer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-initial-eps-bearer.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-dup-initial-eps-bearer"></a><h3>mm_gdbus_modem3gpp_dup_initial_eps_bearer ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_dup_initial_eps_bearer
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer">"InitialEpsBearer"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-initial-eps-bearer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-initial-eps-bearer.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-get-initial-eps-bearer-settings"></a><h3>mm_gdbus_modem3gpp_get_initial_eps_bearer_settings ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem3gpp_get_initial_eps_bearer_settings
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings">"InitialEpsBearerSettings"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings ()"><code class="function">mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-initial-eps-bearer-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-get-initial-eps-bearer-settings.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-dup-initial-eps-bearer-settings"></a><h3>mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings">"InitialEpsBearerSettings"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-initial-eps-bearer-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-dup-initial-eps-bearer-settings.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-register"></a><h3>mm_gdbus_modem3gpp_call_register ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_call_register (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_operator_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register"><GTKDOCLINK HREF="Register"><code class="function">Register()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register-finish" title="mm_gdbus_modem3gpp_call_register_finish ()"><code class="function">mm_gdbus_modem3gpp_call_register_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register-sync" title="mm_gdbus_modem3gpp_call_register_sync ()"><code class="function">mm_gdbus_modem3gpp_call_register_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-register.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_operator_id</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-register-finish"></a><h3>mm_gdbus_modem3gpp_call_register_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_call_register_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register" title="mm_gdbus_modem3gpp_call_register ()"><code class="function">mm_gdbus_modem3gpp_call_register()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-register-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register" title="mm_gdbus_modem3gpp_call_register ()"><code class="function">mm_gdbus_modem3gpp_call_register()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-register-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-register-sync"></a><h3>mm_gdbus_modem3gpp_call_register_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_call_register_sync (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_operator_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register"><GTKDOCLINK HREF="Register"><code class="function">Register()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register" title="mm_gdbus_modem3gpp_call_register ()"><code class="function">mm_gdbus_modem3gpp_call_register()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-register-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_operator_id</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-register-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-scan"></a><h3>mm_gdbus_modem3gpp_call_scan ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_call_scan (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan"><GTKDOCLINK HREF="Scan"><code class="function">Scan()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan-finish" title="mm_gdbus_modem3gpp_call_scan_finish ()"><code class="function">mm_gdbus_modem3gpp_call_scan_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan-sync" title="mm_gdbus_modem3gpp_call_scan_sync ()"><code class="function">mm_gdbus_modem3gpp_call_scan_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-scan.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-scan-finish"></a><h3>mm_gdbus_modem3gpp_call_scan_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_call_scan_finish (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_results</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan" title="mm_gdbus_modem3gpp_call_scan ()"><code class="function">mm_gdbus_modem3gpp_call_scan()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-scan-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_results</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan" title="mm_gdbus_modem3gpp_call_scan ()"><code class="function">mm_gdbus_modem3gpp_call_scan()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-scan-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-scan-sync"></a><h3>mm_gdbus_modem3gpp_call_scan_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_call_scan_sync (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_results</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan"><GTKDOCLINK HREF="Scan"><code class="function">Scan()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan" title="mm_gdbus_modem3gpp_call_scan ()"><code class="function">mm_gdbus_modem3gpp_call_scan()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-scan-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_results</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-scan-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation"></a><h3>mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_mode</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation"><GTKDOCLINK HREF="SetEpsUeModeOperation"><code class="function">SetEpsUeModeOperation()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-finish" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_finish ()"><code class="function">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-sync" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_sync ()"><code class="function">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_mode</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-finish"></a><h3>mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation ()"><code class="function">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation ()"><code class="function">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-sync"></a><h3>mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_mode</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation"><GTKDOCLINK HREF="SetEpsUeModeOperation"><code class="function">SetEpsUeModeOperation()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation ()"><code class="function">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_mode</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings"></a><h3>mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_settings</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings"><GTKDOCLINK HREF="SetInitialEpsBearerSettings"><code class="function">SetInitialEpsBearerSettings()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-finish" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_finish ()"><code class="function">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-sync" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_sync ()"><code class="function">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_settings</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-finish"></a><h3>mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings ()"><code class="function">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings ()"><code class="function">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-sync"></a><h3>mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_settings</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings"><GTKDOCLINK HREF="SetInitialEpsBearerSettings"><code class="function">SetInitialEpsBearerSettings()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings ()"><code class="function">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_settings</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp-struct"></a><h3>MmGdbusModem3gpp</h3>
+<pre class="programlisting">typedef struct _MmGdbusModem3gpp MmGdbusModem3gpp;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gppIface"></a><h3>struct MmGdbusModem3gppIface</h3>
+<pre class="programlisting">struct MmGdbusModem3gppIface {
+ GTypeInterface parent_iface;
+
+
+ gboolean (*handle_register) (
+ MmGdbusModem3gpp *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_operator_id);
+
+ gboolean (*handle_scan) (
+ MmGdbusModem3gpp *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_set_eps_ue_mode_operation) (
+ MmGdbusModem3gpp *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_mode);
+
+ gboolean (*handle_set_initial_eps_bearer_settings) (
+ MmGdbusModem3gpp *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_settings);
+
+ guint (*get_enabled_facility_locks) (MmGdbusModem3gpp *object);
+
+ guint (*get_eps_ue_mode_operation) (MmGdbusModem3gpp *object);
+
+ const gchar * (*get_imei) (MmGdbusModem3gpp *object);
+
+ const gchar * (*get_initial_eps_bearer) (MmGdbusModem3gpp *object);
+
+ GVariant * (*get_initial_eps_bearer_settings) (MmGdbusModem3gpp *object);
+
+ const gchar * (*get_operator_code) (MmGdbusModem3gpp *object);
+
+ const gchar * (*get_operator_name) (MmGdbusModem3gpp *object);
+
+ GVariant * (*get_pco) (MmGdbusModem3gpp *object);
+
+ guint (*get_registration_state) (MmGdbusModem3gpp *object);
+
+ guint (*get_subscription_state) (MmGdbusModem3gpp *object);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.</p>
+<div class="refsect3">
+<a name="MmGdbusModem3gppIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModem3gppIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.handle-register"></a>handle_register</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-register" title="The “handle-register” signal"><span class="type">“handle-register”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.handle-scan"></a>handle_scan</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-scan" title="The “handle-scan” signal"><span class="type">“handle-scan”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.handle-set-eps-ue-mode-operation"></a>handle_set_eps_ue_mode_operation</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-set-eps-ue-mode-operation" title="The “handle-set-eps-ue-mode-operation” signal"><span class="type">“handle-set-eps-ue-mode-operation”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.handle-set-initial-eps-bearer-settings"></a>handle_set_initial_eps_bearer_settings</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-set-initial-eps-bearer-settings" title="The “handle-set-initial-eps-bearer-settings” signal"><span class="type">“handle-set-initial-eps-bearer-settings”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-enabled-facility-locks"></a>get_enabled_facility_locks</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--enabled-facility-locks" title="The “enabled-facility-locks” property"><span class="type">“enabled-facility-locks”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-eps-ue-mode-operation"></a>get_eps_ue_mode_operation</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--eps-ue-mode-operation" title="The “eps-ue-mode-operation” property"><span class="type">“eps-ue-mode-operation”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-imei"></a>get_imei</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--imei" title="The “imei” property"><span class="type">“imei”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-initial-eps-bearer"></a>get_initial_eps_bearer</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--initial-eps-bearer" title="The “initial-eps-bearer” property"><span class="type">“initial-eps-bearer”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-initial-eps-bearer-settings"></a>get_initial_eps_bearer_settings</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--initial-eps-bearer-settings" title="The “initial-eps-bearer-settings” property"><span class="type">“initial-eps-bearer-settings”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-operator-code"></a>get_operator_code</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--operator-code" title="The “operator-code” property"><span class="type">“operator-code”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-operator-name"></a>get_operator_name</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--operator-name" title="The “operator-name” property"><span class="type">“operator-name”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-pco"></a>get_pco</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--pco" title="The “pco” property"><span class="type">“pco”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-registration-state"></a>get_registration_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--registration-state" title="The “registration-state” property"><span class="type">“registration-state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppIface.get-subscription-state"></a>get_subscription_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--subscription-state" title="The “subscription-state” property"><span class="type">“subscription-state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--enabled-facility-locks"></a><h3>The <code class="literal">“enabled-facility-locks”</code> property</h3>
+<pre class="programlisting"> “enabled-facility-locks” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EnabledFacilityLocks">"EnabledFacilityLocks"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--eps-ue-mode-operation"></a><h3>The <code class="literal">“eps-ue-mode-operation”</code> property</h3>
+<pre class="programlisting"> “eps-ue-mode-operation” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EpsUeModeOperation">"EpsUeModeOperation"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--imei"></a><h3>The <code class="literal">“imei”</code> property</h3>
+<pre class="programlisting"> “imei” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei">"Imei"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--initial-eps-bearer"></a><h3>The <code class="literal">“initial-eps-bearer”</code> property</h3>
+<pre class="programlisting"> “initial-eps-bearer” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer">"InitialEpsBearer"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--initial-eps-bearer-settings"></a><h3>The <code class="literal">“initial-eps-bearer-settings”</code> property</h3>
+<pre class="programlisting"> “initial-eps-bearer-settings” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings">"InitialEpsBearerSettings"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--operator-code"></a><h3>The <code class="literal">“operator-code”</code> property</h3>
+<pre class="programlisting"> “operator-code” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode">"OperatorCode"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--operator-name"></a><h3>The <code class="literal">“operator-name”</code> property</h3>
+<pre class="programlisting"> “operator-name” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName">"OperatorName"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--pco"></a><h3>The <code class="literal">“pco”</code> property</h3>
+<pre class="programlisting"> “pco” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco">"Pco"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a(ubay)&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--registration-state"></a><h3>The <code class="literal">“registration-state”</code> property</h3>
+<pre class="programlisting"> “registration-state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.RegistrationState">"RegistrationState"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp--subscription-state"></a><h3>The <code class="literal">“subscription-state”</code> property</h3>
+<pre class="programlisting"> “subscription-state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.SubscriptionState">"SubscriptionState"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gpp.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp-handle-register"></a><h3>The <code class="literal">“handle-register”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_operator_id,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register"><GTKDOCLINK HREF="Register"><code class="function">Register()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem3gpp_complete_register()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem3gpp-handle-register.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_operator_id</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem3gpp-handle-register.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp-handle-scan"></a><h3>The <code class="literal">“handle-scan”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan"><GTKDOCLINK HREF="Scan"><code class="function">Scan()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem3gpp_complete_scan()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem3gpp-handle-scan.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem3gpp-handle-scan.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp-handle-set-eps-ue-mode-operation"></a><h3>The <code class="literal">“handle-set-eps-ue-mode-operation”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_mode,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation"><GTKDOCLINK HREF="SetEpsUeModeOperation"><code class="function">SetEpsUeModeOperation()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem3gpp_complete_set_eps_ue_mode_operation()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem3gpp-handle-set-eps-ue-mode-operation.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_mode</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem3gpp-handle-set-eps-ue-mode-operation.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gpp-handle-set-initial-eps-bearer-settings"></a><h3>The <code class="literal">“handle-set-initial-eps-bearer-settings”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_settings,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings"><GTKDOCLINK HREF="SetInitialEpsBearerSettings"><code class="function">SetInitialEpsBearerSettings()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem3gpp_complete_set_initial_eps_bearer_settings()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem3gpp-handle-set-initial-eps-bearer-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_settings</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem3gpp-handle-set-initial-eps-bearer-settings.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModem3gppProxy.html b/docs/reference/libmm-glib/html/MmGdbusModem3gppProxy.html
new file mode 100644
index 00000000..1c08c423
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModem3gppProxy.html
@@ -0,0 +1,469 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModem3gppProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">
+<link rel="next" href="MmGdbusModem3gppSkeleton.html" title="MmGdbusModem3gppSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModem3gpp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModem3gppSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModem3gppProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModem3gppProxy.top_of_page"></a>MmGdbusModem3gppProxy</span></h2>
+<p>MmGdbusModem3gppProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new" title="mm_gdbus_modem3gpp_proxy_new ()">mm_gdbus_modem3gpp_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-finish" title="mm_gdbus_modem3gpp_proxy_new_finish ()">mm_gdbus_modem3gpp_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus" title="mm_gdbus_modem3gpp_proxy_new_for_bus ()">mm_gdbus_modem3gpp_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus-finish" title="mm_gdbus_modem3gpp_proxy_new_for_bus_finish ()">mm_gdbus_modem3gpp_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus-sync" title="mm_gdbus_modem3gpp_proxy_new_for_bus_sync ()">mm_gdbus_modem3gpp_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-sync" title="mm_gdbus_modem3gpp_proxy_new_sync ()">mm_gdbus_modem3gpp_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModem3gppProxy.html#MmGdbusModem3gppProxy-struct" title="struct MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModem3gppProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModem3gppProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-proxy-new"></a><h3>mm_gdbus_modem3gpp_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-finish" title="mm_gdbus_modem3gpp_proxy_new_finish ()"><code class="function">mm_gdbus_modem3gpp_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-sync" title="mm_gdbus_modem3gpp_proxy_new_sync ()"><code class="function">mm_gdbus_modem3gpp_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-proxy-new-finish"></a><h3>mm_gdbus_modem3gpp_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+mm_gdbus_modem3gpp_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new" title="mm_gdbus_modem3gpp_proxy_new ()"><code class="function">mm_gdbus_modem3gpp_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new" title="mm_gdbus_modem3gpp_proxy_new ()"><code class="function">mm_gdbus_modem3gpp_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-proxy-new-for-bus"></a><h3>mm_gdbus_modem3gpp_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_proxy_new_for_bus (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new" title="mm_gdbus_modem3gpp_proxy_new ()"><code class="function">mm_gdbus_modem3gpp_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus-finish" title="mm_gdbus_modem3gpp_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem3gpp_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus-sync" title="mm_gdbus_modem3gpp_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem3gpp_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem3gpp_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+mm_gdbus_modem3gpp_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus" title="mm_gdbus_modem3gpp_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem3gpp_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus" title="mm_gdbus_modem3gpp_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem3gpp_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem3gpp_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+mm_gdbus_modem3gpp_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-sync" title="mm_gdbus_modem3gpp_proxy_new_sync ()"><code class="function">mm_gdbus_modem3gpp_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus" title="mm_gdbus_modem3gpp_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem3gpp_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-proxy-new-sync"></a><h3>mm_gdbus_modem3gpp_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+mm_gdbus_modem3gpp_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new" title="mm_gdbus_modem3gpp_proxy_new ()"><code class="function">mm_gdbus_modem3gpp_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gppProxy-struct"></a><h3>struct MmGdbusModem3gppProxy</h3>
+<pre class="programlisting">struct MmGdbusModem3gppProxy;</pre>
+<p>The <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy"><span class="type">MmGdbusModem3gppProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModem3gppSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModem3gppSkeleton.html
new file mode 100644
index 00000000..ac97d934
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModem3gppSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModem3gppSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">
+<link rel="next" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModem3gppProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModem3gppUssd.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModem3gppSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModem3gppSkeleton.top_of_page"></a>MmGdbusModem3gppSkeleton</span></h2>
+<p>MmGdbusModem3gppSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppSkeleton.html#mm-gdbus-modem3gpp-skeleton-new" title="mm_gdbus_modem3gpp_skeleton_new ()">mm_gdbus_modem3gpp_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModem3gppSkeleton.html#MmGdbusModem3gppSkeleton-struct" title="struct MmGdbusModem3gppSkeleton">MmGdbusModem3gppSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModem3gppSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModem3gppSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-skeleton-new"></a><h3>mm_gdbus_modem3gpp_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+mm_gdbus_modem3gpp_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gppSkeleton-struct"></a><h3>struct MmGdbusModem3gppSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModem3gppSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModem3gppSkeleton.html" title="MmGdbusModem3gppSkeleton"><span class="type">MmGdbusModem3gppSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModem3gppUssd.html b/docs/reference/libmm-glib/html/MmGdbusModem3gppUssd.html
new file mode 100644
index 00000000..968f55e3
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModem3gppUssd.html
@@ -0,0 +1,1128 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModem3gppUssd: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModem3gppSkeleton.html" title="MmGdbusModem3gppSkeleton">
+<link rel="next" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssd.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssd.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssd.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssd.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssd.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssd.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModem3gppSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModem3gppUssdProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModem3gppUssd"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModem3gppUssd.top_of_page"></a>MmGdbusModem3gppUssd</span></h2>
+<p>MmGdbusModem3gppUssd — Generated C code for the org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-get-state" title="mm_gdbus_modem3gpp_ussd_get_state ()">mm_gdbus_modem3gpp_ussd_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-get-network-request" title="mm_gdbus_modem3gpp_ussd_get_network_request ()">mm_gdbus_modem3gpp_ussd_get_network_request</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-dup-network-request" title="mm_gdbus_modem3gpp_ussd_dup_network_request ()">mm_gdbus_modem3gpp_ussd_dup_network_request</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-get-network-notification" title="mm_gdbus_modem3gpp_ussd_get_network_notification ()">mm_gdbus_modem3gpp_ussd_get_network_notification</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-dup-network-notification" title="mm_gdbus_modem3gpp_ussd_dup_network_notification ()">mm_gdbus_modem3gpp_ussd_dup_network_notification</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate" title="mm_gdbus_modem3gpp_ussd_call_initiate ()">mm_gdbus_modem3gpp_ussd_call_initiate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate-finish" title="mm_gdbus_modem3gpp_ussd_call_initiate_finish ()">mm_gdbus_modem3gpp_ussd_call_initiate_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate-sync" title="mm_gdbus_modem3gpp_ussd_call_initiate_sync ()">mm_gdbus_modem3gpp_ussd_call_initiate_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond" title="mm_gdbus_modem3gpp_ussd_call_respond ()">mm_gdbus_modem3gpp_ussd_call_respond</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond-finish" title="mm_gdbus_modem3gpp_ussd_call_respond_finish ()">mm_gdbus_modem3gpp_ussd_call_respond_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond-sync" title="mm_gdbus_modem3gpp_ussd_call_respond_sync ()">mm_gdbus_modem3gpp_ussd_call_respond_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel" title="mm_gdbus_modem3gpp_ussd_call_cancel ()">mm_gdbus_modem3gpp_ussd_call_cancel</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel-finish" title="mm_gdbus_modem3gpp_ussd_call_cancel_finish ()">mm_gdbus_modem3gpp_ussd_call_cancel_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel-sync" title="mm_gdbus_modem3gpp_ussd_call_cancel_sync ()">mm_gdbus_modem3gpp_ussd_call_cancel_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--network-notification" title="The “network-notification” property">network-notification</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--network-request" title="The “network-request” property">network-request</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--state" title="The “state” property">state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-cancel" title="The “handle-cancel” signal">handle-cancel</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-initiate" title="The “handle-initiate” signal">handle-initiate</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-respond" title="The “handle-respond” signal">handle-respond</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-struct" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface" title="struct MmGdbusModem3gppUssdIface">MmGdbusModem3gppUssdIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModem3gppUssd
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModem3gppUssd requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModem3gppUssd is implemented by
+ <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>, <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a> and <a class="link" href="MmGdbusModem3gppUssdSkeleton.html" title="MmGdbusModem3gppUssdSkeleton">MmGdbusModem3gppUssdSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-get-state"></a><h3>mm_gdbus_modem3gpp_ussd_get_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem3gpp_ussd_get_state (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.State">"State"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-get-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-get-network-request"></a><h3>mm_gdbus_modem3gpp_ussd_get_network_request ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_ussd_get_network_request
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest">"NetworkRequest"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-dup-network-request" title="mm_gdbus_modem3gpp_ussd_dup_network_request ()"><code class="function">mm_gdbus_modem3gpp_ussd_dup_network_request()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-get-network-request.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-get-network-request.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-dup-network-request"></a><h3>mm_gdbus_modem3gpp_ussd_dup_network_request ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_ussd_dup_network_request
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest">"NetworkRequest"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-dup-network-request.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-dup-network-request.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-get-network-notification"></a><h3>mm_gdbus_modem3gpp_ussd_get_network_notification ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_ussd_get_network_notification
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification">"NetworkNotification"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-dup-network-notification" title="mm_gdbus_modem3gpp_ussd_dup_network_notification ()"><code class="function">mm_gdbus_modem3gpp_ussd_dup_network_notification()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-get-network-notification.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-get-network-notification.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-dup-network-notification"></a><h3>mm_gdbus_modem3gpp_ussd_dup_network_notification ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem3gpp_ussd_dup_network_notification
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification">"NetworkNotification"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-dup-network-notification.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-dup-network-notification.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-call-initiate"></a><h3>mm_gdbus_modem3gpp_ussd_call_initiate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_ussd_call_initiate (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_command</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate"><GTKDOCLINK HREF="Initiate"><code class="function">Initiate()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate-finish" title="mm_gdbus_modem3gpp_ussd_call_initiate_finish ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_initiate_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate-sync" title="mm_gdbus_modem3gpp_ussd_call_initiate_sync ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_initiate_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-initiate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_command</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-call-initiate-finish"></a><h3>mm_gdbus_modem3gpp_ussd_call_initiate_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_ussd_call_initiate_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_reply</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate" title="mm_gdbus_modem3gpp_ussd_call_initiate ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_initiate()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-initiate-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_reply</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate" title="mm_gdbus_modem3gpp_ussd_call_initiate ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_initiate()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-initiate-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-call-initiate-sync"></a><h3>mm_gdbus_modem3gpp_ussd_call_initiate_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_ussd_call_initiate_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_command</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_reply</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate"><GTKDOCLINK HREF="Initiate"><code class="function">Initiate()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate" title="mm_gdbus_modem3gpp_ussd_call_initiate ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_initiate()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-initiate-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_command</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_reply</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-initiate-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-call-respond"></a><h3>mm_gdbus_modem3gpp_ussd_call_respond ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_ussd_call_respond (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_response</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond"><GTKDOCLINK HREF="Respond"><code class="function">Respond()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond-finish" title="mm_gdbus_modem3gpp_ussd_call_respond_finish ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_respond_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond-sync" title="mm_gdbus_modem3gpp_ussd_call_respond_sync ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_respond_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-respond.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_response</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-call-respond-finish"></a><h3>mm_gdbus_modem3gpp_ussd_call_respond_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_ussd_call_respond_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_reply</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond" title="mm_gdbus_modem3gpp_ussd_call_respond ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_respond()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-respond-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_reply</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond" title="mm_gdbus_modem3gpp_ussd_call_respond ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_respond()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-respond-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-call-respond-sync"></a><h3>mm_gdbus_modem3gpp_ussd_call_respond_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_ussd_call_respond_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_response</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_reply</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond"><GTKDOCLINK HREF="Respond"><code class="function">Respond()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond" title="mm_gdbus_modem3gpp_ussd_call_respond ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_respond()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-respond-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_response</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_reply</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-respond-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-call-cancel"></a><h3>mm_gdbus_modem3gpp_ussd_call_cancel ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_ussd_call_cancel (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel"><GTKDOCLINK HREF="Cancel"><code class="function">Cancel()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel-finish" title="mm_gdbus_modem3gpp_ussd_call_cancel_finish ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_cancel_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel-sync" title="mm_gdbus_modem3gpp_ussd_call_cancel_sync ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_cancel_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-cancel.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-call-cancel-finish"></a><h3>mm_gdbus_modem3gpp_ussd_call_cancel_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_ussd_call_cancel_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel" title="mm_gdbus_modem3gpp_ussd_call_cancel ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_cancel()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-cancel-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel" title="mm_gdbus_modem3gpp_ussd_call_cancel ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_cancel()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-cancel-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-call-cancel-sync"></a><h3>mm_gdbus_modem3gpp_ussd_call_cancel_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem3gpp_ussd_call_cancel_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel"><GTKDOCLINK HREF="Cancel"><code class="function">Cancel()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel" title="mm_gdbus_modem3gpp_ussd_call_cancel ()"><code class="function">mm_gdbus_modem3gpp_ussd_call_cancel()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-cancel-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-call-cancel-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssd-struct"></a><h3>MmGdbusModem3gppUssd</h3>
+<pre class="programlisting">typedef struct _MmGdbusModem3gppUssd MmGdbusModem3gppUssd;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssdIface"></a><h3>struct MmGdbusModem3gppUssdIface</h3>
+<pre class="programlisting">struct MmGdbusModem3gppUssdIface {
+ GTypeInterface parent_iface;
+
+
+ gboolean (*handle_cancel) (
+ MmGdbusModem3gppUssd *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_initiate) (
+ MmGdbusModem3gppUssd *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_command);
+
+ gboolean (*handle_respond) (
+ MmGdbusModem3gppUssd *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_response);
+
+ const gchar * (*get_network_notification) (MmGdbusModem3gppUssd *object);
+
+ const gchar * (*get_network_request) (MmGdbusModem3gppUssd *object);
+
+ guint (*get_state) (MmGdbusModem3gppUssd *object);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.</p>
+<div class="refsect3">
+<a name="MmGdbusModem3gppUssdIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModem3gppUssdIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppUssdIface.handle-cancel"></a>handle_cancel</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-cancel" title="The “handle-cancel” signal"><span class="type">“handle-cancel”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppUssdIface.handle-initiate"></a>handle_initiate</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-initiate" title="The “handle-initiate” signal"><span class="type">“handle-initiate”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppUssdIface.handle-respond"></a>handle_respond</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-respond" title="The “handle-respond” signal"><span class="type">“handle-respond”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppUssdIface.get-network-notification"></a>get_network_notification</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--network-notification" title="The “network-notification” property"><span class="type">“network-notification”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppUssdIface.get-network-request"></a>get_network_request</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--network-request" title="The “network-request” property"><span class="type">“network-request”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModem3gppUssdIface.get-state"></a>get_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--state" title="The “state” property"><span class="type">“state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssd--network-notification"></a><h3>The <code class="literal">“network-notification”</code> property</h3>
+<pre class="programlisting"> “network-notification” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification">"NetworkNotification"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssd--network-request"></a><h3>The <code class="literal">“network-request”</code> property</h3>
+<pre class="programlisting"> “network-request” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest">"NetworkRequest"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssd--state"></a><h3>The <code class="literal">“state”</code> property</h3>
+<pre class="programlisting"> “state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.State">"State"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssd.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssd-handle-cancel"></a><h3>The <code class="literal">“handle-cancel”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel"><GTKDOCLINK HREF="Cancel"><code class="function">Cancel()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem3gpp_ussd_complete_cancel()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem3gppUssd-handle-cancel.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem3gppUssd-handle-cancel.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssd-handle-initiate"></a><h3>The <code class="literal">“handle-initiate”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_command,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate"><GTKDOCLINK HREF="Initiate"><code class="function">Initiate()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem3gpp_ussd_complete_initiate()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem3gppUssd-handle-initiate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_command</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem3gppUssd-handle-initiate.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssd-handle-respond"></a><h3>The <code class="literal">“handle-respond”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_response,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond"><GTKDOCLINK HREF="Respond"><code class="function">Respond()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem3gpp_ussd_complete_respond()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModem3gppUssd-handle-respond.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_response</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModem3gppUssd-handle-respond.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModem3gppUssdProxy.html b/docs/reference/libmm-glib/html/MmGdbusModem3gppUssdProxy.html
new file mode 100644
index 00000000..2498e06a
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModem3gppUssdProxy.html
@@ -0,0 +1,472 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModem3gppUssdProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">
+<link rel="next" href="MmGdbusModem3gppUssdSkeleton.html" title="MmGdbusModem3gppUssdSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssdProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssdProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssdProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModem3gppUssd.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModem3gppUssdSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModem3gppUssdProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModem3gppUssdProxy.top_of_page"></a>MmGdbusModem3gppUssdProxy</span></h2>
+<p>MmGdbusModem3gppUssdProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new" title="mm_gdbus_modem3gpp_ussd_proxy_new ()">mm_gdbus_modem3gpp_ussd_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-finish" title="mm_gdbus_modem3gpp_ussd_proxy_new_finish ()">mm_gdbus_modem3gpp_ussd_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus ()">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-finish" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_finish ()">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-sync" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_sync ()">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-sync" title="mm_gdbus_modem3gpp_ussd_proxy_new_sync ()">mm_gdbus_modem3gpp_ussd_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModem3gppUssdProxy.html#MmGdbusModem3gppUssdProxy-struct" title="struct MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModem3gppUssdProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModem3gppUssdProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new"></a><h3>mm_gdbus_modem3gpp_ussd_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_ussd_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-finish" title="mm_gdbus_modem3gpp_ussd_proxy_new_finish ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-sync" title="mm_gdbus_modem3gpp_ussd_proxy_new_sync ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-finish"></a><h3>mm_gdbus_modem3gpp_ussd_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+mm_gdbus_modem3gpp_ussd_proxy_new_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new" title="mm_gdbus_modem3gpp_ussd_proxy_new ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new" title="mm_gdbus_modem3gpp_ussd_proxy_new ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppUssdProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-for-bus"></a><h3>mm_gdbus_modem3gpp_ussd_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem3gpp_ussd_proxy_new_for_bus
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new" title="mm_gdbus_modem3gpp_ussd_proxy_new ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-finish" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-sync" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppUssdProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-sync" title="mm_gdbus_modem3gpp_ussd_proxy_new_sync ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppUssdProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-sync"></a><h3>mm_gdbus_modem3gpp_ussd_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+mm_gdbus_modem3gpp_ussd_proxy_new_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new" title="mm_gdbus_modem3gpp_ussd_proxy_new ()"><code class="function">mm_gdbus_modem3gpp_ussd_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppUssdProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssdProxy-struct"></a><h3>struct MmGdbusModem3gppUssdProxy</h3>
+<pre class="programlisting">struct MmGdbusModem3gppUssdProxy;</pre>
+<p>The <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy"><span class="type">MmGdbusModem3gppUssdProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModem3gppUssdSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModem3gppUssdSkeleton.html
new file mode 100644
index 00000000..fca4b57d
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModem3gppUssdSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModem3gppUssdSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">
+<link rel="next" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssdSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssdSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModem3gppUssdSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModem3gppUssdProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemCdma.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModem3gppUssdSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModem3gppUssdSkeleton.top_of_page"></a>MmGdbusModem3gppUssdSkeleton</span></h2>
+<p>MmGdbusModem3gppUssdSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModem3gppUssdSkeleton.html#mm-gdbus-modem3gpp-ussd-skeleton-new" title="mm_gdbus_modem3gpp_ussd_skeleton_new ()">mm_gdbus_modem3gpp_ussd_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModem3gppUssdSkeleton.html#MmGdbusModem3gppUssdSkeleton-struct" title="struct MmGdbusModem3gppUssdSkeleton">MmGdbusModem3gppUssdSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModem3gppUssdSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModem3gppUssdSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem3gpp-ussd-skeleton-new"></a><h3>mm_gdbus_modem3gpp_ussd_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+mm_gdbus_modem3gpp_ussd_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem3gpp-ussd-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModem3gppUssdSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModem3gppUssdSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModem3gppUssdSkeleton-struct"></a><h3>struct MmGdbusModem3gppUssdSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModem3gppUssdSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModem3gppUssdSkeleton.html" title="MmGdbusModem3gppUssdSkeleton"><span class="type">MmGdbusModem3gppUssdSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemCdma.html b/docs/reference/libmm-glib/html/MmGdbusModemCdma.html
new file mode 100644
index 00000000..6b620f59
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemCdma.html
@@ -0,0 +1,1182 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemCdma: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModem3gppUssdSkeleton.html" title="MmGdbusModem3gppUssdSkeleton">
+<link rel="next" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdma.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdma.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdma.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdma.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdma.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdma.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModem3gppUssdSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemCdmaProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemCdma"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemCdma.top_of_page"></a>MmGdbusModemCdma</span></h2>
+<p>MmGdbusModemCdma — Generated C code for the org.freedesktop.ModemManager1.Modem.ModemCdma D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-cdma1x-registration-state" title="mm_gdbus_modem_cdma_get_cdma1x_registration_state ()">mm_gdbus_modem_cdma_get_cdma1x_registration_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-evdo-registration-state" title="mm_gdbus_modem_cdma_get_evdo_registration_state ()">mm_gdbus_modem_cdma_get_evdo_registration_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-activation-state" title="mm_gdbus_modem_cdma_get_activation_state ()">mm_gdbus_modem_cdma_get_activation_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-esn" title="mm_gdbus_modem_cdma_get_esn ()">mm_gdbus_modem_cdma_get_esn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-dup-esn" title="mm_gdbus_modem_cdma_dup_esn ()">mm_gdbus_modem_cdma_dup_esn</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-meid" title="mm_gdbus_modem_cdma_get_meid ()">mm_gdbus_modem_cdma_get_meid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-dup-meid" title="mm_gdbus_modem_cdma_dup_meid ()">mm_gdbus_modem_cdma_dup_meid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-nid" title="mm_gdbus_modem_cdma_get_nid ()">mm_gdbus_modem_cdma_get_nid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-sid" title="mm_gdbus_modem_cdma_get_sid ()">mm_gdbus_modem_cdma_get_sid</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate" title="mm_gdbus_modem_cdma_call_activate ()">mm_gdbus_modem_cdma_call_activate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-finish" title="mm_gdbus_modem_cdma_call_activate_finish ()">mm_gdbus_modem_cdma_call_activate_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-sync" title="mm_gdbus_modem_cdma_call_activate_sync ()">mm_gdbus_modem_cdma_call_activate_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual" title="mm_gdbus_modem_cdma_call_activate_manual ()">mm_gdbus_modem_cdma_call_activate_manual</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual-finish" title="mm_gdbus_modem_cdma_call_activate_manual_finish ()">mm_gdbus_modem_cdma_call_activate_manual_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual-sync" title="mm_gdbus_modem_cdma_call_activate_manual_sync ()">mm_gdbus_modem_cdma_call_activate_manual_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--activation-state" title="The “activation-state” property">activation-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--cdma1x-registration-state" title="The “cdma1x-registration-state” property">cdma1x-registration-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--esn" title="The “esn” property">esn</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--evdo-registration-state" title="The “evdo-registration-state” property">evdo-registration-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--meid" title="The “meid” property">meid</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--nid" title="The “nid” property">nid</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--sid" title="The “sid” property">sid</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-activation-state-changed" title="The “activation-state-changed” signal">activation-state-changed</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-handle-activate" title="The “handle-activate” signal">handle-activate</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-handle-activate-manual" title="The “handle-activate-manual” signal">handle-activate-manual</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-struct" title="MmGdbusModemCdma">MmGdbusModemCdma</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdmaIface" title="struct MmGdbusModemCdmaIface">MmGdbusModemCdmaIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModemCdma
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModemCdma requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModemCdma is implemented by
+ <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>, <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a> and <a class="link" href="MmGdbusModemCdmaSkeleton.html" title="MmGdbusModemCdmaSkeleton">MmGdbusModemCdmaSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.ModemCdma D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-get-cdma1x-registration-state"></a><h3>mm_gdbus_modem_cdma_get_cdma1x_registration_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_cdma_get_cdma1x_registration_state
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Cdma1xRegistrationState">"Cdma1xRegistrationState"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-cdma1x-registration-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-cdma1x-registration-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-get-evdo-registration-state"></a><h3>mm_gdbus_modem_cdma_get_evdo_registration_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_cdma_get_evdo_registration_state
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.EvdoRegistrationState">"EvdoRegistrationState"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-evdo-registration-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-evdo-registration-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-get-activation-state"></a><h3>mm_gdbus_modem_cdma_get_activation_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_cdma_get_activation_state
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationState">"ActivationState"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-activation-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-activation-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-get-esn"></a><h3>mm_gdbus_modem_cdma_get_esn ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_cdma_get_esn (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn">"Esn"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-dup-esn" title="mm_gdbus_modem_cdma_dup_esn ()"><code class="function">mm_gdbus_modem_cdma_dup_esn()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-esn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-esn.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-dup-esn"></a><h3>mm_gdbus_modem_cdma_dup_esn ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_cdma_dup_esn (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn">"Esn"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-dup-esn.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-dup-esn.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-get-meid"></a><h3>mm_gdbus_modem_cdma_get_meid ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_cdma_get_meid (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid">"Meid"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-dup-meid" title="mm_gdbus_modem_cdma_dup_meid ()"><code class="function">mm_gdbus_modem_cdma_dup_meid()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-meid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-meid.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-dup-meid"></a><h3>mm_gdbus_modem_cdma_dup_meid ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_cdma_dup_meid (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid">"Meid"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-dup-meid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-dup-meid.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-get-nid"></a><h3>mm_gdbus_modem_cdma_get_nid ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_cdma_get_nid (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Nid">"Nid"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-nid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-nid.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-get-sid"></a><h3>mm_gdbus_modem_cdma_get_sid ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_cdma_get_sid (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Sid">"Sid"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-sid.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-get-sid.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-call-activate"></a><h3>mm_gdbus_modem_cdma_call_activate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_cdma_call_activate (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_carrier_code</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate"><GTKDOCLINK HREF="Activate"><code class="function">Activate()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-finish" title="mm_gdbus_modem_cdma_call_activate_finish ()"><code class="function">mm_gdbus_modem_cdma_call_activate_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-sync" title="mm_gdbus_modem_cdma_call_activate_sync ()"><code class="function">mm_gdbus_modem_cdma_call_activate_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy"><span class="type">MmGdbusModemCdmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_carrier_code</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-call-activate-finish"></a><h3>mm_gdbus_modem_cdma_call_activate_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_cdma_call_activate_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate" title="mm_gdbus_modem_cdma_call_activate ()"><code class="function">mm_gdbus_modem_cdma_call_activate()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy"><span class="type">MmGdbusModemCdmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate" title="mm_gdbus_modem_cdma_call_activate ()"><code class="function">mm_gdbus_modem_cdma_call_activate()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-call-activate-sync"></a><h3>mm_gdbus_modem_cdma_call_activate_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_cdma_call_activate_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_carrier_code</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate"><GTKDOCLINK HREF="Activate"><code class="function">Activate()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate" title="mm_gdbus_modem_cdma_call_activate ()"><code class="function">mm_gdbus_modem_cdma_call_activate()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy"><span class="type">MmGdbusModemCdmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_carrier_code</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-call-activate-manual"></a><h3>mm_gdbus_modem_cdma_call_activate_manual ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_cdma_call_activate_manual
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual"><GTKDOCLINK HREF="ActivateManual"><code class="function">ActivateManual()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual-finish" title="mm_gdbus_modem_cdma_call_activate_manual_finish ()"><code class="function">mm_gdbus_modem_cdma_call_activate_manual_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual-sync" title="mm_gdbus_modem_cdma_call_activate_manual_sync ()"><code class="function">mm_gdbus_modem_cdma_call_activate_manual_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate-manual.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy"><span class="type">MmGdbusModemCdmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-call-activate-manual-finish"></a><h3>mm_gdbus_modem_cdma_call_activate_manual_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_cdma_call_activate_manual_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual" title="mm_gdbus_modem_cdma_call_activate_manual ()"><code class="function">mm_gdbus_modem_cdma_call_activate_manual()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate-manual-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy"><span class="type">MmGdbusModemCdmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual" title="mm_gdbus_modem_cdma_call_activate_manual ()"><code class="function">mm_gdbus_modem_cdma_call_activate_manual()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate-manual-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-call-activate-manual-sync"></a><h3>mm_gdbus_modem_cdma_call_activate_manual_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_cdma_call_activate_manual_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual"><GTKDOCLINK HREF="ActivateManual"><code class="function">ActivateManual()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual" title="mm_gdbus_modem_cdma_call_activate_manual ()"><code class="function">mm_gdbus_modem_cdma_call_activate_manual()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate-manual-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy"><span class="type">MmGdbusModemCdmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-call-activate-manual-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemCdma-struct"></a><h3>MmGdbusModemCdma</h3>
+<pre class="programlisting">typedef struct _MmGdbusModemCdma MmGdbusModemCdma;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.ModemCdma.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemCdmaIface"></a><h3>struct MmGdbusModemCdmaIface</h3>
+<pre class="programlisting">struct MmGdbusModemCdmaIface {
+ GTypeInterface parent_iface;
+
+
+
+ gboolean (*handle_activate) (
+ MmGdbusModemCdma *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_carrier_code);
+
+ gboolean (*handle_activate_manual) (
+ MmGdbusModemCdma *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_properties);
+
+ guint (*get_activation_state) (MmGdbusModemCdma *object);
+
+ guint (*get_cdma1x_registration_state) (MmGdbusModemCdma *object);
+
+ const gchar * (*get_esn) (MmGdbusModemCdma *object);
+
+ guint (*get_evdo_registration_state) (MmGdbusModemCdma *object);
+
+ const gchar * (*get_meid) (MmGdbusModemCdma *object);
+
+ guint (*get_nid) (MmGdbusModemCdma *object);
+
+ guint (*get_sid) (MmGdbusModemCdma *object);
+
+ void (*activation_state_changed) (
+ MmGdbusModemCdma *object,
+ guint arg_activation_state,
+ guint arg_activation_error,
+ GVariant *arg_status_changes);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.ModemCdma.</p>
+<div class="refsect3">
+<a name="MmGdbusModemCdmaIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemCdmaIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.handle-activate"></a>handle_activate</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-handle-activate" title="The “handle-activate” signal"><span class="type">“handle-activate”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.handle-activate-manual"></a>handle_activate_manual</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-handle-activate-manual" title="The “handle-activate-manual” signal"><span class="type">“handle-activate-manual”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.get-activation-state"></a>get_activation_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--activation-state" title="The “activation-state” property"><span class="type">“activation-state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.get-cdma1x-registration-state"></a>get_cdma1x_registration_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--cdma1x-registration-state" title="The “cdma1x-registration-state” property"><span class="type">“cdma1x-registration-state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.get-esn"></a>get_esn</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--esn" title="The “esn” property"><span class="type">“esn”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.get-evdo-registration-state"></a>get_evdo_registration_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--evdo-registration-state" title="The “evdo-registration-state” property"><span class="type">“evdo-registration-state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.get-meid"></a>get_meid</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--meid" title="The “meid” property"><span class="type">“meid”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.get-nid"></a>get_nid</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--nid" title="The “nid” property"><span class="type">“nid”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.get-sid"></a>get_sid</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--sid" title="The “sid” property"><span class="type">“sid”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemCdmaIface.activation-state-changed"></a>activation_state_changed</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-activation-state-changed" title="The “activation-state-changed” signal"><span class="type">“activation-state-changed”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemCdma--activation-state"></a><h3>The <code class="literal">“activation-state”</code> property</h3>
+<pre class="programlisting"> “activation-state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationState">"ActivationState"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemCdma--cdma1x-registration-state"></a><h3>The <code class="literal">“cdma1x-registration-state”</code> property</h3>
+<pre class="programlisting"> “cdma1x-registration-state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Cdma1xRegistrationState">"Cdma1xRegistrationState"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemCdma--esn"></a><h3>The <code class="literal">“esn”</code> property</h3>
+<pre class="programlisting"> “esn” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn">"Esn"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemCdma--evdo-registration-state"></a><h3>The <code class="literal">“evdo-registration-state”</code> property</h3>
+<pre class="programlisting"> “evdo-registration-state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.EvdoRegistrationState">"EvdoRegistrationState"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemCdma--meid"></a><h3>The <code class="literal">“meid”</code> property</h3>
+<pre class="programlisting"> “meid” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid">"Meid"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemCdma--nid"></a><h3>The <code class="literal">“nid”</code> property</h3>
+<pre class="programlisting"> “nid” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Nid">"Nid"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemCdma--sid"></a><h3>The <code class="literal">“sid”</code> property</h3>
+<pre class="programlisting"> “sid” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Sid">"Sid"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdma.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemCdma-activation-state-changed"></a><h3>The <code class="literal">“activation-state-changed”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_activation_state,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_activation_error,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_status_changes,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationStateChanged">"ActivationStateChanged"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusModemCdma-activation-state-changed.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_activation_state</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_activation_error</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_status_changes</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemCdma-handle-activate"></a><h3>The <code class="literal">“handle-activate”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_carrier_code,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate"><GTKDOCLINK HREF="Activate"><code class="function">Activate()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_cdma_complete_activate()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemCdma-handle-activate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_carrier_code</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemCdma-handle-activate.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemCdma-handle-activate-manual"></a><h3>The <code class="literal">“handle-activate-manual”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual"><GTKDOCLINK HREF="ActivateManual"><code class="function">ActivateManual()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_cdma_complete_activate_manual()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemCdma-handle-activate-manual.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemCdma-handle-activate-manual.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemCdmaProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemCdmaProxy.html
new file mode 100644
index 00000000..45505d59
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemCdmaProxy.html
@@ -0,0 +1,469 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemCdmaProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">
+<link rel="next" href="MmGdbusModemCdmaSkeleton.html" title="MmGdbusModemCdmaSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdmaProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdmaProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdmaProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemCdma.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemCdmaSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemCdmaProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemCdmaProxy.top_of_page"></a>MmGdbusModemCdmaProxy</span></h2>
+<p>MmGdbusModemCdmaProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new" title="mm_gdbus_modem_cdma_proxy_new ()">mm_gdbus_modem_cdma_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-finish" title="mm_gdbus_modem_cdma_proxy_new_finish ()">mm_gdbus_modem_cdma_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus" title="mm_gdbus_modem_cdma_proxy_new_for_bus ()">mm_gdbus_modem_cdma_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus-finish" title="mm_gdbus_modem_cdma_proxy_new_for_bus_finish ()">mm_gdbus_modem_cdma_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus-sync" title="mm_gdbus_modem_cdma_proxy_new_for_bus_sync ()">mm_gdbus_modem_cdma_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-sync" title="mm_gdbus_modem_cdma_proxy_new_sync ()">mm_gdbus_modem_cdma_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemCdmaProxy.html#MmGdbusModemCdmaProxy-struct" title="struct MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemCdmaProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemCdmaProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-proxy-new"></a><h3>mm_gdbus_modem_cdma_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_cdma_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.ModemCdma. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-finish" title="mm_gdbus_modem_cdma_proxy_new_finish ()"><code class="function">mm_gdbus_modem_cdma_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-sync" title="mm_gdbus_modem_cdma_proxy_new_sync ()"><code class="function">mm_gdbus_modem_cdma_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-proxy-new-finish"></a><h3>mm_gdbus_modem_cdma_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+mm_gdbus_modem_cdma_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new" title="mm_gdbus_modem_cdma_proxy_new ()"><code class="function">mm_gdbus_modem_cdma_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new" title="mm_gdbus_modem_cdma_proxy_new ()"><code class="function">mm_gdbus_modem_cdma_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemCdmaProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-proxy-new-for-bus"></a><h3>mm_gdbus_modem_cdma_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_cdma_proxy_new_for_bus (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new" title="mm_gdbus_modem_cdma_proxy_new ()"><code class="function">mm_gdbus_modem_cdma_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus-finish" title="mm_gdbus_modem_cdma_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_cdma_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus-sync" title="mm_gdbus_modem_cdma_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_cdma_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_cdma_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+mm_gdbus_modem_cdma_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus" title="mm_gdbus_modem_cdma_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_cdma_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus" title="mm_gdbus_modem_cdma_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_cdma_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemCdmaProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_cdma_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+mm_gdbus_modem_cdma_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-sync" title="mm_gdbus_modem_cdma_proxy_new_sync ()"><code class="function">mm_gdbus_modem_cdma_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus" title="mm_gdbus_modem_cdma_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_cdma_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemCdmaProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-proxy-new-sync"></a><h3>mm_gdbus_modem_cdma_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+mm_gdbus_modem_cdma_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.ModemCdma. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new" title="mm_gdbus_modem_cdma_proxy_new ()"><code class="function">mm_gdbus_modem_cdma_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemCdmaProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemCdmaProxy-struct"></a><h3>struct MmGdbusModemCdmaProxy</h3>
+<pre class="programlisting">struct MmGdbusModemCdmaProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy"><span class="type">MmGdbusModemCdmaProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemCdmaSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemCdmaSkeleton.html
new file mode 100644
index 00000000..24781615
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemCdmaSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemCdmaSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">
+<link rel="next" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdmaSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdmaSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemCdmaSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemCdmaProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemLocation.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemCdmaSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemCdmaSkeleton.top_of_page"></a>MmGdbusModemCdmaSkeleton</span></h2>
+<p>MmGdbusModemCdmaSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemCdmaSkeleton.html#mm-gdbus-modem-cdma-skeleton-new" title="mm_gdbus_modem_cdma_skeleton_new ()">mm_gdbus_modem_cdma_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemCdmaSkeleton.html#MmGdbusModemCdmaSkeleton-struct" title="struct MmGdbusModemCdmaSkeleton">MmGdbusModemCdmaSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemCdmaSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemCdmaSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-cdma-skeleton-new"></a><h3>mm_gdbus_modem_cdma_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+mm_gdbus_modem_cdma_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.ModemCdma.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-cdma-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemCdmaSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemCdmaSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemCdmaSkeleton-struct"></a><h3>struct MmGdbusModemCdmaSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemCdmaSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemCdmaSkeleton.html" title="MmGdbusModemCdmaSkeleton"><span class="type">MmGdbusModemCdmaSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemFirmware.html b/docs/reference/libmm-glib/html/MmGdbusModemFirmware.html
new file mode 100644
index 00000000..d90cad32
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemFirmware.html
@@ -0,0 +1,736 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemFirmware: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemTimeSkeleton.html" title="MmGdbusModemTimeSkeleton">
+<link rel="next" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmware.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmware.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmware.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmware.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmware.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmware.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemTimeSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemFirmwareProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemFirmware"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemFirmware.top_of_page"></a>MmGdbusModemFirmware</span></h2>
+<p>MmGdbusModemFirmware — Generated C code for the org.freedesktop.ModemManager1.Modem.Firmware D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-dup-update-settings" title="mm_gdbus_modem_firmware_dup_update_settings ()">mm_gdbus_modem_firmware_dup_update_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-get-update-settings" title="mm_gdbus_modem_firmware_get_update_settings ()">mm_gdbus_modem_firmware_get_update_settings</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list" title="mm_gdbus_modem_firmware_call_list ()">mm_gdbus_modem_firmware_call_list</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list-finish" title="mm_gdbus_modem_firmware_call_list_finish ()">mm_gdbus_modem_firmware_call_list_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list-sync" title="mm_gdbus_modem_firmware_call_list_sync ()">mm_gdbus_modem_firmware_call_list_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select" title="mm_gdbus_modem_firmware_call_select ()">mm_gdbus_modem_firmware_call_select</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select-finish" title="mm_gdbus_modem_firmware_call_select_finish ()">mm_gdbus_modem_firmware_call_select_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select-sync" title="mm_gdbus_modem_firmware_call_select_sync ()">mm_gdbus_modem_firmware_call_select_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware--update-settings" title="The “update-settings” property">update-settings</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware-handle-list" title="The “handle-list” signal">handle-list</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware-handle-select" title="The “handle-select” signal">handle-select</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware-struct" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmwareIface" title="struct MmGdbusModemFirmwareIface">MmGdbusModemFirmwareIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModemFirmware
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModemFirmware requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModemFirmware is implemented by
+ <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>, <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a> and <a class="link" href="MmGdbusModemFirmwareSkeleton.html" title="MmGdbusModemFirmwareSkeleton">MmGdbusModemFirmwareSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Firmware D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-dup-update-settings"></a><h3>mm_gdbus_modem_firmware_dup_update_settings ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_firmware_dup_update_settings
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings">"UpdateSettings"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-dup-update-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-dup-update-settings.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-get-update-settings"></a><h3>mm_gdbus_modem_firmware_get_update_settings ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_firmware_get_update_settings
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings">"UpdateSettings"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-dup-update-settings" title="mm_gdbus_modem_firmware_dup_update_settings ()"><code class="function">mm_gdbus_modem_firmware_dup_update_settings()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-get-update-settings.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-get-update-settings.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-call-list"></a><h3>mm_gdbus_modem_firmware_call_list ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_firmware_call_list (<em class="parameter"><code><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List"><GTKDOCLINK HREF="List"><code class="function">List()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list-finish" title="mm_gdbus_modem_firmware_call_list_finish ()"><code class="function">mm_gdbus_modem_firmware_call_list_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list-sync" title="mm_gdbus_modem_firmware_call_list_sync ()"><code class="function">mm_gdbus_modem_firmware_call_list_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-list.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy"><span class="type">MmGdbusModemFirmwareProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-call-list-finish"></a><h3>mm_gdbus_modem_firmware_call_list_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_firmware_call_list_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_selected</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_installed</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list" title="mm_gdbus_modem_firmware_call_list ()"><code class="function">mm_gdbus_modem_firmware_call_list()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-list-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy"><span class="type">MmGdbusModemFirmwareProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_selected</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_installed</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list" title="mm_gdbus_modem_firmware_call_list ()"><code class="function">mm_gdbus_modem_firmware_call_list()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-list-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-call-list-sync"></a><h3>mm_gdbus_modem_firmware_call_list_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_firmware_call_list_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_selected</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_installed</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List"><GTKDOCLINK HREF="List"><code class="function">List()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list" title="mm_gdbus_modem_firmware_call_list ()"><code class="function">mm_gdbus_modem_firmware_call_list()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-list-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy"><span class="type">MmGdbusModemFirmwareProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_selected</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_installed</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-list-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-call-select"></a><h3>mm_gdbus_modem_firmware_call_select ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_firmware_call_select (<em class="parameter"><code><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_uniqueid</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select"><GTKDOCLINK HREF="Select"><code class="function">Select()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select-finish" title="mm_gdbus_modem_firmware_call_select_finish ()"><code class="function">mm_gdbus_modem_firmware_call_select_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select-sync" title="mm_gdbus_modem_firmware_call_select_sync ()"><code class="function">mm_gdbus_modem_firmware_call_select_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-select.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy"><span class="type">MmGdbusModemFirmwareProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_uniqueid</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-call-select-finish"></a><h3>mm_gdbus_modem_firmware_call_select_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_firmware_call_select_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select" title="mm_gdbus_modem_firmware_call_select ()"><code class="function">mm_gdbus_modem_firmware_call_select()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-select-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy"><span class="type">MmGdbusModemFirmwareProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select" title="mm_gdbus_modem_firmware_call_select ()"><code class="function">mm_gdbus_modem_firmware_call_select()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-select-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-call-select-sync"></a><h3>mm_gdbus_modem_firmware_call_select_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_firmware_call_select_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_uniqueid</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select"><GTKDOCLINK HREF="Select"><code class="function">Select()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select" title="mm_gdbus_modem_firmware_call_select ()"><code class="function">mm_gdbus_modem_firmware_call_select()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-select-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy"><span class="type">MmGdbusModemFirmwareProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_uniqueid</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-call-select-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemFirmware-struct"></a><h3>MmGdbusModemFirmware</h3>
+<pre class="programlisting">typedef struct _MmGdbusModemFirmware MmGdbusModemFirmware;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Firmware.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemFirmwareIface"></a><h3>struct MmGdbusModemFirmwareIface</h3>
+<pre class="programlisting">struct MmGdbusModemFirmwareIface {
+ GTypeInterface parent_iface;
+
+
+ gboolean (*handle_list) (
+ MmGdbusModemFirmware *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_select) (
+ MmGdbusModemFirmware *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_uniqueid);
+
+ GVariant * (*get_update_settings) (MmGdbusModemFirmware *object);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Firmware.</p>
+<div class="refsect3">
+<a name="MmGdbusModemFirmwareIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemFirmwareIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemFirmwareIface.handle-list"></a>handle_list</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware-handle-list" title="The “handle-list” signal"><span class="type">“handle-list”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemFirmwareIface.handle-select"></a>handle_select</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware-handle-select" title="The “handle-select” signal"><span class="type">“handle-select”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemFirmwareIface.get-update-settings"></a>get_update_settings</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware--update-settings" title="The “update-settings” property"><span class="type">“update-settings”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemFirmware--update-settings"></a><h3>The <code class="literal">“update-settings”</code> property</h3>
+<pre class="programlisting"> “update-settings” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings">"UpdateSettings"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;(ua{sv})&gt;</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmware.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemFirmware-handle-list"></a><h3>The <code class="literal">“handle-list”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List"><GTKDOCLINK HREF="List"><code class="function">List()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_firmware_complete_list()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemFirmware-handle-list.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemFirmware-handle-list.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemFirmware-handle-select"></a><h3>The <code class="literal">“handle-select”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_uniqueid,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Firmware.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select"><GTKDOCLINK HREF="Select"><code class="function">Select()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_firmware_complete_select()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemFirmware-handle-select.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_uniqueid</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemFirmware-handle-select.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemFirmwareProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemFirmwareProxy.html
new file mode 100644
index 00000000..920a1c30
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemFirmwareProxy.html
@@ -0,0 +1,472 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemFirmwareProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">
+<link rel="next" href="MmGdbusModemFirmwareSkeleton.html" title="MmGdbusModemFirmwareSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmwareProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmwareProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmwareProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemFirmware.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemFirmwareSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemFirmwareProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemFirmwareProxy.top_of_page"></a>MmGdbusModemFirmwareProxy</span></h2>
+<p>MmGdbusModemFirmwareProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new" title="mm_gdbus_modem_firmware_proxy_new ()">mm_gdbus_modem_firmware_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-finish" title="mm_gdbus_modem_firmware_proxy_new_finish ()">mm_gdbus_modem_firmware_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus" title="mm_gdbus_modem_firmware_proxy_new_for_bus ()">mm_gdbus_modem_firmware_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus-finish" title="mm_gdbus_modem_firmware_proxy_new_for_bus_finish ()">mm_gdbus_modem_firmware_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus-sync" title="mm_gdbus_modem_firmware_proxy_new_for_bus_sync ()">mm_gdbus_modem_firmware_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-sync" title="mm_gdbus_modem_firmware_proxy_new_sync ()">mm_gdbus_modem_firmware_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemFirmwareProxy.html#MmGdbusModemFirmwareProxy-struct" title="struct MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemFirmwareProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemFirmwareProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-proxy-new"></a><h3>mm_gdbus_modem_firmware_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_firmware_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Firmware. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-finish" title="mm_gdbus_modem_firmware_proxy_new_finish ()"><code class="function">mm_gdbus_modem_firmware_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-sync" title="mm_gdbus_modem_firmware_proxy_new_sync ()"><code class="function">mm_gdbus_modem_firmware_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-proxy-new-finish"></a><h3>mm_gdbus_modem_firmware_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+mm_gdbus_modem_firmware_proxy_new_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new" title="mm_gdbus_modem_firmware_proxy_new ()"><code class="function">mm_gdbus_modem_firmware_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new" title="mm_gdbus_modem_firmware_proxy_new ()"><code class="function">mm_gdbus_modem_firmware_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemFirmwareProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-proxy-new-for-bus"></a><h3>mm_gdbus_modem_firmware_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_firmware_proxy_new_for_bus
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new" title="mm_gdbus_modem_firmware_proxy_new ()"><code class="function">mm_gdbus_modem_firmware_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus-finish" title="mm_gdbus_modem_firmware_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_firmware_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus-sync" title="mm_gdbus_modem_firmware_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_firmware_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_firmware_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+mm_gdbus_modem_firmware_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus" title="mm_gdbus_modem_firmware_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_firmware_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus" title="mm_gdbus_modem_firmware_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_firmware_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemFirmwareProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_firmware_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+mm_gdbus_modem_firmware_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-sync" title="mm_gdbus_modem_firmware_proxy_new_sync ()"><code class="function">mm_gdbus_modem_firmware_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus" title="mm_gdbus_modem_firmware_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_firmware_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemFirmwareProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-proxy-new-sync"></a><h3>mm_gdbus_modem_firmware_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+mm_gdbus_modem_firmware_proxy_new_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Firmware. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new" title="mm_gdbus_modem_firmware_proxy_new ()"><code class="function">mm_gdbus_modem_firmware_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemFirmwareProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemFirmwareProxy-struct"></a><h3>struct MmGdbusModemFirmwareProxy</h3>
+<pre class="programlisting">struct MmGdbusModemFirmwareProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy"><span class="type">MmGdbusModemFirmwareProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemFirmwareSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemFirmwareSkeleton.html
new file mode 100644
index 00000000..885d2d17
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemFirmwareSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemFirmwareSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">
+<link rel="next" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmwareSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmwareSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemFirmwareSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemFirmwareProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemSignal.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemFirmwareSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemFirmwareSkeleton.top_of_page"></a>MmGdbusModemFirmwareSkeleton</span></h2>
+<p>MmGdbusModemFirmwareSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemFirmwareSkeleton.html#mm-gdbus-modem-firmware-skeleton-new" title="mm_gdbus_modem_firmware_skeleton_new ()">mm_gdbus_modem_firmware_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemFirmwareSkeleton.html#MmGdbusModemFirmwareSkeleton-struct" title="struct MmGdbusModemFirmwareSkeleton">MmGdbusModemFirmwareSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemFirmwareSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemFirmwareSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-firmware-skeleton-new"></a><h3>mm_gdbus_modem_firmware_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+mm_gdbus_modem_firmware_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Firmware.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-firmware-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemFirmwareSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemFirmwareSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemFirmwareSkeleton-struct"></a><h3>struct MmGdbusModemFirmwareSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemFirmwareSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemFirmwareSkeleton.html" title="MmGdbusModemFirmwareSkeleton"><span class="type">MmGdbusModemFirmwareSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemLocation.html b/docs/reference/libmm-glib/html/MmGdbusModemLocation.html
new file mode 100644
index 00000000..eac23fbe
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemLocation.html
@@ -0,0 +1,1940 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemLocation: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemCdmaSkeleton.html" title="MmGdbusModemCdmaSkeleton">
+<link rel="next" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocation.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocation.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocation.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocation.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocation.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocation.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemCdmaSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemLocationProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemLocation"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemLocation.top_of_page"></a>MmGdbusModemLocation</span></h2>
+<p>MmGdbusModemLocation — Generated C code for the org.freedesktop.ModemManager1.Modem.Location D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-enabled" title="mm_gdbus_modem_location_get_enabled ()">mm_gdbus_modem_location_get_enabled</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-capabilities" title="mm_gdbus_modem_location_get_capabilities ()">mm_gdbus_modem_location_get_capabilities</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-signals-location" title="mm_gdbus_modem_location_get_signals_location ()">mm_gdbus_modem_location_get_signals_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-location" title="mm_gdbus_modem_location_get_location ()">mm_gdbus_modem_location_get_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-location" title="mm_gdbus_modem_location_dup_location ()">mm_gdbus_modem_location_dup_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-supl-server" title="mm_gdbus_modem_location_dup_supl_server ()">mm_gdbus_modem_location_dup_supl_server</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-supl-server" title="mm_gdbus_modem_location_get_supl_server ()">mm_gdbus_modem_location_get_supl_server</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-gps-refresh-rate" title="mm_gdbus_modem_location_get_gps_refresh_rate ()">mm_gdbus_modem_location_get_gps_refresh_rate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-supported-assistance-data" title="mm_gdbus_modem_location_get_supported_assistance_data ()">mm_gdbus_modem_location_get_supported_assistance_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-assistance-data-servers" title="mm_gdbus_modem_location_dup_assistance_data_servers ()">mm_gdbus_modem_location_dup_assistance_data_servers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-assistance-data-servers" title="mm_gdbus_modem_location_get_assistance_data_servers ()">mm_gdbus_modem_location_get_assistance_data_servers</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location" title="mm_gdbus_modem_location_call_get_location ()">mm_gdbus_modem_location_call_get_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location-finish" title="mm_gdbus_modem_location_call_get_location_finish ()">mm_gdbus_modem_location_call_get_location_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location-sync" title="mm_gdbus_modem_location_call_get_location_sync ()">mm_gdbus_modem_location_call_get_location_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup" title="mm_gdbus_modem_location_call_setup ()">mm_gdbus_modem_location_call_setup</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup-finish" title="mm_gdbus_modem_location_call_setup_finish ()">mm_gdbus_modem_location_call_setup_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup-sync" title="mm_gdbus_modem_location_call_setup_sync ()">mm_gdbus_modem_location_call_setup_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server" title="mm_gdbus_modem_location_call_set_supl_server ()">mm_gdbus_modem_location_call_set_supl_server</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server-finish" title="mm_gdbus_modem_location_call_set_supl_server_finish ()">mm_gdbus_modem_location_call_set_supl_server_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server-sync" title="mm_gdbus_modem_location_call_set_supl_server_sync ()">mm_gdbus_modem_location_call_set_supl_server_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data" title="mm_gdbus_modem_location_call_inject_assistance_data ()">mm_gdbus_modem_location_call_inject_assistance_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data-finish" title="mm_gdbus_modem_location_call_inject_assistance_data_finish ()">mm_gdbus_modem_location_call_inject_assistance_data_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data-sync" title="mm_gdbus_modem_location_call_inject_assistance_data_sync ()">mm_gdbus_modem_location_call_inject_assistance_data_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate" title="mm_gdbus_modem_location_call_set_gps_refresh_rate ()">mm_gdbus_modem_location_call_set_gps_refresh_rate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate-finish" title="mm_gdbus_modem_location_call_set_gps_refresh_rate_finish ()">mm_gdbus_modem_location_call_set_gps_refresh_rate_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate-sync" title="mm_gdbus_modem_location_call_set_gps_refresh_rate_sync ()">mm_gdbus_modem_location_call_set_gps_refresh_rate_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--assistance-data-servers" title="The “assistance-data-servers” property">assistance-data-servers</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--capabilities" title="The “capabilities” property">capabilities</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--enabled" title="The “enabled” property">enabled</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--gps-refresh-rate" title="The “gps-refresh-rate” property">gps-refresh-rate</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--location" title="The “location” property">location</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--signals-location" title="The “signals-location” property">signals-location</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--supl-server" title="The “supl-server” property">supl-server</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--supported-assistance-data" title="The “supported-assistance-data” property">supported-assistance-data</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-get-location" title="The “handle-get-location” signal">handle-get-location</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-inject-assistance-data" title="The “handle-inject-assistance-data” signal">handle-inject-assistance-data</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-set-gps-refresh-rate" title="The “handle-set-gps-refresh-rate” signal">handle-set-gps-refresh-rate</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-set-supl-server" title="The “handle-set-supl-server” signal">handle-set-supl-server</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-setup" title="The “handle-setup” signal">handle-setup</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-struct" title="MmGdbusModemLocation">MmGdbusModemLocation</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocationIface" title="struct MmGdbusModemLocationIface">MmGdbusModemLocationIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModemLocation
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModemLocation requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModemLocation is implemented by
+ <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>, <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a> and <a class="link" href="MmGdbusModemLocationSkeleton.html" title="MmGdbusModemLocationSkeleton">MmGdbusModemLocationSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Location D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-get-enabled"></a><h3>mm_gdbus_modem_location_get_enabled ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_location_get_enabled (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Enabled">"Enabled"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-enabled.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-enabled.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-get-capabilities"></a><h3>mm_gdbus_modem_location_get_capabilities ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_location_get_capabilities
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Capabilities">"Capabilities"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-capabilities.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-get-signals-location"></a><h3>mm_gdbus_modem_location_get_signals_location ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_get_signals_location
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SignalsLocation">"SignalsLocation"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-signals-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-signals-location.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-get-location"></a><h3>mm_gdbus_modem_location_get_location ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_location_get_location (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location">"Location"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-location" title="mm_gdbus_modem_location_dup_location ()"><code class="function">mm_gdbus_modem_location_dup_location()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-location.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-dup-location"></a><h3>mm_gdbus_modem_location_dup_location ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_location_dup_location (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location">"Location"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-dup-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-dup-location.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-dup-supl-server"></a><h3>mm_gdbus_modem_location_dup_supl_server ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_location_dup_supl_server
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer">"SuplServer"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-dup-supl-server.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-dup-supl-server.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-get-supl-server"></a><h3>mm_gdbus_modem_location_get_supl_server ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_modem_location_get_supl_server
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer">"SuplServer"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-supl-server" title="mm_gdbus_modem_location_dup_supl_server ()"><code class="function">mm_gdbus_modem_location_dup_supl_server()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-supl-server.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-supl-server.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-get-gps-refresh-rate"></a><h3>mm_gdbus_modem_location_get_gps_refresh_rate ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_location_get_gps_refresh_rate
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.GpsRefreshRate">"GpsRefreshRate"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-gps-refresh-rate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-gps-refresh-rate.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-get-supported-assistance-data"></a><h3>mm_gdbus_modem_location_get_supported_assistance_data ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_location_get_supported_assistance_data
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SupportedAssistanceData">"SupportedAssistanceData"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-supported-assistance-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-supported-assistance-data.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-dup-assistance-data-servers"></a><h3>mm_gdbus_modem_location_dup_assistance_data_servers ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_gdbus_modem_location_dup_assistance_data_servers
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers">"AssistanceDataServers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-dup-assistance-data-servers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-dup-assistance-data-servers.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-get-assistance-data-servers"></a><h3>mm_gdbus_modem_location_get_assistance_data_servers ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+mm_gdbus_modem_location_get_assistance_data_servers
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers">"AssistanceDataServers"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-assistance-data-servers" title="mm_gdbus_modem_location_dup_assistance_data_servers ()"><code class="function">mm_gdbus_modem_location_dup_assistance_data_servers()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-assistance-data-servers.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-get-assistance-data-servers.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-get-location"></a><h3>mm_gdbus_modem_location_call_get_location ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_location_call_get_location
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation"><GTKDOCLINK HREF="GetLocation"><code class="function">GetLocation()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location-finish" title="mm_gdbus_modem_location_call_get_location_finish ()"><code class="function">mm_gdbus_modem_location_call_get_location_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location-sync" title="mm_gdbus_modem_location_call_get_location_sync ()"><code class="function">mm_gdbus_modem_location_call_get_location_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-get-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-get-location-finish"></a><h3>mm_gdbus_modem_location_call_get_location_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_get_location_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_Location</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location" title="mm_gdbus_modem_location_call_get_location ()"><code class="function">mm_gdbus_modem_location_call_get_location()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-get-location-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_Location</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location" title="mm_gdbus_modem_location_call_get_location ()"><code class="function">mm_gdbus_modem_location_call_get_location()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-get-location-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-get-location-sync"></a><h3>mm_gdbus_modem_location_call_get_location_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_get_location_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_Location</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation"><GTKDOCLINK HREF="GetLocation"><code class="function">GetLocation()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location" title="mm_gdbus_modem_location_call_get_location ()"><code class="function">mm_gdbus_modem_location_call_get_location()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-get-location-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_Location</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-get-location-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-setup"></a><h3>mm_gdbus_modem_location_call_setup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_location_call_setup (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_sources</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_signal_location</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup"><GTKDOCLINK HREF="Setup"><code class="function">Setup()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup-finish" title="mm_gdbus_modem_location_call_setup_finish ()"><code class="function">mm_gdbus_modem_location_call_setup_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup-sync" title="mm_gdbus_modem_location_call_setup_sync ()"><code class="function">mm_gdbus_modem_location_call_setup_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_sources</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_signal_location</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-setup-finish"></a><h3>mm_gdbus_modem_location_call_setup_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_setup_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup" title="mm_gdbus_modem_location_call_setup ()"><code class="function">mm_gdbus_modem_location_call_setup()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-setup-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup" title="mm_gdbus_modem_location_call_setup ()"><code class="function">mm_gdbus_modem_location_call_setup()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-setup-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-setup-sync"></a><h3>mm_gdbus_modem_location_call_setup_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_setup_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_sources</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_signal_location</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup"><GTKDOCLINK HREF="Setup"><code class="function">Setup()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup" title="mm_gdbus_modem_location_call_setup ()"><code class="function">mm_gdbus_modem_location_call_setup()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-setup-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_sources</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_signal_location</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-setup-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-set-supl-server"></a><h3>mm_gdbus_modem_location_call_set_supl_server ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_location_call_set_supl_server
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_supl</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer"><GTKDOCLINK HREF="SetSuplServer"><code class="function">SetSuplServer()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server-finish" title="mm_gdbus_modem_location_call_set_supl_server_finish ()"><code class="function">mm_gdbus_modem_location_call_set_supl_server_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server-sync" title="mm_gdbus_modem_location_call_set_supl_server_sync ()"><code class="function">mm_gdbus_modem_location_call_set_supl_server_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-supl-server.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_supl</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-set-supl-server-finish"></a><h3>mm_gdbus_modem_location_call_set_supl_server_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_set_supl_server_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server" title="mm_gdbus_modem_location_call_set_supl_server ()"><code class="function">mm_gdbus_modem_location_call_set_supl_server()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-supl-server-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server" title="mm_gdbus_modem_location_call_set_supl_server ()"><code class="function">mm_gdbus_modem_location_call_set_supl_server()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-supl-server-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-set-supl-server-sync"></a><h3>mm_gdbus_modem_location_call_set_supl_server_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_set_supl_server_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_supl</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer"><GTKDOCLINK HREF="SetSuplServer"><code class="function">SetSuplServer()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server" title="mm_gdbus_modem_location_call_set_supl_server ()"><code class="function">mm_gdbus_modem_location_call_set_supl_server()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-supl-server-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_supl</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-supl-server-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-inject-assistance-data"></a><h3>mm_gdbus_modem_location_call_inject_assistance_data ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_location_call_inject_assistance_data
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_data</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData"><GTKDOCLINK HREF="InjectAssistanceData"><code class="function">InjectAssistanceData()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data-finish" title="mm_gdbus_modem_location_call_inject_assistance_data_finish ()"><code class="function">mm_gdbus_modem_location_call_inject_assistance_data_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data-sync" title="mm_gdbus_modem_location_call_inject_assistance_data_sync ()"><code class="function">mm_gdbus_modem_location_call_inject_assistance_data_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-inject-assistance-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_data</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-inject-assistance-data-finish"></a><h3>mm_gdbus_modem_location_call_inject_assistance_data_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_inject_assistance_data_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data" title="mm_gdbus_modem_location_call_inject_assistance_data ()"><code class="function">mm_gdbus_modem_location_call_inject_assistance_data()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-inject-assistance-data-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data" title="mm_gdbus_modem_location_call_inject_assistance_data ()"><code class="function">mm_gdbus_modem_location_call_inject_assistance_data()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-inject-assistance-data-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-inject-assistance-data-sync"></a><h3>mm_gdbus_modem_location_call_inject_assistance_data_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_inject_assistance_data_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_data</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData"><GTKDOCLINK HREF="InjectAssistanceData"><code class="function">InjectAssistanceData()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data" title="mm_gdbus_modem_location_call_inject_assistance_data ()"><code class="function">mm_gdbus_modem_location_call_inject_assistance_data()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-inject-assistance-data-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_data</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-inject-assistance-data-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-set-gps-refresh-rate"></a><h3>mm_gdbus_modem_location_call_set_gps_refresh_rate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_location_call_set_gps_refresh_rate
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_rate</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate"><GTKDOCLINK HREF="SetGpsRefreshRate"><code class="function">SetGpsRefreshRate()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate-finish" title="mm_gdbus_modem_location_call_set_gps_refresh_rate_finish ()"><code class="function">mm_gdbus_modem_location_call_set_gps_refresh_rate_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate-sync" title="mm_gdbus_modem_location_call_set_gps_refresh_rate_sync ()"><code class="function">mm_gdbus_modem_location_call_set_gps_refresh_rate_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-gps-refresh-rate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_rate</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-set-gps-refresh-rate-finish"></a><h3>mm_gdbus_modem_location_call_set_gps_refresh_rate_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_set_gps_refresh_rate_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate" title="mm_gdbus_modem_location_call_set_gps_refresh_rate ()"><code class="function">mm_gdbus_modem_location_call_set_gps_refresh_rate()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-gps-refresh-rate-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate" title="mm_gdbus_modem_location_call_set_gps_refresh_rate ()"><code class="function">mm_gdbus_modem_location_call_set_gps_refresh_rate()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-gps-refresh-rate-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-call-set-gps-refresh-rate-sync"></a><h3>mm_gdbus_modem_location_call_set_gps_refresh_rate_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_location_call_set_gps_refresh_rate_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_rate</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate"><GTKDOCLINK HREF="SetGpsRefreshRate"><code class="function">SetGpsRefreshRate()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate" title="mm_gdbus_modem_location_call_set_gps_refresh_rate ()"><code class="function">mm_gdbus_modem_location_call_set_gps_refresh_rate()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-gps-refresh-rate-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_rate</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-call-set-gps-refresh-rate-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemLocation-struct"></a><h3>MmGdbusModemLocation</h3>
+<pre class="programlisting">typedef struct _MmGdbusModemLocation MmGdbusModemLocation;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Location.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocationIface"></a><h3>struct MmGdbusModemLocationIface</h3>
+<pre class="programlisting">struct MmGdbusModemLocationIface {
+ GTypeInterface parent_iface;
+
+
+ gboolean (*handle_get_location) (
+ MmGdbusModemLocation *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_inject_assistance_data) (
+ MmGdbusModemLocation *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_data);
+
+ gboolean (*handle_set_gps_refresh_rate) (
+ MmGdbusModemLocation *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_rate);
+
+ gboolean (*handle_set_supl_server) (
+ MmGdbusModemLocation *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_supl);
+
+ gboolean (*handle_setup) (
+ MmGdbusModemLocation *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_sources,
+ gboolean arg_signal_location);
+
+ const gchar *const * (*get_assistance_data_servers) (MmGdbusModemLocation *object);
+
+ guint (*get_capabilities) (MmGdbusModemLocation *object);
+
+ guint (*get_enabled) (MmGdbusModemLocation *object);
+
+ guint (*get_gps_refresh_rate) (MmGdbusModemLocation *object);
+
+ GVariant * (*get_location) (MmGdbusModemLocation *object);
+
+ gboolean (*get_signals_location) (MmGdbusModemLocation *object);
+
+ const gchar * (*get_supl_server) (MmGdbusModemLocation *object);
+
+ guint (*get_supported_assistance_data) (MmGdbusModemLocation *object);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Location.</p>
+<div class="refsect3">
+<a name="MmGdbusModemLocationIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemLocationIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.handle-get-location"></a>handle_get_location</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-get-location" title="The “handle-get-location” signal"><span class="type">“handle-get-location”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.handle-inject-assistance-data"></a>handle_inject_assistance_data</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-inject-assistance-data" title="The “handle-inject-assistance-data” signal"><span class="type">“handle-inject-assistance-data”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.handle-set-gps-refresh-rate"></a>handle_set_gps_refresh_rate</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-set-gps-refresh-rate" title="The “handle-set-gps-refresh-rate” signal"><span class="type">“handle-set-gps-refresh-rate”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.handle-set-supl-server"></a>handle_set_supl_server</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-set-supl-server" title="The “handle-set-supl-server” signal"><span class="type">“handle-set-supl-server”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.handle-setup"></a>handle_setup</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-setup" title="The “handle-setup” signal"><span class="type">“handle-setup”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.get-assistance-data-servers"></a>get_assistance_data_servers</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--assistance-data-servers" title="The “assistance-data-servers” property"><span class="type">“assistance-data-servers”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.get-capabilities"></a>get_capabilities</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--capabilities" title="The “capabilities” property"><span class="type">“capabilities”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.get-enabled"></a>get_enabled</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--enabled" title="The “enabled” property"><span class="type">“enabled”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.get-gps-refresh-rate"></a>get_gps_refresh_rate</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--gps-refresh-rate" title="The “gps-refresh-rate” property"><span class="type">“gps-refresh-rate”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.get-location"></a>get_location</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--location" title="The “location” property"><span class="type">“location”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.get-signals-location"></a>get_signals_location</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--signals-location" title="The “signals-location” property"><span class="type">“signals-location”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.get-supl-server"></a>get_supl_server</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--supl-server" title="The “supl-server” property"><span class="type">“supl-server”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemLocationIface.get-supported-assistance-data"></a>get_supported_assistance_data</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--supported-assistance-data" title="The “supported-assistance-data” property"><span class="type">“supported-assistance-data”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemLocation--assistance-data-servers"></a><h3>The <code class="literal">“assistance-data-servers”</code> property</h3>
+<pre class="programlisting"> “assistance-data-servers” <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers">"AssistanceDataServers"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation--capabilities"></a><h3>The <code class="literal">“capabilities”</code> property</h3>
+<pre class="programlisting"> “capabilities” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Capabilities">"Capabilities"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation--enabled"></a><h3>The <code class="literal">“enabled”</code> property</h3>
+<pre class="programlisting"> “enabled” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Enabled">"Enabled"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation--gps-refresh-rate"></a><h3>The <code class="literal">“gps-refresh-rate”</code> property</h3>
+<pre class="programlisting"> “gps-refresh-rate” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.GpsRefreshRate">"GpsRefreshRate"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation--location"></a><h3>The <code class="literal">“location”</code> property</h3>
+<pre class="programlisting"> “location” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location">"Location"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{uv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation--signals-location"></a><h3>The <code class="literal">“signals-location”</code> property</h3>
+<pre class="programlisting"> “signals-location” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SignalsLocation">"SignalsLocation"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation--supl-server"></a><h3>The <code class="literal">“supl-server”</code> property</h3>
+<pre class="programlisting"> “supl-server” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer">"SuplServer"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation--supported-assistance-data"></a><h3>The <code class="literal">“supported-assistance-data”</code> property</h3>
+<pre class="programlisting"> “supported-assistance-data” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SupportedAssistanceData">"SupportedAssistanceData"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocation.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemLocation-handle-get-location"></a><h3>The <code class="literal">“handle-get-location”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation"><GTKDOCLINK HREF="GetLocation"><code class="function">GetLocation()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_location_complete_get_location()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-get-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-get-location.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation-handle-inject-assistance-data"></a><h3>The <code class="literal">“handle-inject-assistance-data”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_data,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData"><GTKDOCLINK HREF="InjectAssistanceData"><code class="function">InjectAssistanceData()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_location_complete_inject_assistance_data()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-inject-assistance-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_data</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-inject-assistance-data.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation-handle-set-gps-refresh-rate"></a><h3>The <code class="literal">“handle-set-gps-refresh-rate”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_rate,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate"><GTKDOCLINK HREF="SetGpsRefreshRate"><code class="function">SetGpsRefreshRate()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_location_complete_set_gps_refresh_rate()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-set-gps-refresh-rate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_rate</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-set-gps-refresh-rate.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation-handle-set-supl-server"></a><h3>The <code class="literal">“handle-set-supl-server”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_supl,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer"><GTKDOCLINK HREF="SetSuplServer"><code class="function">SetSuplServer()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_location_complete_set_supl_server()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-set-supl-server.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_supl</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-set-supl-server.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemLocation-handle-setup"></a><h3>The <code class="literal">“handle-setup”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_sources,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_signal_location,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Location.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup"><GTKDOCLINK HREF="Setup"><code class="function">Setup()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_location_complete_setup()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_sources</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_signal_location</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemLocation-handle-setup.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemLocationProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemLocationProxy.html
new file mode 100644
index 00000000..fcfac423
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemLocationProxy.html
@@ -0,0 +1,472 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemLocationProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">
+<link rel="next" href="MmGdbusModemLocationSkeleton.html" title="MmGdbusModemLocationSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocationProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocationProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocationProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemLocation.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemLocationSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemLocationProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemLocationProxy.top_of_page"></a>MmGdbusModemLocationProxy</span></h2>
+<p>MmGdbusModemLocationProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new" title="mm_gdbus_modem_location_proxy_new ()">mm_gdbus_modem_location_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-finish" title="mm_gdbus_modem_location_proxy_new_finish ()">mm_gdbus_modem_location_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus" title="mm_gdbus_modem_location_proxy_new_for_bus ()">mm_gdbus_modem_location_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus-finish" title="mm_gdbus_modem_location_proxy_new_for_bus_finish ()">mm_gdbus_modem_location_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus-sync" title="mm_gdbus_modem_location_proxy_new_for_bus_sync ()">mm_gdbus_modem_location_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-sync" title="mm_gdbus_modem_location_proxy_new_sync ()">mm_gdbus_modem_location_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemLocationProxy.html#MmGdbusModemLocationProxy-struct" title="struct MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemLocationProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemLocationProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-proxy-new"></a><h3>mm_gdbus_modem_location_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_location_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Location. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-finish" title="mm_gdbus_modem_location_proxy_new_finish ()"><code class="function">mm_gdbus_modem_location_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-sync" title="mm_gdbus_modem_location_proxy_new_sync ()"><code class="function">mm_gdbus_modem_location_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-proxy-new-finish"></a><h3>mm_gdbus_modem_location_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+mm_gdbus_modem_location_proxy_new_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new" title="mm_gdbus_modem_location_proxy_new ()"><code class="function">mm_gdbus_modem_location_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new" title="mm_gdbus_modem_location_proxy_new ()"><code class="function">mm_gdbus_modem_location_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemLocationProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-proxy-new-for-bus"></a><h3>mm_gdbus_modem_location_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_location_proxy_new_for_bus
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new" title="mm_gdbus_modem_location_proxy_new ()"><code class="function">mm_gdbus_modem_location_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus-finish" title="mm_gdbus_modem_location_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_location_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus-sync" title="mm_gdbus_modem_location_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_location_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_location_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+mm_gdbus_modem_location_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus" title="mm_gdbus_modem_location_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_location_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus" title="mm_gdbus_modem_location_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_location_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemLocationProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_location_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+mm_gdbus_modem_location_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-sync" title="mm_gdbus_modem_location_proxy_new_sync ()"><code class="function">mm_gdbus_modem_location_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus" title="mm_gdbus_modem_location_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_location_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemLocationProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-proxy-new-sync"></a><h3>mm_gdbus_modem_location_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+mm_gdbus_modem_location_proxy_new_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Location. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new" title="mm_gdbus_modem_location_proxy_new ()"><code class="function">mm_gdbus_modem_location_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemLocationProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemLocationProxy-struct"></a><h3>struct MmGdbusModemLocationProxy</h3>
+<pre class="programlisting">struct MmGdbusModemLocationProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy"><span class="type">MmGdbusModemLocationProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemLocationSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemLocationSkeleton.html
new file mode 100644
index 00000000..aeca6e07
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemLocationSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemLocationSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">
+<link rel="next" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocationSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocationSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemLocationSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemLocationProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemMessaging.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemLocationSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemLocationSkeleton.top_of_page"></a>MmGdbusModemLocationSkeleton</span></h2>
+<p>MmGdbusModemLocationSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemLocationSkeleton.html#mm-gdbus-modem-location-skeleton-new" title="mm_gdbus_modem_location_skeleton_new ()">mm_gdbus_modem_location_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemLocationSkeleton.html#MmGdbusModemLocationSkeleton-struct" title="struct MmGdbusModemLocationSkeleton">MmGdbusModemLocationSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemLocationSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemLocationSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-location-skeleton-new"></a><h3>mm_gdbus_modem_location_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+mm_gdbus_modem_location_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Location.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-location-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemLocationSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemLocationSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemLocationSkeleton-struct"></a><h3>struct MmGdbusModemLocationSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemLocationSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemLocationSkeleton.html" title="MmGdbusModemLocationSkeleton"><span class="type">MmGdbusModemLocationSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemMessaging.html b/docs/reference/libmm-glib/html/MmGdbusModemMessaging.html
new file mode 100644
index 00000000..95189e03
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemMessaging.html
@@ -0,0 +1,1239 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemMessaging: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemLocationSkeleton.html" title="MmGdbusModemLocationSkeleton">
+<link rel="next" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessaging.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessaging.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessaging.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessaging.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessaging.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessaging.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemLocationSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemMessagingProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemMessaging"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemMessaging.top_of_page"></a>MmGdbusModemMessaging</span></h2>
+<p>MmGdbusModemMessaging — Generated C code for the org.freedesktop.ModemManager1.Modem.Messaging D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-get-messages" title="mm_gdbus_modem_messaging_get_messages ()">mm_gdbus_modem_messaging_get_messages</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-dup-messages" title="mm_gdbus_modem_messaging_dup_messages ()">mm_gdbus_modem_messaging_dup_messages</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-get-supported-storages" title="mm_gdbus_modem_messaging_get_supported_storages ()">mm_gdbus_modem_messaging_get_supported_storages</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-dup-supported-storages" title="mm_gdbus_modem_messaging_dup_supported_storages ()">mm_gdbus_modem_messaging_dup_supported_storages</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-get-default-storage" title="mm_gdbus_modem_messaging_get_default_storage ()">mm_gdbus_modem_messaging_get_default_storage</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create" title="mm_gdbus_modem_messaging_call_create ()">mm_gdbus_modem_messaging_call_create</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create-finish" title="mm_gdbus_modem_messaging_call_create_finish ()">mm_gdbus_modem_messaging_call_create_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create-sync" title="mm_gdbus_modem_messaging_call_create_sync ()">mm_gdbus_modem_messaging_call_create_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete" title="mm_gdbus_modem_messaging_call_delete ()">mm_gdbus_modem_messaging_call_delete</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete-finish" title="mm_gdbus_modem_messaging_call_delete_finish ()">mm_gdbus_modem_messaging_call_delete_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete-sync" title="mm_gdbus_modem_messaging_call_delete_sync ()">mm_gdbus_modem_messaging_call_delete_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list" title="mm_gdbus_modem_messaging_call_list ()">mm_gdbus_modem_messaging_call_list</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list-finish" title="mm_gdbus_modem_messaging_call_list_finish ()">mm_gdbus_modem_messaging_call_list_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list-sync" title="mm_gdbus_modem_messaging_call_list_sync ()">mm_gdbus_modem_messaging_call_list_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging--default-storage" title="The “default-storage” property">default-storage</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging--messages" title="The “messages” property">messages</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging--supported-storages" title="The “supported-storages” property">supported-storages</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-added" title="The “added” signal">added</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-deleted" title="The “deleted” signal">deleted</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-create" title="The “handle-create” signal">handle-create</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-delete" title="The “handle-delete” signal">handle-delete</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-list" title="The “handle-list” signal">handle-list</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-struct" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface" title="struct MmGdbusModemMessagingIface">MmGdbusModemMessagingIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModemMessaging
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModemMessaging requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModemMessaging is implemented by
+ <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>, <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a> and <a class="link" href="MmGdbusModemMessagingSkeleton.html" title="MmGdbusModemMessagingSkeleton">MmGdbusModemMessagingSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Messaging D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-get-messages"></a><h3>mm_gdbus_modem_messaging_get_messages ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+mm_gdbus_modem_messaging_get_messages (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages">"Messages"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-dup-messages" title="mm_gdbus_modem_messaging_dup_messages ()"><code class="function">mm_gdbus_modem_messaging_dup_messages()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-get-messages.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-get-messages.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-dup-messages"></a><h3>mm_gdbus_modem_messaging_dup_messages ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_gdbus_modem_messaging_dup_messages (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages">"Messages"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-dup-messages.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-dup-messages.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-get-supported-storages"></a><h3>mm_gdbus_modem_messaging_get_supported_storages ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_messaging_get_supported_storages
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages">"SupportedStorages"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-dup-supported-storages" title="mm_gdbus_modem_messaging_dup_supported_storages ()"><code class="function">mm_gdbus_modem_messaging_dup_supported_storages()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-get-supported-storages.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-get-supported-storages.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-dup-supported-storages"></a><h3>mm_gdbus_modem_messaging_dup_supported_storages ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_messaging_dup_supported_storages
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages">"SupportedStorages"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-dup-supported-storages.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-dup-supported-storages.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-get-default-storage"></a><h3>mm_gdbus_modem_messaging_get_default_storage ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_messaging_get_default_storage
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.DefaultStorage">"DefaultStorage"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-get-default-storage.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-get-default-storage.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-call-create"></a><h3>mm_gdbus_modem_messaging_call_create ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_messaging_call_create (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create"><GTKDOCLINK HREF="Create"><code class="function">Create()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create-finish" title="mm_gdbus_modem_messaging_call_create_finish ()"><code class="function">mm_gdbus_modem_messaging_call_create_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create-sync" title="mm_gdbus_modem_messaging_call_create_sync ()"><code class="function">mm_gdbus_modem_messaging_call_create_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-create.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-call-create-finish"></a><h3>mm_gdbus_modem_messaging_call_create_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_messaging_call_create_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create" title="mm_gdbus_modem_messaging_call_create ()"><code class="function">mm_gdbus_modem_messaging_call_create()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-create-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_path</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create" title="mm_gdbus_modem_messaging_call_create ()"><code class="function">mm_gdbus_modem_messaging_call_create()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-create-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-call-create-sync"></a><h3>mm_gdbus_modem_messaging_call_create_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_messaging_call_create_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create"><GTKDOCLINK HREF="Create"><code class="function">Create()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create" title="mm_gdbus_modem_messaging_call_create ()"><code class="function">mm_gdbus_modem_messaging_call_create()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-create-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_path</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-create-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-call-delete"></a><h3>mm_gdbus_modem_messaging_call_delete ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_messaging_call_delete (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete"><GTKDOCLINK HREF="Delete"><code class="function">Delete()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete-finish" title="mm_gdbus_modem_messaging_call_delete_finish ()"><code class="function">mm_gdbus_modem_messaging_call_delete_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete-sync" title="mm_gdbus_modem_messaging_call_delete_sync ()"><code class="function">mm_gdbus_modem_messaging_call_delete_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-delete.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-call-delete-finish"></a><h3>mm_gdbus_modem_messaging_call_delete_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_messaging_call_delete_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete" title="mm_gdbus_modem_messaging_call_delete ()"><code class="function">mm_gdbus_modem_messaging_call_delete()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-delete-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete" title="mm_gdbus_modem_messaging_call_delete ()"><code class="function">mm_gdbus_modem_messaging_call_delete()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-delete-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-call-delete-sync"></a><h3>mm_gdbus_modem_messaging_call_delete_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_messaging_call_delete_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete"><GTKDOCLINK HREF="Delete"><code class="function">Delete()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete" title="mm_gdbus_modem_messaging_call_delete ()"><code class="function">mm_gdbus_modem_messaging_call_delete()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-delete-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-delete-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-call-list"></a><h3>mm_gdbus_modem_messaging_call_list ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_messaging_call_list (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List"><GTKDOCLINK HREF="List"><code class="function">List()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list-finish" title="mm_gdbus_modem_messaging_call_list_finish ()"><code class="function">mm_gdbus_modem_messaging_call_list_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list-sync" title="mm_gdbus_modem_messaging_call_list_sync ()"><code class="function">mm_gdbus_modem_messaging_call_list_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-list.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-call-list-finish"></a><h3>mm_gdbus_modem_messaging_call_list_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_messaging_call_list_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> ***out_result</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list" title="mm_gdbus_modem_messaging_call_list ()"><code class="function">mm_gdbus_modem_messaging_call_list()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-list-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_result</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list" title="mm_gdbus_modem_messaging_call_list ()"><code class="function">mm_gdbus_modem_messaging_call_list()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-list-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-call-list-sync"></a><h3>mm_gdbus_modem_messaging_call_list_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_messaging_call_list_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> ***out_result</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List"><GTKDOCLINK HREF="List"><code class="function">List()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list" title="mm_gdbus_modem_messaging_call_list ()"><code class="function">mm_gdbus_modem_messaging_call_list()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-list-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_result</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-call-list-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemMessaging-struct"></a><h3>MmGdbusModemMessaging</h3>
+<pre class="programlisting">typedef struct _MmGdbusModemMessaging MmGdbusModemMessaging;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Messaging.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemMessagingIface"></a><h3>struct MmGdbusModemMessagingIface</h3>
+<pre class="programlisting">struct MmGdbusModemMessagingIface {
+ GTypeInterface parent_iface;
+
+
+
+ gboolean (*handle_create) (
+ MmGdbusModemMessaging *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_properties);
+
+ gboolean (*handle_delete) (
+ MmGdbusModemMessaging *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_path);
+
+ gboolean (*handle_list) (
+ MmGdbusModemMessaging *object,
+ GDBusMethodInvocation *invocation);
+
+ guint (*get_default_storage) (MmGdbusModemMessaging *object);
+
+ const gchar *const * (*get_messages) (MmGdbusModemMessaging *object);
+
+ GVariant * (*get_supported_storages) (MmGdbusModemMessaging *object);
+
+ void (*added) (
+ MmGdbusModemMessaging *object,
+ const gchar *arg_path,
+ gboolean arg_received);
+
+ void (*deleted) (
+ MmGdbusModemMessaging *object,
+ const gchar *arg_path);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Messaging.</p>
+<div class="refsect3">
+<a name="MmGdbusModemMessagingIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemMessagingIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemMessagingIface.handle-create"></a>handle_create</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-create" title="The “handle-create” signal"><span class="type">“handle-create”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemMessagingIface.handle-delete"></a>handle_delete</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-delete" title="The “handle-delete” signal"><span class="type">“handle-delete”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemMessagingIface.handle-list"></a>handle_list</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-list" title="The “handle-list” signal"><span class="type">“handle-list”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemMessagingIface.get-default-storage"></a>get_default_storage</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging--default-storage" title="The “default-storage” property"><span class="type">“default-storage”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemMessagingIface.get-messages"></a>get_messages</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging--messages" title="The “messages” property"><span class="type">“messages”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemMessagingIface.get-supported-storages"></a>get_supported_storages</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging--supported-storages" title="The “supported-storages” property"><span class="type">“supported-storages”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemMessagingIface.added"></a>added</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-added" title="The “added” signal"><span class="type">“added”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemMessagingIface.deleted"></a>deleted</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-deleted" title="The “deleted” signal"><span class="type">“deleted”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemMessaging--default-storage"></a><h3>The <code class="literal">“default-storage”</code> property</h3>
+<pre class="programlisting"> “default-storage” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.DefaultStorage">"DefaultStorage"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemMessaging--messages"></a><h3>The <code class="literal">“messages”</code> property</h3>
+<pre class="programlisting"> “messages” <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages">"Messages"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemMessaging--supported-storages"></a><h3>The <code class="literal">“supported-storages”</code> property</h3>
+<pre class="programlisting"> “supported-storages” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages">"SupportedStorages"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;au&gt;</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessaging.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemMessaging-added"></a><h3>The <code class="literal">“added”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_received,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added">"Added"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusModemMessaging-added.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_received</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemMessaging-deleted"></a><h3>The <code class="literal">“deleted”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Deleted">"Deleted"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusModemMessaging-deleted.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemMessaging-handle-create"></a><h3>The <code class="literal">“handle-create”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create"><GTKDOCLINK HREF="Create"><code class="function">Create()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_messaging_complete_create()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemMessaging-handle-create.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemMessaging-handle-create.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemMessaging-handle-delete"></a><h3>The <code class="literal">“handle-delete”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete"><GTKDOCLINK HREF="Delete"><code class="function">Delete()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_messaging_complete_delete()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemMessaging-handle-delete.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemMessaging-handle-delete.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemMessaging-handle-list"></a><h3>The <code class="literal">“handle-list”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List"><GTKDOCLINK HREF="List"><code class="function">List()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_messaging_complete_list()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemMessaging-handle-list.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemMessaging-handle-list.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemMessagingProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemMessagingProxy.html
new file mode 100644
index 00000000..845973cb
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemMessagingProxy.html
@@ -0,0 +1,472 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemMessagingProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">
+<link rel="next" href="MmGdbusModemMessagingSkeleton.html" title="MmGdbusModemMessagingSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessagingProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessagingProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessagingProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemMessaging.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemMessagingSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemMessagingProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemMessagingProxy.top_of_page"></a>MmGdbusModemMessagingProxy</span></h2>
+<p>MmGdbusModemMessagingProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new" title="mm_gdbus_modem_messaging_proxy_new ()">mm_gdbus_modem_messaging_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-finish" title="mm_gdbus_modem_messaging_proxy_new_finish ()">mm_gdbus_modem_messaging_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus" title="mm_gdbus_modem_messaging_proxy_new_for_bus ()">mm_gdbus_modem_messaging_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus-finish" title="mm_gdbus_modem_messaging_proxy_new_for_bus_finish ()">mm_gdbus_modem_messaging_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus-sync" title="mm_gdbus_modem_messaging_proxy_new_for_bus_sync ()">mm_gdbus_modem_messaging_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-sync" title="mm_gdbus_modem_messaging_proxy_new_sync ()">mm_gdbus_modem_messaging_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemMessagingProxy.html#MmGdbusModemMessagingProxy-struct" title="struct MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemMessagingProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemMessagingProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-proxy-new"></a><h3>mm_gdbus_modem_messaging_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_messaging_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Messaging. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-finish" title="mm_gdbus_modem_messaging_proxy_new_finish ()"><code class="function">mm_gdbus_modem_messaging_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-sync" title="mm_gdbus_modem_messaging_proxy_new_sync ()"><code class="function">mm_gdbus_modem_messaging_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-proxy-new-finish"></a><h3>mm_gdbus_modem_messaging_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+mm_gdbus_modem_messaging_proxy_new_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new" title="mm_gdbus_modem_messaging_proxy_new ()"><code class="function">mm_gdbus_modem_messaging_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new" title="mm_gdbus_modem_messaging_proxy_new ()"><code class="function">mm_gdbus_modem_messaging_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemMessagingProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-proxy-new-for-bus"></a><h3>mm_gdbus_modem_messaging_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_messaging_proxy_new_for_bus
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new" title="mm_gdbus_modem_messaging_proxy_new ()"><code class="function">mm_gdbus_modem_messaging_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus-finish" title="mm_gdbus_modem_messaging_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_messaging_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus-sync" title="mm_gdbus_modem_messaging_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_messaging_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_messaging_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+mm_gdbus_modem_messaging_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus" title="mm_gdbus_modem_messaging_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_messaging_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus" title="mm_gdbus_modem_messaging_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_messaging_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemMessagingProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_messaging_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+mm_gdbus_modem_messaging_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-sync" title="mm_gdbus_modem_messaging_proxy_new_sync ()"><code class="function">mm_gdbus_modem_messaging_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus" title="mm_gdbus_modem_messaging_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_messaging_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemMessagingProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-proxy-new-sync"></a><h3>mm_gdbus_modem_messaging_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+mm_gdbus_modem_messaging_proxy_new_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Messaging. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new" title="mm_gdbus_modem_messaging_proxy_new ()"><code class="function">mm_gdbus_modem_messaging_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemMessagingProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemMessagingProxy-struct"></a><h3>struct MmGdbusModemMessagingProxy</h3>
+<pre class="programlisting">struct MmGdbusModemMessagingProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy"><span class="type">MmGdbusModemMessagingProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemMessagingSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemMessagingSkeleton.html
new file mode 100644
index 00000000..69a64012
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemMessagingSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemMessagingSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">
+<link rel="next" href="MmGdbusModemTime.html" title="MmGdbusModemTime">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessagingSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessagingSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemMessagingSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemMessagingProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemTime.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemMessagingSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemMessagingSkeleton.top_of_page"></a>MmGdbusModemMessagingSkeleton</span></h2>
+<p>MmGdbusModemMessagingSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemMessagingSkeleton.html#mm-gdbus-modem-messaging-skeleton-new" title="mm_gdbus_modem_messaging_skeleton_new ()">mm_gdbus_modem_messaging_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemMessagingSkeleton.html#MmGdbusModemMessagingSkeleton-struct" title="struct MmGdbusModemMessagingSkeleton">MmGdbusModemMessagingSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemMessagingSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemMessagingSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-messaging-skeleton-new"></a><h3>mm_gdbus_modem_messaging_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+mm_gdbus_modem_messaging_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Messaging.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-messaging-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemMessagingSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemMessagingSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemMessagingSkeleton-struct"></a><h3>struct MmGdbusModemMessagingSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemMessagingSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemMessagingSkeleton.html" title="MmGdbusModemMessagingSkeleton"><span class="type">MmGdbusModemMessagingSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemOma.html b/docs/reference/libmm-glib/html/MmGdbusModemOma.html
new file mode 100644
index 00000000..9886195b
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemOma.html
@@ -0,0 +1,1444 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemOma: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemSignalSkeleton.html" title="MmGdbusModemSignalSkeleton">
+<link rel="next" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOma.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOma.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOma.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOma.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOma.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOma.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemSignalSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemOmaProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemOma"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemOma.top_of_page"></a>MmGdbusModemOma</span></h2>
+<p>MmGdbusModemOma — Generated C code for the org.freedesktop.ModemManager1.Modem.Oma D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session" title="mm_gdbus_modem_oma_call_accept_network_initiated_session ()">mm_gdbus_modem_oma_call_accept_network_initiated_session</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session-finish" title="mm_gdbus_modem_oma_call_accept_network_initiated_session_finish ()">mm_gdbus_modem_oma_call_accept_network_initiated_session_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session-sync" title="mm_gdbus_modem_oma_call_accept_network_initiated_session_sync ()">mm_gdbus_modem_oma_call_accept_network_initiated_session_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session" title="mm_gdbus_modem_oma_call_cancel_session ()">mm_gdbus_modem_oma_call_cancel_session</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session-finish" title="mm_gdbus_modem_oma_call_cancel_session_finish ()">mm_gdbus_modem_oma_call_cancel_session_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session-sync" title="mm_gdbus_modem_oma_call_cancel_session_sync ()">mm_gdbus_modem_oma_call_cancel_session_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup" title="mm_gdbus_modem_oma_call_setup ()">mm_gdbus_modem_oma_call_setup</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup-finish" title="mm_gdbus_modem_oma_call_setup_finish ()">mm_gdbus_modem_oma_call_setup_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup-sync" title="mm_gdbus_modem_oma_call_setup_sync ()">mm_gdbus_modem_oma_call_setup_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session" title="mm_gdbus_modem_oma_call_start_client_initiated_session ()">mm_gdbus_modem_oma_call_start_client_initiated_session</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session-finish" title="mm_gdbus_modem_oma_call_start_client_initiated_session_finish ()">mm_gdbus_modem_oma_call_start_client_initiated_session_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session-sync" title="mm_gdbus_modem_oma_call_start_client_initiated_session_sync ()">mm_gdbus_modem_oma_call_start_client_initiated_session_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-features" title="mm_gdbus_modem_oma_get_features ()">mm_gdbus_modem_oma_get_features</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-session-state" title="mm_gdbus_modem_oma_get_session_state ()">mm_gdbus_modem_oma_get_session_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-session-type" title="mm_gdbus_modem_oma_get_session_type ()">mm_gdbus_modem_oma_get_session_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-pending-network-initiated-sessions" title="mm_gdbus_modem_oma_get_pending_network_initiated_sessions ()">mm_gdbus_modem_oma_get_pending_network_initiated_sessions</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-dup-pending-network-initiated-sessions" title="mm_gdbus_modem_oma_dup_pending_network_initiated_sessions ()">mm_gdbus_modem_oma_dup_pending_network_initiated_sessions</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--features" title="The “features” property">features</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--pending-network-initiated-sessions" title="The “pending-network-initiated-sessions” property">pending-network-initiated-sessions</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--session-state" title="The “session-state” property">session-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--session-type" title="The “session-type” property">session-type</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-accept-network-initiated-session" title="The “handle-accept-network-initiated-session” signal">handle-accept-network-initiated-session</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-cancel-session" title="The “handle-cancel-session” signal">handle-cancel-session</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-setup" title="The “handle-setup” signal">handle-setup</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-start-client-initiated-session" title="The “handle-start-client-initiated-session” signal">handle-start-client-initiated-session</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-session-state-changed" title="The “session-state-changed” signal">session-state-changed</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-struct" title="MmGdbusModemOma">MmGdbusModemOma</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemOma.html#MmGdbusModemOmaIface" title="struct MmGdbusModemOmaIface">MmGdbusModemOmaIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModemOma
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModemOma requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModemOma is implemented by
+ <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>, <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a> and <a class="link" href="MmGdbusModemOmaSkeleton.html" title="MmGdbusModemOmaSkeleton">MmGdbusModemOmaSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Oma D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-accept-network-initiated-session"></a><h3>mm_gdbus_modem_oma_call_accept_network_initiated_session ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_oma_call_accept_network_initiated_session
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_session_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_accept</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession"><GTKDOCLINK HREF="AcceptNetworkInitiatedSession"><code class="function">AcceptNetworkInitiatedSession()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session-finish" title="mm_gdbus_modem_oma_call_accept_network_initiated_session_finish ()"><code class="function">mm_gdbus_modem_oma_call_accept_network_initiated_session_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session-sync" title="mm_gdbus_modem_oma_call_accept_network_initiated_session_sync ()"><code class="function">mm_gdbus_modem_oma_call_accept_network_initiated_session_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-accept-network-initiated-session.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_session_id</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_accept</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-accept-network-initiated-session-finish"></a><h3>mm_gdbus_modem_oma_call_accept_network_initiated_session_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_oma_call_accept_network_initiated_session_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session" title="mm_gdbus_modem_oma_call_accept_network_initiated_session ()"><code class="function">mm_gdbus_modem_oma_call_accept_network_initiated_session()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-accept-network-initiated-session-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session" title="mm_gdbus_modem_oma_call_accept_network_initiated_session ()"><code class="function">mm_gdbus_modem_oma_call_accept_network_initiated_session()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-accept-network-initiated-session-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-accept-network-initiated-session-sync"></a><h3>mm_gdbus_modem_oma_call_accept_network_initiated_session_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_oma_call_accept_network_initiated_session_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_session_id</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_accept</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession"><GTKDOCLINK HREF="AcceptNetworkInitiatedSession"><code class="function">AcceptNetworkInitiatedSession()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session" title="mm_gdbus_modem_oma_call_accept_network_initiated_session ()"><code class="function">mm_gdbus_modem_oma_call_accept_network_initiated_session()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-accept-network-initiated-session-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_session_id</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_accept</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-accept-network-initiated-session-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-cancel-session"></a><h3>mm_gdbus_modem_oma_call_cancel_session ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_oma_call_cancel_session
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession"><GTKDOCLINK HREF="CancelSession"><code class="function">CancelSession()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session-finish" title="mm_gdbus_modem_oma_call_cancel_session_finish ()"><code class="function">mm_gdbus_modem_oma_call_cancel_session_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session-sync" title="mm_gdbus_modem_oma_call_cancel_session_sync ()"><code class="function">mm_gdbus_modem_oma_call_cancel_session_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-cancel-session.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-cancel-session-finish"></a><h3>mm_gdbus_modem_oma_call_cancel_session_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_oma_call_cancel_session_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session" title="mm_gdbus_modem_oma_call_cancel_session ()"><code class="function">mm_gdbus_modem_oma_call_cancel_session()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-cancel-session-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session" title="mm_gdbus_modem_oma_call_cancel_session ()"><code class="function">mm_gdbus_modem_oma_call_cancel_session()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-cancel-session-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-cancel-session-sync"></a><h3>mm_gdbus_modem_oma_call_cancel_session_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_oma_call_cancel_session_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession"><GTKDOCLINK HREF="CancelSession"><code class="function">CancelSession()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session" title="mm_gdbus_modem_oma_call_cancel_session ()"><code class="function">mm_gdbus_modem_oma_call_cancel_session()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-cancel-session-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-cancel-session-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-setup"></a><h3>mm_gdbus_modem_oma_call_setup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_oma_call_setup (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_features</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup"><GTKDOCLINK HREF="Setup"><code class="function">Setup()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup-finish" title="mm_gdbus_modem_oma_call_setup_finish ()"><code class="function">mm_gdbus_modem_oma_call_setup_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup-sync" title="mm_gdbus_modem_oma_call_setup_sync ()"><code class="function">mm_gdbus_modem_oma_call_setup_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_features</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-setup-finish"></a><h3>mm_gdbus_modem_oma_call_setup_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_oma_call_setup_finish (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup" title="mm_gdbus_modem_oma_call_setup ()"><code class="function">mm_gdbus_modem_oma_call_setup()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-setup-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup" title="mm_gdbus_modem_oma_call_setup ()"><code class="function">mm_gdbus_modem_oma_call_setup()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-setup-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-setup-sync"></a><h3>mm_gdbus_modem_oma_call_setup_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_oma_call_setup_sync (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_features</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup"><GTKDOCLINK HREF="Setup"><code class="function">Setup()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup" title="mm_gdbus_modem_oma_call_setup ()"><code class="function">mm_gdbus_modem_oma_call_setup()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-setup-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_features</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-setup-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-start-client-initiated-session"></a><h3>mm_gdbus_modem_oma_call_start_client_initiated_session ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_oma_call_start_client_initiated_session
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_session_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession"><GTKDOCLINK HREF="StartClientInitiatedSession"><code class="function">StartClientInitiatedSession()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session-finish" title="mm_gdbus_modem_oma_call_start_client_initiated_session_finish ()"><code class="function">mm_gdbus_modem_oma_call_start_client_initiated_session_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session-sync" title="mm_gdbus_modem_oma_call_start_client_initiated_session_sync ()"><code class="function">mm_gdbus_modem_oma_call_start_client_initiated_session_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-start-client-initiated-session.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_session_type</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-start-client-initiated-session-finish"></a><h3>mm_gdbus_modem_oma_call_start_client_initiated_session_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_oma_call_start_client_initiated_session_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session" title="mm_gdbus_modem_oma_call_start_client_initiated_session ()"><code class="function">mm_gdbus_modem_oma_call_start_client_initiated_session()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-start-client-initiated-session-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session" title="mm_gdbus_modem_oma_call_start_client_initiated_session ()"><code class="function">mm_gdbus_modem_oma_call_start_client_initiated_session()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-start-client-initiated-session-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-call-start-client-initiated-session-sync"></a><h3>mm_gdbus_modem_oma_call_start_client_initiated_session_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_oma_call_start_client_initiated_session_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_session_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession"><GTKDOCLINK HREF="StartClientInitiatedSession"><code class="function">StartClientInitiatedSession()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session" title="mm_gdbus_modem_oma_call_start_client_initiated_session ()"><code class="function">mm_gdbus_modem_oma_call_start_client_initiated_session()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-start-client-initiated-session-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_session_type</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-call-start-client-initiated-session-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-get-features"></a><h3>mm_gdbus_modem_oma_get_features ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_oma_get_features (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.Features">"Features"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-get-features.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-get-features.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-get-session-state"></a><h3>mm_gdbus_modem_oma_get_session_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+mm_gdbus_modem_oma_get_session_state (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionState">"SessionState"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-get-session-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-get-session-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-get-session-type"></a><h3>mm_gdbus_modem_oma_get_session_type ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_oma_get_session_type (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionType">"SessionType"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-get-session-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-get-session-type.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-get-pending-network-initiated-sessions"></a><h3>mm_gdbus_modem_oma_get_pending_network_initiated_sessions ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_oma_get_pending_network_initiated_sessions
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions">"PendingNetworkInitiatedSessions"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-dup-pending-network-initiated-sessions" title="mm_gdbus_modem_oma_dup_pending_network_initiated_sessions ()"><code class="function">mm_gdbus_modem_oma_dup_pending_network_initiated_sessions()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-get-pending-network-initiated-sessions.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-get-pending-network-initiated-sessions.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-dup-pending-network-initiated-sessions"></a><h3>mm_gdbus_modem_oma_dup_pending_network_initiated_sessions ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_oma_dup_pending_network_initiated_sessions
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions">"PendingNetworkInitiatedSessions"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-dup-pending-network-initiated-sessions.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-dup-pending-network-initiated-sessions.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemOma-struct"></a><h3>MmGdbusModemOma</h3>
+<pre class="programlisting">typedef struct _MmGdbusModemOma MmGdbusModemOma;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Oma.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemOmaIface"></a><h3>struct MmGdbusModemOmaIface</h3>
+<pre class="programlisting">struct MmGdbusModemOmaIface {
+ GTypeInterface parent_iface;
+
+
+
+ gboolean (*handle_accept_network_initiated_session) (
+ MmGdbusModemOma *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_session_id,
+ gboolean arg_accept);
+
+ gboolean (*handle_cancel_session) (
+ MmGdbusModemOma *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_setup) (
+ MmGdbusModemOma *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_features);
+
+ gboolean (*handle_start_client_initiated_session) (
+ MmGdbusModemOma *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_session_type);
+
+ guint (*get_features) (MmGdbusModemOma *object);
+
+ GVariant * (*get_pending_network_initiated_sessions) (MmGdbusModemOma *object);
+
+ gint (*get_session_state) (MmGdbusModemOma *object);
+
+ guint (*get_session_type) (MmGdbusModemOma *object);
+
+ void (*session_state_changed) (
+ MmGdbusModemOma *object,
+ gint arg_old_session_state,
+ gint arg_new_session_state,
+ guint arg_session_state_failed_reason);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Oma.</p>
+<div class="refsect3">
+<a name="MmGdbusModemOmaIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemOmaIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemOmaIface.handle-accept-network-initiated-session"></a>handle_accept_network_initiated_session</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-accept-network-initiated-session" title="The “handle-accept-network-initiated-session” signal"><span class="type">“handle-accept-network-initiated-session”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemOmaIface.handle-cancel-session"></a>handle_cancel_session</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-cancel-session" title="The “handle-cancel-session” signal"><span class="type">“handle-cancel-session”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemOmaIface.handle-setup"></a>handle_setup</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-setup" title="The “handle-setup” signal"><span class="type">“handle-setup”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemOmaIface.handle-start-client-initiated-session"></a>handle_start_client_initiated_session</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-start-client-initiated-session" title="The “handle-start-client-initiated-session” signal"><span class="type">“handle-start-client-initiated-session”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemOmaIface.get-features"></a>get_features</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--features" title="The “features” property"><span class="type">“features”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemOmaIface.get-pending-network-initiated-sessions"></a>get_pending_network_initiated_sessions</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--pending-network-initiated-sessions" title="The “pending-network-initiated-sessions” property"><span class="type">“pending-network-initiated-sessions”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemOmaIface.get-session-state"></a>get_session_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--session-state" title="The “session-state” property"><span class="type">“session-state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemOmaIface.get-session-type"></a>get_session_type</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--session-type" title="The “session-type” property"><span class="type">“session-type”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemOmaIface.session-state-changed"></a>session_state_changed</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-session-state-changed" title="The “session-state-changed” signal"><span class="type">“session-state-changed”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemOma--features"></a><h3>The <code class="literal">“features”</code> property</h3>
+<pre class="programlisting"> “features” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.Features">"Features"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemOma--pending-network-initiated-sessions"></a><h3>The <code class="literal">“pending-network-initiated-sessions”</code> property</h3>
+<pre class="programlisting"> “pending-network-initiated-sessions” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions">"PendingNetworkInitiatedSessions"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a(uu)&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemOma--session-state"></a><h3>The <code class="literal">“session-state”</code> property</h3>
+<pre class="programlisting"> “session-state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionState">"SessionState"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemOma--session-type"></a><h3>The <code class="literal">“session-type”</code> property</h3>
+<pre class="programlisting"> “session-type” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionType">"SessionType"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOma.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemOma-handle-accept-network-initiated-session"></a><h3>The <code class="literal">“handle-accept-network-initiated-session”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_session_id,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_accept,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession"><GTKDOCLINK HREF="AcceptNetworkInitiatedSession"><code class="function">AcceptNetworkInitiatedSession()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_oma_complete_accept_network_initiated_session()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemOma-handle-accept-network-initiated-session.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_session_id</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_accept</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemOma-handle-accept-network-initiated-session.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemOma-handle-cancel-session"></a><h3>The <code class="literal">“handle-cancel-session”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession"><GTKDOCLINK HREF="CancelSession"><code class="function">CancelSession()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_oma_complete_cancel_session()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemOma-handle-cancel-session.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemOma-handle-cancel-session.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemOma-handle-setup"></a><h3>The <code class="literal">“handle-setup”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_features,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup"><GTKDOCLINK HREF="Setup"><code class="function">Setup()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_oma_complete_setup()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemOma-handle-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_features</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemOma-handle-setup.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemOma-handle-start-client-initiated-session"></a><h3>The <code class="literal">“handle-start-client-initiated-session”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_session_type,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession"><GTKDOCLINK HREF="StartClientInitiatedSession"><code class="function">StartClientInitiatedSession()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_oma_complete_start_client_initiated_session()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemOma-handle-start-client-initiated-session.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_session_type</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemOma-handle-start-client-initiated-session.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemOma-session-state-changed"></a><h3>The <code class="literal">“session-state-changed”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> arg_old_session_state,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> arg_new_session_state,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_session_state_failed_reason,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Oma.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Oma.SessionStateChanged">"SessionStateChanged"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusModemOma-session-state-changed.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_old_session_state</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_new_session_state</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_session_state_failed_reason</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemOmaProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemOmaProxy.html
new file mode 100644
index 00000000..14475486
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemOmaProxy.html
@@ -0,0 +1,469 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemOmaProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemOma.html" title="MmGdbusModemOma">
+<link rel="next" href="MmGdbusModemOmaSkeleton.html" title="MmGdbusModemOmaSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOmaProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOmaProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOmaProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemOma.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemOmaSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemOmaProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemOmaProxy.top_of_page"></a>MmGdbusModemOmaProxy</span></h2>
+<p>MmGdbusModemOmaProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new" title="mm_gdbus_modem_oma_proxy_new ()">mm_gdbus_modem_oma_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-finish" title="mm_gdbus_modem_oma_proxy_new_finish ()">mm_gdbus_modem_oma_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus" title="mm_gdbus_modem_oma_proxy_new_for_bus ()">mm_gdbus_modem_oma_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus-finish" title="mm_gdbus_modem_oma_proxy_new_for_bus_finish ()">mm_gdbus_modem_oma_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus-sync" title="mm_gdbus_modem_oma_proxy_new_for_bus_sync ()">mm_gdbus_modem_oma_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-sync" title="mm_gdbus_modem_oma_proxy_new_sync ()">mm_gdbus_modem_oma_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemOmaProxy.html#MmGdbusModemOmaProxy-struct" title="struct MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemOmaProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemOmaProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-proxy-new"></a><h3>mm_gdbus_modem_oma_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_oma_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Oma. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-finish" title="mm_gdbus_modem_oma_proxy_new_finish ()"><code class="function">mm_gdbus_modem_oma_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-sync" title="mm_gdbus_modem_oma_proxy_new_sync ()"><code class="function">mm_gdbus_modem_oma_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-proxy-new-finish"></a><h3>mm_gdbus_modem_oma_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+mm_gdbus_modem_oma_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new" title="mm_gdbus_modem_oma_proxy_new ()"><code class="function">mm_gdbus_modem_oma_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new" title="mm_gdbus_modem_oma_proxy_new ()"><code class="function">mm_gdbus_modem_oma_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemOmaProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-proxy-new-for-bus"></a><h3>mm_gdbus_modem_oma_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_oma_proxy_new_for_bus (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new" title="mm_gdbus_modem_oma_proxy_new ()"><code class="function">mm_gdbus_modem_oma_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus-finish" title="mm_gdbus_modem_oma_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_oma_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus-sync" title="mm_gdbus_modem_oma_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_oma_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_oma_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+mm_gdbus_modem_oma_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus" title="mm_gdbus_modem_oma_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_oma_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus" title="mm_gdbus_modem_oma_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_oma_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemOmaProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_oma_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+mm_gdbus_modem_oma_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-sync" title="mm_gdbus_modem_oma_proxy_new_sync ()"><code class="function">mm_gdbus_modem_oma_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus" title="mm_gdbus_modem_oma_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_oma_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemOmaProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-proxy-new-sync"></a><h3>mm_gdbus_modem_oma_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+mm_gdbus_modem_oma_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Oma. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new" title="mm_gdbus_modem_oma_proxy_new ()"><code class="function">mm_gdbus_modem_oma_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemOmaProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemOmaProxy-struct"></a><h3>struct MmGdbusModemOmaProxy</h3>
+<pre class="programlisting">struct MmGdbusModemOmaProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy"><span class="type">MmGdbusModemOmaProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemOmaSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemOmaSkeleton.html
new file mode 100644
index 00000000..2647894b
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemOmaSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemOmaSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">
+<link rel="next" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOmaSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOmaSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemOmaSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemOmaProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemVoice.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemOmaSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemOmaSkeleton.top_of_page"></a>MmGdbusModemOmaSkeleton</span></h2>
+<p>MmGdbusModemOmaSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemOmaSkeleton.html#mm-gdbus-modem-oma-skeleton-new" title="mm_gdbus_modem_oma_skeleton_new ()">mm_gdbus_modem_oma_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemOmaSkeleton.html#MmGdbusModemOmaSkeleton-struct" title="struct MmGdbusModemOmaSkeleton">MmGdbusModemOmaSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemOmaSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemOmaSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-oma-skeleton-new"></a><h3>mm_gdbus_modem_oma_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+mm_gdbus_modem_oma_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Oma.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-oma-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemOmaSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemOmaSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemOmaSkeleton-struct"></a><h3>struct MmGdbusModemOmaSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemOmaSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemOmaSkeleton.html" title="MmGdbusModemOmaSkeleton"><span class="type">MmGdbusModemOmaSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemProxy.html
new file mode 100644
index 00000000..22fe5326
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemProxy.html
@@ -0,0 +1,468 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModem.html" title="MmGdbusModem">
+<link rel="next" href="MmGdbusModemSkeleton.html" title="MmGdbusModemSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModem.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemProxy.top_of_page"></a>MmGdbusModemProxy</span></h2>
+<p>MmGdbusModemProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new" title="mm_gdbus_modem_proxy_new ()">mm_gdbus_modem_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-finish" title="mm_gdbus_modem_proxy_new_finish ()">mm_gdbus_modem_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus" title="mm_gdbus_modem_proxy_new_for_bus ()">mm_gdbus_modem_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus-finish" title="mm_gdbus_modem_proxy_new_for_bus_finish ()">mm_gdbus_modem_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus-sync" title="mm_gdbus_modem_proxy_new_for_bus_sync ()">mm_gdbus_modem_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-sync" title="mm_gdbus_modem_proxy_new_sync ()">mm_gdbus_modem_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemProxy.html#MmGdbusModemProxy-struct" title="struct MmGdbusModemProxy">MmGdbusModemProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-proxy-new"></a><h3>mm_gdbus_modem_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-finish" title="mm_gdbus_modem_proxy_new_finish ()"><code class="function">mm_gdbus_modem_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-sync" title="mm_gdbus_modem_proxy_new_sync ()"><code class="function">mm_gdbus_modem_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-proxy-new-finish"></a><h3>mm_gdbus_modem_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+mm_gdbus_modem_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new" title="mm_gdbus_modem_proxy_new ()"><code class="function">mm_gdbus_modem_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new" title="mm_gdbus_modem_proxy_new ()"><code class="function">mm_gdbus_modem_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-proxy-new-for-bus"></a><h3>mm_gdbus_modem_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_proxy_new_for_bus (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new" title="mm_gdbus_modem_proxy_new ()"><code class="function">mm_gdbus_modem_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus-finish" title="mm_gdbus_modem_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus-sync" title="mm_gdbus_modem_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+mm_gdbus_modem_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus" title="mm_gdbus_modem_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus" title="mm_gdbus_modem_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+mm_gdbus_modem_proxy_new_for_bus_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-sync" title="mm_gdbus_modem_proxy_new_sync ()"><code class="function">mm_gdbus_modem_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus" title="mm_gdbus_modem_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-proxy-new-sync"></a><h3>mm_gdbus_modem_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+mm_gdbus_modem_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new" title="mm_gdbus_modem_proxy_new ()"><code class="function">mm_gdbus_modem_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemProxy-struct"></a><h3>struct MmGdbusModemProxy</h3>
+<pre class="programlisting">struct MmGdbusModemProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy"><span class="type">MmGdbusModemProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemSignal.html b/docs/reference/libmm-glib/html/MmGdbusModemSignal.html
new file mode 100644
index 00000000..0a98a92a
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemSignal.html
@@ -0,0 +1,945 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemSignal: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemFirmwareSkeleton.html" title="MmGdbusModemFirmwareSkeleton">
+<link rel="next" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignal.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignal.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignal.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignal.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignal.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignal.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemFirmwareSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemSignalProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemSignal"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemSignal.top_of_page"></a>MmGdbusModemSignal</span></h2>
+<p>MmGdbusModemSignal — Generated C code for the org.freedesktop.ModemManager1.Modem.Signal D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-rate" title="mm_gdbus_modem_signal_get_rate ()">mm_gdbus_modem_signal_get_rate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-cdma" title="mm_gdbus_modem_signal_get_cdma ()">mm_gdbus_modem_signal_get_cdma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-evdo" title="mm_gdbus_modem_signal_get_evdo ()">mm_gdbus_modem_signal_get_evdo</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-gsm" title="mm_gdbus_modem_signal_get_gsm ()">mm_gdbus_modem_signal_get_gsm</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-umts" title="mm_gdbus_modem_signal_get_umts ()">mm_gdbus_modem_signal_get_umts</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-lte" title="mm_gdbus_modem_signal_get_lte ()">mm_gdbus_modem_signal_get_lte</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-cdma" title="mm_gdbus_modem_signal_dup_cdma ()">mm_gdbus_modem_signal_dup_cdma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-evdo" title="mm_gdbus_modem_signal_dup_evdo ()">mm_gdbus_modem_signal_dup_evdo</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-gsm" title="mm_gdbus_modem_signal_dup_gsm ()">mm_gdbus_modem_signal_dup_gsm</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-umts" title="mm_gdbus_modem_signal_dup_umts ()">mm_gdbus_modem_signal_dup_umts</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-lte" title="mm_gdbus_modem_signal_dup_lte ()">mm_gdbus_modem_signal_dup_lte</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup" title="mm_gdbus_modem_signal_call_setup ()">mm_gdbus_modem_signal_call_setup</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup-finish" title="mm_gdbus_modem_signal_call_setup_finish ()">mm_gdbus_modem_signal_call_setup_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup-sync" title="mm_gdbus_modem_signal_call_setup_sync ()">mm_gdbus_modem_signal_call_setup_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--cdma" title="The “cdma” property">cdma</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--evdo" title="The “evdo” property">evdo</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--gsm" title="The “gsm” property">gsm</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--lte" title="The “lte” property">lte</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--rate" title="The “rate” property">rate</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--umts" title="The “umts” property">umts</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody><tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal-handle-setup" title="The “handle-setup” signal">handle-setup</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal-struct" title="MmGdbusModemSignal">MmGdbusModemSignal</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignalIface" title="struct MmGdbusModemSignalIface">MmGdbusModemSignalIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModemSignal
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModemSignal requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModemSignal is implemented by
+ <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>, <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a> and <a class="link" href="MmGdbusModemSignalSkeleton.html" title="MmGdbusModemSignalSkeleton">MmGdbusModemSignalSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Signal D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-get-rate"></a><h3>mm_gdbus_modem_signal_get_rate ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_modem_signal_get_rate (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Rate">"Rate"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-rate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-rate.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-get-cdma"></a><h3>mm_gdbus_modem_signal_get_cdma ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_get_cdma (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma">"Cdma"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-cdma" title="mm_gdbus_modem_signal_dup_cdma ()"><code class="function">mm_gdbus_modem_signal_dup_cdma()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-cdma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-cdma.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-get-evdo"></a><h3>mm_gdbus_modem_signal_get_evdo ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_get_evdo (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo">"Evdo"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-evdo" title="mm_gdbus_modem_signal_dup_evdo ()"><code class="function">mm_gdbus_modem_signal_dup_evdo()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-evdo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-evdo.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-get-gsm"></a><h3>mm_gdbus_modem_signal_get_gsm ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_get_gsm (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm">"Gsm"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-gsm" title="mm_gdbus_modem_signal_dup_gsm ()"><code class="function">mm_gdbus_modem_signal_dup_gsm()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-gsm.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-gsm.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-get-umts"></a><h3>mm_gdbus_modem_signal_get_umts ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_get_umts (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts">"Umts"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-umts" title="mm_gdbus_modem_signal_dup_umts ()"><code class="function">mm_gdbus_modem_signal_dup_umts()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-umts.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-umts.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-get-lte"></a><h3>mm_gdbus_modem_signal_get_lte ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_get_lte (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte">"Lte"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-lte" title="mm_gdbus_modem_signal_dup_lte ()"><code class="function">mm_gdbus_modem_signal_dup_lte()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-lte.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-get-lte.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-dup-cdma"></a><h3>mm_gdbus_modem_signal_dup_cdma ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_dup_cdma (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma">"Cdma"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-cdma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-cdma.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-dup-evdo"></a><h3>mm_gdbus_modem_signal_dup_evdo ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_dup_evdo (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo">"Evdo"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-evdo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-evdo.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-dup-gsm"></a><h3>mm_gdbus_modem_signal_dup_gsm ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_dup_gsm (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm">"Gsm"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-gsm.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-gsm.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-dup-umts"></a><h3>mm_gdbus_modem_signal_dup_umts ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_dup_umts (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts">"Umts"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-umts.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-umts.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-dup-lte"></a><h3>mm_gdbus_modem_signal_dup_lte ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_signal_dup_lte (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte">"Lte"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-lte.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-dup-lte.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-call-setup"></a><h3>mm_gdbus_modem_signal_call_setup ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_signal_call_setup (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_rate</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup"><GTKDOCLINK HREF="Setup"><code class="function">Setup()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup-finish" title="mm_gdbus_modem_signal_call_setup_finish ()"><code class="function">mm_gdbus_modem_signal_call_setup_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup-sync" title="mm_gdbus_modem_signal_call_setup_sync ()"><code class="function">mm_gdbus_modem_signal_call_setup_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-call-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy"><span class="type">MmGdbusModemSignalProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_rate</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-call-setup-finish"></a><h3>mm_gdbus_modem_signal_call_setup_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_signal_call_setup_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup" title="mm_gdbus_modem_signal_call_setup ()"><code class="function">mm_gdbus_modem_signal_call_setup()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-call-setup-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy"><span class="type">MmGdbusModemSignalProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup" title="mm_gdbus_modem_signal_call_setup ()"><code class="function">mm_gdbus_modem_signal_call_setup()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-call-setup-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-call-setup-sync"></a><h3>mm_gdbus_modem_signal_call_setup_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_signal_call_setup_sync (<em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_rate</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup"><GTKDOCLINK HREF="Setup"><code class="function">Setup()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup" title="mm_gdbus_modem_signal_call_setup ()"><code class="function">mm_gdbus_modem_signal_call_setup()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-call-setup-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy"><span class="type">MmGdbusModemSignalProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_rate</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-call-setup-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSignal-struct"></a><h3>MmGdbusModemSignal</h3>
+<pre class="programlisting">typedef struct _MmGdbusModemSignal MmGdbusModemSignal;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemSignalIface"></a><h3>struct MmGdbusModemSignalIface</h3>
+<pre class="programlisting">struct MmGdbusModemSignalIface {
+ GTypeInterface parent_iface;
+
+
+ gboolean (*handle_setup) (
+ MmGdbusModemSignal *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_rate);
+
+ GVariant * (*get_cdma) (MmGdbusModemSignal *object);
+
+ GVariant * (*get_evdo) (MmGdbusModemSignal *object);
+
+ GVariant * (*get_gsm) (MmGdbusModemSignal *object);
+
+ GVariant * (*get_lte) (MmGdbusModemSignal *object);
+
+ guint (*get_rate) (MmGdbusModemSignal *object);
+
+ GVariant * (*get_umts) (MmGdbusModemSignal *object);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal.</p>
+<div class="refsect3">
+<a name="MmGdbusModemSignalIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemSignalIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSignalIface.handle-setup"></a>handle_setup</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal-handle-setup" title="The “handle-setup” signal"><span class="type">“handle-setup”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSignalIface.get-cdma"></a>get_cdma</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--cdma" title="The “cdma” property"><span class="type">“cdma”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSignalIface.get-evdo"></a>get_evdo</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--evdo" title="The “evdo” property"><span class="type">“evdo”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSignalIface.get-gsm"></a>get_gsm</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--gsm" title="The “gsm” property"><span class="type">“gsm”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSignalIface.get-lte"></a>get_lte</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--lte" title="The “lte” property"><span class="type">“lte”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSignalIface.get-rate"></a>get_rate</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--rate" title="The “rate” property"><span class="type">“rate”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSignalIface.get-umts"></a>get_umts</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--umts" title="The “umts” property"><span class="type">“umts”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSignal--cdma"></a><h3>The <code class="literal">“cdma”</code> property</h3>
+<pre class="programlisting"> “cdma” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma">"Cdma"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemSignal--evdo"></a><h3>The <code class="literal">“evdo”</code> property</h3>
+<pre class="programlisting"> “evdo” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo">"Evdo"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemSignal--gsm"></a><h3>The <code class="literal">“gsm”</code> property</h3>
+<pre class="programlisting"> “gsm” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm">"Gsm"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemSignal--lte"></a><h3>The <code class="literal">“lte”</code> property</h3>
+<pre class="programlisting"> “lte” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte">"Lte"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemSignal--rate"></a><h3>The <code class="literal">“rate”</code> property</h3>
+<pre class="programlisting"> “rate” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Rate">"Rate"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemSignal--umts"></a><h3>The <code class="literal">“umts”</code> property</h3>
+<pre class="programlisting"> “umts” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts">"Umts"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignal.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSignal-handle-setup"></a><h3>The <code class="literal">“handle-setup”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_rate,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Signal.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup"><GTKDOCLINK HREF="Setup"><code class="function">Setup()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_signal_complete_setup()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemSignal-handle-setup.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_rate</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemSignal-handle-setup.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemSignalProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemSignalProxy.html
new file mode 100644
index 00000000..64341d22
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemSignalProxy.html
@@ -0,0 +1,471 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemSignalProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">
+<link rel="next" href="MmGdbusModemSignalSkeleton.html" title="MmGdbusModemSignalSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignalProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignalProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignalProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemSignal.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemSignalSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemSignalProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemSignalProxy.top_of_page"></a>MmGdbusModemSignalProxy</span></h2>
+<p>MmGdbusModemSignalProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new" title="mm_gdbus_modem_signal_proxy_new ()">mm_gdbus_modem_signal_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-finish" title="mm_gdbus_modem_signal_proxy_new_finish ()">mm_gdbus_modem_signal_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus" title="mm_gdbus_modem_signal_proxy_new_for_bus ()">mm_gdbus_modem_signal_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus-finish" title="mm_gdbus_modem_signal_proxy_new_for_bus_finish ()">mm_gdbus_modem_signal_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus-sync" title="mm_gdbus_modem_signal_proxy_new_for_bus_sync ()">mm_gdbus_modem_signal_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-sync" title="mm_gdbus_modem_signal_proxy_new_sync ()">mm_gdbus_modem_signal_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemSignalProxy.html#MmGdbusModemSignalProxy-struct" title="struct MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemSignalProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemSignalProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-proxy-new"></a><h3>mm_gdbus_modem_signal_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_signal_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-finish" title="mm_gdbus_modem_signal_proxy_new_finish ()"><code class="function">mm_gdbus_modem_signal_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-sync" title="mm_gdbus_modem_signal_proxy_new_sync ()"><code class="function">mm_gdbus_modem_signal_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-proxy-new-finish"></a><h3>mm_gdbus_modem_signal_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+mm_gdbus_modem_signal_proxy_new_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new" title="mm_gdbus_modem_signal_proxy_new ()"><code class="function">mm_gdbus_modem_signal_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new" title="mm_gdbus_modem_signal_proxy_new ()"><code class="function">mm_gdbus_modem_signal_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSignalProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-proxy-new-for-bus"></a><h3>mm_gdbus_modem_signal_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_signal_proxy_new_for_bus
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new" title="mm_gdbus_modem_signal_proxy_new ()"><code class="function">mm_gdbus_modem_signal_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus-finish" title="mm_gdbus_modem_signal_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_signal_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus-sync" title="mm_gdbus_modem_signal_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_signal_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_signal_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+mm_gdbus_modem_signal_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus" title="mm_gdbus_modem_signal_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_signal_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus" title="mm_gdbus_modem_signal_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_signal_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSignalProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_signal_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+mm_gdbus_modem_signal_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-sync" title="mm_gdbus_modem_signal_proxy_new_sync ()"><code class="function">mm_gdbus_modem_signal_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus" title="mm_gdbus_modem_signal_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_signal_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSignalProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-proxy-new-sync"></a><h3>mm_gdbus_modem_signal_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+mm_gdbus_modem_signal_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new" title="mm_gdbus_modem_signal_proxy_new ()"><code class="function">mm_gdbus_modem_signal_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSignalProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSignalProxy-struct"></a><h3>struct MmGdbusModemSignalProxy</h3>
+<pre class="programlisting">struct MmGdbusModemSignalProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy"><span class="type">MmGdbusModemSignalProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemSignalSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemSignalSkeleton.html
new file mode 100644
index 00000000..49047de2
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemSignalSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemSignalSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">
+<link rel="next" href="MmGdbusModemOma.html" title="MmGdbusModemOma">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignalSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignalSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSignalSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemSignalProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemOma.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemSignalSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemSignalSkeleton.top_of_page"></a>MmGdbusModemSignalSkeleton</span></h2>
+<p>MmGdbusModemSignalSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSignalSkeleton.html#mm-gdbus-modem-signal-skeleton-new" title="mm_gdbus_modem_signal_skeleton_new ()">mm_gdbus_modem_signal_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemSignalSkeleton.html#MmGdbusModemSignalSkeleton-struct" title="struct MmGdbusModemSignalSkeleton">MmGdbusModemSignalSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemSignalSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemSignalSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-signal-skeleton-new"></a><h3>mm_gdbus_modem_signal_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+mm_gdbus_modem_signal_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-signal-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSignalSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSignalSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSignalSkeleton-struct"></a><h3>struct MmGdbusModemSignalSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemSignalSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemSignalSkeleton.html" title="MmGdbusModemSignalSkeleton"><span class="type">MmGdbusModemSignalSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemSimple.html b/docs/reference/libmm-glib/html/MmGdbusModemSimple.html
new file mode 100644
index 00000000..196901b7
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemSimple.html
@@ -0,0 +1,857 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemSimple: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemVoiceSkeleton.html" title="MmGdbusModemVoiceSkeleton">
+<link rel="next" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimple.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimple.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimple.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimple.implementations" class="shortcut">Known Implementations</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimple.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemVoiceSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemSimpleProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemSimple"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemSimple.top_of_page"></a>MmGdbusModemSimple</span></h2>
+<p>MmGdbusModemSimple — Generated C code for the org.freedesktop.ModemManager1.Modem.Simple D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect" title="mm_gdbus_modem_simple_call_connect ()">mm_gdbus_modem_simple_call_connect</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect-finish" title="mm_gdbus_modem_simple_call_connect_finish ()">mm_gdbus_modem_simple_call_connect_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect-sync" title="mm_gdbus_modem_simple_call_connect_sync ()">mm_gdbus_modem_simple_call_connect_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect" title="mm_gdbus_modem_simple_call_disconnect ()">mm_gdbus_modem_simple_call_disconnect</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect-finish" title="mm_gdbus_modem_simple_call_disconnect_finish ()">mm_gdbus_modem_simple_call_disconnect_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect-sync" title="mm_gdbus_modem_simple_call_disconnect_sync ()">mm_gdbus_modem_simple_call_disconnect_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status" title="mm_gdbus_modem_simple_call_get_status ()">mm_gdbus_modem_simple_call_get_status</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status-finish" title="mm_gdbus_modem_simple_call_get_status_finish ()">mm_gdbus_modem_simple_call_get_status_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status-sync" title="mm_gdbus_modem_simple_call_get_status_sync ()">mm_gdbus_modem_simple_call_get_status_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-connect" title="The “handle-connect” signal">handle-connect</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-disconnect" title="The “handle-disconnect” signal">handle-disconnect</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-get-status" title="The “handle-get-status” signal">handle-get-status</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-struct" title="MmGdbusModemSimple">MmGdbusModemSimple</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimpleIface" title="struct MmGdbusModemSimpleIface">MmGdbusModemSimpleIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModemSimple
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModemSimple requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModemSimple is implemented by
+ <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>, <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a> and <a class="link" href="MmGdbusModemSimpleSkeleton.html" title="MmGdbusModemSimpleSkeleton">MmGdbusModemSimpleSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Simple D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-call-connect"></a><h3>mm_gdbus_modem_simple_call_connect ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_simple_call_connect (<em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect"><GTKDOCLINK HREF="Connect"><code class="function">Connect()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect-finish" title="mm_gdbus_modem_simple_call_connect_finish ()"><code class="function">mm_gdbus_modem_simple_call_connect_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect-sync" title="mm_gdbus_modem_simple_call_connect_sync ()"><code class="function">mm_gdbus_modem_simple_call_connect_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-connect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-call-connect-finish"></a><h3>mm_gdbus_modem_simple_call_connect_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_simple_call_connect_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect" title="mm_gdbus_modem_simple_call_connect ()"><code class="function">mm_gdbus_modem_simple_call_connect()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-connect-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_bearer</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect" title="mm_gdbus_modem_simple_call_connect ()"><code class="function">mm_gdbus_modem_simple_call_connect()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-connect-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-call-connect-sync"></a><h3>mm_gdbus_modem_simple_call_connect_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_simple_call_connect_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect"><GTKDOCLINK HREF="Connect"><code class="function">Connect()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect" title="mm_gdbus_modem_simple_call_connect ()"><code class="function">mm_gdbus_modem_simple_call_connect()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-connect-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_bearer</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-connect-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-call-disconnect"></a><h3>mm_gdbus_modem_simple_call_disconnect ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_simple_call_disconnect (<em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect"><GTKDOCLINK HREF="Disconnect"><code class="function">Disconnect()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect-finish" title="mm_gdbus_modem_simple_call_disconnect_finish ()"><code class="function">mm_gdbus_modem_simple_call_disconnect_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect-sync" title="mm_gdbus_modem_simple_call_disconnect_sync ()"><code class="function">mm_gdbus_modem_simple_call_disconnect_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-disconnect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_bearer</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-call-disconnect-finish"></a><h3>mm_gdbus_modem_simple_call_disconnect_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_simple_call_disconnect_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect" title="mm_gdbus_modem_simple_call_disconnect ()"><code class="function">mm_gdbus_modem_simple_call_disconnect()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-disconnect-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect" title="mm_gdbus_modem_simple_call_disconnect ()"><code class="function">mm_gdbus_modem_simple_call_disconnect()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-disconnect-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-call-disconnect-sync"></a><h3>mm_gdbus_modem_simple_call_disconnect_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_simple_call_disconnect_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_bearer</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect"><GTKDOCLINK HREF="Disconnect"><code class="function">Disconnect()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect" title="mm_gdbus_modem_simple_call_disconnect ()"><code class="function">mm_gdbus_modem_simple_call_disconnect()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-disconnect-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_bearer</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-disconnect-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-call-get-status"></a><h3>mm_gdbus_modem_simple_call_get_status ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_simple_call_get_status (<em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus"><GTKDOCLINK HREF="GetStatus"><code class="function">GetStatus()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status-finish" title="mm_gdbus_modem_simple_call_get_status_finish ()"><code class="function">mm_gdbus_modem_simple_call_get_status_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status-sync" title="mm_gdbus_modem_simple_call_get_status_sync ()"><code class="function">mm_gdbus_modem_simple_call_get_status_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-get-status.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-call-get-status-finish"></a><h3>mm_gdbus_modem_simple_call_get_status_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_simple_call_get_status_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status" title="mm_gdbus_modem_simple_call_get_status ()"><code class="function">mm_gdbus_modem_simple_call_get_status()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-get-status-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_properties</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status" title="mm_gdbus_modem_simple_call_get_status ()"><code class="function">mm_gdbus_modem_simple_call_get_status()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-get-status-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-call-get-status-sync"></a><h3>mm_gdbus_modem_simple_call_get_status_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_simple_call_get_status_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> **out_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus"><GTKDOCLINK HREF="GetStatus"><code class="function">GetStatus()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status" title="mm_gdbus_modem_simple_call_get_status ()"><code class="function">mm_gdbus_modem_simple_call_get_status()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-get-status-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_properties</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-call-get-status-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSimple-struct"></a><h3>MmGdbusModemSimple</h3>
+<pre class="programlisting">typedef struct _MmGdbusModemSimple MmGdbusModemSimple;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Simple.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemSimpleIface"></a><h3>struct MmGdbusModemSimpleIface</h3>
+<pre class="programlisting">struct MmGdbusModemSimpleIface {
+ GTypeInterface parent_iface;
+
+ gboolean (*handle_connect) (
+ MmGdbusModemSimple *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_properties);
+
+ gboolean (*handle_disconnect) (
+ MmGdbusModemSimple *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_bearer);
+
+ gboolean (*handle_get_status) (
+ MmGdbusModemSimple *object,
+ GDBusMethodInvocation *invocation);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Simple.</p>
+<div class="refsect3">
+<a name="MmGdbusModemSimpleIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemSimpleIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSimpleIface.handle-connect"></a>handle_connect</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-connect" title="The “handle-connect” signal"><span class="type">“handle-connect”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSimpleIface.handle-disconnect"></a>handle_disconnect</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-disconnect" title="The “handle-disconnect” signal"><span class="type">“handle-disconnect”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemSimpleIface.handle-get-status"></a>handle_get_status</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-get-status" title="The “handle-get-status” signal"><span class="type">“handle-get-status”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimple.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSimple-handle-connect"></a><h3>The <code class="literal">“handle-connect”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect"><GTKDOCLINK HREF="Connect"><code class="function">Connect()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_simple_complete_connect()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemSimple-handle-connect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemSimple-handle-connect.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemSimple-handle-disconnect"></a><h3>The <code class="literal">“handle-disconnect”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_bearer,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect"><GTKDOCLINK HREF="Disconnect"><code class="function">Disconnect()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_simple_complete_disconnect()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemSimple-handle-disconnect.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_bearer</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemSimple-handle-disconnect.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemSimple-handle-get-status"></a><h3>The <code class="literal">“handle-get-status”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus"><GTKDOCLINK HREF="GetStatus"><code class="function">GetStatus()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_simple_complete_get_status()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemSimple-handle-get-status.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemSimple-handle-get-status.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemSimpleProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemSimpleProxy.html
new file mode 100644
index 00000000..fa3dd918
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemSimpleProxy.html
@@ -0,0 +1,471 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemSimpleProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">
+<link rel="next" href="MmGdbusModemSimpleSkeleton.html" title="MmGdbusModemSimpleSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimpleProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimpleProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimpleProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemSimple.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemSimpleSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemSimpleProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemSimpleProxy.top_of_page"></a>MmGdbusModemSimpleProxy</span></h2>
+<p>MmGdbusModemSimpleProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new" title="mm_gdbus_modem_simple_proxy_new ()">mm_gdbus_modem_simple_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-finish" title="mm_gdbus_modem_simple_proxy_new_finish ()">mm_gdbus_modem_simple_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus" title="mm_gdbus_modem_simple_proxy_new_for_bus ()">mm_gdbus_modem_simple_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus-finish" title="mm_gdbus_modem_simple_proxy_new_for_bus_finish ()">mm_gdbus_modem_simple_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus-sync" title="mm_gdbus_modem_simple_proxy_new_for_bus_sync ()">mm_gdbus_modem_simple_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-sync" title="mm_gdbus_modem_simple_proxy_new_sync ()">mm_gdbus_modem_simple_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemSimpleProxy.html#MmGdbusModemSimpleProxy-struct" title="struct MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemSimpleProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemSimpleProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-proxy-new"></a><h3>mm_gdbus_modem_simple_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_simple_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Simple. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-finish" title="mm_gdbus_modem_simple_proxy_new_finish ()"><code class="function">mm_gdbus_modem_simple_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-sync" title="mm_gdbus_modem_simple_proxy_new_sync ()"><code class="function">mm_gdbus_modem_simple_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-proxy-new-finish"></a><h3>mm_gdbus_modem_simple_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+mm_gdbus_modem_simple_proxy_new_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new" title="mm_gdbus_modem_simple_proxy_new ()"><code class="function">mm_gdbus_modem_simple_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new" title="mm_gdbus_modem_simple_proxy_new ()"><code class="function">mm_gdbus_modem_simple_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSimpleProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-proxy-new-for-bus"></a><h3>mm_gdbus_modem_simple_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_simple_proxy_new_for_bus
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new" title="mm_gdbus_modem_simple_proxy_new ()"><code class="function">mm_gdbus_modem_simple_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus-finish" title="mm_gdbus_modem_simple_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_simple_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus-sync" title="mm_gdbus_modem_simple_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_simple_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_simple_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+mm_gdbus_modem_simple_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus" title="mm_gdbus_modem_simple_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_simple_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus" title="mm_gdbus_modem_simple_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_simple_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSimpleProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_simple_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+mm_gdbus_modem_simple_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-sync" title="mm_gdbus_modem_simple_proxy_new_sync ()"><code class="function">mm_gdbus_modem_simple_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus" title="mm_gdbus_modem_simple_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_simple_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSimpleProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-proxy-new-sync"></a><h3>mm_gdbus_modem_simple_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+mm_gdbus_modem_simple_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Simple. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new" title="mm_gdbus_modem_simple_proxy_new ()"><code class="function">mm_gdbus_modem_simple_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSimpleProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSimpleProxy-struct"></a><h3>struct MmGdbusModemSimpleProxy</h3>
+<pre class="programlisting">struct MmGdbusModemSimpleProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy"><span class="type">MmGdbusModemSimpleProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemSimpleSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemSimpleSkeleton.html
new file mode 100644
index 00000000..6475e721
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemSimpleSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemSimpleSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">
+<link rel="next" href="MmGdbusBearer.html" title="MmGdbusBearer">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimpleSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimpleSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSimpleSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemSimpleProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusBearer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemSimpleSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemSimpleSkeleton.top_of_page"></a>MmGdbusModemSimpleSkeleton</span></h2>
+<p>MmGdbusModemSimpleSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSimpleSkeleton.html#mm-gdbus-modem-simple-skeleton-new" title="mm_gdbus_modem_simple_skeleton_new ()">mm_gdbus_modem_simple_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemSimpleSkeleton.html#MmGdbusModemSimpleSkeleton-struct" title="struct MmGdbusModemSimpleSkeleton">MmGdbusModemSimpleSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemSimpleSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemSimpleSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-simple-skeleton-new"></a><h3>mm_gdbus_modem_simple_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+mm_gdbus_modem_simple_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Simple.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-simple-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSimpleSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSimpleSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSimpleSkeleton-struct"></a><h3>struct MmGdbusModemSimpleSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemSimpleSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemSimpleSkeleton.html" title="MmGdbusModemSimpleSkeleton"><span class="type">MmGdbusModemSimpleSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemSkeleton.html
new file mode 100644
index 00000000..d7580a3a
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">
+<link rel="next" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModem3gpp.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemSkeleton.top_of_page"></a>MmGdbusModemSkeleton</span></h2>
+<p>MmGdbusModemSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemSkeleton.html#mm-gdbus-modem-skeleton-new" title="mm_gdbus_modem_skeleton_new ()">mm_gdbus_modem_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemSkeleton.html#MmGdbusModemSkeleton-struct" title="struct MmGdbusModemSkeleton">MmGdbusModemSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-skeleton-new"></a><h3>mm_gdbus_modem_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+mm_gdbus_modem_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemSkeleton-struct"></a><h3>struct MmGdbusModemSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemSkeleton.html" title="MmGdbusModemSkeleton"><span class="type">MmGdbusModemSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemTime.html b/docs/reference/libmm-glib/html/MmGdbusModemTime.html
new file mode 100644
index 00000000..8715047c
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemTime.html
@@ -0,0 +1,542 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemTime: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemMessagingSkeleton.html" title="MmGdbusModemMessagingSkeleton">
+<link rel="next" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTime.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTime.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTime.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTime.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTime.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTime.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemMessagingSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemTimeProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemTime"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemTime.top_of_page"></a>MmGdbusModemTime</span></h2>
+<p>MmGdbusModemTime — Generated C code for the org.freedesktop.ModemManager1.Modem.Time D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-get-network-timezone" title="mm_gdbus_modem_time_get_network_timezone ()">mm_gdbus_modem_time_get_network_timezone</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-dup-network-timezone" title="mm_gdbus_modem_time_dup_network_timezone ()">mm_gdbus_modem_time_dup_network_timezone</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time" title="mm_gdbus_modem_time_call_get_network_time ()">mm_gdbus_modem_time_call_get_network_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time-finish" title="mm_gdbus_modem_time_call_get_network_time_finish ()">mm_gdbus_modem_time_call_get_network_time_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time-sync" title="mm_gdbus_modem_time_call_get_network_time_sync ()">mm_gdbus_modem_time_call_get_network_time_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime--network-timezone" title="The “network-timezone” property">network-timezone</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime-handle-get-network-time" title="The “handle-get-network-time” signal">handle-get-network-time</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime-network-time-changed" title="The “network-time-changed” signal">network-time-changed</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime-struct" title="MmGdbusModemTime">MmGdbusModemTime</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemTime.html#MmGdbusModemTimeIface" title="struct MmGdbusModemTimeIface">MmGdbusModemTimeIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModemTime
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModemTime requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModemTime is implemented by
+ <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>, <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a> and <a class="link" href="MmGdbusModemTimeSkeleton.html" title="MmGdbusModemTimeSkeleton">MmGdbusModemTimeSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Time D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-get-network-timezone"></a><h3>mm_gdbus_modem_time_get_network_timezone ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_time_get_network_timezone
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone">"NetworkTimezone"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-dup-network-timezone" title="mm_gdbus_modem_time_dup_network_timezone ()"><code class="function">mm_gdbus_modem_time_dup_network_timezone()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-get-network-timezone.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-get-network-timezone.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-dup-network-timezone"></a><h3>mm_gdbus_modem_time_dup_network_timezone ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_modem_time_dup_network_timezone
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone">"NetworkTimezone"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-dup-network-timezone.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-dup-network-timezone.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-call-get-network-time"></a><h3>mm_gdbus_modem_time_call_get_network_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_time_call_get_network_time
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime"><GTKDOCLINK HREF="GetNetworkTime"><code class="function">GetNetworkTime()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time-finish" title="mm_gdbus_modem_time_call_get_network_time_finish ()"><code class="function">mm_gdbus_modem_time_call_get_network_time_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time-sync" title="mm_gdbus_modem_time_call_get_network_time_sync ()"><code class="function">mm_gdbus_modem_time_call_get_network_time_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-call-get-network-time.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy"><span class="type">MmGdbusModemTimeProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-call-get-network-time-finish"></a><h3>mm_gdbus_modem_time_call_get_network_time_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_time_call_get_network_time_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_time</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time" title="mm_gdbus_modem_time_call_get_network_time ()"><code class="function">mm_gdbus_modem_time_call_get_network_time()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-call-get-network-time-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy"><span class="type">MmGdbusModemTimeProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_time</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time" title="mm_gdbus_modem_time_call_get_network_time ()"><code class="function">mm_gdbus_modem_time_call_get_network_time()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-call-get-network-time-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-call-get-network-time-sync"></a><h3>mm_gdbus_modem_time_call_get_network_time_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_time_call_get_network_time_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_time</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime"><GTKDOCLINK HREF="GetNetworkTime"><code class="function">GetNetworkTime()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time" title="mm_gdbus_modem_time_call_get_network_time ()"><code class="function">mm_gdbus_modem_time_call_get_network_time()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-call-get-network-time-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy"><span class="type">MmGdbusModemTimeProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_time</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-call-get-network-time-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemTime-struct"></a><h3>MmGdbusModemTime</h3>
+<pre class="programlisting">typedef struct _MmGdbusModemTime MmGdbusModemTime;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Time.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemTimeIface"></a><h3>struct MmGdbusModemTimeIface</h3>
+<pre class="programlisting">struct MmGdbusModemTimeIface {
+ GTypeInterface parent_iface;
+
+
+
+ gboolean (*handle_get_network_time) (
+ MmGdbusModemTime *object,
+ GDBusMethodInvocation *invocation);
+
+ GVariant * (*get_network_timezone) (MmGdbusModemTime *object);
+
+ void (*network_time_changed) (
+ MmGdbusModemTime *object,
+ const gchar *arg_time);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Time.</p>
+<div class="refsect3">
+<a name="MmGdbusModemTimeIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemTimeIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemTimeIface.handle-get-network-time"></a>handle_get_network_time</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime-handle-get-network-time" title="The “handle-get-network-time” signal"><span class="type">“handle-get-network-time”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemTimeIface.get-network-timezone"></a>get_network_timezone</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime--network-timezone" title="The “network-timezone” property"><span class="type">“network-timezone”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemTimeIface.network-time-changed"></a>network_time_changed</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime-network-time-changed" title="The “network-time-changed” signal"><span class="type">“network-time-changed”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemTime--network-timezone"></a><h3>The <code class="literal">“network-timezone”</code> property</h3>
+<pre class="programlisting"> “network-timezone” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone">"NetworkTimezone"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;a{sv}&gt;</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTime.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemTime-handle-get-network-time"></a><h3>The <code class="literal">“handle-get-network-time”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime"><GTKDOCLINK HREF="GetNetworkTime"><code class="function">GetNetworkTime()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_time_complete_get_network_time()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemTime-handle-get-network-time.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemTime-handle-get-network-time.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemTime-network-time-changed"></a><h3>The <code class="literal">“network-time-changed”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_time,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Time.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Time.NetworkTimeChanged">"NetworkTimeChanged"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusModemTime-network-time-changed.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_time</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemTimeProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemTimeProxy.html
new file mode 100644
index 00000000..73345cc2
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemTimeProxy.html
@@ -0,0 +1,469 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemTimeProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemTime.html" title="MmGdbusModemTime">
+<link rel="next" href="MmGdbusModemTimeSkeleton.html" title="MmGdbusModemTimeSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTimeProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTimeProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTimeProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemTime.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemTimeSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemTimeProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemTimeProxy.top_of_page"></a>MmGdbusModemTimeProxy</span></h2>
+<p>MmGdbusModemTimeProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new" title="mm_gdbus_modem_time_proxy_new ()">mm_gdbus_modem_time_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-finish" title="mm_gdbus_modem_time_proxy_new_finish ()">mm_gdbus_modem_time_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus" title="mm_gdbus_modem_time_proxy_new_for_bus ()">mm_gdbus_modem_time_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus-finish" title="mm_gdbus_modem_time_proxy_new_for_bus_finish ()">mm_gdbus_modem_time_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus-sync" title="mm_gdbus_modem_time_proxy_new_for_bus_sync ()">mm_gdbus_modem_time_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-sync" title="mm_gdbus_modem_time_proxy_new_sync ()">mm_gdbus_modem_time_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemTimeProxy.html#MmGdbusModemTimeProxy-struct" title="struct MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemTimeProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemTimeProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-proxy-new"></a><h3>mm_gdbus_modem_time_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_time_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Time. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-finish" title="mm_gdbus_modem_time_proxy_new_finish ()"><code class="function">mm_gdbus_modem_time_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-sync" title="mm_gdbus_modem_time_proxy_new_sync ()"><code class="function">mm_gdbus_modem_time_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-proxy-new-finish"></a><h3>mm_gdbus_modem_time_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+mm_gdbus_modem_time_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new" title="mm_gdbus_modem_time_proxy_new ()"><code class="function">mm_gdbus_modem_time_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new" title="mm_gdbus_modem_time_proxy_new ()"><code class="function">mm_gdbus_modem_time_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemTimeProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-proxy-new-for-bus"></a><h3>mm_gdbus_modem_time_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_time_proxy_new_for_bus (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new" title="mm_gdbus_modem_time_proxy_new ()"><code class="function">mm_gdbus_modem_time_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus-finish" title="mm_gdbus_modem_time_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_time_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus-sync" title="mm_gdbus_modem_time_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_time_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_time_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+mm_gdbus_modem_time_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus" title="mm_gdbus_modem_time_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_time_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus" title="mm_gdbus_modem_time_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_time_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemTimeProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_time_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+mm_gdbus_modem_time_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-sync" title="mm_gdbus_modem_time_proxy_new_sync ()"><code class="function">mm_gdbus_modem_time_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus" title="mm_gdbus_modem_time_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_time_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemTimeProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-proxy-new-sync"></a><h3>mm_gdbus_modem_time_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+mm_gdbus_modem_time_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Time. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new" title="mm_gdbus_modem_time_proxy_new ()"><code class="function">mm_gdbus_modem_time_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemTimeProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemTimeProxy-struct"></a><h3>struct MmGdbusModemTimeProxy</h3>
+<pre class="programlisting">struct MmGdbusModemTimeProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy"><span class="type">MmGdbusModemTimeProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemTimeSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemTimeSkeleton.html
new file mode 100644
index 00000000..64dad0b7
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemTimeSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemTimeSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">
+<link rel="next" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTimeSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTimeSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemTimeSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemTimeProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemFirmware.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemTimeSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemTimeSkeleton.top_of_page"></a>MmGdbusModemTimeSkeleton</span></h2>
+<p>MmGdbusModemTimeSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemTimeSkeleton.html#mm-gdbus-modem-time-skeleton-new" title="mm_gdbus_modem_time_skeleton_new ()">mm_gdbus_modem_time_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemTimeSkeleton.html#MmGdbusModemTimeSkeleton-struct" title="struct MmGdbusModemTimeSkeleton">MmGdbusModemTimeSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemTimeSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemTimeSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-time-skeleton-new"></a><h3>mm_gdbus_modem_time_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+mm_gdbus_modem_time_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Time.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-time-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemTimeSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemTimeSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemTimeSkeleton-struct"></a><h3>struct MmGdbusModemTimeSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemTimeSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemTimeSkeleton.html" title="MmGdbusModemTimeSkeleton"><span class="type">MmGdbusModemTimeSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemVoice.html b/docs/reference/libmm-glib/html/MmGdbusModemVoice.html
new file mode 100644
index 00000000..a038272c
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemVoice.html
@@ -0,0 +1,1071 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemVoice: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemOmaSkeleton.html" title="MmGdbusModemOmaSkeleton">
+<link rel="next" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoice.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoice.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoice.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoice.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoice.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoice.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemOmaSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemVoiceProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemVoice"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemVoice.top_of_page"></a>MmGdbusModemVoice</span></h2>
+<p>MmGdbusModemVoice — Generated C code for the org.freedesktop.ModemManager1.Modem.Voice D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-get-calls" title="mm_gdbus_modem_voice_get_calls ()">mm_gdbus_modem_voice_get_calls</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-dup-calls" title="mm_gdbus_modem_voice_dup_calls ()">mm_gdbus_modem_voice_dup_calls</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call" title="mm_gdbus_modem_voice_call_create_call ()">mm_gdbus_modem_voice_call_create_call</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call-finish" title="mm_gdbus_modem_voice_call_create_call_finish ()">mm_gdbus_modem_voice_call_create_call_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call-sync" title="mm_gdbus_modem_voice_call_create_call_sync ()">mm_gdbus_modem_voice_call_create_call_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call" title="mm_gdbus_modem_voice_call_delete_call ()">mm_gdbus_modem_voice_call_delete_call</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call-finish" title="mm_gdbus_modem_voice_call_delete_call_finish ()">mm_gdbus_modem_voice_call_delete_call_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call-sync" title="mm_gdbus_modem_voice_call_delete_call_sync ()">mm_gdbus_modem_voice_call_delete_call_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls" title="mm_gdbus_modem_voice_call_list_calls ()">mm_gdbus_modem_voice_call_list_calls</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls-finish" title="mm_gdbus_modem_voice_call_list_calls_finish ()">mm_gdbus_modem_voice_call_list_calls_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls-sync" title="mm_gdbus_modem_voice_call_list_calls_sync ()">mm_gdbus_modem_voice_call_list_calls_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice--calls" title="The “calls” property">calls</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-call-added" title="The “call-added” signal">call-added</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><span class="returnvalue">void</span></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-call-deleted" title="The “call-deleted” signal">call-deleted</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-create-call" title="The “handle-create-call” signal">handle-create-call</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-delete-call" title="The “handle-delete-call” signal">handle-delete-call</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-list-calls" title="The “handle-list-calls” signal">handle-list-calls</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-struct" title="MmGdbusModemVoice">MmGdbusModemVoice</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoiceIface" title="struct MmGdbusModemVoiceIface">MmGdbusModemVoiceIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusModemVoice
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusModemVoice requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusModemVoice is implemented by
+ <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>, <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a> and <a class="link" href="MmGdbusModemVoiceSkeleton.html" title="MmGdbusModemVoiceSkeleton">MmGdbusModemVoiceSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Modem.Voice D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-get-calls"></a><h3>mm_gdbus_modem_voice_get_calls ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *const *
+mm_gdbus_modem_voice_get_calls (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Voice.Calls">"Calls"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-dup-calls" title="mm_gdbus_modem_voice_dup_calls ()"><code class="function">mm_gdbus_modem_voice_dup_calls()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-get-calls.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-get-calls.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-dup-calls"></a><h3>mm_gdbus_modem_voice_dup_calls ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
+mm_gdbus_modem_voice_dup_calls (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Voice.Calls">"Calls"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-dup-calls.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-dup-calls.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-call-create-call"></a><h3>mm_gdbus_modem_voice_call_create_call ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_voice_call_create_call (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.CreateCall"><GTKDOCLINK HREF="CreateCall"><code class="function">CreateCall()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call-finish" title="mm_gdbus_modem_voice_call_create_call_finish ()"><code class="function">mm_gdbus_modem_voice_call_create_call_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call-sync" title="mm_gdbus_modem_voice_call_create_call_sync ()"><code class="function">mm_gdbus_modem_voice_call_create_call_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-create-call.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-call-create-call-finish"></a><h3>mm_gdbus_modem_voice_call_create_call_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_voice_call_create_call_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call" title="mm_gdbus_modem_voice_call_create_call ()"><code class="function">mm_gdbus_modem_voice_call_create_call()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-create-call-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_path</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call" title="mm_gdbus_modem_voice_call_create_call ()"><code class="function">mm_gdbus_modem_voice_call_create_call()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-create-call-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-call-create-call-sync"></a><h3>mm_gdbus_modem_voice_call_create_call_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_voice_call_create_call_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.CreateCall"><GTKDOCLINK HREF="CreateCall"><code class="function">CreateCall()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call" title="mm_gdbus_modem_voice_call_create_call ()"><code class="function">mm_gdbus_modem_voice_call_create_call()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-create-call-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_path</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-create-call-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-call-delete-call"></a><h3>mm_gdbus_modem_voice_call_delete_call ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_voice_call_delete_call (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.DeleteCall"><GTKDOCLINK HREF="DeleteCall"><code class="function">DeleteCall()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call-finish" title="mm_gdbus_modem_voice_call_delete_call_finish ()"><code class="function">mm_gdbus_modem_voice_call_delete_call_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call-sync" title="mm_gdbus_modem_voice_call_delete_call_sync ()"><code class="function">mm_gdbus_modem_voice_call_delete_call_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-delete-call.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-call-delete-call-finish"></a><h3>mm_gdbus_modem_voice_call_delete_call_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_voice_call_delete_call_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call" title="mm_gdbus_modem_voice_call_delete_call ()"><code class="function">mm_gdbus_modem_voice_call_delete_call()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-delete-call-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call" title="mm_gdbus_modem_voice_call_delete_call ()"><code class="function">mm_gdbus_modem_voice_call_delete_call()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-delete-call-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-call-delete-call-sync"></a><h3>mm_gdbus_modem_voice_call_delete_call_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_voice_call_delete_call_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.DeleteCall"><GTKDOCLINK HREF="DeleteCall"><code class="function">DeleteCall()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call" title="mm_gdbus_modem_voice_call_delete_call ()"><code class="function">mm_gdbus_modem_voice_call_delete_call()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-delete-call-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-delete-call-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-call-list-calls"></a><h3>mm_gdbus_modem_voice_call_list_calls ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_voice_call_list_calls (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.ListCalls"><GTKDOCLINK HREF="ListCalls"><code class="function">ListCalls()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls-finish" title="mm_gdbus_modem_voice_call_list_calls_finish ()"><code class="function">mm_gdbus_modem_voice_call_list_calls_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls-sync" title="mm_gdbus_modem_voice_call_list_calls_sync ()"><code class="function">mm_gdbus_modem_voice_call_list_calls_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-list-calls.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-call-list-calls-finish"></a><h3>mm_gdbus_modem_voice_call_list_calls_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_voice_call_list_calls_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> ***out_result</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls" title="mm_gdbus_modem_voice_call_list_calls ()"><code class="function">mm_gdbus_modem_voice_call_list_calls()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-list-calls-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_result</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls" title="mm_gdbus_modem_voice_call_list_calls ()"><code class="function">mm_gdbus_modem_voice_call_list_calls()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-list-calls-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-call-list-calls-sync"></a><h3>mm_gdbus_modem_voice_call_list_calls_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_modem_voice_call_list_calls_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> ***out_result</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.ListCalls"><GTKDOCLINK HREF="ListCalls"><code class="function">ListCalls()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls" title="mm_gdbus_modem_voice_call_list_calls ()"><code class="function">mm_gdbus_modem_voice_call_list_calls()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-list-calls-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>out_result</p></td>
+<td class="parameter_description"><p>Return location for return parameter or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-call-list-calls-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemVoice-struct"></a><h3>MmGdbusModemVoice</h3>
+<pre class="programlisting">typedef struct _MmGdbusModemVoice MmGdbusModemVoice;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Modem.Voice.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemVoiceIface"></a><h3>struct MmGdbusModemVoiceIface</h3>
+<pre class="programlisting">struct MmGdbusModemVoiceIface {
+ GTypeInterface parent_iface;
+
+
+
+ gboolean (*handle_create_call) (
+ MmGdbusModemVoice *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_properties);
+
+ gboolean (*handle_delete_call) (
+ MmGdbusModemVoice *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_path);
+
+ gboolean (*handle_list_calls) (
+ MmGdbusModemVoice *object,
+ GDBusMethodInvocation *invocation);
+
+ const gchar *const * (*get_calls) (MmGdbusModemVoice *object);
+
+ void (*call_added) (
+ MmGdbusModemVoice *object,
+ const gchar *arg_path);
+
+ void (*call_deleted) (
+ MmGdbusModemVoice *object,
+ const gchar *arg_path);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Modem.Voice.</p>
+<div class="refsect3">
+<a name="MmGdbusModemVoiceIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusModemVoiceIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemVoiceIface.handle-create-call"></a>handle_create_call</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-create-call" title="The “handle-create-call” signal"><span class="type">“handle-create-call”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemVoiceIface.handle-delete-call"></a>handle_delete_call</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-delete-call" title="The “handle-delete-call” signal"><span class="type">“handle-delete-call”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemVoiceIface.handle-list-calls"></a>handle_list_calls</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-list-calls" title="The “handle-list-calls” signal"><span class="type">“handle-list-calls”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemVoiceIface.get-calls"></a>get_calls</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice--calls" title="The “calls” property"><span class="type">“calls”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemVoiceIface.call-added"></a>call_added</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-call-added" title="The “call-added” signal"><span class="type">“call-added”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusModemVoiceIface.call-deleted"></a>call_deleted</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-call-deleted" title="The “call-deleted” signal"><span class="type">“call-deleted”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemVoice--calls"></a><h3>The <code class="literal">“calls”</code> property</h3>
+<pre class="programlisting"> “calls” <a href="https://developer.gnome.org/glib/unstable/glib-String-Utility-Functions.html#GStrv"><span class="type">GStrv</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-property-org-freedesktop-ModemManager1-Modem-Voice.Calls">"Calls"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoice.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusModemVoice-call-added"></a><h3>The <code class="literal">“call-added”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallAdded">"CallAdded"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusModemVoice-call-added.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemVoice-call-deleted"></a><h3>The <code class="literal">“call-deleted”</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+user_function (<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *object,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>On the client-side, this signal is emitted whenever the D-Bus signal <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-signal-org-freedesktop-ModemManager1-Modem-Voice.CallDeleted">"CallDeleted"</a> is received.</p>
+<p>On the service-side, this signal can be used with e.g. <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#g-signal-emit-by-name"><code class="function">g_signal_emit_by_name()</code></a> to make the object emit the D-Bus signal.</p>
+<div class="refsect3">
+<a name="MmGdbusModemVoice-call-deleted.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemVoice-handle-create-call"></a><h3>The <code class="literal">“handle-create-call”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.CreateCall"><GTKDOCLINK HREF="CreateCall"><code class="function">CreateCall()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_voice_complete_create_call()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemVoice-handle-create-call.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemVoice-handle-create-call.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemVoice-handle-delete-call"></a><h3>The <code class="literal">“handle-delete-call”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_path,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.DeleteCall"><GTKDOCLINK HREF="DeleteCall"><code class="function">DeleteCall()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_voice_complete_delete_call()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemVoice-handle-delete-call.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_path</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemVoice-handle-delete-call.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusModemVoice-handle-list-calls"></a><h3>The <code class="literal">“handle-list-calls”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Voice.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Voice.ListCalls"><GTKDOCLINK HREF="ListCalls"><code class="function">ListCalls()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_modem_voice_complete_list_calls()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusModemVoice-handle-list-calls.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusModemVoice-handle-list-calls.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemVoiceProxy.html b/docs/reference/libmm-glib/html/MmGdbusModemVoiceProxy.html
new file mode 100644
index 00000000..47f2da81
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemVoiceProxy.html
@@ -0,0 +1,470 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemVoiceProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">
+<link rel="next" href="MmGdbusModemVoiceSkeleton.html" title="MmGdbusModemVoiceSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoiceProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoiceProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoiceProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemVoice.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemVoiceSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemVoiceProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemVoiceProxy.top_of_page"></a>MmGdbusModemVoiceProxy</span></h2>
+<p>MmGdbusModemVoiceProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new" title="mm_gdbus_modem_voice_proxy_new ()">mm_gdbus_modem_voice_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-finish" title="mm_gdbus_modem_voice_proxy_new_finish ()">mm_gdbus_modem_voice_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus" title="mm_gdbus_modem_voice_proxy_new_for_bus ()">mm_gdbus_modem_voice_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus-finish" title="mm_gdbus_modem_voice_proxy_new_for_bus_finish ()">mm_gdbus_modem_voice_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus-sync" title="mm_gdbus_modem_voice_proxy_new_for_bus_sync ()">mm_gdbus_modem_voice_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-sync" title="mm_gdbus_modem_voice_proxy_new_sync ()">mm_gdbus_modem_voice_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemVoiceProxy.html#MmGdbusModemVoiceProxy-struct" title="struct MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusModemVoiceProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemVoiceProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-proxy-new"></a><h3>mm_gdbus_modem_voice_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_voice_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Voice. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-finish" title="mm_gdbus_modem_voice_proxy_new_finish ()"><code class="function">mm_gdbus_modem_voice_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-sync" title="mm_gdbus_modem_voice_proxy_new_sync ()"><code class="function">mm_gdbus_modem_voice_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-proxy-new-finish"></a><h3>mm_gdbus_modem_voice_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+mm_gdbus_modem_voice_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new" title="mm_gdbus_modem_voice_proxy_new ()"><code class="function">mm_gdbus_modem_voice_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new" title="mm_gdbus_modem_voice_proxy_new ()"><code class="function">mm_gdbus_modem_voice_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemVoiceProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-proxy-new-for-bus"></a><h3>mm_gdbus_modem_voice_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_modem_voice_proxy_new_for_bus
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new" title="mm_gdbus_modem_voice_proxy_new ()"><code class="function">mm_gdbus_modem_voice_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus-finish" title="mm_gdbus_modem_voice_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_modem_voice_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus-sync" title="mm_gdbus_modem_voice_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_modem_voice_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-proxy-new-for-bus-finish"></a><h3>mm_gdbus_modem_voice_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+mm_gdbus_modem_voice_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus" title="mm_gdbus_modem_voice_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_voice_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus" title="mm_gdbus_modem_voice_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_voice_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemVoiceProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-proxy-new-for-bus-sync"></a><h3>mm_gdbus_modem_voice_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+mm_gdbus_modem_voice_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-sync" title="mm_gdbus_modem_voice_proxy_new_sync ()"><code class="function">mm_gdbus_modem_voice_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus" title="mm_gdbus_modem_voice_proxy_new_for_bus ()"><code class="function">mm_gdbus_modem_voice_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemVoiceProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-proxy-new-sync"></a><h3>mm_gdbus_modem_voice_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+mm_gdbus_modem_voice_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Modem.Voice. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new" title="mm_gdbus_modem_voice_proxy_new ()"><code class="function">mm_gdbus_modem_voice_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemVoiceProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemVoiceProxy-struct"></a><h3>struct MmGdbusModemVoiceProxy</h3>
+<pre class="programlisting">struct MmGdbusModemVoiceProxy;</pre>
+<p>The <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy"><span class="type">MmGdbusModemVoiceProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusModemVoiceSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusModemVoiceSkeleton.html
new file mode 100644
index 00000000..e673f195
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusModemVoiceSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusModemVoiceSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">
+<link rel="next" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoiceSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoiceSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusModemVoiceSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusModemVoiceProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModemSimple.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusModemVoiceSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusModemVoiceSkeleton.top_of_page"></a>MmGdbusModemVoiceSkeleton</span></h2>
+<p>MmGdbusModemVoiceSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusModemVoiceSkeleton.html#mm-gdbus-modem-voice-skeleton-new" title="mm_gdbus_modem_voice_skeleton_new ()">mm_gdbus_modem_voice_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusModemVoiceSkeleton.html#MmGdbusModemVoiceSkeleton-struct" title="struct MmGdbusModemVoiceSkeleton">MmGdbusModemVoiceSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusModemVoiceSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusModemVoiceSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-modem-voice-skeleton-new"></a><h3>mm_gdbus_modem_voice_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+mm_gdbus_modem_voice_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Modem.Voice.</p>
+<div class="refsect3">
+<a name="mm-gdbus-modem-voice-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusModemVoiceSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusModemVoiceSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusModemVoiceSkeleton-struct"></a><h3>struct MmGdbusModemVoiceSkeleton</h3>
+<pre class="programlisting">struct MmGdbusModemVoiceSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusModemVoiceSkeleton.html" title="MmGdbusModemVoiceSkeleton"><span class="type">MmGdbusModemVoiceSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusObject.html b/docs/reference/libmm-glib/html/MmGdbusObject.html
new file mode 100644
index 00000000..b23ff22a
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusObject.html
@@ -0,0 +1,1222 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusObject: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">
+<link rel="next" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusObject.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusObject.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusObject.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusObject.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusObject.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusObjectManagerClient.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusObjectProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusObject"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusObject.top_of_page"></a>MmGdbusObject</span></h2>
+<p>MmGdbusObject — Specialized GDBusObject types</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusObject.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem" title="mm_gdbus_object_peek_modem ()">mm_gdbus_object_peek_modem</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem" title="mm_gdbus_object_get_modem ()">mm_gdbus_object_get_modem</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem3gpp" title="mm_gdbus_object_peek_modem3gpp ()">mm_gdbus_object_peek_modem3gpp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem3gpp" title="mm_gdbus_object_get_modem3gpp ()">mm_gdbus_object_get_modem3gpp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem3gpp-ussd" title="mm_gdbus_object_peek_modem3gpp_ussd ()">mm_gdbus_object_peek_modem3gpp_ussd</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem3gpp-ussd" title="mm_gdbus_object_get_modem3gpp_ussd ()">mm_gdbus_object_get_modem3gpp_ussd</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-cdma" title="mm_gdbus_object_peek_modem_cdma ()">mm_gdbus_object_peek_modem_cdma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-cdma" title="mm_gdbus_object_get_modem_cdma ()">mm_gdbus_object_get_modem_cdma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-location" title="mm_gdbus_object_peek_modem_location ()">mm_gdbus_object_peek_modem_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-location" title="mm_gdbus_object_get_modem_location ()">mm_gdbus_object_get_modem_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-messaging" title="mm_gdbus_object_peek_modem_messaging ()">mm_gdbus_object_peek_modem_messaging</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-messaging" title="mm_gdbus_object_get_modem_messaging ()">mm_gdbus_object_get_modem_messaging</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-time" title="mm_gdbus_object_peek_modem_time ()">mm_gdbus_object_peek_modem_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-time" title="mm_gdbus_object_get_modem_time ()">mm_gdbus_object_get_modem_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-firmware" title="mm_gdbus_object_peek_modem_firmware ()">mm_gdbus_object_peek_modem_firmware</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-firmware" title="mm_gdbus_object_get_modem_firmware ()">mm_gdbus_object_get_modem_firmware</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-oma" title="mm_gdbus_object_peek_modem_oma ()">mm_gdbus_object_peek_modem_oma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-oma" title="mm_gdbus_object_get_modem_oma ()">mm_gdbus_object_get_modem_oma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-simple" title="mm_gdbus_object_peek_modem_simple ()">mm_gdbus_object_peek_modem_simple</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-simple" title="mm_gdbus_object_get_modem_simple ()">mm_gdbus_object_get_modem_simple</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-signal" title="mm_gdbus_object_peek_modem_signal ()">mm_gdbus_object_peek_modem_signal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-signal" title="mm_gdbus_object_get_modem_signal ()">mm_gdbus_object_get_modem_signal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-voice" title="mm_gdbus_object_peek_modem_voice ()">mm_gdbus_object_peek_modem_voice</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-voice" title="mm_gdbus_object_get_modem_voice ()">mm_gdbus_object_get_modem_voice</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObject.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem" title="The “modem” property">modem</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-cdma" title="The “modem-cdma” property">modem-cdma</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-firmware" title="The “modem-firmware” property">modem-firmware</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-location" title="The “modem-location” property">modem-location</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-messaging" title="The “modem-messaging” property">modem-messaging</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-oma" title="The “modem-oma” property">modem-oma</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-signal" title="The “modem-signal” property">modem-signal</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-simple" title="The “modem-simple” property">modem-simple</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-time" title="The “modem-time” property">modem-time</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-voice" title="The “modem-voice” property">modem-voice</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem3gpp" title="The “modem3gpp” property">modem3gpp</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject--modem3gpp-ussd" title="The “modem3gpp-ussd” property">modem3gpp-ussd</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObject.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusObject.html#MmGdbusObject-struct" title="MmGdbusObject">MmGdbusObject</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusObject.html#MmGdbusObjectIface" title="struct MmGdbusObjectIface">MmGdbusObjectIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObject.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusObject
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObject.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusObject requires
+ <a href="https://developer.gnome.org/gio/unstable/GDBusObject.html#GDBusObject-struct">GDBusObject</a> and <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObject.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusObject is implemented by
+ <a class="link" href="MMObject.html" title="MMObject">MMObject</a>, <a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy">MmGdbusObjectProxy</a> and <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObject.description"></a><h2>Description</h2>
+<p>This section contains the <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>, <a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy"><span class="type">MmGdbusObjectProxy</span></a>, and <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> types which make it easier to work with objects implementing generated types for D-Bus interfaces.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObject.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem"></a><h3>mm_gdbus_object_peek_modem ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+mm_gdbus_object_peek_modem (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem" title="mm_gdbus_object_get_modem ()"><code class="function">mm_gdbus_object_get_modem()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem"></a><h3>mm_gdbus_object_get_modem ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="returnvalue">MmGdbusModem</span></a> *
+mm_gdbus_object_get_modem (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem3gpp"></a><h3>mm_gdbus_object_peek_modem3gpp ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+mm_gdbus_object_peek_modem3gpp (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem3gpp" title="mm_gdbus_object_get_modem3gpp ()"><code class="function">mm_gdbus_object_get_modem3gpp()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem3gpp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem3gpp.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem3gpp"></a><h3>mm_gdbus_object_get_modem3gpp ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="returnvalue">MmGdbusModem3gpp</span></a> *
+mm_gdbus_object_get_modem3gpp (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem3gpp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem3gpp.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem3gpp-ussd"></a><h3>mm_gdbus_object_peek_modem3gpp_ussd ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+mm_gdbus_object_peek_modem3gpp_ussd (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem3gpp-ussd" title="mm_gdbus_object_get_modem3gpp_ussd ()"><code class="function">mm_gdbus_object_get_modem3gpp_ussd()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem3gpp-ussd.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem3gpp-ussd.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem3gpp-ussd"></a><h3>mm_gdbus_object_get_modem3gpp_ussd ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="returnvalue">MmGdbusModem3gppUssd</span></a> *
+mm_gdbus_object_get_modem3gpp_ussd (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem3gpp-ussd.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem3gpp-ussd.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem-cdma"></a><h3>mm_gdbus_object_peek_modem_cdma ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+mm_gdbus_object_peek_modem_cdma (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-cdma" title="mm_gdbus_object_get_modem_cdma ()"><code class="function">mm_gdbus_object_get_modem_cdma()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-cdma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-cdma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem-cdma"></a><h3>mm_gdbus_object_get_modem_cdma ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="returnvalue">MmGdbusModemCdma</span></a> *
+mm_gdbus_object_get_modem_cdma (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.ModemCdma on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-cdma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-cdma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem-location"></a><h3>mm_gdbus_object_peek_modem_location ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+mm_gdbus_object_peek_modem_location (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-location" title="mm_gdbus_object_get_modem_location ()"><code class="function">mm_gdbus_object_get_modem_location()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-location.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem-location"></a><h3>mm_gdbus_object_get_modem_location ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="returnvalue">MmGdbusModemLocation</span></a> *
+mm_gdbus_object_get_modem_location (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Location on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-location.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem-messaging"></a><h3>mm_gdbus_object_peek_modem_messaging ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+mm_gdbus_object_peek_modem_messaging (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-messaging" title="mm_gdbus_object_get_modem_messaging ()"><code class="function">mm_gdbus_object_get_modem_messaging()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-messaging.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-messaging.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem-messaging"></a><h3>mm_gdbus_object_get_modem_messaging ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="returnvalue">MmGdbusModemMessaging</span></a> *
+mm_gdbus_object_get_modem_messaging (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Messaging on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-messaging.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-messaging.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem-time"></a><h3>mm_gdbus_object_peek_modem_time ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+mm_gdbus_object_peek_modem_time (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-time" title="mm_gdbus_object_get_modem_time ()"><code class="function">mm_gdbus_object_get_modem_time()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-time.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-time.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem-time"></a><h3>mm_gdbus_object_get_modem_time ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="returnvalue">MmGdbusModemTime</span></a> *
+mm_gdbus_object_get_modem_time (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Time on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-time.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-time.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem-firmware"></a><h3>mm_gdbus_object_peek_modem_firmware ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+mm_gdbus_object_peek_modem_firmware (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-firmware" title="mm_gdbus_object_get_modem_firmware ()"><code class="function">mm_gdbus_object_get_modem_firmware()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-firmware.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-firmware.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem-firmware"></a><h3>mm_gdbus_object_get_modem_firmware ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="returnvalue">MmGdbusModemFirmware</span></a> *
+mm_gdbus_object_get_modem_firmware (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Firmware on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-firmware.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-firmware.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem-oma"></a><h3>mm_gdbus_object_peek_modem_oma ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+mm_gdbus_object_peek_modem_oma (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-oma" title="mm_gdbus_object_get_modem_oma ()"><code class="function">mm_gdbus_object_get_modem_oma()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-oma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-oma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem-oma"></a><h3>mm_gdbus_object_get_modem_oma ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="returnvalue">MmGdbusModemOma</span></a> *
+mm_gdbus_object_get_modem_oma (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Oma on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-oma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-oma.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem-simple"></a><h3>mm_gdbus_object_peek_modem_simple ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+mm_gdbus_object_peek_modem_simple (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-simple" title="mm_gdbus_object_get_modem_simple ()"><code class="function">mm_gdbus_object_get_modem_simple()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-simple.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-simple.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem-simple"></a><h3>mm_gdbus_object_get_modem_simple ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="returnvalue">MmGdbusModemSimple</span></a> *
+mm_gdbus_object_get_modem_simple (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Simple on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-simple.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-simple.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem-signal"></a><h3>mm_gdbus_object_peek_modem_signal ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+mm_gdbus_object_peek_modem_signal (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-signal" title="mm_gdbus_object_get_modem_signal ()"><code class="function">mm_gdbus_object_get_modem_signal()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-signal.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem-signal"></a><h3>mm_gdbus_object_get_modem_signal ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="returnvalue">MmGdbusModemSignal</span></a> *
+mm_gdbus_object_get_modem_signal (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-signal.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-peek-modem-voice"></a><h3>mm_gdbus_object_peek_modem_voice ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+mm_gdbus_object_peek_modem_voice (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-voice" title="mm_gdbus_object_get_modem_voice ()"><code class="function">mm_gdbus_object_get_modem_voice()</code></a> but doesn't increase the reference count on the returned object.</p>
+<div class="warning">It is not safe to use the returned object if you are on another thread than the one where the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> or <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerServer.html#GDBusObjectManagerServer-struct"><span class="type">GDBusObjectManagerServer</span></a> for <em class="parameter"><code>object</code></em> is running.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-voice.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-peek-modem-voice.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. Do not free the returned object, it is owned by <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-get-modem-voice"></a><h3>mm_gdbus_object_get_modem_voice ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="returnvalue">MmGdbusModemVoice</span></a> *
+mm_gdbus_object_get_modem_voice (<em class="parameter"><code><a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> *object</code></em>);</pre>
+<p>Gets the <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Voice on <em class="parameter"><code>object</code></em>
+, if any.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-voice.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-get-modem-voice.returns"></a><h4>Returns</h4>
+<p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> that must be freed with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>object</code></em>
+does not implement the interface. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObject.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusObject-struct"></a><h3>MmGdbusObject</h3>
+<pre class="programlisting">typedef struct _MmGdbusObject MmGdbusObject;</pre>
+<p>The <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> type is a specialized container of interfaces.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObjectIface"></a><h3>struct MmGdbusObjectIface</h3>
+<pre class="programlisting">struct MmGdbusObjectIface {
+ GTypeInterface parent_iface;
+};
+</pre>
+<p>Virtual table for the <a class="link" href="MmGdbusObject.html" title="MmGdbusObject"><span class="type">MmGdbusObject</span></a> interface.</p>
+<div class="refsect3">
+<a name="MmGdbusObjectIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusObjectIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObject.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusObject--modem"></a><h3>The <code class="literal">“modem”</code> property</h3>
+<pre class="programlisting"> “modem” <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem-cdma"></a><h3>The <code class="literal">“modem-cdma”</code> property</h3>
+<pre class="programlisting"> “modem-cdma” <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.ModemCdma, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem-firmware"></a><h3>The <code class="literal">“modem-firmware”</code> property</h3>
+<pre class="programlisting"> “modem-firmware” <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Firmware, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem-location"></a><h3>The <code class="literal">“modem-location”</code> property</h3>
+<pre class="programlisting"> “modem-location” <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Location, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem-messaging"></a><h3>The <code class="literal">“modem-messaging”</code> property</h3>
+<pre class="programlisting"> “modem-messaging” <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Messaging, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem-oma"></a><h3>The <code class="literal">“modem-oma”</code> property</h3>
+<pre class="programlisting"> “modem-oma” <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Oma, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem-signal"></a><h3>The <code class="literal">“modem-signal”</code> property</h3>
+<pre class="programlisting"> “modem-signal” <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem-simple"></a><h3>The <code class="literal">“modem-simple”</code> property</h3>
+<pre class="programlisting"> “modem-simple” <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Simple, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem-time"></a><h3>The <code class="literal">“modem-time”</code> property</h3>
+<pre class="programlisting"> “modem-time” <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Time, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem-voice"></a><h3>The <code class="literal">“modem-voice”</code> property</h3>
+<pre class="programlisting"> “modem-voice” <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Voice, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem3gpp"></a><h3>The <code class="literal">“modem3gpp”</code> property</h3>
+<pre class="programlisting"> “modem3gpp” <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusObject--modem3gpp-ussd"></a><h3>The <code class="literal">“modem3gpp-ussd”</code> property</h3>
+<pre class="programlisting"> “modem3gpp-ussd” <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *</pre>
+<p>The <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> instance corresponding to the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd, if any.</p>
+<p>Connect to the <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-notify"><span class="type">“notify”</span></a> signal to get informed of property changes.</p>
+<p>Flags: Read / Write</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusObjectManagerClient.html b/docs/reference/libmm-glib/html/MmGdbusObjectManagerClient.html
new file mode 100644
index 00000000..e05d8e2b
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusObjectManagerClient.html
@@ -0,0 +1,530 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusObjectManagerClient: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html" title="MmGdbusOrgFreedesktopModemManager1Skeleton">
+<link rel="next" href="MmGdbusObject.html" title="MmGdbusObject">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusObjectManagerClient.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusObjectManagerClient.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusObjectManagerClient.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusObject.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusObjectManagerClient"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusObjectManagerClient.top_of_page"></a>MmGdbusObjectManagerClient</span></h2>
+<p>MmGdbusObjectManagerClient — Generated GDBusObjectManagerClient type</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusObjectManagerClient.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new" title="mm_gdbus_object_manager_client_new ()">mm_gdbus_object_manager_client_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct"><span class="returnvalue">GDBusObjectManager</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-finish" title="mm_gdbus_object_manager_client_new_finish ()">mm_gdbus_object_manager_client_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct"><span class="returnvalue">GDBusObjectManager</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-sync" title="mm_gdbus_object_manager_client_new_sync ()">mm_gdbus_object_manager_client_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus" title="mm_gdbus_object_manager_client_new_for_bus ()">mm_gdbus_object_manager_client_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct"><span class="returnvalue">GDBusObjectManager</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus-finish" title="mm_gdbus_object_manager_client_new_for_bus_finish ()">mm_gdbus_object_manager_client_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct"><span class="returnvalue">GDBusObjectManager</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus-sync" title="mm_gdbus_object_manager_client_new_for_bus_sync ()">mm_gdbus_object_manager_client_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-get-proxy-type" title="mm_gdbus_object_manager_client_get_proxy_type ()">mm_gdbus_object_manager_client_get_proxy_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectManagerClient.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusObjectManagerClient.html#MmGdbusObjectManagerClient-struct" title="struct MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectManagerClient.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct">GDBusObjectManagerClient</a>
+ <span class="lineart">╰──</span> MmGdbusObjectManagerClient
+ <span class="lineart">╰──</span> <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectManagerClient.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusObjectManagerClient implements
+ <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct">GDBusObjectManager</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectManagerClient.description"></a><h2>Description</h2>
+<p>This section contains a <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> that uses <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-get-proxy-type" title="mm_gdbus_object_manager_client_get_proxy_type ()"><code class="function">mm_gdbus_object_manager_client_get_proxy_type()</code></a> as the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusProxyTypeFunc"><span class="type">GDBusProxyTypeFunc</span></a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectManagerClient.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-object-manager-client-new"></a><h3>mm_gdbus_object_manager_client_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_manager_client_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> using <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-get-proxy-type" title="mm_gdbus_object_manager_client_get_proxy_type ()"><code class="function">mm_gdbus_object_manager_client_get_proxy_type()</code></a> as the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusProxyTypeFunc"><span class="type">GDBusProxyTypeFunc</span></a>. See <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#g-dbus-object-manager-client-new"><code class="function">g_dbus_object_manager_client_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-finish" title="mm_gdbus_object_manager_client_new_finish ()"><code class="function">mm_gdbus_object_manager_client_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-sync" title="mm_gdbus_object_manager_client_new_sync ()"><code class="function">mm_gdbus_object_manager_client_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-manager-client-new-finish"></a><h3>mm_gdbus_object_manager_client_new_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct"><span class="returnvalue">GDBusObjectManager</span></a> *
+mm_gdbus_object_manager_client_new_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new" title="mm_gdbus_object_manager_client_new ()"><code class="function">mm_gdbus_object_manager_client_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new" title="mm_gdbus_object_manager_client_new ()"><code class="function">mm_gdbus_object_manager_client_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed object manager client or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusObjectManagerClient]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-manager-client-new-sync"></a><h3>mm_gdbus_object_manager_client_new_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct"><span class="returnvalue">GDBusObjectManager</span></a> *
+mm_gdbus_object_manager_client_new_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> using <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-get-proxy-type" title="mm_gdbus_object_manager_client_get_proxy_type ()"><code class="function">mm_gdbus_object_manager_client_get_proxy_type()</code></a> as the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusProxyTypeFunc"><span class="type">GDBusProxyTypeFunc</span></a>. See <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#g-dbus-object-manager-client-new-sync"><code class="function">g_dbus_object_manager_client_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new" title="mm_gdbus_object_manager_client_new ()"><code class="function">mm_gdbus_object_manager_client_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed object manager client or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusObjectManagerClient]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-manager-client-new-for-bus"></a><h3>mm_gdbus_object_manager_client_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_manager_client_new_for_bus
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new" title="mm_gdbus_object_manager_client_new ()"><code class="function">mm_gdbus_object_manager_client_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus-finish" title="mm_gdbus_object_manager_client_new_for_bus_finish ()"><code class="function">mm_gdbus_object_manager_client_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus-sync" title="mm_gdbus_object_manager_client_new_for_bus_sync ()"><code class="function">mm_gdbus_object_manager_client_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-manager-client-new-for-bus-finish"></a><h3>mm_gdbus_object_manager_client_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct"><span class="returnvalue">GDBusObjectManager</span></a> *
+mm_gdbus_object_manager_client_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus" title="mm_gdbus_object_manager_client_new_for_bus ()"><code class="function">mm_gdbus_object_manager_client_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus" title="mm_gdbus_object_manager_client_new_for_bus ()"><code class="function">mm_gdbus_object_manager_client_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed object manager client or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusObjectManagerClient]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-manager-client-new-for-bus-sync"></a><h3>mm_gdbus_object_manager_client_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManager.html#GDBusObjectManager-struct"><span class="returnvalue">GDBusObjectManager</span></a> *
+mm_gdbus_object_manager_client_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-sync" title="mm_gdbus_object_manager_client_new_sync ()"><code class="function">mm_gdbus_object_manager_client_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus" title="mm_gdbus_object_manager_client_new_for_bus ()"><code class="function">mm_gdbus_object_manager_client_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClientFlags"><span class="type">GDBusObjectManagerClientFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed object manager client or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusObjectManagerClient]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-manager-client-get-proxy-type"></a><h3>mm_gdbus_object_manager_client_get_proxy_type ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="returnvalue">GType</span></a>
+mm_gdbus_object_manager_client_get_proxy_type
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a> *manager</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *interface_name</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>A <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusProxyTypeFunc"><span class="type">GDBusProxyTypeFunc</span></a> that maps <em class="parameter"><code>interface_name</code></em>
+ to the generated <a href="https://developer.gnome.org/gio/unstable/GDBusObjectProxy.html#GDBusObjectProxy-struct"><span class="type">GDBusObjectProxy</span></a> derived and <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="type">GDBusProxy</span></a> derived types.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-get-proxy-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>manager</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct"><span class="type">GDBusObjectManagerClient</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>The object path of the remote object (unused).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_name</p></td>
+<td class="parameter_description"><p>Interface name of the remote object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to get the object proxy <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data (unused).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-manager-client-get-proxy-type.returns"></a><h4>Returns</h4>
+<p> A <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct"><span class="type">GDBusProxy</span></a> derived <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> if <em class="parameter"><code>interface_name</code></em>
+is not <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, otherwise the <a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> for <a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy"><span class="type">MmGdbusObjectProxy</span></a>.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectManagerClient.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusObjectManagerClient-struct"></a><h3>struct MmGdbusObjectManagerClient</h3>
+<pre class="programlisting">struct MmGdbusObjectManagerClient;</pre>
+<p>The <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient"><span class="type">MmGdbusObjectManagerClient</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusObjectProxy.html b/docs/reference/libmm-glib/html/MmGdbusObjectProxy.html
new file mode 100644
index 00000000..2584d31e
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusObjectProxy.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusObjectProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusObject.html" title="MmGdbusObject">
+<link rel="next" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusObjectProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusObjectProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusObjectProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusObject.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusObjectSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusObjectProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusObjectProxy.top_of_page"></a>MmGdbusObjectProxy</span></h2>
+<p>MmGdbusObjectProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusObjectProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy"><span class="returnvalue">MmGdbusObjectProxy</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectProxy.html#mm-gdbus-object-proxy-new" title="mm_gdbus_object_proxy_new ()">mm_gdbus_object_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusObjectProxy.html#MmGdbusObjectProxy-struct" title="struct MmGdbusObjectProxy">MmGdbusObjectProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusObjectProxy.html#GDBusObjectProxy-struct">GDBusObjectProxy</a>
+ <span class="lineart">╰──</span> MmGdbusObjectProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusObjectProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusObject.html#GDBusObject-struct">GDBusObject</a> and <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-object-proxy-new"></a><h3>mm_gdbus_object_proxy_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy"><span class="returnvalue">MmGdbusObjectProxy</span></a> *
+mm_gdbus_object_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>);</pre>
+<p>Creates a new proxy object.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-proxy-new.returns"></a><h4>Returns</h4>
+<p>The proxy object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusObjectProxy-struct"></a><h3>struct MmGdbusObjectProxy</h3>
+<pre class="programlisting">struct MmGdbusObjectProxy;</pre>
+<p>The <a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy"><span class="type">MmGdbusObjectProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusObjectSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusObjectSkeleton.html
new file mode 100644
index 00000000..5bb18253
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusObjectSkeleton.html
@@ -0,0 +1,604 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusObjectSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy">
+<link rel="next" href="MmGdbusModem.html" title="MmGdbusModem">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusObjectSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusObjectSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusObjectSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusObjectProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusModem.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusObjectSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusObjectSkeleton.top_of_page"></a>MmGdbusObjectSkeleton</span></h2>
+<p>MmGdbusObjectSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusObjectSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="returnvalue">MmGdbusObjectSkeleton</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-new" title="mm_gdbus_object_skeleton_new ()">mm_gdbus_object_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem" title="mm_gdbus_object_skeleton_set_modem ()">mm_gdbus_object_skeleton_set_modem</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem3gpp" title="mm_gdbus_object_skeleton_set_modem3gpp ()">mm_gdbus_object_skeleton_set_modem3gpp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem3gpp-ussd" title="mm_gdbus_object_skeleton_set_modem3gpp_ussd ()">mm_gdbus_object_skeleton_set_modem3gpp_ussd</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-cdma" title="mm_gdbus_object_skeleton_set_modem_cdma ()">mm_gdbus_object_skeleton_set_modem_cdma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-firmware" title="mm_gdbus_object_skeleton_set_modem_firmware ()">mm_gdbus_object_skeleton_set_modem_firmware</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-oma" title="mm_gdbus_object_skeleton_set_modem_oma ()">mm_gdbus_object_skeleton_set_modem_oma</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-location" title="mm_gdbus_object_skeleton_set_modem_location ()">mm_gdbus_object_skeleton_set_modem_location</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-messaging" title="mm_gdbus_object_skeleton_set_modem_messaging ()">mm_gdbus_object_skeleton_set_modem_messaging</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-simple" title="mm_gdbus_object_skeleton_set_modem_simple ()">mm_gdbus_object_skeleton_set_modem_simple</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-time" title="mm_gdbus_object_skeleton_set_modem_time ()">mm_gdbus_object_skeleton_set_modem_time</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-signal" title="mm_gdbus_object_skeleton_set_modem_signal ()">mm_gdbus_object_skeleton_set_modem_signal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-voice" title="mm_gdbus_object_skeleton_set_modem_voice ()">mm_gdbus_object_skeleton_set_modem_voice</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusObjectSkeleton.html#MmGdbusObjectSkeleton-struct" title="struct MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusObjectSkeleton.html#GDBusObjectSkeleton-struct">GDBusObjectSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusObjectSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusObjectSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusObject.html#GDBusObject-struct">GDBusObject</a> and <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-new"></a><h3>mm_gdbus_object_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="returnvalue">MmGdbusObjectSkeleton</span></a> *
+mm_gdbus_object_skeleton_new (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>);</pre>
+<p>Creates a new skeleton object.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem"></a><h3>mm_gdbus_object_skeleton_set_modem ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem.html" title="MmGdbusModem"><span class="type">MmGdbusModem</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem3gpp"></a><h3>mm_gdbus_object_skeleton_set_modem3gpp ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem3gpp
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem3gpp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp"><span class="type">MmGdbusModem3gpp</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem3gpp-ussd"></a><h3>mm_gdbus_object_skeleton_set_modem3gpp_ussd ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem3gpp_ussd
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem3gpp-ussd.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd"><span class="type">MmGdbusModem3gppUssd</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem-cdma"></a><h3>mm_gdbus_object_skeleton_set_modem_cdma ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem_cdma
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.ModemCdma on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem-cdma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma"><span class="type">MmGdbusModemCdma</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem-firmware"></a><h3>mm_gdbus_object_skeleton_set_modem_firmware ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem_firmware
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Firmware on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem-firmware.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware"><span class="type">MmGdbusModemFirmware</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem-oma"></a><h3>mm_gdbus_object_skeleton_set_modem_oma ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem_oma
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Oma on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem-oma.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma"><span class="type">MmGdbusModemOma</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem-location"></a><h3>mm_gdbus_object_skeleton_set_modem_location ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem_location
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Location on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem-location.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation"><span class="type">MmGdbusModemLocation</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem-messaging"></a><h3>mm_gdbus_object_skeleton_set_modem_messaging ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem_messaging
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Messaging on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem-messaging.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging"><span class="type">MmGdbusModemMessaging</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem-simple"></a><h3>mm_gdbus_object_skeleton_set_modem_simple ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem_simple
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Simple on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem-simple.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple"><span class="type">MmGdbusModemSimple</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem-time"></a><h3>mm_gdbus_object_skeleton_set_modem_time ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem_time
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Time on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem-time.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime"><span class="type">MmGdbusModemTime</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem-signal"></a><h3>mm_gdbus_object_skeleton_set_modem_signal ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem_signal
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Signal on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem-signal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal"><span class="type">MmGdbusModemSignal</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-object-skeleton-set-modem-voice"></a><h3>mm_gdbus_object_skeleton_set_modem_voice ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_object_skeleton_set_modem_voice
+ (<em class="parameter"><code><a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> *object</code></em>,
+ <em class="parameter"><code><a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> *interface_</code></em>);</pre>
+<p>Sets the <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> instance for the D-Bus interface org.freedesktop.ModemManager1.Modem.Voice on <em class="parameter"><code>object</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-gdbus-object-skeleton-set-modem-voice.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interface_</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice"><span class="type">MmGdbusModemVoice</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to clear the interface. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusObjectSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusObjectSkeleton-struct"></a><h3>struct MmGdbusObjectSkeleton</h3>
+<pre class="programlisting">struct MmGdbusObjectSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton"><span class="type">MmGdbusObjectSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1.html b/docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1.html
new file mode 100644
index 00000000..16363de3
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1.html
@@ -0,0 +1,1205 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusOrgFreedesktopModemManager1: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="pt02.html" title="Part II. Low level API">
+<link rel="next" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="pt02.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusOrgFreedesktopModemManager1Proxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusOrgFreedesktopModemManager1"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusOrgFreedesktopModemManager1.top_of_page"></a>MmGdbusOrgFreedesktopModemManager1</span></h2>
+<p>MmGdbusOrgFreedesktopModemManager1 — Generated C code for the org.freedesktop.ModemManager1 D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-dup-version" title="mm_gdbus_org_freedesktop_modem_manager1_dup_version ()">mm_gdbus_org_freedesktop_modem_manager1_dup_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-get-version" title="mm_gdbus_org_freedesktop_modem_manager1_get_version ()">mm_gdbus_org_freedesktop_modem_manager1_get_version</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices ()">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_finish ()">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_sync ()">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device ()">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_finish ()">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_sync ()">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging ()">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_finish ()">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_sync ()">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event ()">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_finish ()">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_sync ()">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1--version" title="The “version” property">version</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-inhibit-device" title="The “handle-inhibit-device” signal">handle-inhibit-device</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-report-kernel-event" title="The “handle-report-kernel-event” signal">handle-report-kernel-event</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-scan-devices" title="The “handle-scan-devices” signal">handle-scan-devices</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-set-logging" title="The “handle-set-logging” signal">handle-set-logging</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-struct" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1Iface" title="struct MmGdbusOrgFreedesktopModemManager1Iface">MmGdbusOrgFreedesktopModemManager1Iface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusOrgFreedesktopModemManager1
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusOrgFreedesktopModemManager1 requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusOrgFreedesktopModemManager1 is implemented by
+ <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a> and <a class="link" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html" title="MmGdbusOrgFreedesktopModemManager1Skeleton">MmGdbusOrgFreedesktopModemManager1Skeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1 D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-dup-version"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_dup_version ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_org_freedesktop_modem_manager1_dup_version
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-property-org-freedesktop-ModemManager1.Version">"Version"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-dup-version.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-dup-version.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-get-version"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_get_version ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_org_freedesktop_modem_manager1_get_version
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-property-org-freedesktop-ModemManager1.Version">"Version"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-dup-version" title="mm_gdbus_org_freedesktop_modem_manager1_dup_version ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_dup_version()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-get-version.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-get-version.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ScanDevices"><GTKDOCLINK HREF="ScanDevices"><code class="function">ScanDevices()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_finish ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_sync ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-finish"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-sync"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ScanDevices"><GTKDOCLINK HREF="ScanDevices"><code class="function">ScanDevices()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_uid</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_inhibit</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.InhibitDevice"><GTKDOCLINK HREF="InhibitDevice"><code class="function">InhibitDevice()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_finish ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_sync ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_uid</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_inhibit</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-finish"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-sync"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_uid</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_inhibit</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.InhibitDevice"><GTKDOCLINK HREF="InhibitDevice"><code class="function">InhibitDevice()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_uid</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_inhibit</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-set-logging"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_set_logging ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_org_freedesktop_modem_manager1_call_set_logging
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_level</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.SetLogging"><GTKDOCLINK HREF="SetLogging"><code class="function">SetLogging()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_finish ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_sync ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-set-logging.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_level</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-finish"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-sync"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_level</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.SetLogging"><GTKDOCLINK HREF="SetLogging"><code class="function">SetLogging()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_level</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent"><GTKDOCLINK HREF="ReportKernelEvent"><code class="function">ReportKernelEvent()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_finish ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_sync ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-finish"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_finish
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-sync"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_sync
+ (<em class="parameter"><code><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent"><GTKDOCLINK HREF="ReportKernelEvent"><code class="function">ReportKernelEvent()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusOrgFreedesktopModemManager1-struct"></a><h3>MmGdbusOrgFreedesktopModemManager1</h3>
+<pre class="programlisting">typedef struct _MmGdbusOrgFreedesktopModemManager1 MmGdbusOrgFreedesktopModemManager1;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusOrgFreedesktopModemManager1Iface"></a><h3>struct MmGdbusOrgFreedesktopModemManager1Iface</h3>
+<pre class="programlisting">struct MmGdbusOrgFreedesktopModemManager1Iface {
+ GTypeInterface parent_iface;
+
+
+ gboolean (*handle_inhibit_device) (
+ MmGdbusOrgFreedesktopModemManager1 *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_uid,
+ gboolean arg_inhibit);
+
+ gboolean (*handle_report_kernel_event) (
+ MmGdbusOrgFreedesktopModemManager1 *object,
+ GDBusMethodInvocation *invocation,
+ GVariant *arg_properties);
+
+ gboolean (*handle_scan_devices) (
+ MmGdbusOrgFreedesktopModemManager1 *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_set_logging) (
+ MmGdbusOrgFreedesktopModemManager1 *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_level);
+
+ const gchar * (*get_version) (MmGdbusOrgFreedesktopModemManager1 *object);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.</p>
+<div class="refsect3">
+<a name="MmGdbusOrgFreedesktopModemManager1Iface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusOrgFreedesktopModemManager1Iface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusOrgFreedesktopModemManager1Iface.handle-inhibit-device"></a>handle_inhibit_device</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-inhibit-device" title="The “handle-inhibit-device” signal"><span class="type">“handle-inhibit-device”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusOrgFreedesktopModemManager1Iface.handle-report-kernel-event"></a>handle_report_kernel_event</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-report-kernel-event" title="The “handle-report-kernel-event” signal"><span class="type">“handle-report-kernel-event”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusOrgFreedesktopModemManager1Iface.handle-scan-devices"></a>handle_scan_devices</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-scan-devices" title="The “handle-scan-devices” signal"><span class="type">“handle-scan-devices”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusOrgFreedesktopModemManager1Iface.handle-set-logging"></a>handle_set_logging</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-set-logging" title="The “handle-set-logging” signal"><span class="type">“handle-set-logging”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusOrgFreedesktopModemManager1Iface.get-version"></a>get_version</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1--version" title="The “version” property"><span class="type">“version”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusOrgFreedesktopModemManager1--version"></a><h3>The <code class="literal">“version”</code> property</h3>
+<pre class="programlisting"> “version” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-property-org-freedesktop-ModemManager1.Version">"Version"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-inhibit-device"></a><h3>The <code class="literal">“handle-inhibit-device”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_uid,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_inhibit,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.InhibitDevice"><GTKDOCLINK HREF="InhibitDevice"><code class="function">InhibitDevice()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_org_freedesktop_modem_manager1_complete_inhibit_device()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-inhibit-device.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_uid</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_inhibit</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-inhibit-device.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-report-kernel-event"></a><h3>The <code class="literal">“handle-report-kernel-event”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *arg_properties,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent"><GTKDOCLINK HREF="ReportKernelEvent"><code class="function">ReportKernelEvent()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_org_freedesktop_modem_manager1_complete_report_kernel_event()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-report-kernel-event.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_properties</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-report-kernel-event.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-scan-devices"></a><h3>The <code class="literal">“handle-scan-devices”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.ScanDevices"><GTKDOCLINK HREF="ScanDevices"><code class="function">ScanDevices()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_org_freedesktop_modem_manager1_complete_scan_devices()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-scan-devices.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-scan-devices.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-set-logging"></a><h3>The <code class="literal">“handle-set-logging”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_level,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.html#gdbus-method-org-freedesktop-ModemManager1.SetLogging"><GTKDOCLINK HREF="SetLogging"><code class="function">SetLogging()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_org_freedesktop_modem_manager1_complete_set_logging()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-set-logging.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="type">MmGdbusOrgFreedesktopModemManager1</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_level</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusOrgFreedesktopModemManager1-handle-set-logging.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1Proxy.html b/docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1Proxy.html
new file mode 100644
index 00000000..bf03510b
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1Proxy.html
@@ -0,0 +1,472 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusOrgFreedesktopModemManager1Proxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">
+<link rel="next" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html" title="MmGdbusOrgFreedesktopModemManager1Skeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1Proxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1Proxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1Proxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusOrgFreedesktopModemManager1.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusOrgFreedesktopModemManager1Proxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusOrgFreedesktopModemManager1Proxy.top_of_page"></a>MmGdbusOrgFreedesktopModemManager1Proxy</span></h2>
+<p>MmGdbusOrgFreedesktopModemManager1Proxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Proxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-finish" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_finish ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-finish" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_finish ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-sync" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_sync ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-sync" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Proxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#MmGdbusOrgFreedesktopModemManager1Proxy-struct" title="struct MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Proxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusOrgFreedesktopModemManager1Proxy
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Proxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusOrgFreedesktopModemManager1Proxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Proxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Proxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_org_freedesktop_modem_manager1_proxy_new
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-finish" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_finish ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-sync" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-finish"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+mm_gdbus_org_freedesktop_modem_manager1_proxy_new_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusOrgFreedesktopModemManager1Proxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-finish" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-sync" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-finish"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_finish
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusOrgFreedesktopModemManager1Proxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-sync"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-sync" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusOrgFreedesktopModemManager1Proxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-sync"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync
+ (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new ()"><code class="function">mm_gdbus_org_freedesktop_modem_manager1_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusOrgFreedesktopModemManager1Proxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Proxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusOrgFreedesktopModemManager1Proxy-struct"></a><h3>struct MmGdbusOrgFreedesktopModemManager1Proxy</h3>
+<pre class="programlisting">struct MmGdbusOrgFreedesktopModemManager1Proxy;</pre>
+<p>The <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy"><span class="type">MmGdbusOrgFreedesktopModemManager1Proxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1Skeleton.html b/docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1Skeleton.html
new file mode 100644
index 00000000..bb8d40a2
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusOrgFreedesktopModemManager1Skeleton.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusOrgFreedesktopModemManager1Skeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">
+<link rel="next" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1Skeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1Skeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusOrgFreedesktopModemManager1Skeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusOrgFreedesktopModemManager1Proxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusObjectManagerClient.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusOrgFreedesktopModemManager1Skeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusOrgFreedesktopModemManager1Skeleton.top_of_page"></a>MmGdbusOrgFreedesktopModemManager1Skeleton</span></h2>
+<p>MmGdbusOrgFreedesktopModemManager1Skeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Skeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html#mm-gdbus-org-freedesktop-modem-manager1-skeleton-new" title="mm_gdbus_org_freedesktop_modem_manager1_skeleton_new ()">mm_gdbus_org_freedesktop_modem_manager1_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Skeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html#MmGdbusOrgFreedesktopModemManager1Skeleton-struct" title="struct MmGdbusOrgFreedesktopModemManager1Skeleton">MmGdbusOrgFreedesktopModemManager1Skeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Skeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusOrgFreedesktopModemManager1Skeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Skeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusOrgFreedesktopModemManager1Skeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Skeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Skeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-skeleton-new"></a><h3>mm_gdbus_org_freedesktop_modem_manager1_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1"><span class="returnvalue">MmGdbusOrgFreedesktopModemManager1</span></a> *
+mm_gdbus_org_freedesktop_modem_manager1_skeleton_new
+ (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.</p>
+<div class="refsect3">
+<a name="mm-gdbus-org-freedesktop-modem-manager1-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusOrgFreedesktopModemManager1Skeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusOrgFreedesktopModemManager1Skeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusOrgFreedesktopModemManager1Skeleton-struct"></a><h3>struct MmGdbusOrgFreedesktopModemManager1Skeleton</h3>
+<pre class="programlisting">struct MmGdbusOrgFreedesktopModemManager1Skeleton;</pre>
+<p>The <a class="link" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html" title="MmGdbusOrgFreedesktopModemManager1Skeleton"><span class="type">MmGdbusOrgFreedesktopModemManager1Skeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusSim.html b/docs/reference/libmm-glib/html/MmGdbusSim.html
new file mode 100644
index 00000000..804af127
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusSim.html
@@ -0,0 +1,1541 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusSim: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusBearerSkeleton.html" title="MmGdbusBearerSkeleton">
+<link rel="next" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusSim.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusSim.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusSim.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusSim.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusSim.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusSim.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusBearerSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusSimProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusSim"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusSim.top_of_page"></a>MmGdbusSim</span></h2>
+<p>MmGdbusSim — Generated C code for the org.freedesktop.ModemManager1.Sim D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusSim.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-get-imsi" title="mm_gdbus_sim_get_imsi ()">mm_gdbus_sim_get_imsi</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-imsi" title="mm_gdbus_sim_dup_imsi ()">mm_gdbus_sim_dup_imsi</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-get-sim-identifier" title="mm_gdbus_sim_get_sim_identifier ()">mm_gdbus_sim_get_sim_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-sim-identifier" title="mm_gdbus_sim_dup_sim_identifier ()">mm_gdbus_sim_dup_sim_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-get-operator-identifier" title="mm_gdbus_sim_get_operator_identifier ()">mm_gdbus_sim_get_operator_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-operator-identifier" title="mm_gdbus_sim_dup_operator_identifier ()">mm_gdbus_sim_dup_operator_identifier</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-get-operator-name" title="mm_gdbus_sim_get_operator_name ()">mm_gdbus_sim_get_operator_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-operator-name" title="mm_gdbus_sim_dup_operator_name ()">mm_gdbus_sim_dup_operator_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin" title="mm_gdbus_sim_call_send_pin ()">mm_gdbus_sim_call_send_pin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin-finish" title="mm_gdbus_sim_call_send_pin_finish ()">mm_gdbus_sim_call_send_pin_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin-sync" title="mm_gdbus_sim_call_send_pin_sync ()">mm_gdbus_sim_call_send_pin_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk" title="mm_gdbus_sim_call_send_puk ()">mm_gdbus_sim_call_send_puk</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk-finish" title="mm_gdbus_sim_call_send_puk_finish ()">mm_gdbus_sim_call_send_puk_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk-sync" title="mm_gdbus_sim_call_send_puk_sync ()">mm_gdbus_sim_call_send_puk_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin" title="mm_gdbus_sim_call_enable_pin ()">mm_gdbus_sim_call_enable_pin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin-finish" title="mm_gdbus_sim_call_enable_pin_finish ()">mm_gdbus_sim_call_enable_pin_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin-sync" title="mm_gdbus_sim_call_enable_pin_sync ()">mm_gdbus_sim_call_enable_pin_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin" title="mm_gdbus_sim_call_change_pin ()">mm_gdbus_sim_call_change_pin</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin-finish" title="mm_gdbus_sim_call_change_pin_finish ()">mm_gdbus_sim_call_change_pin_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin-sync" title="mm_gdbus_sim_call_change_pin_sync ()">mm_gdbus_sim_call_change_pin_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSim.html#MmGdbusSim--imsi" title="The “imsi” property">imsi</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSim.html#MmGdbusSim--operator-identifier" title="The “operator-identifier” property">operator-identifier</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSim.html#MmGdbusSim--operator-name" title="The “operator-name” property">operator-name</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSim.html#MmGdbusSim--sim-identifier" title="The “sim-identifier” property">sim-identifier</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-change-pin" title="The “handle-change-pin” signal">handle-change-pin</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-enable-pin" title="The “handle-enable-pin” signal">handle-enable-pin</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-send-pin" title="The “handle-send-pin” signal">handle-send-pin</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-send-puk" title="The “handle-send-puk” signal">handle-send-puk</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusSim.html#MmGdbusSim-struct" title="MmGdbusSim">MmGdbusSim</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusSim.html#MmGdbusSimIface" title="struct MmGdbusSimIface">MmGdbusSimIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusSim
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusSim requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusSim is implemented by
+ <a class="link" href="MMSim.html" title="MMSim">MMSim</a>, <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a> and <a class="link" href="MmGdbusSimSkeleton.html" title="MmGdbusSimSkeleton">MmGdbusSimSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Sim D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-sim-get-imsi"></a><h3>mm_gdbus_sim_get_imsi ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sim_get_imsi (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi">"Imsi"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-imsi" title="mm_gdbus_sim_dup_imsi ()"><code class="function">mm_gdbus_sim_dup_imsi()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-get-imsi.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-get-imsi.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-dup-imsi"></a><h3>mm_gdbus_sim_dup_imsi ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sim_dup_imsi (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi">"Imsi"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-dup-imsi.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-dup-imsi.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-get-sim-identifier"></a><h3>mm_gdbus_sim_get_sim_identifier ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sim_get_sim_identifier (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier">"SimIdentifier"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-sim-identifier" title="mm_gdbus_sim_dup_sim_identifier ()"><code class="function">mm_gdbus_sim_dup_sim_identifier()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-get-sim-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-get-sim-identifier.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-dup-sim-identifier"></a><h3>mm_gdbus_sim_dup_sim_identifier ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sim_dup_sim_identifier (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier">"SimIdentifier"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-dup-sim-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-dup-sim-identifier.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-get-operator-identifier"></a><h3>mm_gdbus_sim_get_operator_identifier ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sim_get_operator_identifier (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier">"OperatorIdentifier"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-operator-identifier" title="mm_gdbus_sim_dup_operator_identifier ()"><code class="function">mm_gdbus_sim_dup_operator_identifier()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-get-operator-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-get-operator-identifier.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-dup-operator-identifier"></a><h3>mm_gdbus_sim_dup_operator_identifier ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sim_dup_operator_identifier (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier">"OperatorIdentifier"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-dup-operator-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-dup-operator-identifier.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-get-operator-name"></a><h3>mm_gdbus_sim_get_operator_name ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sim_get_operator_name (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName">"OperatorName"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-operator-name" title="mm_gdbus_sim_dup_operator_name ()"><code class="function">mm_gdbus_sim_dup_operator_name()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-get-operator-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-get-operator-name.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-dup-operator-name"></a><h3>mm_gdbus_sim_dup_operator_name ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sim_dup_operator_name (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName">"OperatorName"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-dup-operator-name.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-dup-operator-name.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-send-pin"></a><h3>mm_gdbus_sim_call_send_pin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sim_call_send_pin (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin"><GTKDOCLINK HREF="SendPin"><code class="function">SendPin()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin-finish" title="mm_gdbus_sim_call_send_pin_finish ()"><code class="function">mm_gdbus_sim_call_send_pin_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin-sync" title="mm_gdbus_sim_call_send_pin_sync ()"><code class="function">mm_gdbus_sim_call_send_pin_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-send-pin-finish"></a><h3>mm_gdbus_sim_call_send_pin_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sim_call_send_pin_finish (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin" title="mm_gdbus_sim_call_send_pin ()"><code class="function">mm_gdbus_sim_call_send_pin()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-pin-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin" title="mm_gdbus_sim_call_send_pin ()"><code class="function">mm_gdbus_sim_call_send_pin()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-pin-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-send-pin-sync"></a><h3>mm_gdbus_sim_call_send_pin_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sim_call_send_pin_sync (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin"><GTKDOCLINK HREF="SendPin"><code class="function">SendPin()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin" title="mm_gdbus_sim_call_send_pin ()"><code class="function">mm_gdbus_sim_call_send_pin()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-pin-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-pin-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-send-puk"></a><h3>mm_gdbus_sim_call_send_puk ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sim_call_send_puk (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_puk</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk"><GTKDOCLINK HREF="SendPuk"><code class="function">SendPuk()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk-finish" title="mm_gdbus_sim_call_send_puk_finish ()"><code class="function">mm_gdbus_sim_call_send_puk_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk-sync" title="mm_gdbus_sim_call_send_puk_sync ()"><code class="function">mm_gdbus_sim_call_send_puk_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-puk.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_puk</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-send-puk-finish"></a><h3>mm_gdbus_sim_call_send_puk_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sim_call_send_puk_finish (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk" title="mm_gdbus_sim_call_send_puk ()"><code class="function">mm_gdbus_sim_call_send_puk()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-puk-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk" title="mm_gdbus_sim_call_send_puk ()"><code class="function">mm_gdbus_sim_call_send_puk()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-puk-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-send-puk-sync"></a><h3>mm_gdbus_sim_call_send_puk_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sim_call_send_puk_sync (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_puk</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk"><GTKDOCLINK HREF="SendPuk"><code class="function">SendPuk()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk" title="mm_gdbus_sim_call_send_puk ()"><code class="function">mm_gdbus_sim_call_send_puk()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-puk-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_puk</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-send-puk-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-enable-pin"></a><h3>mm_gdbus_sim_call_enable_pin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sim_call_enable_pin (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_enabled</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin"><GTKDOCLINK HREF="EnablePin"><code class="function">EnablePin()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin-finish" title="mm_gdbus_sim_call_enable_pin_finish ()"><code class="function">mm_gdbus_sim_call_enable_pin_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin-sync" title="mm_gdbus_sim_call_enable_pin_sync ()"><code class="function">mm_gdbus_sim_call_enable_pin_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-enable-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_enabled</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-enable-pin-finish"></a><h3>mm_gdbus_sim_call_enable_pin_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sim_call_enable_pin_finish (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin" title="mm_gdbus_sim_call_enable_pin ()"><code class="function">mm_gdbus_sim_call_enable_pin()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-enable-pin-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin" title="mm_gdbus_sim_call_enable_pin ()"><code class="function">mm_gdbus_sim_call_enable_pin()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-enable-pin-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-enable-pin-sync"></a><h3>mm_gdbus_sim_call_enable_pin_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sim_call_enable_pin_sync (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_enabled</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin"><GTKDOCLINK HREF="EnablePin"><code class="function">EnablePin()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin" title="mm_gdbus_sim_call_enable_pin ()"><code class="function">mm_gdbus_sim_call_enable_pin()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-enable-pin-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_enabled</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-enable-pin-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-change-pin"></a><h3>mm_gdbus_sim_call_change_pin ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sim_call_change_pin (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_old_pin</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_new_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin"><GTKDOCLINK HREF="ChangePin"><code class="function">ChangePin()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin-finish" title="mm_gdbus_sim_call_change_pin_finish ()"><code class="function">mm_gdbus_sim_call_change_pin_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin-sync" title="mm_gdbus_sim_call_change_pin_sync ()"><code class="function">mm_gdbus_sim_call_change_pin_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-change-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_old_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_new_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-change-pin-finish"></a><h3>mm_gdbus_sim_call_change_pin_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sim_call_change_pin_finish (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin" title="mm_gdbus_sim_call_change_pin ()"><code class="function">mm_gdbus_sim_call_change_pin()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-change-pin-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin" title="mm_gdbus_sim_call_change_pin ()"><code class="function">mm_gdbus_sim_call_change_pin()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-change-pin-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-call-change-pin-sync"></a><h3>mm_gdbus_sim_call_change_pin_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sim_call_change_pin_sync (<em class="parameter"><code><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *proxy</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_old_pin</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_new_pin</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin"><GTKDOCLINK HREF="ChangePin"><code class="function">ChangePin()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin" title="mm_gdbus_sim_call_change_pin ()"><code class="function">mm_gdbus_sim_call_change_pin()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-change-pin-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_old_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_new_pin</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-call-change-pin-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusSim-struct"></a><h3>MmGdbusSim</h3>
+<pre class="programlisting">typedef struct _MmGdbusSim MmGdbusSim;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Sim.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSimIface"></a><h3>struct MmGdbusSimIface</h3>
+<pre class="programlisting">struct MmGdbusSimIface {
+ GTypeInterface parent_iface;
+
+
+ gboolean (*handle_change_pin) (
+ MmGdbusSim *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_old_pin,
+ const gchar *arg_new_pin);
+
+ gboolean (*handle_enable_pin) (
+ MmGdbusSim *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_pin,
+ gboolean arg_enabled);
+
+ gboolean (*handle_send_pin) (
+ MmGdbusSim *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_pin);
+
+ gboolean (*handle_send_puk) (
+ MmGdbusSim *object,
+ GDBusMethodInvocation *invocation,
+ const gchar *arg_puk,
+ const gchar *arg_pin);
+
+ const gchar * (*get_imsi) (MmGdbusSim *object);
+
+ const gchar * (*get_operator_identifier) (MmGdbusSim *object);
+
+ const gchar * (*get_operator_name) (MmGdbusSim *object);
+
+ const gchar * (*get_sim_identifier) (MmGdbusSim *object);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Sim.</p>
+<div class="refsect3">
+<a name="MmGdbusSimIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusSimIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSimIface.handle-change-pin"></a>handle_change_pin</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-change-pin" title="The “handle-change-pin” signal"><span class="type">“handle-change-pin”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSimIface.handle-enable-pin"></a>handle_enable_pin</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-enable-pin" title="The “handle-enable-pin” signal"><span class="type">“handle-enable-pin”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSimIface.handle-send-pin"></a>handle_send_pin</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-send-pin" title="The “handle-send-pin” signal"><span class="type">“handle-send-pin”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSimIface.handle-send-puk"></a>handle_send_puk</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-send-puk" title="The “handle-send-puk” signal"><span class="type">“handle-send-puk”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSimIface.get-imsi"></a>get_imsi</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSim.html#MmGdbusSim--imsi" title="The “imsi” property"><span class="type">“imsi”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSimIface.get-operator-identifier"></a>get_operator_identifier</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSim.html#MmGdbusSim--operator-identifier" title="The “operator-identifier” property"><span class="type">“operator-identifier”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSimIface.get-operator-name"></a>get_operator_name</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSim.html#MmGdbusSim--operator-name" title="The “operator-name” property"><span class="type">“operator-name”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSimIface.get-sim-identifier"></a>get_sim_identifier</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSim.html#MmGdbusSim--sim-identifier" title="The “sim-identifier” property"><span class="type">“sim-identifier”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusSim--imsi"></a><h3>The <code class="literal">“imsi”</code> property</h3>
+<pre class="programlisting"> “imsi” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi">"Imsi"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSim--operator-identifier"></a><h3>The <code class="literal">“operator-identifier”</code> property</h3>
+<pre class="programlisting"> “operator-identifier” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier">"OperatorIdentifier"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSim--operator-name"></a><h3>The <code class="literal">“operator-name”</code> property</h3>
+<pre class="programlisting"> “operator-name” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName">"OperatorName"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSim--sim-identifier"></a><h3>The <code class="literal">“sim-identifier”</code> property</h3>
+<pre class="programlisting"> “sim-identifier” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier">"SimIdentifier"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSim.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusSim-handle-change-pin"></a><h3>The <code class="literal">“handle-change-pin”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_old_pin,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_new_pin,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin"><GTKDOCLINK HREF="ChangePin"><code class="function">ChangePin()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_sim_complete_change_pin()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusSim-handle-change-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_old_pin</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_new_pin</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusSim-handle-change-pin.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSim-handle-enable-pin"></a><h3>The <code class="literal">“handle-enable-pin”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_pin,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> arg_enabled,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin"><GTKDOCLINK HREF="EnablePin"><code class="function">EnablePin()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_sim_complete_enable_pin()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusSim-handle-enable-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_pin</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_enabled</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusSim-handle-enable-pin.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSim-handle-send-pin"></a><h3>The <code class="literal">“handle-send-pin”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_pin,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin"><GTKDOCLINK HREF="SendPin"><code class="function">SendPin()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_sim_complete_send_pin()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusSim-handle-send-pin.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_pin</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusSim-handle-send-pin.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSim-handle-send-puk"></a><h3>The <code class="literal">“handle-send-puk”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_puk,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg_pin,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sim.html#gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk"><GTKDOCLINK HREF="SendPuk"><code class="function">SendPuk()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_sim_complete_send_puk()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusSim-handle-send-puk.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="type">MmGdbusSim</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_puk</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_pin</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusSim-handle-send-puk.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusSimProxy.html b/docs/reference/libmm-glib/html/MmGdbusSimProxy.html
new file mode 100644
index 00000000..526ad05e
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusSimProxy.html
@@ -0,0 +1,467 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusSimProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusSim.html" title="MmGdbusSim">
+<link rel="next" href="MmGdbusSimSkeleton.html" title="MmGdbusSimSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusSimProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusSimProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusSimProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusSim.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusSimSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusSimProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusSimProxy.top_of_page"></a>MmGdbusSimProxy</span></h2>
+<p>MmGdbusSimProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusSimProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new" title="mm_gdbus_sim_proxy_new ()">mm_gdbus_sim_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-finish" title="mm_gdbus_sim_proxy_new_finish ()">mm_gdbus_sim_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus" title="mm_gdbus_sim_proxy_new_for_bus ()">mm_gdbus_sim_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus-finish" title="mm_gdbus_sim_proxy_new_for_bus_finish ()">mm_gdbus_sim_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus-sync" title="mm_gdbus_sim_proxy_new_for_bus_sync ()">mm_gdbus_sim_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-sync" title="mm_gdbus_sim_proxy_new_sync ()">mm_gdbus_sim_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusSimProxy.html#MmGdbusSimProxy-struct" title="struct MmGdbusSimProxy">MmGdbusSimProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusSimProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusSimProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-sim-proxy-new"></a><h3>mm_gdbus_sim_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sim_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Sim. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-finish" title="mm_gdbus_sim_proxy_new_finish ()"><code class="function">mm_gdbus_sim_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-sync" title="mm_gdbus_sim_proxy_new_sync ()"><code class="function">mm_gdbus_sim_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-proxy-new-finish"></a><h3>mm_gdbus_sim_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+mm_gdbus_sim_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new" title="mm_gdbus_sim_proxy_new ()"><code class="function">mm_gdbus_sim_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new" title="mm_gdbus_sim_proxy_new ()"><code class="function">mm_gdbus_sim_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSimProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-proxy-new-for-bus"></a><h3>mm_gdbus_sim_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sim_proxy_new_for_bus (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new" title="mm_gdbus_sim_proxy_new ()"><code class="function">mm_gdbus_sim_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus-finish" title="mm_gdbus_sim_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_sim_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus-sync" title="mm_gdbus_sim_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_sim_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-proxy-new-for-bus-finish"></a><h3>mm_gdbus_sim_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+mm_gdbus_sim_proxy_new_for_bus_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus" title="mm_gdbus_sim_proxy_new_for_bus ()"><code class="function">mm_gdbus_sim_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus" title="mm_gdbus_sim_proxy_new_for_bus ()"><code class="function">mm_gdbus_sim_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSimProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-proxy-new-for-bus-sync"></a><h3>mm_gdbus_sim_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+mm_gdbus_sim_proxy_new_for_bus_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-sync" title="mm_gdbus_sim_proxy_new_sync ()"><code class="function">mm_gdbus_sim_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus" title="mm_gdbus_sim_proxy_new_for_bus ()"><code class="function">mm_gdbus_sim_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSimProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sim-proxy-new-sync"></a><h3>mm_gdbus_sim_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+mm_gdbus_sim_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Sim. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new" title="mm_gdbus_sim_proxy_new ()"><code class="function">mm_gdbus_sim_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sim-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSimProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusSimProxy-struct"></a><h3>struct MmGdbusSimProxy</h3>
+<pre class="programlisting">struct MmGdbusSimProxy;</pre>
+<p>The <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy"><span class="type">MmGdbusSimProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusSimSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusSimSkeleton.html
new file mode 100644
index 00000000..e156e4bb
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusSimSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusSimSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">
+<link rel="next" href="MmGdbusSms.html" title="MmGdbusSms">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusSimSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusSimSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusSimSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusSimProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusSms.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusSimSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusSimSkeleton.top_of_page"></a>MmGdbusSimSkeleton</span></h2>
+<p>MmGdbusSimSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusSimSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSimSkeleton.html#mm-gdbus-sim-skeleton-new" title="mm_gdbus_sim_skeleton_new ()">mm_gdbus_sim_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusSimSkeleton.html#MmGdbusSimSkeleton-struct" title="struct MmGdbusSimSkeleton">MmGdbusSimSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusSimSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusSimSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-sim-skeleton-new"></a><h3>mm_gdbus_sim_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSim.html" title="MmGdbusSim"><span class="returnvalue">MmGdbusSim</span></a> *
+mm_gdbus_sim_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Sim.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sim-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSimSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSimSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusSimSkeleton-struct"></a><h3>struct MmGdbusSimSkeleton</h3>
+<pre class="programlisting">struct MmGdbusSimSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusSimSkeleton.html" title="MmGdbusSimSkeleton"><span class="type">MmGdbusSimSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusSms.html b/docs/reference/libmm-glib/html/MmGdbusSms.html
new file mode 100644
index 00000000..c40d1063
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusSms.html
@@ -0,0 +1,1806 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusSms: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusSimSkeleton.html" title="MmGdbusSimSkeleton">
+<link rel="next" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusSms.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusSms.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
+ <a href="#MmGdbusSms.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
+ <a href="#MmGdbusSms.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
+ <a href="#MmGdbusSms.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+ <a href="#MmGdbusSms.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusSimSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusSmsProxy.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusSms"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusSms.top_of_page"></a>MmGdbusSms</span></h2>
+<p>MmGdbusSms — Generated C code for the org.freedesktop.ModemManager1.Sms D-Bus interface</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusSms.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-state" title="mm_gdbus_sms_get_state ()">mm_gdbus_sms_get_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-pdu-type" title="mm_gdbus_sms_get_pdu_type ()">mm_gdbus_sms_get_pdu_type</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-message-reference" title="mm_gdbus_sms_get_message_reference ()">mm_gdbus_sms_get_message_reference</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-storage" title="mm_gdbus_sms_get_storage ()">mm_gdbus_sms_get_storage</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-text" title="mm_gdbus_sms_get_text ()">mm_gdbus_sms_get_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-text" title="mm_gdbus_sms_dup_text ()">mm_gdbus_sms_dup_text</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-data" title="mm_gdbus_sms_get_data ()">mm_gdbus_sms_get_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-data" title="mm_gdbus_sms_dup_data ()">mm_gdbus_sms_dup_data</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-number" title="mm_gdbus_sms_get_number ()">mm_gdbus_sms_get_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-number" title="mm_gdbus_sms_dup_number ()">mm_gdbus_sms_dup_number</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-smsc" title="mm_gdbus_sms_get_smsc ()">mm_gdbus_sms_get_smsc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-smsc" title="mm_gdbus_sms_dup_smsc ()">mm_gdbus_sms_dup_smsc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-validity" title="mm_gdbus_sms_get_validity ()">mm_gdbus_sms_get_validity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-validity" title="mm_gdbus_sms_dup_validity ()">mm_gdbus_sms_dup_validity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-class" title="mm_gdbus_sms_get_class ()">mm_gdbus_sms_get_class</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-teleservice-id" title="mm_gdbus_sms_get_teleservice_id ()">mm_gdbus_sms_get_teleservice_id</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-service-category" title="mm_gdbus_sms_get_service_category ()">mm_gdbus_sms_get_service_category</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-timestamp" title="mm_gdbus_sms_get_timestamp ()">mm_gdbus_sms_get_timestamp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-timestamp" title="mm_gdbus_sms_dup_timestamp ()">mm_gdbus_sms_dup_timestamp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-discharge-timestamp" title="mm_gdbus_sms_get_discharge_timestamp ()">mm_gdbus_sms_get_discharge_timestamp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-discharge-timestamp" title="mm_gdbus_sms_dup_discharge_timestamp ()">mm_gdbus_sms_dup_discharge_timestamp</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-delivery-report-request" title="mm_gdbus_sms_get_delivery_report_request ()">mm_gdbus_sms_get_delivery_report_request</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-delivery-state" title="mm_gdbus_sms_get_delivery_state ()">mm_gdbus_sms_get_delivery_state</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send" title="mm_gdbus_sms_call_send ()">mm_gdbus_sms_call_send</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send-finish" title="mm_gdbus_sms_call_send_finish ()">mm_gdbus_sms_call_send_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send-sync" title="mm_gdbus_sms_call_send_sync ()">mm_gdbus_sms_call_send_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store" title="mm_gdbus_sms_call_store ()">mm_gdbus_sms_call_store</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store-finish" title="mm_gdbus_sms_call_store_finish ()">mm_gdbus_sms_call_store_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store-sync" title="mm_gdbus_sms_call_store_sync ()">mm_gdbus_sms_call_store_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--class" title="The “class” property">class</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--data" title="The “data” property">data</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--delivery-report-request" title="The “delivery-report-request” property">delivery-report-request</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--delivery-state" title="The “delivery-state” property">delivery-state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--discharge-timestamp" title="The “discharge-timestamp” property">discharge-timestamp</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--message-reference" title="The “message-reference” property">message-reference</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--number" title="The “number” property">number</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--pdu-type" title="The “pdu-type” property">pdu-type</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--service-category" title="The “service-category” property">service-category</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--smsc" title="The “smsc” property">smsc</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--state" title="The “state” property">state</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--storage" title="The “storage” property">storage</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--teleservice-id" title="The “teleservice-id” property">teleservice-id</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--text" title="The “text” property">text</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--timestamp" title="The “timestamp” property">timestamp</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</td>
+<td class="property_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms--validity" title="The “validity” property">validity</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms-handle-send" title="The “handle-send” signal">handle-send</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+<tr>
+<td class="signal_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms-handle-store" title="The “handle-store” signal">handle-store</a></td>
+<td class="signal_flags"><a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="MmGdbusSms.html#MmGdbusSms-struct" title="MmGdbusSms">MmGdbusSms</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusSms.html#MmGdbusSmsIface" title="struct MmGdbusSmsIface">MmGdbusSmsIface</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">╰──</span> MmGdbusSms
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.prerequisites"></a><h2>Prerequisites</h2>
+<p>
+MmGdbusSms requires
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.implementations"></a><h2>Known Implementations</h2>
+<p>
+MmGdbusSms is implemented by
+ <a class="link" href="MMSms.html" title="MMSms">MMSms</a>, <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a> and <a class="link" href="MmGdbusSmsSkeleton.html" title="MmGdbusSmsSkeleton">MmGdbusSmsSkeleton</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.description"></a><h2>Description</h2>
+<p>This section contains code for working with the org.freedesktop.ModemManager1.Sms D-Bus interface in C.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-state"></a><h3>mm_gdbus_sms_get_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_sms_get_state (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.State">"State"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-pdu-type"></a><h3>mm_gdbus_sms_get_pdu_type ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_sms_get_pdu_type (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.PduType">"PduType"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-pdu-type.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-pdu-type.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-message-reference"></a><h3>mm_gdbus_sms_get_message_reference ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_sms_get_message_reference (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.MessageReference">"MessageReference"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-message-reference.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-message-reference.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-storage"></a><h3>mm_gdbus_sms_get_storage ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_sms_get_storage (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Storage">"Storage"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-storage.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-storage.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-text"></a><h3>mm_gdbus_sms_get_text ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_get_text (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Text">"Text"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-text" title="mm_gdbus_sms_dup_text ()"><code class="function">mm_gdbus_sms_dup_text()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-text.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-text.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-dup-text"></a><h3>mm_gdbus_sms_dup_text ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_dup_text (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Text">"Text"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-text.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-text.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-data"></a><h3>mm_gdbus_sms_get_data ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_sms_get_data (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Data">"Data"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-data" title="mm_gdbus_sms_dup_data ()"><code class="function">mm_gdbus_sms_dup_data()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-data.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-dup-data"></a><h3>mm_gdbus_sms_dup_data ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_sms_dup_data (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Data">"Data"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-data.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-data.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-number"></a><h3>mm_gdbus_sms_get_number ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_get_number (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Number">"Number"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-number" title="mm_gdbus_sms_dup_number ()"><code class="function">mm_gdbus_sms_dup_number()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-number.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-dup-number"></a><h3>mm_gdbus_sms_dup_number ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_dup_number (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Number">"Number"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-number.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-number.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-smsc"></a><h3>mm_gdbus_sms_get_smsc ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_get_smsc (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC">"SMSC"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-smsc" title="mm_gdbus_sms_dup_smsc ()"><code class="function">mm_gdbus_sms_dup_smsc()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-smsc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-smsc.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-dup-smsc"></a><h3>mm_gdbus_sms_dup_smsc ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_dup_smsc (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC">"SMSC"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-smsc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-smsc.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-validity"></a><h3>mm_gdbus_sms_get_validity ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_sms_get_validity (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Validity">"Validity"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-validity" title="mm_gdbus_sms_dup_validity ()"><code class="function">mm_gdbus_sms_dup_validity()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-validity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-validity.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-dup-validity"></a><h3>mm_gdbus_sms_dup_validity ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="returnvalue">GVariant</span></a> *
+mm_gdbus_sms_dup_validity (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Validity">"Validity"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-validity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-validity.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#g-variant-unref"><code class="function">g_variant_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-class"></a><h3>mm_gdbus_sms_get_class ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
+mm_gdbus_sms_get_class (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Class">"Class"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-class.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-class.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-teleservice-id"></a><h3>mm_gdbus_sms_get_teleservice_id ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_sms_get_teleservice_id (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.TeleserviceId">"TeleserviceId"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-teleservice-id.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-teleservice-id.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-service-category"></a><h3>mm_gdbus_sms_get_service_category ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_sms_get_service_category (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.ServiceCategory">"ServiceCategory"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-service-category.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-service-category.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-timestamp"></a><h3>mm_gdbus_sms_get_timestamp ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_get_timestamp (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp">"Timestamp"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-timestamp" title="mm_gdbus_sms_dup_timestamp ()"><code class="function">mm_gdbus_sms_dup_timestamp()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-timestamp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-timestamp.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-dup-timestamp"></a><h3>mm_gdbus_sms_dup_timestamp ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_dup_timestamp (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp">"Timestamp"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-timestamp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-timestamp.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-discharge-timestamp"></a><h3>mm_gdbus_sms_get_discharge_timestamp ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_get_discharge_timestamp (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp">"DischargeTimestamp"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<div class="warning">The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where <em class="parameter"><code>object</code></em> was constructed. Use <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-discharge-timestamp" title="mm_gdbus_sms_dup_discharge_timestamp ()"><code class="function">mm_gdbus_sms_dup_discharge_timestamp()</code></a> if on another thread.</div>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-discharge-timestamp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-discharge-timestamp.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. Do not free the returned value, it belongs to <em class="parameter"><code>object</code></em>
+. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-dup-discharge-timestamp"></a><h3>mm_gdbus_sms_dup_discharge_timestamp ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_gdbus_sms_dup_discharge_timestamp (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets a copy of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp">"DischargeTimestamp"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-discharge-timestamp.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-dup-discharge-timestamp.returns"></a><h4>Returns</h4>
+<p>The property value or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the property is not set. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-delivery-report-request"></a><h3>mm_gdbus_sms_get_delivery_report_request ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sms_get_delivery_report_request
+ (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryReportRequest">"DeliveryReportRequest"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-delivery-report-request.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-delivery-report-request.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-get-delivery-state"></a><h3>mm_gdbus_sms_get_delivery_state ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+mm_gdbus_sms_get_delivery_state (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object</code></em>);</pre>
+<p>Gets the value of the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryState">"DeliveryState"</a> D-Bus property.</p>
+<p>Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.</p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-delivery-state.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-get-delivery-state.returns"></a><h4>Returns</h4>
+<p> The property value.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-call-send"></a><h3>mm_gdbus_sms_call_send ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sms_call_send (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Send"><GTKDOCLINK HREF="Send"><code class="function">Send()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send-finish" title="mm_gdbus_sms_call_send_finish ()"><code class="function">mm_gdbus_sms_call_send_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send-sync" title="mm_gdbus_sms_call_send_sync ()"><code class="function">mm_gdbus_sms_call_send_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-send.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy"><span class="type">MmGdbusSmsProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-call-send-finish"></a><h3>mm_gdbus_sms_call_send_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sms_call_send_finish (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send" title="mm_gdbus_sms_call_send ()"><code class="function">mm_gdbus_sms_call_send()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-send-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy"><span class="type">MmGdbusSmsProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send" title="mm_gdbus_sms_call_send ()"><code class="function">mm_gdbus_sms_call_send()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-send-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-call-send-sync"></a><h3>mm_gdbus_sms_call_send_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sms_call_send_sync (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Send"><GTKDOCLINK HREF="Send"><code class="function">Send()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send" title="mm_gdbus_sms_call_send ()"><code class="function">mm_gdbus_sms_call_send()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-send-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy"><span class="type">MmGdbusSmsProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-send-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-call-store"></a><h3>mm_gdbus_sms_call_store ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sms_call_store (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_storage</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Store"><GTKDOCLINK HREF="Store"><code class="function">Store()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+.
+When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store-finish" title="mm_gdbus_sms_call_store_finish ()"><code class="function">mm_gdbus_sms_call_store_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store-sync" title="mm_gdbus_sms_call_store_sync ()"><code class="function">mm_gdbus_sms_call_store_sync()</code></a> for the synchronous, blocking version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-store.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy"><span class="type">MmGdbusSmsProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_storage</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-call-store-finish"></a><h3>mm_gdbus_sms_call_store_finish ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sms_call_store_finish (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store" title="mm_gdbus_sms_call_store ()"><code class="function">mm_gdbus_sms_call_store()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-store-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy"><span class="type">MmGdbusSmsProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store" title="mm_gdbus_sms_call_store ()"><code class="function">mm_gdbus_sms_call_store()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-store-finish.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-call-store-sync"></a><h3>mm_gdbus_sms_call_store_sync ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+mm_gdbus_sms_call_store_sync (<em class="parameter"><code><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_storage</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously invokes the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Store"><GTKDOCLINK HREF="Store"><code class="function">Store()</code></a></GTKDOCLINK> D-Bus method on <em class="parameter"><code>proxy</code></em>
+. The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store" title="mm_gdbus_sms_call_store ()"><code class="function">mm_gdbus_sms_call_store()</code></a> for the asynchronous version of this method.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-store-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>proxy</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy"><span class="type">MmGdbusSmsProxy</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_storage</p></td>
+<td class="parameter_description"><p>Argument to pass with the method invocation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-call-store-sync.returns"></a><h4>Returns</h4>
+<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the call succeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Exposed in C code, not necessarily available in other languages."><span class="acronym">skip</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusSms-struct"></a><h3>MmGdbusSms</h3>
+<pre class="programlisting">typedef struct _MmGdbusSms MmGdbusSms;</pre>
+<p>Abstract interface type for the D-Bus interface org.freedesktop.ModemManager1.Sms.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSmsIface"></a><h3>struct MmGdbusSmsIface</h3>
+<pre class="programlisting">struct MmGdbusSmsIface {
+ GTypeInterface parent_iface;
+
+
+ gboolean (*handle_send) (
+ MmGdbusSms *object,
+ GDBusMethodInvocation *invocation);
+
+ gboolean (*handle_store) (
+ MmGdbusSms *object,
+ GDBusMethodInvocation *invocation,
+ guint arg_storage);
+
+ gint (*get_class) (MmGdbusSms *object);
+
+ GVariant * (*get_data) (MmGdbusSms *object);
+
+ gboolean (*get_delivery_report_request) (MmGdbusSms *object);
+
+ guint (*get_delivery_state) (MmGdbusSms *object);
+
+ const gchar * (*get_discharge_timestamp) (MmGdbusSms *object);
+
+ guint (*get_message_reference) (MmGdbusSms *object);
+
+ const gchar * (*get_number) (MmGdbusSms *object);
+
+ guint (*get_pdu_type) (MmGdbusSms *object);
+
+ guint (*get_service_category) (MmGdbusSms *object);
+
+ const gchar * (*get_smsc) (MmGdbusSms *object);
+
+ guint (*get_state) (MmGdbusSms *object);
+
+ guint (*get_storage) (MmGdbusSms *object);
+
+ guint (*get_teleservice_id) (MmGdbusSms *object);
+
+ const gchar * (*get_text) (MmGdbusSms *object);
+
+ const gchar * (*get_timestamp) (MmGdbusSms *object);
+
+ GVariant * (*get_validity) (MmGdbusSms *object);
+};
+</pre>
+<p>Virtual table for the D-Bus interface org.freedesktop.ModemManager1.Sms.</p>
+<div class="refsect3">
+<a name="MmGdbusSmsIface.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><a href="https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#GTypeInterface"><span class="type">GTypeInterface</span></a> <em class="structfield"><code><a name="MmGdbusSmsIface.parent-iface"></a>parent_iface</code></em>;</p></td>
+<td class="struct_member_description"><p>The parent interface.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.handle-send"></a>handle_send</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusSms.html#MmGdbusSms-handle-send" title="The “handle-send” signal"><span class="type">“handle-send”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.handle-store"></a>handle_store</code></em> ()</p></td>
+<td class="struct_member_description"><p>Handler for the <a class="link" href="MmGdbusSms.html#MmGdbusSms-handle-store" title="The “handle-store” signal"><span class="type">“handle-store”</span></a> signal.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-class"></a>get_class</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--class" title="The “class” property"><span class="type">“class”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-data"></a>get_data</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--data" title="The “data” property"><span class="type">“data”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-delivery-report-request"></a>get_delivery_report_request</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--delivery-report-request" title="The “delivery-report-request” property"><span class="type">“delivery-report-request”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-delivery-state"></a>get_delivery_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--delivery-state" title="The “delivery-state” property"><span class="type">“delivery-state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-discharge-timestamp"></a>get_discharge_timestamp</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--discharge-timestamp" title="The “discharge-timestamp” property"><span class="type">“discharge-timestamp”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-message-reference"></a>get_message_reference</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--message-reference" title="The “message-reference” property"><span class="type">“message-reference”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-number"></a>get_number</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--number" title="The “number” property"><span class="type">“number”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-pdu-type"></a>get_pdu_type</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--pdu-type" title="The “pdu-type” property"><span class="type">“pdu-type”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-service-category"></a>get_service_category</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--service-category" title="The “service-category” property"><span class="type">“service-category”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-smsc"></a>get_smsc</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--smsc" title="The “smsc” property"><span class="type">“smsc”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-state"></a>get_state</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--state" title="The “state” property"><span class="type">“state”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-storage"></a>get_storage</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--storage" title="The “storage” property"><span class="type">“storage”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-teleservice-id"></a>get_teleservice_id</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--teleservice-id" title="The “teleservice-id” property"><span class="type">“teleservice-id”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-text"></a>get_text</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--text" title="The “text” property"><span class="type">“text”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-timestamp"></a>get_timestamp</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--timestamp" title="The “timestamp” property"><span class="type">“timestamp”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="MmGdbusSmsIface.get-validity"></a>get_validity</code></em> ()</p></td>
+<td class="struct_member_description"><p>Getter for the <a class="link" href="MmGdbusSms.html#MmGdbusSms--validity" title="The “validity” property"><span class="type">“validity”</span></a> property.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="MmGdbusSms--class"></a><h3>The <code class="literal">“class”</code> property</h3>
+<pre class="programlisting"> “class” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Class">"Class"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--data"></a><h3>The <code class="literal">“data”</code> property</h3>
+<pre class="programlisting"> “data” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Data">"Data"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;ay&gt;</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--delivery-report-request"></a><h3>The <code class="literal">“delivery-report-request”</code> property</h3>
+<pre class="programlisting"> “delivery-report-request” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryReportRequest">"DeliveryReportRequest"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--delivery-state"></a><h3>The <code class="literal">“delivery-state”</code> property</h3>
+<pre class="programlisting"> “delivery-state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryState">"DeliveryState"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--discharge-timestamp"></a><h3>The <code class="literal">“discharge-timestamp”</code> property</h3>
+<pre class="programlisting"> “discharge-timestamp” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp">"DischargeTimestamp"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--message-reference"></a><h3>The <code class="literal">“message-reference”</code> property</h3>
+<pre class="programlisting"> “message-reference” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.MessageReference">"MessageReference"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--number"></a><h3>The <code class="literal">“number”</code> property</h3>
+<pre class="programlisting"> “number” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Number">"Number"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--pdu-type"></a><h3>The <code class="literal">“pdu-type”</code> property</h3>
+<pre class="programlisting"> “pdu-type” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.PduType">"PduType"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--service-category"></a><h3>The <code class="literal">“service-category”</code> property</h3>
+<pre class="programlisting"> “service-category” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.ServiceCategory">"ServiceCategory"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--smsc"></a><h3>The <code class="literal">“smsc”</code> property</h3>
+<pre class="programlisting"> “smsc” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC">"SMSC"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--state"></a><h3>The <code class="literal">“state”</code> property</h3>
+<pre class="programlisting"> “state” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.State">"State"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--storage"></a><h3>The <code class="literal">“storage”</code> property</h3>
+<pre class="programlisting"> “storage” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Storage">"Storage"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--teleservice-id"></a><h3>The <code class="literal">“teleservice-id”</code> property</h3>
+<pre class="programlisting"> “teleservice-id” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.TeleserviceId">"TeleserviceId"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--text"></a><h3>The <code class="literal">“text”</code> property</h3>
+<pre class="programlisting"> “text” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Text">"Text"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--timestamp"></a><h3>The <code class="literal">“timestamp”</code> property</h3>
+<pre class="programlisting"> “timestamp” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp">"Timestamp"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms--validity"></a><h3>The <code class="literal">“validity”</code> property</h3>
+<pre class="programlisting"> “validity” <a href="https://developer.gnome.org/glib/unstable/glib-GVariant.html#GVariant"><span class="type">GVariant</span></a> *</pre>
+<p>Represents the D-Bus property <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-property-org-freedesktop-ModemManager1-Sms.Validity">"Validity"</a>.</p>
+<p>Since the D-Bus property for this <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: GVariant&lt;(uv)&gt;</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSms.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="MmGdbusSms-handle-send"></a><h3>The <code class="literal">“handle-send”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Send"><GTKDOCLINK HREF="Send"><code class="function">Send()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_sms_complete_send()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusSms-handle-send.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusSms-handle-send.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MmGdbusSms-handle-store"></a><h3>The <code class="literal">“handle-store”</code> signal</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a> *object,
+ <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a> *invocation,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> arg_storage,
+ <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data)</pre>
+<p>Signal emitted when a remote caller is invoking the <a href="/usr/share/gtk-doc/html/ModemManager/gdbus-org.freedesktop.ModemManager1.Sms.html#gdbus-method-org-freedesktop-ModemManager1-Sms.Store"><GTKDOCLINK HREF="Store"><code class="function">Store()</code></a></GTKDOCLINK> D-Bus method.</p>
+<p>If a signal handler returns <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, it means the signal handler will handle the invocation (e.g. take a reference to <em class="parameter"><code>invocation</code></em>
+ and eventually call <code class="function">mm_gdbus_sms_complete_store()</code> or e.g. <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#g-dbus-method-invocation-return-error"><code class="function">g_dbus_method_invocation_return_error()</code></a> on it) and no order signal handlers will run. If no signal handler handles the invocation, the <a href="https://developer.gnome.org/gio/unstable/gio-GDBusError.html#G-DBUS-ERROR-UNKNOWN-METHOD:CAPS"><code class="literal">G_DBUS_ERROR_UNKNOWN_METHOD</code></a> error is returned.</p>
+<div class="refsect3">
+<a name="MmGdbusSms-handle-store.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>A <a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="type">MmGdbusSms</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>invocation</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusMethodInvocation.html#GDBusMethodInvocation-struct"><span class="type">GDBusMethodInvocation</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>arg_storage</p></td>
+<td class="parameter_description"><p>Argument passed by remote caller.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="MmGdbusSms-handle-store.returns"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the invocation was handled, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to let other signal handlers run.</p>
+</div>
+<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusSmsProxy.html b/docs/reference/libmm-glib/html/MmGdbusSmsProxy.html
new file mode 100644
index 00000000..6f426013
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusSmsProxy.html
@@ -0,0 +1,467 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusSmsProxy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusSms.html" title="MmGdbusSms">
+<link rel="next" href="MmGdbusSmsSkeleton.html" title="MmGdbusSmsSkeleton">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusSmsProxy.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusSmsProxy.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusSmsProxy.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusSms.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusSmsSkeleton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusSmsProxy"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusSmsProxy.top_of_page"></a>MmGdbusSmsProxy</span></h2>
+<p>MmGdbusSmsProxy</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusSmsProxy.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new" title="mm_gdbus_sms_proxy_new ()">mm_gdbus_sms_proxy_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-finish" title="mm_gdbus_sms_proxy_new_finish ()">mm_gdbus_sms_proxy_new_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus" title="mm_gdbus_sms_proxy_new_for_bus ()">mm_gdbus_sms_proxy_new_for_bus</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus-finish" title="mm_gdbus_sms_proxy_new_for_bus_finish ()">mm_gdbus_sms_proxy_new_for_bus_finish</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus-sync" title="mm_gdbus_sms_proxy_new_for_bus_sync ()">mm_gdbus_sms_proxy_new_for_bus_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-sync" title="mm_gdbus_sms_proxy_new_sync ()">mm_gdbus_sms_proxy_new_sync</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsProxy.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusSmsProxy.html#MmGdbusSmsProxy-struct" title="struct MmGdbusSmsProxy">MmGdbusSmsProxy</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">╰──</span> MmGdbusSmsProxy
+ <span class="lineart">╰──</span> <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsProxy.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusSmsProxy implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a>, <a href="https://developer.gnome.org/gio/unstable/GInitable.html#GInitable-struct">GInitable</a>, <a href="https://developer.gnome.org/gio/unstable/GAsyncInitable.html#GAsyncInitable-struct">GAsyncInitable</a> and <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsProxy.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsProxy.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-sms-proxy-new"></a><h3>mm_gdbus_sms_proxy_new ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sms_proxy_new (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Asynchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Sms. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new"><code class="function">g_dbus_proxy_new()</code></a> for more details.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-finish" title="mm_gdbus_sms_proxy_new_finish ()"><code class="function">mm_gdbus_sms_proxy_new_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-sync" title="mm_gdbus_sms_proxy_new_sync ()"><code class="function">mm_gdbus_sms_proxy_new_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-proxy-new-finish"></a><h3>mm_gdbus_sms_proxy_new_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+mm_gdbus_sms_proxy_new_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new" title="mm_gdbus_sms_proxy_new ()"><code class="function">mm_gdbus_sms_proxy_new()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new" title="mm_gdbus_sms_proxy_new ()"><code class="function">mm_gdbus_sms_proxy_new()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSmsProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-proxy-new-for-bus"></a><h3>mm_gdbus_sms_proxy_new_for_bus ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+mm_gdbus_sms_proxy_new_for_bus (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> callback</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new" title="mm_gdbus_sms_proxy_new ()"><code class="function">mm_gdbus_sms_proxy_new()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>When the operation is finished, <em class="parameter"><code>callback</code></em>
+ will be invoked in the <a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default">thread-default main loop</a> of the thread you are calling this method from.
+You can then call <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus-finish" title="mm_gdbus_sms_proxy_new_for_bus_finish ()"><code class="function">mm_gdbus_sms_proxy_new_for_bus_finish()</code></a> to get the result of the operation.</p>
+<p>See <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus-sync" title="mm_gdbus_sms_proxy_new_for_bus_sync ()"><code class="function">mm_gdbus_sms_proxy_new_for_bus_sync()</code></a> for the synchronous, blocking version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new-for-bus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> to call when the request is satisfied.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data</p></td>
+<td class="parameter_description"><p>User data to pass to <em class="parameter"><code>callback</code></em>
+.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-proxy-new-for-bus-finish"></a><h3>mm_gdbus_sms_proxy_new_for_bus_finish ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+mm_gdbus_sms_proxy_new_for_bus_finish (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> *res</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Finishes an operation started with <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus" title="mm_gdbus_sms_proxy_new_for_bus ()"><code class="function">mm_gdbus_sms_proxy_new_for_bus()</code></a>.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new-for-bus-finish.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p>The <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncResult-struct"><span class="type">GAsyncResult</span></a> obtained from the <a href="https://developer.gnome.org/gio/unstable/GAsyncResult.html#GAsyncReadyCallback"><span class="type">GAsyncReadyCallback</span></a> passed to <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus" title="mm_gdbus_sms_proxy_new_for_bus ()"><code class="function">mm_gdbus_sms_proxy_new_for_bus()</code></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new-for-bus-finish.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSmsProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-proxy-new-for-bus-sync"></a><h3>mm_gdbus_sms_proxy_new_for_bus_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+mm_gdbus_sms_proxy_new_for_bus_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> bus_type</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Like <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-sync" title="mm_gdbus_sms_proxy_new_sync ()"><code class="function">mm_gdbus_sms_proxy_new_sync()</code></a> but takes a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a> instead of a <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus" title="mm_gdbus_sms_proxy_new_for_bus ()"><code class="function">mm_gdbus_sms_proxy_new_for_bus()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new-for-bus-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>bus_type</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GBusType"><span class="type">GBusType</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new-for-bus-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSmsProxy]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-gdbus-sms-proxy-new-sync"></a><h3>mm_gdbus_sms_proxy_new_sync ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+mm_gdbus_sms_proxy_new_sync (<em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a> *connection</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> flags</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
+ <em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *object_path</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> *cancellable</code></em>,
+ <em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
+<p>Synchronously creates a proxy for the D-Bus interface org.freedesktop.ModemManager1.Sms. See <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#g-dbus-proxy-new-sync"><code class="function">g_dbus_proxy_new_sync()</code></a> for more details.</p>
+<p>The calling thread is blocked until a reply is received.</p>
+<p>See <a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new" title="mm_gdbus_sms_proxy_new ()"><code class="function">mm_gdbus_sms_proxy_new()</code></a> for the asynchronous version of this constructor.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new-sync.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>connection</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GDBusConnection.html#GDBusConnection-struct"><span class="type">GDBusConnection</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>Flags from the <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxyFlags"><span class="type">GDBusProxyFlags</span></a> enumeration.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>A bus name (well-known or unique) or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>connection</code></em>
+is not a message bus connection. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object_path</p></td>
+<td class="parameter_description"><p>An object path.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cancellable</p></td>
+<td class="parameter_description"><p>A <a href="https://developer.gnome.org/gio/unstable/GCancellable.html#GCancellable-struct"><span class="type">GCancellable</span></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>Return location for error or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-gdbus-sms-proxy-new-sync.returns"></a><h4>Returns</h4>
+<p>The constructed proxy object or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error</code></em>
+is set. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSmsProxy]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsProxy.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusSmsProxy-struct"></a><h3>struct MmGdbusSmsProxy</h3>
+<pre class="programlisting">struct MmGdbusSmsProxy;</pre>
+<p>The <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy"><span class="type">MmGdbusSmsProxy</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/MmGdbusSmsSkeleton.html b/docs/reference/libmm-glib/html/MmGdbusSmsSkeleton.html
new file mode 100644
index 00000000..c9bad54e
--- /dev/null
+++ b/docs/reference/libmm-glib/html/MmGdbusSmsSkeleton.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>MmGdbusSmsSkeleton: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt02.html" title="Part II. Low level API">
+<link rel="prev" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">
+<link rel="next" href="MmGdbusCall.html" title="MmGdbusCall">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#MmGdbusSmsSkeleton.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+ <a href="#MmGdbusSmsSkeleton.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+ <a href="#MmGdbusSmsSkeleton.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MmGdbusSmsProxy.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusCall.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="MmGdbusSmsSkeleton"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="MmGdbusSmsSkeleton.top_of_page"></a>MmGdbusSmsSkeleton</span></h2>
+<p>MmGdbusSmsSkeleton</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="MmGdbusSmsSkeleton.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="MmGdbusSmsSkeleton.html#mm-gdbus-sms-skeleton-new" title="mm_gdbus_sms_skeleton_new ()">mm_gdbus_sms_skeleton_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsSkeleton.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="name">
+<col class="description">
+</colgroup>
+<tbody><tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="MmGdbusSmsSkeleton.html#MmGdbusSmsSkeleton-struct" title="struct MmGdbusSmsSkeleton">MmGdbusSmsSkeleton</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsSkeleton.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">╰──</span> MmGdbusSmsSkeleton
+</pre>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsSkeleton.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+MmGdbusSmsSkeleton implements
+ <a href="https://developer.gnome.org/gio/unstable/GDBusInterface.html#GDBusInterface-struct">GDBusInterface</a> and <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>.</p>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsSkeleton.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsSkeleton.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-gdbus-sms-skeleton-new"></a><h3>mm_gdbus_sms_skeleton_new ()</h3>
+<pre class="programlisting"><a class="link" href="MmGdbusSms.html" title="MmGdbusSms"><span class="returnvalue">MmGdbusSms</span></a> *
+mm_gdbus_sms_skeleton_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a skeleton object for the D-Bus interface org.freedesktop.ModemManager1.Sms.</p>
+<div class="refsect3">
+<a name="mm-gdbus-sms-skeleton-new.returns"></a><h4>Returns</h4>
+<p>The skeleton object. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> MmGdbusSmsSkeleton]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="MmGdbusSmsSkeleton.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="MmGdbusSmsSkeleton-struct"></a><h3>struct MmGdbusSmsSkeleton</h3>
+<pre class="programlisting">struct MmGdbusSmsSkeleton;</pre>
+<p>The <a class="link" href="MmGdbusSmsSkeleton.html" title="MmGdbusSmsSkeleton"><span class="type">MmGdbusSmsSkeleton</span></a> structure contains only private data and should only be accessed using the provided API.</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ModemManager-logo-square.png b/docs/reference/libmm-glib/html/ModemManager-logo-square.png
new file mode 100644
index 00000000..6dcb8e21
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ModemManager-logo-square.png
Binary files differ
diff --git a/docs/reference/libmm-glib/html/ModemManager-logo-wide-text.png b/docs/reference/libmm-glib/html/ModemManager-logo-wide-text.png
new file mode 100644
index 00000000..122fd8a1
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ModemManager-logo-wide-text.png
Binary files differ
diff --git a/docs/reference/libmm-glib/html/ModemManager-logo-wide.png b/docs/reference/libmm-glib/html/ModemManager-logo-wide.png
new file mode 100644
index 00000000..88e3e51b
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ModemManager-logo-wide.png
Binary files differ
diff --git a/docs/reference/libmm-glib/html/annotation-glossary.html b/docs/reference/libmm-glib/html/annotation-glossary.html
new file mode 100644
index 00000000..2e379ea9
--- /dev/null
+++ b/docs/reference/libmm-glib/html/annotation-glossary.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Annotation Glossary: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="index.html" title="libmm-glib Reference Manual">
+<link rel="prev" href="deprecated-api-index.html" title="Index of deprecated API">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_glossary"><a class="shortcut" href="#glsA">A</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsC">C</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsE">E</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsN">N</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsO">O</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsS">S</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#glsT">T</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="deprecated-api-index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><img src="right-insensitive.png" width="16" height="16" border="0"></td>
+</tr></table>
+<div class="glossary">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
+<a name="glsA"></a><h3 class="title">A</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-allow-none"></a>allow-none</span></dt>
+<dd class="glossdef"><p>NULL is OK, both for passing and for returning.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-array"></a>array</span></dt>
+<dd class="glossdef"><p>Parameter points to an array of items.</p></dd>
+<a name="glsC"></a><h3 class="title">C</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-closure"></a>closure</span></dt>
+<dd class="glossdef"><p>This parameter is a 'user_data', for callbacks; many bindings can pass NULL here.</p></dd>
+<a name="glsE"></a><h3 class="title">E</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-element-type"></a>element-type</span></dt>
+<dd class="glossdef"><p>Generics and defining elements of containers and arrays.</p></dd>
+<a name="glsN"></a><h3 class="title">N</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-nullable"></a>nullable</span></dt>
+<dd class="glossdef"><p>NULL may be passed as the value in, out, in-out; or as a return value.</p></dd>
+<a name="glsO"></a><h3 class="title">O</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-out"></a>out</span></dt>
+<dd class="glossdef"><p>Parameter for returning results. Default is <acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>.</p></dd>
+<a name="glsS"></a><h3 class="title">S</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-scope%20call"></a>scope call</span></dt>
+<dd class="glossdef"><p>The callback is valid only during the call to the method.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-skip"></a>skip</span></dt>
+<dd class="glossdef"><p>Exposed in C code, not necessarily available in other languages.</p></dd>
+<a name="glsT"></a><h3 class="title">T</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20full"></a>transfer full</span></dt>
+<dd class="glossdef"><p>Free data after the code is done.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20none"></a>transfer none</span></dt>
+<dd class="glossdef"><p>Don't free data after the code is done.</p></dd>
+<dt><span class="glossterm"><a name="annotation-glossterm-type"></a>type</span></dt>
+<dd class="glossdef"><p>Override the parsed C type with given type.</p></dd>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch01.html b/docs/reference/libmm-glib/html/ch01.html
new file mode 100644
index 00000000..017c8892
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch01.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Common enums and flags helpers: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. High level API">
+<link rel="prev" href="pt01.html" title="Part I. High level API">
+<link rel="next" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="pt01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libmm-glib-Flags-and-Enumerations.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="id-1.2.2"></a>Common enums and flags helpers</h2></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="libmm-glib-Flags-and-Enumerations.html">Flags and Enumerations</a></span><span class="refpurpose"></span>
+</dt></dl></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch02.html b/docs/reference/libmm-glib/html/ch02.html
new file mode 100644
index 00000000..c172a3b2
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch02.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Manager object: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. High level API">
+<link rel="prev" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">
+<link rel="next" href="MMManager.html" title="MMManager">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libmm-glib-Flags-and-Enumerations.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMManager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="id-1.2.3"></a>The Manager object</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt>
+<span class="refentrytitle"><a href="MMManager.html">MMManager</a></span><span class="refpurpose"> — The Manager object</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMKernelEventProperties.html">MMKernelEventProperties</a></span><span class="refpurpose"> — Helper object to handle kernel event properties.</span>
+</dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03.html b/docs/reference/libmm-glib/html/ch03.html
new file mode 100644
index 00000000..3986a812
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03.html
@@ -0,0 +1,133 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Modem object: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. High level API">
+<link rel="prev" href="MMKernelEventProperties.html" title="MMKernelEventProperties">
+<link rel="next" href="MMObject.html" title="MMObject">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMKernelEventProperties.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMObject.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="id-1.2.4"></a>The Modem object</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt>
+<span class="refentrytitle"><a href="MMObject.html">MMObject</a></span><span class="refpurpose"> — Generic object representing a modem in ModemManager</span>
+</dt>
+<dt><span class="section"><a href="ch03.html#id-1.2.4.3">Generic interfaces</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModem.html">MMModem</a></span><span class="refpurpose"> — The Modem interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMModem3gpp.html">MMModem3gpp</a></span><span class="refpurpose"> — The 3GPP interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMModem3gppUssd.html">MMModem3gppUssd</a></span><span class="refpurpose"> — The 3GPP USSD interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMModemCdma.html">MMModemCdma</a></span><span class="refpurpose"> — The CDMA interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMCdmaManualActivationProperties.html">MMCdmaManualActivationProperties</a></span><span class="refpurpose"> — Helper object to handle manual CDMA activation properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMUnlockRetries.html">MMUnlockRetries</a></span><span class="refpurpose"> — Helper object to report unlock retries.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s02.html">Simple interface support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemSimple.html">MMModemSimple</a></span><span class="refpurpose"> — The Simple interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSimpleConnectProperties.html">MMSimpleConnectProperties</a></span><span class="refpurpose"> — Helper object to handle connection properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSimpleStatus.html">MMSimpleStatus</a></span><span class="refpurpose"> — Helper object to handle overall modem status.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s03.html">Location support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemLocation.html">MMModemLocation</a></span><span class="refpurpose"> — The Location interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocation3gpp.html">MMLocation3gpp</a></span><span class="refpurpose"> — Helper object to handle 3GPP location information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocationGpsNmea.html">MMLocationGpsNmea</a></span><span class="refpurpose"> — Helper object to handle NMEA-based GPS location information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocationGpsRaw.html">MMLocationGpsRaw</a></span><span class="refpurpose"> — Helper object to handle generic GPS location information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocationCdmaBs.html">MMLocationCdmaBs</a></span><span class="refpurpose"> — Helper object to handle CDMA Base Station location information.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s04.html">Messaging support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMModemMessaging.html">MMModemMessaging</a></span><span class="refpurpose"> — The Messaging interface</span>
+</dt></dl></dd>
+<dt><span class="section"><a href="ch03s05.html">Time support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemTime.html">MMModemTime</a></span><span class="refpurpose"> — The Time interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMNetworkTimezone.html">MMNetworkTimezone</a></span><span class="refpurpose"> — Helper object to handle network timezone information.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s06.html">Firmware support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemFirmware.html">MMModemFirmware</a></span><span class="refpurpose"> — The Firmware interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMFirmwareProperties.html">MMFirmwareProperties</a></span><span class="refpurpose"> — Helper object to handle firmware information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMFirmwareUpdateSettings.html">MMFirmwareUpdateSettings</a></span><span class="refpurpose"> — Helper object to handle firmware update settings.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s07.html">Extended signal information</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemSignal.html">MMModemSignal</a></span><span class="refpurpose"> — The extended Signal interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSignal.html">MMSignal</a></span><span class="refpurpose"> — Helper object to handle extended Signal information.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s08.html">OMA support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMModemOma.html">MMModemOma</a></span><span class="refpurpose"> — The OMA interface</span>
+</dt></dl></dd>
+<dt><span class="section"><a href="ch03s09.html">Voice support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMModemVoice.html">MMModemVoice</a></span><span class="refpurpose"> — The Voice interface</span>
+</dt></dl></dd>
+<dt><span class="section"><a href="ch03s10.html">PCO support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMPco.html">MMPco</a></span><span class="refpurpose"> — Helper object to handle 3GPP PCO.</span>
+</dt></dl></dd>
+</dl></div>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.3"></a>Generic interfaces</h2></div></div></div></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03s02.html b/docs/reference/libmm-glib/html/ch03s02.html
new file mode 100644
index 00000000..567815a0
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03s02.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Simple interface support: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="MMUnlockRetries.html" title="MMUnlockRetries">
+<link rel="next" href="MMModemSimple.html" title="MMModemSimple">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMUnlockRetries.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModemSimple.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.4"></a>Simple interface support</h2></div></div></div></div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03s03.html b/docs/reference/libmm-glib/html/ch03s03.html
new file mode 100644
index 00000000..fc7946c9
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03s03.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Location support: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="MMSimpleStatus.html" title="MMSimpleStatus">
+<link rel="next" href="MMModemLocation.html" title="MMModemLocation">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMSimpleStatus.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModemLocation.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.5"></a>Location support</h2></div></div></div></div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03s04.html b/docs/reference/libmm-glib/html/ch03s04.html
new file mode 100644
index 00000000..e0045a81
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03s04.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Messaging support: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs">
+<link rel="next" href="MMModemMessaging.html" title="MMModemMessaging">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMLocationCdmaBs.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModemMessaging.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.6"></a>Messaging support</h2></div></div></div></div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03s05.html b/docs/reference/libmm-glib/html/ch03s05.html
new file mode 100644
index 00000000..444520a2
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03s05.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Time support: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="MMModemMessaging.html" title="MMModemMessaging">
+<link rel="next" href="MMModemTime.html" title="MMModemTime">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModemMessaging.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModemTime.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.7"></a>Time support</h2></div></div></div></div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03s06.html b/docs/reference/libmm-glib/html/ch03s06.html
new file mode 100644
index 00000000..47f2d868
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03s06.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Firmware support: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="MMNetworkTimezone.html" title="MMNetworkTimezone">
+<link rel="next" href="MMModemFirmware.html" title="MMModemFirmware">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMNetworkTimezone.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModemFirmware.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.8"></a>Firmware support</h2></div></div></div></div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03s07.html b/docs/reference/libmm-glib/html/ch03s07.html
new file mode 100644
index 00000000..38793e01
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03s07.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Extended signal information: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings">
+<link rel="next" href="MMModemSignal.html" title="MMModemSignal">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMFirmwareUpdateSettings.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModemSignal.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.9"></a>Extended signal information</h2></div></div></div></div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03s08.html b/docs/reference/libmm-glib/html/ch03s08.html
new file mode 100644
index 00000000..4adaa948
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03s08.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>OMA support: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="MMSignal.html" title="MMSignal">
+<link rel="next" href="MMModemOma.html" title="MMModemOma">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMSignal.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModemOma.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.10"></a>OMA support</h2></div></div></div></div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03s09.html b/docs/reference/libmm-glib/html/ch03s09.html
new file mode 100644
index 00000000..8db36473
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03s09.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Voice support: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="MMModemOma.html" title="MMModemOma">
+<link rel="next" href="MMModemVoice.html" title="MMModemVoice">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModemOma.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMModemVoice.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.11"></a>Voice support</h2></div></div></div></div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch03s10.html b/docs/reference/libmm-glib/html/ch03s10.html
new file mode 100644
index 00000000..e9a4ac28
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch03s10.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>PCO support: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch03.html" title="The Modem object">
+<link rel="prev" href="MMModemVoice.html" title="MMModemVoice">
+<link rel="next" href="MMPco.html" title="MMPco">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMModemVoice.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMPco.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.4.12"></a>PCO support</h2></div></div></div></div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch04.html b/docs/reference/libmm-glib/html/ch04.html
new file mode 100644
index 00000000..d85d8224
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch04.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Bearer object: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. High level API">
+<link rel="prev" href="MMPco.html" title="MMPco">
+<link rel="next" href="MMBearer.html" title="MMBearer">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMPco.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMBearer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="id-1.2.5"></a>The Bearer object</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt>
+<span class="refentrytitle"><a href="MMBearer.html">MMBearer</a></span><span class="refpurpose"> — The Bearer interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMBearerProperties.html">MMBearerProperties</a></span><span class="refpurpose"> — Helper object to handle bearer properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMBearerIpConfig.html">MMBearerIpConfig</a></span><span class="refpurpose"> — Helper object to handle IP configuration.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMBearerStats.html">MMBearerStats</a></span><span class="refpurpose"> — Helper object to handle bearer stats.</span>
+</dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch05.html b/docs/reference/libmm-glib/html/ch05.html
new file mode 100644
index 00000000..0a12858b
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch05.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The SIM object: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. High level API">
+<link rel="prev" href="MMBearerStats.html" title="MMBearerStats">
+<link rel="next" href="MMSim.html" title="MMSim">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMBearerStats.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMSim.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="id-1.2.6"></a>The SIM object</h2></div></div></div>
+<div class="toc"><dl class="toc"><dt>
+<span class="refentrytitle"><a href="MMSim.html">MMSim</a></span><span class="refpurpose"> — The SIM interface</span>
+</dt></dl></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch06.html b/docs/reference/libmm-glib/html/ch06.html
new file mode 100644
index 00000000..63de2c1c
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch06.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The SMS object: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. High level API">
+<link rel="prev" href="MMSim.html" title="MMSim">
+<link rel="next" href="MMSms.html" title="MMSms">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMSim.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMSms.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="id-1.2.7"></a>The SMS object</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt>
+<span class="refentrytitle"><a href="MMSms.html">MMSms</a></span><span class="refpurpose"> — The SMS interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSmsProperties.html">MMSmsProperties</a></span><span class="refpurpose"> — Helper object to handle SMS properties.</span>
+</dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ch07.html b/docs/reference/libmm-glib/html/ch07.html
new file mode 100644
index 00000000..d51ae863
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ch07.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>The Call object: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. High level API">
+<link rel="prev" href="MMSmsProperties.html" title="MMSmsProperties">
+<link rel="next" href="MMCall.html" title="MMCall">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="MMSmsProperties.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MMCall.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="id-1.2.8"></a>The Call object</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt>
+<span class="refentrytitle"><a href="MMCall.html">MMCall</a></span><span class="refpurpose"> — The call interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMCallProperties.html">MMCallProperties</a></span><span class="refpurpose"> — Helper object to handle CALL properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMCallAudioFormat.html">MMCallAudioFormat</a></span><span class="refpurpose"> — Helper object to handle voice call audio formats.</span>
+</dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/home.png b/docs/reference/libmm-glib/html/home.png
new file mode 100644
index 00000000..9346b336
--- /dev/null
+++ b/docs/reference/libmm-glib/html/home.png
Binary files differ
diff --git a/docs/reference/libmm-glib/html/index.html b/docs/reference/libmm-glib/html/index.html
new file mode 100644
index 00000000..5a345943
--- /dev/null
+++ b/docs/reference/libmm-glib/html/index.html
@@ -0,0 +1,393 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>libmm-glib Reference Manual: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="next" href="pt01.html" title="Part I. High level API">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="book">
+<div class="titlepage">
+<div>
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libmm-glib Reference Manual</p></th></tr></table></div>
+<div><h2 class="subtitle">
+ <span class="inlinemediaobject"><img src="ModemManager-logo-wide.png" align="middle"></span>
+ </h2></div>
+<div><div class="authorgroup"><div class="author">
+<h3 class="author">
+<span class="firstname">Aleksander</span> <span class="surname">Morgado</span>
+</h3>
+<div class="affiliation"><div class="address"><p><br>
+         <code class="email">&lt;<a class="email" href="mailto:aleksander@aleksander.es">aleksander@aleksander.es</a>&gt;</code><br>
+       </p></div></div>
+</div></div></div>
+<div><p class="releaseinfo">
+ For libmm-glib version 1.10.0
+
+ </p></div>
+<div><p class="copyright">Copyright © 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 The ModemManager Authors</p></div>
+<div><div class="legalnotice">
+<a name="id-1.1.6"></a><p>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the <em class="citetitle">GNU Free
+ Documentation License</em>, Version 1.3 or any later
+ version published by the Free Software Foundation with no
+ Invariant Sections, no Front-Cover Texts, and no Back-Cover
+ Texts. You may obtain a copy of the <em class="citetitle">GNU Free
+ Documentation License</em> from the Free Software
+ Foundation by visiting <a class="ulink" href="http://www.fsf.org" target="_top">their Web site</a> or by writing
+ to:
+ </p>
+<div class="address"><p><br>
+          The Free Software Foundation, Inc.<br>
+          <span class="street">51 Franklin Street</span>, Suite 500<br>
+          <span class="city">Boston</span>, <span class="state">MA</span> <span class="postcode">02110-1335</span><br>
+          <span class="country">USA</span><br>
+        </p></div>
+<p>
+ </p>
+</div></div>
+</div>
+<hr>
+</div>
+<div class="toc"><dl class="toc">
+<dt><span class="part"><a href="pt01.html">I. High level API</a></span></dt>
+<dd><dl>
+<dt><span class="chapter"><a href="ch01.html">Common enums and flags helpers</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="libmm-glib-Flags-and-Enumerations.html">Flags and Enumerations</a></span><span class="refpurpose"></span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ch02.html">The Manager object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMManager.html">MMManager</a></span><span class="refpurpose"> — The Manager object</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMKernelEventProperties.html">MMKernelEventProperties</a></span><span class="refpurpose"> — Helper object to handle kernel event properties.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ch03.html">The Modem object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMObject.html">MMObject</a></span><span class="refpurpose"> — Generic object representing a modem in ModemManager</span>
+</dt>
+<dt><span class="section"><a href="ch03.html#id-1.2.4.3">Generic interfaces</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModem.html">MMModem</a></span><span class="refpurpose"> — The Modem interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMModem3gpp.html">MMModem3gpp</a></span><span class="refpurpose"> — The 3GPP interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMModem3gppUssd.html">MMModem3gppUssd</a></span><span class="refpurpose"> — The 3GPP USSD interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMModemCdma.html">MMModemCdma</a></span><span class="refpurpose"> — The CDMA interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMCdmaManualActivationProperties.html">MMCdmaManualActivationProperties</a></span><span class="refpurpose"> — Helper object to handle manual CDMA activation properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMUnlockRetries.html">MMUnlockRetries</a></span><span class="refpurpose"> — Helper object to report unlock retries.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s02.html">Simple interface support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemSimple.html">MMModemSimple</a></span><span class="refpurpose"> — The Simple interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSimpleConnectProperties.html">MMSimpleConnectProperties</a></span><span class="refpurpose"> — Helper object to handle connection properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSimpleStatus.html">MMSimpleStatus</a></span><span class="refpurpose"> — Helper object to handle overall modem status.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s03.html">Location support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemLocation.html">MMModemLocation</a></span><span class="refpurpose"> — The Location interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocation3gpp.html">MMLocation3gpp</a></span><span class="refpurpose"> — Helper object to handle 3GPP location information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocationGpsNmea.html">MMLocationGpsNmea</a></span><span class="refpurpose"> — Helper object to handle NMEA-based GPS location information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocationGpsRaw.html">MMLocationGpsRaw</a></span><span class="refpurpose"> — Helper object to handle generic GPS location information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocationCdmaBs.html">MMLocationCdmaBs</a></span><span class="refpurpose"> — Helper object to handle CDMA Base Station location information.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s04.html">Messaging support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMModemMessaging.html">MMModemMessaging</a></span><span class="refpurpose"> — The Messaging interface</span>
+</dt></dl></dd>
+<dt><span class="section"><a href="ch03s05.html">Time support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemTime.html">MMModemTime</a></span><span class="refpurpose"> — The Time interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMNetworkTimezone.html">MMNetworkTimezone</a></span><span class="refpurpose"> — Helper object to handle network timezone information.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s06.html">Firmware support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemFirmware.html">MMModemFirmware</a></span><span class="refpurpose"> — The Firmware interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMFirmwareProperties.html">MMFirmwareProperties</a></span><span class="refpurpose"> — Helper object to handle firmware information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMFirmwareUpdateSettings.html">MMFirmwareUpdateSettings</a></span><span class="refpurpose"> — Helper object to handle firmware update settings.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s07.html">Extended signal information</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemSignal.html">MMModemSignal</a></span><span class="refpurpose"> — The extended Signal interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSignal.html">MMSignal</a></span><span class="refpurpose"> — Helper object to handle extended Signal information.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s08.html">OMA support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMModemOma.html">MMModemOma</a></span><span class="refpurpose"> — The OMA interface</span>
+</dt></dl></dd>
+<dt><span class="section"><a href="ch03s09.html">Voice support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMModemVoice.html">MMModemVoice</a></span><span class="refpurpose"> — The Voice interface</span>
+</dt></dl></dd>
+<dt><span class="section"><a href="ch03s10.html">PCO support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMPco.html">MMPco</a></span><span class="refpurpose"> — Helper object to handle 3GPP PCO.</span>
+</dt></dl></dd>
+</dl></dd>
+<dt><span class="chapter"><a href="ch04.html">The Bearer object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMBearer.html">MMBearer</a></span><span class="refpurpose"> — The Bearer interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMBearerProperties.html">MMBearerProperties</a></span><span class="refpurpose"> — Helper object to handle bearer properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMBearerIpConfig.html">MMBearerIpConfig</a></span><span class="refpurpose"> — Helper object to handle IP configuration.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMBearerStats.html">MMBearerStats</a></span><span class="refpurpose"> — Helper object to handle bearer stats.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ch05.html">The SIM object</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMSim.html">MMSim</a></span><span class="refpurpose"> — The SIM interface</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ch06.html">The SMS object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMSms.html">MMSms</a></span><span class="refpurpose"> — The SMS interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSmsProperties.html">MMSmsProperties</a></span><span class="refpurpose"> — Helper object to handle SMS properties.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ch07.html">The Call object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMCall.html">MMCall</a></span><span class="refpurpose"> — The call interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMCallProperties.html">MMCallProperties</a></span><span class="refpurpose"> — Helper object to handle CALL properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMCallAudioFormat.html">MMCallAudioFormat</a></span><span class="refpurpose"> — Helper object to handle voice call audio formats.</span>
+</dt>
+</dl></dd>
+</dl></dd>
+<dt><span class="part"><a href="pt02.html">II. Low level API</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusOrgFreedesktopModemManager1.html">MmGdbusOrgFreedesktopModemManager1</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1 D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusOrgFreedesktopModemManager1Proxy.html">MmGdbusOrgFreedesktopModemManager1Proxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusOrgFreedesktopModemManager1Skeleton.html">MmGdbusOrgFreedesktopModemManager1Skeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusObjectManagerClient.html">MmGdbusObjectManagerClient</a></span><span class="refpurpose"> — Generated GDBusObjectManagerClient type</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusObject.html">MmGdbusObject</a></span><span class="refpurpose"> — Specialized GDBusObject types</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusObjectProxy.html">MmGdbusObjectProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusObjectSkeleton.html">MmGdbusObjectSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem.html">MmGdbusModem</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemProxy.html">MmGdbusModemProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSkeleton.html">MmGdbusModemSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gpp.html">MmGdbusModem3gpp</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Modem3gpp D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppProxy.html">MmGdbusModem3gppProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppSkeleton.html">MmGdbusModem3gppSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppUssd.html">MmGdbusModem3gppUssd</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppUssdProxy.html">MmGdbusModem3gppUssdProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppUssdSkeleton.html">MmGdbusModem3gppUssdSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemCdma.html">MmGdbusModemCdma</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.ModemCdma D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemCdmaProxy.html">MmGdbusModemCdmaProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemCdmaSkeleton.html">MmGdbusModemCdmaSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemLocation.html">MmGdbusModemLocation</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Location D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemLocationProxy.html">MmGdbusModemLocationProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemLocationSkeleton.html">MmGdbusModemLocationSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemMessaging.html">MmGdbusModemMessaging</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Messaging D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemMessagingProxy.html">MmGdbusModemMessagingProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemMessagingSkeleton.html">MmGdbusModemMessagingSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemTime.html">MmGdbusModemTime</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Time D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemTimeProxy.html">MmGdbusModemTimeProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemTimeSkeleton.html">MmGdbusModemTimeSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemFirmware.html">MmGdbusModemFirmware</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Firmware D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemFirmwareProxy.html">MmGdbusModemFirmwareProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemFirmwareSkeleton.html">MmGdbusModemFirmwareSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSignal.html">MmGdbusModemSignal</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Signal D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSignalProxy.html">MmGdbusModemSignalProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSignalSkeleton.html">MmGdbusModemSignalSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemOma.html">MmGdbusModemOma</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Oma D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemOmaProxy.html">MmGdbusModemOmaProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemOmaSkeleton.html">MmGdbusModemOmaSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemVoice.html">MmGdbusModemVoice</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Voice D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemVoiceProxy.html">MmGdbusModemVoiceProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemVoiceSkeleton.html">MmGdbusModemVoiceSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSimple.html">MmGdbusModemSimple</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Simple D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSimpleProxy.html">MmGdbusModemSimpleProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSimpleSkeleton.html">MmGdbusModemSimpleSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusBearer.html">MmGdbusBearer</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Bearer D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusBearerProxy.html">MmGdbusBearerProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusBearerSkeleton.html">MmGdbusBearerSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSim.html">MmGdbusSim</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Sim D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSimProxy.html">MmGdbusSimProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSimSkeleton.html">MmGdbusSimSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSms.html">MmGdbusSms</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Sms D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSmsProxy.html">MmGdbusSmsProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSmsSkeleton.html">MmGdbusSmsSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusCall.html">MmGdbusCall</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Call D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusCallProxy.html">MmGdbusCallProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusCallSkeleton.html">MmGdbusCallSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="object-tree.html">Object Hierarchy</a></span></dt>
+<dt><span class="index"><a href="ix01.html">API Index</a></span></dt>
+<dt><span class="glossary"><a href="annotation-glossary.html">Annotation Glossary</a></span></dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/ix01.html b/docs/reference/libmm-glib/html/ix01.html
new file mode 100644
index 00000000..86e075c9
--- /dev/null
+++ b/docs/reference/libmm-glib/html/ix01.html
@@ -0,0 +1,5979 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Index: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="index.html" title="libmm-glib Reference Manual">
+<link rel="prev" href="object-tree.html" title="Object Hierarchy">
+<link rel="next" href="deprecated-api-index.html" title="Index of deprecated API">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxB">B</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxC">C</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxF">F</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxG">G</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxK">K</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxL">L</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxM">M</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxN">N</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxO">O</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxP">P</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxS">S</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxU">U</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="object-tree.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="deprecated-api-index.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="id-1.5"></a>API Index</h1></div></div></div>
+<a name="idx"></a><a name="idxB"></a><h3 class="title">B</h3>
+<dt>
+<a class="link" href="MMBearer.html#MMBearer-struct" title="struct MMBearer">MMBearer</a>, struct in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerIpConfig.html#MMBearerIpConfig-struct" title="struct MMBearerIpConfig">MMBearerIpConfig</a>, struct in <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig">MMBearerIpConfig</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#MMBearerProperties-struct" title="struct MMBearerProperties">MMBearerProperties</a>, struct in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerStats.html#MMBearerStats-struct" title="struct MMBearerStats">MMBearerStats</a>, struct in <a class="link" href="MMBearerStats.html" title="MMBearerStats">MMBearerStats</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-bearer-allowed-auth-build-string-from-mask" title="mm_bearer_allowed_auth_build_string_from_mask ()">mm_bearer_allowed_auth_build_string_from_mask</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-connect" title="mm_bearer_connect ()">mm_bearer_connect</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-connect-finish" title="mm_bearer_connect_finish ()">mm_bearer_connect_finish</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-connect-sync" title="mm_bearer_connect_sync ()">mm_bearer_connect_sync</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-disconnect" title="mm_bearer_disconnect ()">mm_bearer_disconnect</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-disconnect-finish" title="mm_bearer_disconnect_finish ()">mm_bearer_disconnect_finish</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-disconnect-sync" title="mm_bearer_disconnect_sync ()">mm_bearer_disconnect_sync</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-dup-interface" title="mm_bearer_dup_interface ()">mm_bearer_dup_interface</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-dup-path" title="mm_bearer_dup_path ()">mm_bearer_dup_path</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-bearer-type" title="mm_bearer_get_bearer_type ()">mm_bearer_get_bearer_type</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-connected" title="mm_bearer_get_connected ()">mm_bearer_get_connected</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-interface" title="mm_bearer_get_interface ()">mm_bearer_get_interface</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-ipv4-config" title="mm_bearer_get_ipv4_config ()">mm_bearer_get_ipv4_config</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-ipv6-config" title="mm_bearer_get_ipv6_config ()">mm_bearer_get_ipv6_config</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-ip-timeout" title="mm_bearer_get_ip_timeout ()">mm_bearer_get_ip_timeout</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-path" title="mm_bearer_get_path ()">mm_bearer_get_path</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-properties" title="mm_bearer_get_properties ()">mm_bearer_get_properties</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-stats" title="mm_bearer_get_stats ()">mm_bearer_get_stats</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-get-suspended" title="mm_bearer_get_suspended ()">mm_bearer_get_suspended</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-address" title="mm_bearer_ip_config_get_address ()">mm_bearer_ip_config_get_address</a>, function in <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig">MMBearerIpConfig</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-dns" title="mm_bearer_ip_config_get_dns ()">mm_bearer_ip_config_get_dns</a>, function in <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig">MMBearerIpConfig</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-gateway" title="mm_bearer_ip_config_get_gateway ()">mm_bearer_ip_config_get_gateway</a>, function in <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig">MMBearerIpConfig</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-method" title="mm_bearer_ip_config_get_method ()">mm_bearer_ip_config_get_method</a>, function in <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig">MMBearerIpConfig</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-mtu" title="mm_bearer_ip_config_get_mtu ()">mm_bearer_ip_config_get_mtu</a>, function in <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig">MMBearerIpConfig</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerIpConfig.html#mm-bearer-ip-config-get-prefix" title="mm_bearer_ip_config_get_prefix ()">mm_bearer_ip_config_get_prefix</a>, function in <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig">MMBearerIpConfig</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-bearer-ip-family-get-string" title="mm_bearer_ip_family_get_string ()">mm_bearer_ip_family_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-bearer-ip-method-get-string" title="mm_bearer_ip_method_get_string ()">mm_bearer_ip_method_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-peek-ipv4-config" title="mm_bearer_peek_ipv4_config ()">mm_bearer_peek_ipv4_config</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-peek-ipv6-config" title="mm_bearer_peek_ipv6_config ()">mm_bearer_peek_ipv6_config</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-peek-properties" title="mm_bearer_peek_properties ()">mm_bearer_peek_properties</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearer.html#mm-bearer-peek-stats" title="mm_bearer_peek_stats ()">mm_bearer_peek_stats</a>, function in <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-allowed-auth" title="mm_bearer_properties_get_allowed_auth ()">mm_bearer_properties_get_allowed_auth</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-allow-roaming" title="mm_bearer_properties_get_allow_roaming ()">mm_bearer_properties_get_allow_roaming</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-apn" title="mm_bearer_properties_get_apn ()">mm_bearer_properties_get_apn</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-ip-type" title="mm_bearer_properties_get_ip_type ()">mm_bearer_properties_get_ip_type</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-number" title="mm_bearer_properties_get_number ()">mm_bearer_properties_get_number</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-password" title="mm_bearer_properties_get_password ()">mm_bearer_properties_get_password</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-rm-protocol" title="mm_bearer_properties_get_rm_protocol ()">mm_bearer_properties_get_rm_protocol</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-get-user" title="mm_bearer_properties_get_user ()">mm_bearer_properties_get_user</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-new" title="mm_bearer_properties_new ()">mm_bearer_properties_new</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-allowed-auth" title="mm_bearer_properties_set_allowed_auth ()">mm_bearer_properties_set_allowed_auth</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-allow-roaming" title="mm_bearer_properties_set_allow_roaming ()">mm_bearer_properties_set_allow_roaming</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-apn" title="mm_bearer_properties_set_apn ()">mm_bearer_properties_set_apn</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-ip-type" title="mm_bearer_properties_set_ip_type ()">mm_bearer_properties_set_ip_type</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-number" title="mm_bearer_properties_set_number ()">mm_bearer_properties_set_number</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-password" title="mm_bearer_properties_set_password ()">mm_bearer_properties_set_password</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-rm-protocol" title="mm_bearer_properties_set_rm_protocol ()">mm_bearer_properties_set_rm_protocol</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerProperties.html#mm-bearer-properties-set-user" title="mm_bearer_properties_set_user ()">mm_bearer_properties_set_user</a>, function in <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerStats.html#mm-bearer-stats-get-duration" title="mm_bearer_stats_get_duration ()">mm_bearer_stats_get_duration</a>, function in <a class="link" href="MMBearerStats.html" title="MMBearerStats">MMBearerStats</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerStats.html#mm-bearer-stats-get-rx-bytes" title="mm_bearer_stats_get_rx_bytes ()">mm_bearer_stats_get_rx_bytes</a>, function in <a class="link" href="MMBearerStats.html" title="MMBearerStats">MMBearerStats</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMBearerStats.html#mm-bearer-stats-get-tx-bytes" title="mm_bearer_stats_get_tx_bytes ()">mm_bearer_stats_get_tx_bytes</a>, function in <a class="link" href="MMBearerStats.html" title="MMBearerStats">MMBearerStats</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-bearer-type-get-string" title="mm_bearer_type_get_string ()">mm_bearer_type_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<a name="idxC"></a><h3 class="title">C</h3>
+<dt>
+<a class="link" href="MMCall.html#MMCall-struct" title="struct MMCall">MMCall</a>, struct in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallAudioFormat.html#MMCallAudioFormat-struct" title="struct MMCallAudioFormat">MMCallAudioFormat</a>, struct in <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat">MMCallAudioFormat</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#MMCallProperties-struct" title="struct MMCallProperties">MMCallProperties</a>, struct in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-accept" title="mm_call_accept ()">mm_call_accept</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-accept-finish" title="mm_call_accept_finish ()">mm_call_accept_finish</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-accept-sync" title="mm_call_accept_sync ()">mm_call_accept_sync</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallAudioFormat.html#mm-call-audio-format-get-encoding" title="mm_call_audio_format_get_encoding ()">mm_call_audio_format_get_encoding</a>, function in <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat">MMCallAudioFormat</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallAudioFormat.html#mm-call-audio-format-get-rate" title="mm_call_audio_format_get_rate ()">mm_call_audio_format_get_rate</a>, function in <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat">MMCallAudioFormat</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallAudioFormat.html#mm-call-audio-format-get-resolution" title="mm_call_audio_format_get_resolution ()">mm_call_audio_format_get_resolution</a>, function in <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat">MMCallAudioFormat</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-call-direction-get-string" title="mm_call_direction_get_string ()">mm_call_direction_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-dup-audio-port" title="mm_call_dup_audio_port ()">mm_call_dup_audio_port</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-dup-number" title="mm_call_dup_number ()">mm_call_dup_number</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-dup-path" title="mm_call_dup_path ()">mm_call_dup_path</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-get-audio-format" title="mm_call_get_audio_format ()">mm_call_get_audio_format</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-get-audio-port" title="mm_call_get_audio_port ()">mm_call_get_audio_port</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-get-direction" title="mm_call_get_direction ()">mm_call_get_direction</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-get-number" title="mm_call_get_number ()">mm_call_get_number</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-get-path" title="mm_call_get_path ()">mm_call_get_path</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-get-state" title="mm_call_get_state ()">mm_call_get_state</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-get-state-reason" title="mm_call_get_state_reason ()">mm_call_get_state_reason</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-hangup" title="mm_call_hangup ()">mm_call_hangup</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-hangup-finish" title="mm_call_hangup_finish ()">mm_call_hangup_finish</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-hangup-sync" title="mm_call_hangup_sync ()">mm_call_hangup_sync</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-peek-audio-format" title="mm_call_peek_audio_format ()">mm_call_peek_audio_format</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#mm-call-properties-get-direction" title="mm_call_properties_get_direction ()">mm_call_properties_get_direction</a>, function in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#mm-call-properties-get-number" title="mm_call_properties_get_number ()">mm_call_properties_get_number</a>, function in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#mm-call-properties-get-state" title="mm_call_properties_get_state ()">mm_call_properties_get_state</a>, function in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#mm-call-properties-get-state-reason" title="mm_call_properties_get_state_reason ()">mm_call_properties_get_state_reason</a>, function in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#mm-call-properties-new" title="mm_call_properties_new ()">mm_call_properties_new</a>, function in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#mm-call-properties-set-direction" title="mm_call_properties_set_direction ()">mm_call_properties_set_direction</a>, function in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#mm-call-properties-set-number" title="mm_call_properties_set_number ()">mm_call_properties_set_number</a>, function in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#mm-call-properties-set-state" title="mm_call_properties_set_state ()">mm_call_properties_set_state</a>, function in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCallProperties.html#mm-call-properties-set-state-reason" title="mm_call_properties_set_state_reason ()">mm_call_properties_set_state_reason</a>, function in <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-send-dtmf" title="mm_call_send_dtmf ()">mm_call_send_dtmf</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-send-dtmf-finish" title="mm_call_send_dtmf_finish ()">mm_call_send_dtmf_finish</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-send-dtmf-sync" title="mm_call_send_dtmf_sync ()">mm_call_send_dtmf_sync</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-start" title="mm_call_start ()">mm_call_start</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-start-finish" title="mm_call_start_finish ()">mm_call_start_finish</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCall.html#mm-call-start-sync" title="mm_call_start_sync ()">mm_call_start_sync</a>, function in <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-call-state-get-string" title="mm_call_state_get_string ()">mm_call_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-call-state-reason-get-string" title="mm_call_state_reason_get_string ()">mm_call_state_reason_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#MMCdmaManualActivationProperties-struct" title="struct MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>, struct in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-mdn" title="mm_cdma_manual_activation_properties_get_mdn ()">mm_cdma_manual_activation_properties_get_mdn</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-min" title="mm_cdma_manual_activation_properties_get_min ()">mm_cdma_manual_activation_properties_get_min</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-mn-aaa-key" title="mm_cdma_manual_activation_properties_get_mn_aaa_key ()">mm_cdma_manual_activation_properties_get_mn_aaa_key</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-mn-ha-key" title="mm_cdma_manual_activation_properties_get_mn_ha_key ()">mm_cdma_manual_activation_properties_get_mn_ha_key</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-prl" title="mm_cdma_manual_activation_properties_get_prl ()">mm_cdma_manual_activation_properties_get_prl</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-prl-bytearray" title="mm_cdma_manual_activation_properties_get_prl_bytearray ()">mm_cdma_manual_activation_properties_get_prl_bytearray</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-sid" title="mm_cdma_manual_activation_properties_get_sid ()">mm_cdma_manual_activation_properties_get_sid</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-spc" title="mm_cdma_manual_activation_properties_get_spc ()">mm_cdma_manual_activation_properties_get_spc</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-new" title="mm_cdma_manual_activation_properties_new ()">mm_cdma_manual_activation_properties_new</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-peek-prl-bytearray" title="mm_cdma_manual_activation_properties_peek_prl_bytearray ()">mm_cdma_manual_activation_properties_peek_prl_bytearray</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-mdn" title="mm_cdma_manual_activation_properties_set_mdn ()">mm_cdma_manual_activation_properties_set_mdn</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-min" title="mm_cdma_manual_activation_properties_set_min ()">mm_cdma_manual_activation_properties_set_min</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-mn-aaa-key" title="mm_cdma_manual_activation_properties_set_mn_aaa_key ()">mm_cdma_manual_activation_properties_set_mn_aaa_key</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-mn-ha-key" title="mm_cdma_manual_activation_properties_set_mn_ha_key ()">mm_cdma_manual_activation_properties_set_mn_ha_key</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-prl" title="mm_cdma_manual_activation_properties_set_prl ()">mm_cdma_manual_activation_properties_set_prl</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-prl-bytearray" title="mm_cdma_manual_activation_properties_set_prl_bytearray ()">mm_cdma_manual_activation_properties_set_prl_bytearray</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-sid" title="mm_cdma_manual_activation_properties_set_sid ()">mm_cdma_manual_activation_properties_set_sid</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-spc" title="mm_cdma_manual_activation_properties_set_spc ()">mm_cdma_manual_activation_properties_set_spc</a>, function in <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+</dt>
+<dd></dd>
+<a name="idxF"></a><h3 class="title">F</h3>
+<dt>
+<a class="link" href="MMFirmwareProperties.html#MMFirmwareProperties-struct" title="struct MMFirmwareProperties">MMFirmwareProperties</a>, struct in <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties">MMFirmwareProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareUpdateSettings.html#MMFirmwareUpdateSettings-struct" title="struct MMFirmwareUpdateSettings">MMFirmwareUpdateSettings</a>, struct in <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings">MMFirmwareUpdateSettings</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-firmware-image-type-get-string" title="mm_firmware_image_type_get_string ()">mm_firmware_image_type_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-boot-version" title="mm_firmware_properties_get_gobi_boot_version ()">mm_firmware_properties_get_gobi_boot_version</a>, function in <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties">MMFirmwareProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-modem-unique-id" title="mm_firmware_properties_get_gobi_modem_unique_id ()">mm_firmware_properties_get_gobi_modem_unique_id</a>, function in <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties">MMFirmwareProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-pri-info" title="mm_firmware_properties_get_gobi_pri_info ()">mm_firmware_properties_get_gobi_pri_info</a>, function in <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties">MMFirmwareProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-pri-unique-id" title="mm_firmware_properties_get_gobi_pri_unique_id ()">mm_firmware_properties_get_gobi_pri_unique_id</a>, function in <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties">MMFirmwareProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-pri-version" title="mm_firmware_properties_get_gobi_pri_version ()">mm_firmware_properties_get_gobi_pri_version</a>, function in <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties">MMFirmwareProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-image-type" title="mm_firmware_properties_get_image_type ()">mm_firmware_properties_get_image_type</a>, function in <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties">MMFirmwareProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareProperties.html#mm-firmware-properties-get-unique-id" title="mm_firmware_properties_get_unique_id ()">mm_firmware_properties_get_unique_id</a>, function in <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties">MMFirmwareProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-device-ids" title="mm_firmware_update_settings_get_device_ids ()">mm_firmware_update_settings_get_device_ids</a>, function in <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings">MMFirmwareUpdateSettings</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-fastboot-at" title="mm_firmware_update_settings_get_fastboot_at ()">mm_firmware_update_settings_get_fastboot_at</a>, function in <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings">MMFirmwareUpdateSettings</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-method" title="mm_firmware_update_settings_get_method ()">mm_firmware_update_settings_get_method</a>, function in <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings">MMFirmwareUpdateSettings</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-version" title="mm_firmware_update_settings_get_version ()">mm_firmware_update_settings_get_version</a>, function in <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings">MMFirmwareUpdateSettings</a>
+</dt>
+<dd></dd>
+<a name="idxG"></a><h3 class="title">G</h3>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer-struct" title="MmGdbusBearer">MmGdbusBearer</a>, struct in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer-handle-connect" title="The “handle-connect” signal">MmGdbusBearer::handle-connect</a>, object signal in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer-handle-disconnect" title="The “handle-disconnect” signal">MmGdbusBearer::handle-disconnect</a>, object signal in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer--bearer-type" title="The “bearer-type” property">MmGdbusBearer:bearer-type</a>, object property in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer--connected" title="The “connected” property">MmGdbusBearer:connected</a>, object property in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer--interface" title="The “interface” property">MmGdbusBearer:interface</a>, object property in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer--ip-timeout" title="The “ip-timeout” property">MmGdbusBearer:ip-timeout</a>, object property in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer--ip4-config" title="The “ip4-config” property">MmGdbusBearer:ip4-config</a>, object property in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer--ip6-config" title="The “ip6-config” property">MmGdbusBearer:ip6-config</a>, object property in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer--properties" title="The “properties” property">MmGdbusBearer:properties</a>, object property in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer--stats" title="The “stats” property">MmGdbusBearer:stats</a>, object property in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearer--suspended" title="The “suspended” property">MmGdbusBearer:suspended</a>, object property in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#MmGdbusBearerIface" title="struct MmGdbusBearerIface">MmGdbusBearerIface</a>, struct in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearerProxy.html#MmGdbusBearerProxy-struct" title="struct MmGdbusBearerProxy">MmGdbusBearerProxy</a>, struct in <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearerSkeleton.html#MmGdbusBearerSkeleton-struct" title="struct MmGdbusBearerSkeleton">MmGdbusBearerSkeleton</a>, struct in <a class="link" href="MmGdbusBearerSkeleton.html" title="MmGdbusBearerSkeleton">MmGdbusBearerSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall-struct" title="MmGdbusCall">MmGdbusCall</a>, struct in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall-dtmf-received" title="The “dtmf-received” signal">MmGdbusCall::dtmf-received</a>, object signal in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-accept" title="The “handle-accept” signal">MmGdbusCall::handle-accept</a>, object signal in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-hangup" title="The “handle-hangup” signal">MmGdbusCall::handle-hangup</a>, object signal in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-send-dtmf" title="The “handle-send-dtmf” signal">MmGdbusCall::handle-send-dtmf</a>, object signal in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall-handle-start" title="The “handle-start” signal">MmGdbusCall::handle-start</a>, object signal in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall-state-changed" title="The “state-changed” signal">MmGdbusCall::state-changed</a>, object signal in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall--audio-format" title="The “audio-format” property">MmGdbusCall:audio-format</a>, object property in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall--audio-port" title="The “audio-port” property">MmGdbusCall:audio-port</a>, object property in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall--direction" title="The “direction” property">MmGdbusCall:direction</a>, object property in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall--number" title="The “number” property">MmGdbusCall:number</a>, object property in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall--state" title="The “state” property">MmGdbusCall:state</a>, object property in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCall--state-reason" title="The “state-reason” property">MmGdbusCall:state-reason</a>, object property in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#MmGdbusCallIface" title="struct MmGdbusCallIface">MmGdbusCallIface</a>, struct in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCallProxy.html#MmGdbusCallProxy-struct" title="struct MmGdbusCallProxy">MmGdbusCallProxy</a>, struct in <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCallSkeleton.html#MmGdbusCallSkeleton-struct" title="struct MmGdbusCallSkeleton">MmGdbusCallSkeleton</a>, struct in <a class="link" href="MmGdbusCallSkeleton.html" title="MmGdbusCallSkeleton">MmGdbusCallSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-struct" title="MmGdbusModem">MmGdbusModem</a>, struct in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-struct" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>, struct in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-register" title="The “handle-register” signal">MmGdbusModem3gpp::handle-register</a>, object signal in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-scan" title="The “handle-scan” signal">MmGdbusModem3gpp::handle-scan</a>, object signal in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-set-eps-ue-mode-operation" title="The “handle-set-eps-ue-mode-operation” signal">MmGdbusModem3gpp::handle-set-eps-ue-mode-operation</a>, object signal in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-set-initial-eps-bearer-settings" title="The “handle-set-initial-eps-bearer-settings” signal">MmGdbusModem3gpp::handle-set-initial-eps-bearer-settings</a>, object signal in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--enabled-facility-locks" title="The “enabled-facility-locks” property">MmGdbusModem3gpp:enabled-facility-locks</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--eps-ue-mode-operation" title="The “eps-ue-mode-operation” property">MmGdbusModem3gpp:eps-ue-mode-operation</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--imei" title="The “imei” property">MmGdbusModem3gpp:imei</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--initial-eps-bearer" title="The “initial-eps-bearer” property">MmGdbusModem3gpp:initial-eps-bearer</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--initial-eps-bearer-settings" title="The “initial-eps-bearer-settings” property">MmGdbusModem3gpp:initial-eps-bearer-settings</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--operator-code" title="The “operator-code” property">MmGdbusModem3gpp:operator-code</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--operator-name" title="The “operator-name” property">MmGdbusModem3gpp:operator-name</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--pco" title="The “pco” property">MmGdbusModem3gpp:pco</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--registration-state" title="The “registration-state” property">MmGdbusModem3gpp:registration-state</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gpp--subscription-state" title="The “subscription-state” property">MmGdbusModem3gpp:subscription-state</a>, object property in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#MmGdbusModem3gppIface" title="struct MmGdbusModem3gppIface">MmGdbusModem3gppIface</a>, struct in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppProxy.html#MmGdbusModem3gppProxy-struct" title="struct MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>, struct in <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppSkeleton.html#MmGdbusModem3gppSkeleton-struct" title="struct MmGdbusModem3gppSkeleton">MmGdbusModem3gppSkeleton</a>, struct in <a class="link" href="MmGdbusModem3gppSkeleton.html" title="MmGdbusModem3gppSkeleton">MmGdbusModem3gppSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-struct" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>, struct in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-cancel" title="The “handle-cancel” signal">MmGdbusModem3gppUssd::handle-cancel</a>, object signal in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-initiate" title="The “handle-initiate” signal">MmGdbusModem3gppUssd::handle-initiate</a>, object signal in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-respond" title="The “handle-respond” signal">MmGdbusModem3gppUssd::handle-respond</a>, object signal in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--network-notification" title="The “network-notification” property">MmGdbusModem3gppUssd:network-notification</a>, object property in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--network-request" title="The “network-request” property">MmGdbusModem3gppUssd:network-request</a>, object property in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--state" title="The “state” property">MmGdbusModem3gppUssd:state</a>, object property in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface" title="struct MmGdbusModem3gppUssdIface">MmGdbusModem3gppUssdIface</a>, struct in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#MmGdbusModem3gppUssdProxy-struct" title="struct MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>, struct in <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssdSkeleton.html#MmGdbusModem3gppUssdSkeleton-struct" title="struct MmGdbusModem3gppUssdSkeleton">MmGdbusModem3gppUssdSkeleton</a>, struct in <a class="link" href="MmGdbusModem3gppUssdSkeleton.html" title="MmGdbusModem3gppUssdSkeleton">MmGdbusModem3gppUssdSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-command" title="The “handle-command” signal">MmGdbusModem::handle-command</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-create-bearer" title="The “handle-create-bearer” signal">MmGdbusModem::handle-create-bearer</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-delete-bearer" title="The “handle-delete-bearer” signal">MmGdbusModem::handle-delete-bearer</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-enable" title="The “handle-enable” signal">MmGdbusModem::handle-enable</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-factory-reset" title="The “handle-factory-reset” signal">MmGdbusModem::handle-factory-reset</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-list-bearers" title="The “handle-list-bearers” signal">MmGdbusModem::handle-list-bearers</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-reset" title="The “handle-reset” signal">MmGdbusModem::handle-reset</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-current-bands" title="The “handle-set-current-bands” signal">MmGdbusModem::handle-set-current-bands</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-current-capabilities" title="The “handle-set-current-capabilities” signal">MmGdbusModem::handle-set-current-capabilities</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-current-modes" title="The “handle-set-current-modes” signal">MmGdbusModem::handle-set-current-modes</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-handle-set-power-state" title="The “handle-set-power-state” signal">MmGdbusModem::handle-set-power-state</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem-state-changed" title="The “state-changed” signal">MmGdbusModem::state-changed</a>, object signal in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--access-technologies" title="The “access-technologies” property">MmGdbusModem:access-technologies</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--bearers" title="The “bearers” property">MmGdbusModem:bearers</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--current-bands" title="The “current-bands” property">MmGdbusModem:current-bands</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--current-capabilities" title="The “current-capabilities” property">MmGdbusModem:current-capabilities</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--current-modes" title="The “current-modes” property">MmGdbusModem:current-modes</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--device" title="The “device” property">MmGdbusModem:device</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--device-identifier" title="The “device-identifier” property">MmGdbusModem:device-identifier</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--drivers" title="The “drivers” property">MmGdbusModem:drivers</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--equipment-identifier" title="The “equipment-identifier” property">MmGdbusModem:equipment-identifier</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--hardware-revision" title="The “hardware-revision” property">MmGdbusModem:hardware-revision</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--manufacturer" title="The “manufacturer” property">MmGdbusModem:manufacturer</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--max-active-bearers" title="The “max-active-bearers” property">MmGdbusModem:max-active-bearers</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--max-bearers" title="The “max-bearers” property">MmGdbusModem:max-bearers</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--model" title="The “model” property">MmGdbusModem:model</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--own-numbers" title="The “own-numbers” property">MmGdbusModem:own-numbers</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--plugin" title="The “plugin” property">MmGdbusModem:plugin</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--ports" title="The “ports” property">MmGdbusModem:ports</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--power-state" title="The “power-state” property">MmGdbusModem:power-state</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--primary-port" title="The “primary-port” property">MmGdbusModem:primary-port</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--revision" title="The “revision” property">MmGdbusModem:revision</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--signal-quality" title="The “signal-quality” property">MmGdbusModem:signal-quality</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--sim" title="The “sim” property">MmGdbusModem:sim</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--state" title="The “state” property">MmGdbusModem:state</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--state-failed-reason" title="The “state-failed-reason” property">MmGdbusModem:state-failed-reason</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-bands" title="The “supported-bands” property">MmGdbusModem:supported-bands</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-capabilities" title="The “supported-capabilities” property">MmGdbusModem:supported-capabilities</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-ip-families" title="The “supported-ip-families” property">MmGdbusModem:supported-ip-families</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--supported-modes" title="The “supported-modes” property">MmGdbusModem:supported-modes</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--unlock-required" title="The “unlock-required” property">MmGdbusModem:unlock-required</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModem--unlock-retries" title="The “unlock-retries” property">MmGdbusModem:unlock-retries</a>, object property in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-struct" title="MmGdbusModemCdma">MmGdbusModemCdma</a>, struct in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-activation-state-changed" title="The “activation-state-changed” signal">MmGdbusModemCdma::activation-state-changed</a>, object signal in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-handle-activate" title="The “handle-activate” signal">MmGdbusModemCdma::handle-activate</a>, object signal in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma-handle-activate-manual" title="The “handle-activate-manual” signal">MmGdbusModemCdma::handle-activate-manual</a>, object signal in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--activation-state" title="The “activation-state” property">MmGdbusModemCdma:activation-state</a>, object property in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--cdma1x-registration-state" title="The “cdma1x-registration-state” property">MmGdbusModemCdma:cdma1x-registration-state</a>, object property in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--esn" title="The “esn” property">MmGdbusModemCdma:esn</a>, object property in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--evdo-registration-state" title="The “evdo-registration-state” property">MmGdbusModemCdma:evdo-registration-state</a>, object property in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--meid" title="The “meid” property">MmGdbusModemCdma:meid</a>, object property in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--nid" title="The “nid” property">MmGdbusModemCdma:nid</a>, object property in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdma--sid" title="The “sid” property">MmGdbusModemCdma:sid</a>, object property in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#MmGdbusModemCdmaIface" title="struct MmGdbusModemCdmaIface">MmGdbusModemCdmaIface</a>, struct in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdmaProxy.html#MmGdbusModemCdmaProxy-struct" title="struct MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>, struct in <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdmaSkeleton.html#MmGdbusModemCdmaSkeleton-struct" title="struct MmGdbusModemCdmaSkeleton">MmGdbusModemCdmaSkeleton</a>, struct in <a class="link" href="MmGdbusModemCdmaSkeleton.html" title="MmGdbusModemCdmaSkeleton">MmGdbusModemCdmaSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware-struct" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>, struct in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware-handle-list" title="The “handle-list” signal">MmGdbusModemFirmware::handle-list</a>, object signal in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware-handle-select" title="The “handle-select” signal">MmGdbusModemFirmware::handle-select</a>, object signal in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmware--update-settings" title="The “update-settings” property">MmGdbusModemFirmware:update-settings</a>, object property in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#MmGdbusModemFirmwareIface" title="struct MmGdbusModemFirmwareIface">MmGdbusModemFirmwareIface</a>, struct in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmwareProxy.html#MmGdbusModemFirmwareProxy-struct" title="struct MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>, struct in <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmwareSkeleton.html#MmGdbusModemFirmwareSkeleton-struct" title="struct MmGdbusModemFirmwareSkeleton">MmGdbusModemFirmwareSkeleton</a>, struct in <a class="link" href="MmGdbusModemFirmwareSkeleton.html" title="MmGdbusModemFirmwareSkeleton">MmGdbusModemFirmwareSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#MmGdbusModemIface" title="struct MmGdbusModemIface">MmGdbusModemIface</a>, struct in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-struct" title="MmGdbusModemLocation">MmGdbusModemLocation</a>, struct in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-get-location" title="The “handle-get-location” signal">MmGdbusModemLocation::handle-get-location</a>, object signal in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-inject-assistance-data" title="The “handle-inject-assistance-data” signal">MmGdbusModemLocation::handle-inject-assistance-data</a>, object signal in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-set-gps-refresh-rate" title="The “handle-set-gps-refresh-rate” signal">MmGdbusModemLocation::handle-set-gps-refresh-rate</a>, object signal in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-set-supl-server" title="The “handle-set-supl-server” signal">MmGdbusModemLocation::handle-set-supl-server</a>, object signal in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-setup" title="The “handle-setup” signal">MmGdbusModemLocation::handle-setup</a>, object signal in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--assistance-data-servers" title="The “assistance-data-servers” property">MmGdbusModemLocation:assistance-data-servers</a>, object property in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--capabilities" title="The “capabilities” property">MmGdbusModemLocation:capabilities</a>, object property in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--enabled" title="The “enabled” property">MmGdbusModemLocation:enabled</a>, object property in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--gps-refresh-rate" title="The “gps-refresh-rate” property">MmGdbusModemLocation:gps-refresh-rate</a>, object property in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--location" title="The “location” property">MmGdbusModemLocation:location</a>, object property in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--signals-location" title="The “signals-location” property">MmGdbusModemLocation:signals-location</a>, object property in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--supl-server" title="The “supl-server” property">MmGdbusModemLocation:supl-server</a>, object property in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocation--supported-assistance-data" title="The “supported-assistance-data” property">MmGdbusModemLocation:supported-assistance-data</a>, object property in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#MmGdbusModemLocationIface" title="struct MmGdbusModemLocationIface">MmGdbusModemLocationIface</a>, struct in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocationProxy.html#MmGdbusModemLocationProxy-struct" title="struct MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>, struct in <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocationSkeleton.html#MmGdbusModemLocationSkeleton-struct" title="struct MmGdbusModemLocationSkeleton">MmGdbusModemLocationSkeleton</a>, struct in <a class="link" href="MmGdbusModemLocationSkeleton.html" title="MmGdbusModemLocationSkeleton">MmGdbusModemLocationSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-struct" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>, struct in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-added" title="The “added” signal">MmGdbusModemMessaging::added</a>, object signal in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-deleted" title="The “deleted” signal">MmGdbusModemMessaging::deleted</a>, object signal in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-create" title="The “handle-create” signal">MmGdbusModemMessaging::handle-create</a>, object signal in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-delete" title="The “handle-delete” signal">MmGdbusModemMessaging::handle-delete</a>, object signal in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-list" title="The “handle-list” signal">MmGdbusModemMessaging::handle-list</a>, object signal in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging--default-storage" title="The “default-storage” property">MmGdbusModemMessaging:default-storage</a>, object property in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging--messages" title="The “messages” property">MmGdbusModemMessaging:messages</a>, object property in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessaging--supported-storages" title="The “supported-storages” property">MmGdbusModemMessaging:supported-storages</a>, object property in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface" title="struct MmGdbusModemMessagingIface">MmGdbusModemMessagingIface</a>, struct in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessagingProxy.html#MmGdbusModemMessagingProxy-struct" title="struct MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>, struct in <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessagingSkeleton.html#MmGdbusModemMessagingSkeleton-struct" title="struct MmGdbusModemMessagingSkeleton">MmGdbusModemMessagingSkeleton</a>, struct in <a class="link" href="MmGdbusModemMessagingSkeleton.html" title="MmGdbusModemMessagingSkeleton">MmGdbusModemMessagingSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-struct" title="MmGdbusModemOma">MmGdbusModemOma</a>, struct in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-accept-network-initiated-session" title="The “handle-accept-network-initiated-session” signal">MmGdbusModemOma::handle-accept-network-initiated-session</a>, object signal in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-cancel-session" title="The “handle-cancel-session” signal">MmGdbusModemOma::handle-cancel-session</a>, object signal in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-setup" title="The “handle-setup” signal">MmGdbusModemOma::handle-setup</a>, object signal in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-handle-start-client-initiated-session" title="The “handle-start-client-initiated-session” signal">MmGdbusModemOma::handle-start-client-initiated-session</a>, object signal in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma-session-state-changed" title="The “session-state-changed” signal">MmGdbusModemOma::session-state-changed</a>, object signal in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--features" title="The “features” property">MmGdbusModemOma:features</a>, object property in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--pending-network-initiated-sessions" title="The “pending-network-initiated-sessions” property">MmGdbusModemOma:pending-network-initiated-sessions</a>, object property in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--session-state" title="The “session-state” property">MmGdbusModemOma:session-state</a>, object property in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOma--session-type" title="The “session-type” property">MmGdbusModemOma:session-type</a>, object property in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#MmGdbusModemOmaIface" title="struct MmGdbusModemOmaIface">MmGdbusModemOmaIface</a>, struct in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOmaProxy.html#MmGdbusModemOmaProxy-struct" title="struct MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>, struct in <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOmaSkeleton.html#MmGdbusModemOmaSkeleton-struct" title="struct MmGdbusModemOmaSkeleton">MmGdbusModemOmaSkeleton</a>, struct in <a class="link" href="MmGdbusModemOmaSkeleton.html" title="MmGdbusModemOmaSkeleton">MmGdbusModemOmaSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemProxy.html#MmGdbusModemProxy-struct" title="struct MmGdbusModemProxy">MmGdbusModemProxy</a>, struct in <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal-struct" title="MmGdbusModemSignal">MmGdbusModemSignal</a>, struct in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal-handle-setup" title="The “handle-setup” signal">MmGdbusModemSignal::handle-setup</a>, object signal in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--cdma" title="The “cdma” property">MmGdbusModemSignal:cdma</a>, object property in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--evdo" title="The “evdo” property">MmGdbusModemSignal:evdo</a>, object property in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--gsm" title="The “gsm” property">MmGdbusModemSignal:gsm</a>, object property in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--lte" title="The “lte” property">MmGdbusModemSignal:lte</a>, object property in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--rate" title="The “rate” property">MmGdbusModemSignal:rate</a>, object property in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignal--umts" title="The “umts” property">MmGdbusModemSignal:umts</a>, object property in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#MmGdbusModemSignalIface" title="struct MmGdbusModemSignalIface">MmGdbusModemSignalIface</a>, struct in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignalProxy.html#MmGdbusModemSignalProxy-struct" title="struct MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>, struct in <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignalSkeleton.html#MmGdbusModemSignalSkeleton-struct" title="struct MmGdbusModemSignalSkeleton">MmGdbusModemSignalSkeleton</a>, struct in <a class="link" href="MmGdbusModemSignalSkeleton.html" title="MmGdbusModemSignalSkeleton">MmGdbusModemSignalSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-struct" title="MmGdbusModemSimple">MmGdbusModemSimple</a>, struct in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-connect" title="The “handle-connect” signal">MmGdbusModemSimple::handle-connect</a>, object signal in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-disconnect" title="The “handle-disconnect” signal">MmGdbusModemSimple::handle-disconnect</a>, object signal in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-get-status" title="The “handle-get-status” signal">MmGdbusModemSimple::handle-get-status</a>, object signal in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#MmGdbusModemSimpleIface" title="struct MmGdbusModemSimpleIface">MmGdbusModemSimpleIface</a>, struct in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimpleProxy.html#MmGdbusModemSimpleProxy-struct" title="struct MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>, struct in <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimpleSkeleton.html#MmGdbusModemSimpleSkeleton-struct" title="struct MmGdbusModemSimpleSkeleton">MmGdbusModemSimpleSkeleton</a>, struct in <a class="link" href="MmGdbusModemSimpleSkeleton.html" title="MmGdbusModemSimpleSkeleton">MmGdbusModemSimpleSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSkeleton.html#MmGdbusModemSkeleton-struct" title="struct MmGdbusModemSkeleton">MmGdbusModemSkeleton</a>, struct in <a class="link" href="MmGdbusModemSkeleton.html" title="MmGdbusModemSkeleton">MmGdbusModemSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime-struct" title="MmGdbusModemTime">MmGdbusModemTime</a>, struct in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime-handle-get-network-time" title="The “handle-get-network-time” signal">MmGdbusModemTime::handle-get-network-time</a>, object signal in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime-network-time-changed" title="The “network-time-changed” signal">MmGdbusModemTime::network-time-changed</a>, object signal in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#MmGdbusModemTime--network-timezone" title="The “network-timezone” property">MmGdbusModemTime:network-timezone</a>, object property in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#MmGdbusModemTimeIface" title="struct MmGdbusModemTimeIface">MmGdbusModemTimeIface</a>, struct in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTimeProxy.html#MmGdbusModemTimeProxy-struct" title="struct MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>, struct in <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTimeSkeleton.html#MmGdbusModemTimeSkeleton-struct" title="struct MmGdbusModemTimeSkeleton">MmGdbusModemTimeSkeleton</a>, struct in <a class="link" href="MmGdbusModemTimeSkeleton.html" title="MmGdbusModemTimeSkeleton">MmGdbusModemTimeSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-struct" title="MmGdbusModemVoice">MmGdbusModemVoice</a>, struct in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-call-added" title="The “call-added” signal">MmGdbusModemVoice::call-added</a>, object signal in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-call-deleted" title="The “call-deleted” signal">MmGdbusModemVoice::call-deleted</a>, object signal in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-create-call" title="The “handle-create-call” signal">MmGdbusModemVoice::handle-create-call</a>, object signal in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-delete-call" title="The “handle-delete-call” signal">MmGdbusModemVoice::handle-delete-call</a>, object signal in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-list-calls" title="The “handle-list-calls” signal">MmGdbusModemVoice::handle-list-calls</a>, object signal in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoice--calls" title="The “calls” property">MmGdbusModemVoice:calls</a>, object property in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#MmGdbusModemVoiceIface" title="struct MmGdbusModemVoiceIface">MmGdbusModemVoiceIface</a>, struct in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoiceProxy.html#MmGdbusModemVoiceProxy-struct" title="struct MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>, struct in <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoiceSkeleton.html#MmGdbusModemVoiceSkeleton-struct" title="struct MmGdbusModemVoiceSkeleton">MmGdbusModemVoiceSkeleton</a>, struct in <a class="link" href="MmGdbusModemVoiceSkeleton.html" title="MmGdbusModemVoiceSkeleton">MmGdbusModemVoiceSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject-struct" title="MmGdbusObject">MmGdbusObject</a>, struct in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem" title="The “modem” property">MmGdbusObject:modem</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-cdma" title="The “modem-cdma” property">MmGdbusObject:modem-cdma</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-firmware" title="The “modem-firmware” property">MmGdbusObject:modem-firmware</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-location" title="The “modem-location” property">MmGdbusObject:modem-location</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-messaging" title="The “modem-messaging” property">MmGdbusObject:modem-messaging</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-oma" title="The “modem-oma” property">MmGdbusObject:modem-oma</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-signal" title="The “modem-signal” property">MmGdbusObject:modem-signal</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-simple" title="The “modem-simple” property">MmGdbusObject:modem-simple</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-time" title="The “modem-time” property">MmGdbusObject:modem-time</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem-voice" title="The “modem-voice” property">MmGdbusObject:modem-voice</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem3gpp" title="The “modem3gpp” property">MmGdbusObject:modem3gpp</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObject--modem3gpp-ussd" title="The “modem3gpp-ussd” property">MmGdbusObject:modem3gpp-ussd</a>, object property in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#MmGdbusObjectIface" title="struct MmGdbusObjectIface">MmGdbusObjectIface</a>, struct in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectManagerClient.html#MmGdbusObjectManagerClient-struct" title="struct MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>, struct in <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectProxy.html#MmGdbusObjectProxy-struct" title="struct MmGdbusObjectProxy">MmGdbusObjectProxy</a>, struct in <a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy">MmGdbusObjectProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#MmGdbusObjectSkeleton-struct" title="struct MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>, struct in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-struct" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>, struct in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-inhibit-device" title="The “handle-inhibit-device” signal">MmGdbusOrgFreedesktopModemManager1::handle-inhibit-device</a>, object signal in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-report-kernel-event" title="The “handle-report-kernel-event” signal">MmGdbusOrgFreedesktopModemManager1::handle-report-kernel-event</a>, object signal in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-scan-devices" title="The “handle-scan-devices” signal">MmGdbusOrgFreedesktopModemManager1::handle-scan-devices</a>, object signal in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-set-logging" title="The “handle-set-logging” signal">MmGdbusOrgFreedesktopModemManager1::handle-set-logging</a>, object signal in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1--version" title="The “version” property">MmGdbusOrgFreedesktopModemManager1:version</a>, object property in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1Iface" title="struct MmGdbusOrgFreedesktopModemManager1Iface">MmGdbusOrgFreedesktopModemManager1Iface</a>, struct in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#MmGdbusOrgFreedesktopModemManager1Proxy-struct" title="struct MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a>, struct in <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html#MmGdbusOrgFreedesktopModemManager1Skeleton-struct" title="struct MmGdbusOrgFreedesktopModemManager1Skeleton">MmGdbusOrgFreedesktopModemManager1Skeleton</a>, struct in <a class="link" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html" title="MmGdbusOrgFreedesktopModemManager1Skeleton">MmGdbusOrgFreedesktopModemManager1Skeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSim-struct" title="MmGdbusSim">MmGdbusSim</a>, struct in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-change-pin" title="The “handle-change-pin” signal">MmGdbusSim::handle-change-pin</a>, object signal in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-enable-pin" title="The “handle-enable-pin” signal">MmGdbusSim::handle-enable-pin</a>, object signal in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-send-pin" title="The “handle-send-pin” signal">MmGdbusSim::handle-send-pin</a>, object signal in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSim-handle-send-puk" title="The “handle-send-puk” signal">MmGdbusSim::handle-send-puk</a>, object signal in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSim--imsi" title="The “imsi” property">MmGdbusSim:imsi</a>, object property in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSim--operator-identifier" title="The “operator-identifier” property">MmGdbusSim:operator-identifier</a>, object property in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSim--operator-name" title="The “operator-name” property">MmGdbusSim:operator-name</a>, object property in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSim--sim-identifier" title="The “sim-identifier” property">MmGdbusSim:sim-identifier</a>, object property in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#MmGdbusSimIface" title="struct MmGdbusSimIface">MmGdbusSimIface</a>, struct in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSimProxy.html#MmGdbusSimProxy-struct" title="struct MmGdbusSimProxy">MmGdbusSimProxy</a>, struct in <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSimSkeleton.html#MmGdbusSimSkeleton-struct" title="struct MmGdbusSimSkeleton">MmGdbusSimSkeleton</a>, struct in <a class="link" href="MmGdbusSimSkeleton.html" title="MmGdbusSimSkeleton">MmGdbusSimSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms-struct" title="MmGdbusSms">MmGdbusSms</a>, struct in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms-handle-send" title="The “handle-send” signal">MmGdbusSms::handle-send</a>, object signal in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms-handle-store" title="The “handle-store” signal">MmGdbusSms::handle-store</a>, object signal in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--class" title="The “class” property">MmGdbusSms:class</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--data" title="The “data” property">MmGdbusSms:data</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--delivery-report-request" title="The “delivery-report-request” property">MmGdbusSms:delivery-report-request</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--delivery-state" title="The “delivery-state” property">MmGdbusSms:delivery-state</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--discharge-timestamp" title="The “discharge-timestamp” property">MmGdbusSms:discharge-timestamp</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--message-reference" title="The “message-reference” property">MmGdbusSms:message-reference</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--number" title="The “number” property">MmGdbusSms:number</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--pdu-type" title="The “pdu-type” property">MmGdbusSms:pdu-type</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--service-category" title="The “service-category” property">MmGdbusSms:service-category</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--smsc" title="The “smsc” property">MmGdbusSms:smsc</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--state" title="The “state” property">MmGdbusSms:state</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--storage" title="The “storage” property">MmGdbusSms:storage</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--teleservice-id" title="The “teleservice-id” property">MmGdbusSms:teleservice-id</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--text" title="The “text” property">MmGdbusSms:text</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--timestamp" title="The “timestamp” property">MmGdbusSms:timestamp</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSms--validity" title="The “validity” property">MmGdbusSms:validity</a>, object property in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#MmGdbusSmsIface" title="struct MmGdbusSmsIface">MmGdbusSmsIface</a>, struct in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSmsProxy.html#MmGdbusSmsProxy-struct" title="struct MmGdbusSmsProxy">MmGdbusSmsProxy</a>, struct in <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSmsSkeleton.html#MmGdbusSmsSkeleton-struct" title="struct MmGdbusSmsSkeleton">MmGdbusSmsSkeleton</a>, struct in <a class="link" href="MmGdbusSmsSkeleton.html" title="MmGdbusSmsSkeleton">MmGdbusSmsSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect" title="mm_gdbus_bearer_call_connect ()">mm_gdbus_bearer_call_connect</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect-finish" title="mm_gdbus_bearer_call_connect_finish ()">mm_gdbus_bearer_call_connect_finish</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-connect-sync" title="mm_gdbus_bearer_call_connect_sync ()">mm_gdbus_bearer_call_connect_sync</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect" title="mm_gdbus_bearer_call_disconnect ()">mm_gdbus_bearer_call_disconnect</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect-finish" title="mm_gdbus_bearer_call_disconnect_finish ()">mm_gdbus_bearer_call_disconnect_finish</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect-sync" title="mm_gdbus_bearer_call_disconnect_sync ()">mm_gdbus_bearer_call_disconnect_sync</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-interface" title="mm_gdbus_bearer_dup_interface ()">mm_gdbus_bearer_dup_interface</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-ip4-config" title="mm_gdbus_bearer_dup_ip4_config ()">mm_gdbus_bearer_dup_ip4_config</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-ip6-config" title="mm_gdbus_bearer_dup_ip6_config ()">mm_gdbus_bearer_dup_ip6_config</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-properties" title="mm_gdbus_bearer_dup_properties ()">mm_gdbus_bearer_dup_properties</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-dup-stats" title="mm_gdbus_bearer_dup_stats ()">mm_gdbus_bearer_dup_stats</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-bearer-type" title="mm_gdbus_bearer_get_bearer_type ()">mm_gdbus_bearer_get_bearer_type</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-connected" title="mm_gdbus_bearer_get_connected ()">mm_gdbus_bearer_get_connected</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-interface" title="mm_gdbus_bearer_get_interface ()">mm_gdbus_bearer_get_interface</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-ip4-config" title="mm_gdbus_bearer_get_ip4_config ()">mm_gdbus_bearer_get_ip4_config</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-ip6-config" title="mm_gdbus_bearer_get_ip6_config ()">mm_gdbus_bearer_get_ip6_config</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-ip-timeout" title="mm_gdbus_bearer_get_ip_timeout ()">mm_gdbus_bearer_get_ip_timeout</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-properties" title="mm_gdbus_bearer_get_properties ()">mm_gdbus_bearer_get_properties</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-stats" title="mm_gdbus_bearer_get_stats ()">mm_gdbus_bearer_get_stats</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearer.html#mm-gdbus-bearer-get-suspended" title="mm_gdbus_bearer_get_suspended ()">mm_gdbus_bearer_get_suspended</a>, function in <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new" title="mm_gdbus_bearer_proxy_new ()">mm_gdbus_bearer_proxy_new</a>, function in <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-finish" title="mm_gdbus_bearer_proxy_new_finish ()">mm_gdbus_bearer_proxy_new_finish</a>, function in <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus" title="mm_gdbus_bearer_proxy_new_for_bus ()">mm_gdbus_bearer_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus-finish" title="mm_gdbus_bearer_proxy_new_for_bus_finish ()">mm_gdbus_bearer_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus-sync" title="mm_gdbus_bearer_proxy_new_for_bus_sync ()">mm_gdbus_bearer_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-sync" title="mm_gdbus_bearer_proxy_new_sync ()">mm_gdbus_bearer_proxy_new_sync</a>, function in <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusBearerSkeleton.html#mm-gdbus-bearer-skeleton-new" title="mm_gdbus_bearer_skeleton_new ()">mm_gdbus_bearer_skeleton_new</a>, function in <a class="link" href="MmGdbusBearerSkeleton.html" title="MmGdbusBearerSkeleton">MmGdbusBearerSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept" title="mm_gdbus_call_call_accept ()">mm_gdbus_call_call_accept</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept-finish" title="mm_gdbus_call_call_accept_finish ()">mm_gdbus_call_call_accept_finish</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-accept-sync" title="mm_gdbus_call_call_accept_sync ()">mm_gdbus_call_call_accept_sync</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup" title="mm_gdbus_call_call_hangup ()">mm_gdbus_call_call_hangup</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup-finish" title="mm_gdbus_call_call_hangup_finish ()">mm_gdbus_call_call_hangup_finish</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-hangup-sync" title="mm_gdbus_call_call_hangup_sync ()">mm_gdbus_call_call_hangup_sync</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf" title="mm_gdbus_call_call_send_dtmf ()">mm_gdbus_call_call_send_dtmf</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf-finish" title="mm_gdbus_call_call_send_dtmf_finish ()">mm_gdbus_call_call_send_dtmf_finish</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf-sync" title="mm_gdbus_call_call_send_dtmf_sync ()">mm_gdbus_call_call_send_dtmf_sync</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start" title="mm_gdbus_call_call_start ()">mm_gdbus_call_call_start</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start-finish" title="mm_gdbus_call_call_start_finish ()">mm_gdbus_call_call_start_finish</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-call-start-sync" title="mm_gdbus_call_call_start_sync ()">mm_gdbus_call_call_start_sync</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-dup-audio-format" title="mm_gdbus_call_dup_audio_format ()">mm_gdbus_call_dup_audio_format</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-dup-audio-port" title="mm_gdbus_call_dup_audio_port ()">mm_gdbus_call_dup_audio_port</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-dup-number" title="mm_gdbus_call_dup_number ()">mm_gdbus_call_dup_number</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-audio-format" title="mm_gdbus_call_get_audio_format ()">mm_gdbus_call_get_audio_format</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-audio-port" title="mm_gdbus_call_get_audio_port ()">mm_gdbus_call_get_audio_port</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-direction" title="mm_gdbus_call_get_direction ()">mm_gdbus_call_get_direction</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-number" title="mm_gdbus_call_get_number ()">mm_gdbus_call_get_number</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-state" title="mm_gdbus_call_get_state ()">mm_gdbus_call_get_state</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCall.html#mm-gdbus-call-get-state-reason" title="mm_gdbus_call_get_state_reason ()">mm_gdbus_call_get_state_reason</a>, function in <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new" title="mm_gdbus_call_proxy_new ()">mm_gdbus_call_proxy_new</a>, function in <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-finish" title="mm_gdbus_call_proxy_new_finish ()">mm_gdbus_call_proxy_new_finish</a>, function in <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus" title="mm_gdbus_call_proxy_new_for_bus ()">mm_gdbus_call_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus-finish" title="mm_gdbus_call_proxy_new_for_bus_finish ()">mm_gdbus_call_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus-sync" title="mm_gdbus_call_proxy_new_for_bus_sync ()">mm_gdbus_call_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-sync" title="mm_gdbus_call_proxy_new_sync ()">mm_gdbus_call_proxy_new_sync</a>, function in <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusCallSkeleton.html#mm-gdbus-call-skeleton-new" title="mm_gdbus_call_skeleton_new ()">mm_gdbus_call_skeleton_new</a>, function in <a class="link" href="MmGdbusCallSkeleton.html" title="MmGdbusCallSkeleton">MmGdbusCallSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register" title="mm_gdbus_modem3gpp_call_register ()">mm_gdbus_modem3gpp_call_register</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register-finish" title="mm_gdbus_modem3gpp_call_register_finish ()">mm_gdbus_modem3gpp_call_register_finish</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register-sync" title="mm_gdbus_modem3gpp_call_register_sync ()">mm_gdbus_modem3gpp_call_register_sync</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan" title="mm_gdbus_modem3gpp_call_scan ()">mm_gdbus_modem3gpp_call_scan</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan-finish" title="mm_gdbus_modem3gpp_call_scan_finish ()">mm_gdbus_modem3gpp_call_scan_finish</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan-sync" title="mm_gdbus_modem3gpp_call_scan_sync ()">mm_gdbus_modem3gpp_call_scan_sync</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation ()">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-finish" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_finish ()">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_finish</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-sync" title="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_sync ()">mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_sync</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings ()">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-finish" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_finish ()">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_finish</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-sync" title="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_sync ()">mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_sync</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-imei" title="mm_gdbus_modem3gpp_dup_imei ()">mm_gdbus_modem3gpp_dup_imei</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-initial-eps-bearer" title="mm_gdbus_modem3gpp_dup_initial_eps_bearer ()">mm_gdbus_modem3gpp_dup_initial_eps_bearer</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings ()">mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-operator-code" title="mm_gdbus_modem3gpp_dup_operator_code ()">mm_gdbus_modem3gpp_dup_operator_code</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-operator-name" title="mm_gdbus_modem3gpp_dup_operator_name ()">mm_gdbus_modem3gpp_dup_operator_name</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-pco" title="mm_gdbus_modem3gpp_dup_pco ()">mm_gdbus_modem3gpp_dup_pco</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-enabled-facility-locks" title="mm_gdbus_modem3gpp_get_enabled_facility_locks ()">mm_gdbus_modem3gpp_get_enabled_facility_locks</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-eps-ue-mode-operation" title="mm_gdbus_modem3gpp_get_eps_ue_mode_operation ()">mm_gdbus_modem3gpp_get_eps_ue_mode_operation</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-imei" title="mm_gdbus_modem3gpp_get_imei ()">mm_gdbus_modem3gpp_get_imei</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-initial-eps-bearer" title="mm_gdbus_modem3gpp_get_initial_eps_bearer ()">mm_gdbus_modem3gpp_get_initial_eps_bearer</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-initial-eps-bearer-settings" title="mm_gdbus_modem3gpp_get_initial_eps_bearer_settings ()">mm_gdbus_modem3gpp_get_initial_eps_bearer_settings</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-operator-code" title="mm_gdbus_modem3gpp_get_operator_code ()">mm_gdbus_modem3gpp_get_operator_code</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-operator-name" title="mm_gdbus_modem3gpp_get_operator_name ()">mm_gdbus_modem3gpp_get_operator_name</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-pco" title="mm_gdbus_modem3gpp_get_pco ()">mm_gdbus_modem3gpp_get_pco</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-registration-state" title="mm_gdbus_modem3gpp_get_registration_state ()">mm_gdbus_modem3gpp_get_registration_state</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-subscription-state" title="mm_gdbus_modem3gpp_get_subscription_state ()">mm_gdbus_modem3gpp_get_subscription_state</a>, function in <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new" title="mm_gdbus_modem3gpp_proxy_new ()">mm_gdbus_modem3gpp_proxy_new</a>, function in <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-finish" title="mm_gdbus_modem3gpp_proxy_new_finish ()">mm_gdbus_modem3gpp_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus" title="mm_gdbus_modem3gpp_proxy_new_for_bus ()">mm_gdbus_modem3gpp_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus-finish" title="mm_gdbus_modem3gpp_proxy_new_for_bus_finish ()">mm_gdbus_modem3gpp_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus-sync" title="mm_gdbus_modem3gpp_proxy_new_for_bus_sync ()">mm_gdbus_modem3gpp_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-sync" title="mm_gdbus_modem3gpp_proxy_new_sync ()">mm_gdbus_modem3gpp_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppSkeleton.html#mm-gdbus-modem3gpp-skeleton-new" title="mm_gdbus_modem3gpp_skeleton_new ()">mm_gdbus_modem3gpp_skeleton_new</a>, function in <a class="link" href="MmGdbusModem3gppSkeleton.html" title="MmGdbusModem3gppSkeleton">MmGdbusModem3gppSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel" title="mm_gdbus_modem3gpp_ussd_call_cancel ()">mm_gdbus_modem3gpp_ussd_call_cancel</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel-finish" title="mm_gdbus_modem3gpp_ussd_call_cancel_finish ()">mm_gdbus_modem3gpp_ussd_call_cancel_finish</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel-sync" title="mm_gdbus_modem3gpp_ussd_call_cancel_sync ()">mm_gdbus_modem3gpp_ussd_call_cancel_sync</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate" title="mm_gdbus_modem3gpp_ussd_call_initiate ()">mm_gdbus_modem3gpp_ussd_call_initiate</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate-finish" title="mm_gdbus_modem3gpp_ussd_call_initiate_finish ()">mm_gdbus_modem3gpp_ussd_call_initiate_finish</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate-sync" title="mm_gdbus_modem3gpp_ussd_call_initiate_sync ()">mm_gdbus_modem3gpp_ussd_call_initiate_sync</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond" title="mm_gdbus_modem3gpp_ussd_call_respond ()">mm_gdbus_modem3gpp_ussd_call_respond</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond-finish" title="mm_gdbus_modem3gpp_ussd_call_respond_finish ()">mm_gdbus_modem3gpp_ussd_call_respond_finish</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond-sync" title="mm_gdbus_modem3gpp_ussd_call_respond_sync ()">mm_gdbus_modem3gpp_ussd_call_respond_sync</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-dup-network-notification" title="mm_gdbus_modem3gpp_ussd_dup_network_notification ()">mm_gdbus_modem3gpp_ussd_dup_network_notification</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-dup-network-request" title="mm_gdbus_modem3gpp_ussd_dup_network_request ()">mm_gdbus_modem3gpp_ussd_dup_network_request</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-get-network-notification" title="mm_gdbus_modem3gpp_ussd_get_network_notification ()">mm_gdbus_modem3gpp_ussd_get_network_notification</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-get-network-request" title="mm_gdbus_modem3gpp_ussd_get_network_request ()">mm_gdbus_modem3gpp_ussd_get_network_request</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-get-state" title="mm_gdbus_modem3gpp_ussd_get_state ()">mm_gdbus_modem3gpp_ussd_get_state</a>, function in <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new" title="mm_gdbus_modem3gpp_ussd_proxy_new ()">mm_gdbus_modem3gpp_ussd_proxy_new</a>, function in <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-finish" title="mm_gdbus_modem3gpp_ussd_proxy_new_finish ()">mm_gdbus_modem3gpp_ussd_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus ()">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-finish" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_finish ()">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-sync" title="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_sync ()">mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-sync" title="mm_gdbus_modem3gpp_ussd_proxy_new_sync ()">mm_gdbus_modem3gpp_ussd_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem3gppUssdSkeleton.html#mm-gdbus-modem3gpp-ussd-skeleton-new" title="mm_gdbus_modem3gpp_ussd_skeleton_new ()">mm_gdbus_modem3gpp_ussd_skeleton_new</a>, function in <a class="link" href="MmGdbusModem3gppUssdSkeleton.html" title="MmGdbusModem3gppUssdSkeleton">MmGdbusModem3gppUssdSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command" title="mm_gdbus_modem_call_command ()">mm_gdbus_modem_call_command</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command-finish" title="mm_gdbus_modem_call_command_finish ()">mm_gdbus_modem_call_command_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-command-sync" title="mm_gdbus_modem_call_command_sync ()">mm_gdbus_modem_call_command_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer" title="mm_gdbus_modem_call_create_bearer ()">mm_gdbus_modem_call_create_bearer</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer-finish" title="mm_gdbus_modem_call_create_bearer_finish ()">mm_gdbus_modem_call_create_bearer_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer-sync" title="mm_gdbus_modem_call_create_bearer_sync ()">mm_gdbus_modem_call_create_bearer_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer" title="mm_gdbus_modem_call_delete_bearer ()">mm_gdbus_modem_call_delete_bearer</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer-finish" title="mm_gdbus_modem_call_delete_bearer_finish ()">mm_gdbus_modem_call_delete_bearer_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer-sync" title="mm_gdbus_modem_call_delete_bearer_sync ()">mm_gdbus_modem_call_delete_bearer_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable" title="mm_gdbus_modem_call_enable ()">mm_gdbus_modem_call_enable</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable-finish" title="mm_gdbus_modem_call_enable_finish ()">mm_gdbus_modem_call_enable_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-enable-sync" title="mm_gdbus_modem_call_enable_sync ()">mm_gdbus_modem_call_enable_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset" title="mm_gdbus_modem_call_factory_reset ()">mm_gdbus_modem_call_factory_reset</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset-finish" title="mm_gdbus_modem_call_factory_reset_finish ()">mm_gdbus_modem_call_factory_reset_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset-sync" title="mm_gdbus_modem_call_factory_reset_sync ()">mm_gdbus_modem_call_factory_reset_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers" title="mm_gdbus_modem_call_list_bearers ()">mm_gdbus_modem_call_list_bearers</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers-finish" title="mm_gdbus_modem_call_list_bearers_finish ()">mm_gdbus_modem_call_list_bearers_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers-sync" title="mm_gdbus_modem_call_list_bearers_sync ()">mm_gdbus_modem_call_list_bearers_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset" title="mm_gdbus_modem_call_reset ()">mm_gdbus_modem_call_reset</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset-finish" title="mm_gdbus_modem_call_reset_finish ()">mm_gdbus_modem_call_reset_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-reset-sync" title="mm_gdbus_modem_call_reset_sync ()">mm_gdbus_modem_call_reset_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands" title="mm_gdbus_modem_call_set_current_bands ()">mm_gdbus_modem_call_set_current_bands</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands-finish" title="mm_gdbus_modem_call_set_current_bands_finish ()">mm_gdbus_modem_call_set_current_bands_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands-sync" title="mm_gdbus_modem_call_set_current_bands_sync ()">mm_gdbus_modem_call_set_current_bands_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities" title="mm_gdbus_modem_call_set_current_capabilities ()">mm_gdbus_modem_call_set_current_capabilities</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities-finish" title="mm_gdbus_modem_call_set_current_capabilities_finish ()">mm_gdbus_modem_call_set_current_capabilities_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities-sync" title="mm_gdbus_modem_call_set_current_capabilities_sync ()">mm_gdbus_modem_call_set_current_capabilities_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes" title="mm_gdbus_modem_call_set_current_modes ()">mm_gdbus_modem_call_set_current_modes</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes-finish" title="mm_gdbus_modem_call_set_current_modes_finish ()">mm_gdbus_modem_call_set_current_modes_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes-sync" title="mm_gdbus_modem_call_set_current_modes_sync ()">mm_gdbus_modem_call_set_current_modes_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state" title="mm_gdbus_modem_call_set_power_state ()">mm_gdbus_modem_call_set_power_state</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state-finish" title="mm_gdbus_modem_call_set_power_state_finish ()">mm_gdbus_modem_call_set_power_state_finish</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state-sync" title="mm_gdbus_modem_call_set_power_state_sync ()">mm_gdbus_modem_call_set_power_state_sync</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate" title="mm_gdbus_modem_cdma_call_activate ()">mm_gdbus_modem_cdma_call_activate</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-finish" title="mm_gdbus_modem_cdma_call_activate_finish ()">mm_gdbus_modem_cdma_call_activate_finish</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual" title="mm_gdbus_modem_cdma_call_activate_manual ()">mm_gdbus_modem_cdma_call_activate_manual</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual-finish" title="mm_gdbus_modem_cdma_call_activate_manual_finish ()">mm_gdbus_modem_cdma_call_activate_manual_finish</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual-sync" title="mm_gdbus_modem_cdma_call_activate_manual_sync ()">mm_gdbus_modem_cdma_call_activate_manual_sync</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-sync" title="mm_gdbus_modem_cdma_call_activate_sync ()">mm_gdbus_modem_cdma_call_activate_sync</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-dup-esn" title="mm_gdbus_modem_cdma_dup_esn ()">mm_gdbus_modem_cdma_dup_esn</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-dup-meid" title="mm_gdbus_modem_cdma_dup_meid ()">mm_gdbus_modem_cdma_dup_meid</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-activation-state" title="mm_gdbus_modem_cdma_get_activation_state ()">mm_gdbus_modem_cdma_get_activation_state</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-cdma1x-registration-state" title="mm_gdbus_modem_cdma_get_cdma1x_registration_state ()">mm_gdbus_modem_cdma_get_cdma1x_registration_state</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-esn" title="mm_gdbus_modem_cdma_get_esn ()">mm_gdbus_modem_cdma_get_esn</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-evdo-registration-state" title="mm_gdbus_modem_cdma_get_evdo_registration_state ()">mm_gdbus_modem_cdma_get_evdo_registration_state</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-meid" title="mm_gdbus_modem_cdma_get_meid ()">mm_gdbus_modem_cdma_get_meid</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-nid" title="mm_gdbus_modem_cdma_get_nid ()">mm_gdbus_modem_cdma_get_nid</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-sid" title="mm_gdbus_modem_cdma_get_sid ()">mm_gdbus_modem_cdma_get_sid</a>, function in <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new" title="mm_gdbus_modem_cdma_proxy_new ()">mm_gdbus_modem_cdma_proxy_new</a>, function in <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-finish" title="mm_gdbus_modem_cdma_proxy_new_finish ()">mm_gdbus_modem_cdma_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus" title="mm_gdbus_modem_cdma_proxy_new_for_bus ()">mm_gdbus_modem_cdma_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus-finish" title="mm_gdbus_modem_cdma_proxy_new_for_bus_finish ()">mm_gdbus_modem_cdma_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus-sync" title="mm_gdbus_modem_cdma_proxy_new_for_bus_sync ()">mm_gdbus_modem_cdma_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-sync" title="mm_gdbus_modem_cdma_proxy_new_sync ()">mm_gdbus_modem_cdma_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemCdmaSkeleton.html#mm-gdbus-modem-cdma-skeleton-new" title="mm_gdbus_modem_cdma_skeleton_new ()">mm_gdbus_modem_cdma_skeleton_new</a>, function in <a class="link" href="MmGdbusModemCdmaSkeleton.html" title="MmGdbusModemCdmaSkeleton">MmGdbusModemCdmaSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-bearers" title="mm_gdbus_modem_dup_bearers ()">mm_gdbus_modem_dup_bearers</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-current-bands" title="mm_gdbus_modem_dup_current_bands ()">mm_gdbus_modem_dup_current_bands</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-current-modes" title="mm_gdbus_modem_dup_current_modes ()">mm_gdbus_modem_dup_current_modes</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-device" title="mm_gdbus_modem_dup_device ()">mm_gdbus_modem_dup_device</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-device-identifier" title="mm_gdbus_modem_dup_device_identifier ()">mm_gdbus_modem_dup_device_identifier</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-drivers" title="mm_gdbus_modem_dup_drivers ()">mm_gdbus_modem_dup_drivers</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-equipment-identifier" title="mm_gdbus_modem_dup_equipment_identifier ()">mm_gdbus_modem_dup_equipment_identifier</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-hardware-revision" title="mm_gdbus_modem_dup_hardware_revision ()">mm_gdbus_modem_dup_hardware_revision</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-manufacturer" title="mm_gdbus_modem_dup_manufacturer ()">mm_gdbus_modem_dup_manufacturer</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-model" title="mm_gdbus_modem_dup_model ()">mm_gdbus_modem_dup_model</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-own-numbers" title="mm_gdbus_modem_dup_own_numbers ()">mm_gdbus_modem_dup_own_numbers</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-plugin" title="mm_gdbus_modem_dup_plugin ()">mm_gdbus_modem_dup_plugin</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-ports" title="mm_gdbus_modem_dup_ports ()">mm_gdbus_modem_dup_ports</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-primary-port" title="mm_gdbus_modem_dup_primary_port ()">mm_gdbus_modem_dup_primary_port</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-revision" title="mm_gdbus_modem_dup_revision ()">mm_gdbus_modem_dup_revision</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-signal-quality" title="mm_gdbus_modem_dup_signal_quality ()">mm_gdbus_modem_dup_signal_quality</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-sim" title="mm_gdbus_modem_dup_sim ()">mm_gdbus_modem_dup_sim</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-supported-bands" title="mm_gdbus_modem_dup_supported_bands ()">mm_gdbus_modem_dup_supported_bands</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-supported-capabilities" title="mm_gdbus_modem_dup_supported_capabilities ()">mm_gdbus_modem_dup_supported_capabilities</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-supported-modes" title="mm_gdbus_modem_dup_supported_modes ()">mm_gdbus_modem_dup_supported_modes</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-dup-unlock-retries" title="mm_gdbus_modem_dup_unlock_retries ()">mm_gdbus_modem_dup_unlock_retries</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list" title="mm_gdbus_modem_firmware_call_list ()">mm_gdbus_modem_firmware_call_list</a>, function in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list-finish" title="mm_gdbus_modem_firmware_call_list_finish ()">mm_gdbus_modem_firmware_call_list_finish</a>, function in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list-sync" title="mm_gdbus_modem_firmware_call_list_sync ()">mm_gdbus_modem_firmware_call_list_sync</a>, function in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select" title="mm_gdbus_modem_firmware_call_select ()">mm_gdbus_modem_firmware_call_select</a>, function in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select-finish" title="mm_gdbus_modem_firmware_call_select_finish ()">mm_gdbus_modem_firmware_call_select_finish</a>, function in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select-sync" title="mm_gdbus_modem_firmware_call_select_sync ()">mm_gdbus_modem_firmware_call_select_sync</a>, function in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-dup-update-settings" title="mm_gdbus_modem_firmware_dup_update_settings ()">mm_gdbus_modem_firmware_dup_update_settings</a>, function in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-get-update-settings" title="mm_gdbus_modem_firmware_get_update_settings ()">mm_gdbus_modem_firmware_get_update_settings</a>, function in <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new" title="mm_gdbus_modem_firmware_proxy_new ()">mm_gdbus_modem_firmware_proxy_new</a>, function in <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-finish" title="mm_gdbus_modem_firmware_proxy_new_finish ()">mm_gdbus_modem_firmware_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus" title="mm_gdbus_modem_firmware_proxy_new_for_bus ()">mm_gdbus_modem_firmware_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus-finish" title="mm_gdbus_modem_firmware_proxy_new_for_bus_finish ()">mm_gdbus_modem_firmware_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus-sync" title="mm_gdbus_modem_firmware_proxy_new_for_bus_sync ()">mm_gdbus_modem_firmware_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-sync" title="mm_gdbus_modem_firmware_proxy_new_sync ()">mm_gdbus_modem_firmware_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemFirmwareSkeleton.html#mm-gdbus-modem-firmware-skeleton-new" title="mm_gdbus_modem_firmware_skeleton_new ()">mm_gdbus_modem_firmware_skeleton_new</a>, function in <a class="link" href="MmGdbusModemFirmwareSkeleton.html" title="MmGdbusModemFirmwareSkeleton">MmGdbusModemFirmwareSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-access-technologies" title="mm_gdbus_modem_get_access_technologies ()">mm_gdbus_modem_get_access_technologies</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-bearers" title="mm_gdbus_modem_get_bearers ()">mm_gdbus_modem_get_bearers</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-current-bands" title="mm_gdbus_modem_get_current_bands ()">mm_gdbus_modem_get_current_bands</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-current-capabilities" title="mm_gdbus_modem_get_current_capabilities ()">mm_gdbus_modem_get_current_capabilities</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-current-modes" title="mm_gdbus_modem_get_current_modes ()">mm_gdbus_modem_get_current_modes</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-device" title="mm_gdbus_modem_get_device ()">mm_gdbus_modem_get_device</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-device-identifier" title="mm_gdbus_modem_get_device_identifier ()">mm_gdbus_modem_get_device_identifier</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-drivers" title="mm_gdbus_modem_get_drivers ()">mm_gdbus_modem_get_drivers</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-equipment-identifier" title="mm_gdbus_modem_get_equipment_identifier ()">mm_gdbus_modem_get_equipment_identifier</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-hardware-revision" title="mm_gdbus_modem_get_hardware_revision ()">mm_gdbus_modem_get_hardware_revision</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-manufacturer" title="mm_gdbus_modem_get_manufacturer ()">mm_gdbus_modem_get_manufacturer</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-max-active-bearers" title="mm_gdbus_modem_get_max_active_bearers ()">mm_gdbus_modem_get_max_active_bearers</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-max-bearers" title="mm_gdbus_modem_get_max_bearers ()">mm_gdbus_modem_get_max_bearers</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-model" title="mm_gdbus_modem_get_model ()">mm_gdbus_modem_get_model</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-own-numbers" title="mm_gdbus_modem_get_own_numbers ()">mm_gdbus_modem_get_own_numbers</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-plugin" title="mm_gdbus_modem_get_plugin ()">mm_gdbus_modem_get_plugin</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-ports" title="mm_gdbus_modem_get_ports ()">mm_gdbus_modem_get_ports</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-power-state" title="mm_gdbus_modem_get_power_state ()">mm_gdbus_modem_get_power_state</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-primary-port" title="mm_gdbus_modem_get_primary_port ()">mm_gdbus_modem_get_primary_port</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-revision" title="mm_gdbus_modem_get_revision ()">mm_gdbus_modem_get_revision</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-signal-quality" title="mm_gdbus_modem_get_signal_quality ()">mm_gdbus_modem_get_signal_quality</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-sim" title="mm_gdbus_modem_get_sim ()">mm_gdbus_modem_get_sim</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-state" title="mm_gdbus_modem_get_state ()">mm_gdbus_modem_get_state</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-state-failed-reason" title="mm_gdbus_modem_get_state_failed_reason ()">mm_gdbus_modem_get_state_failed_reason</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-supported-bands" title="mm_gdbus_modem_get_supported_bands ()">mm_gdbus_modem_get_supported_bands</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-supported-capabilities" title="mm_gdbus_modem_get_supported_capabilities ()">mm_gdbus_modem_get_supported_capabilities</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-supported-ip-families" title="mm_gdbus_modem_get_supported_ip_families ()">mm_gdbus_modem_get_supported_ip_families</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-supported-modes" title="mm_gdbus_modem_get_supported_modes ()">mm_gdbus_modem_get_supported_modes</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-unlock-required" title="mm_gdbus_modem_get_unlock_required ()">mm_gdbus_modem_get_unlock_required</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModem.html#mm-gdbus-modem-get-unlock-retries" title="mm_gdbus_modem_get_unlock_retries ()">mm_gdbus_modem_get_unlock_retries</a>, function in <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location" title="mm_gdbus_modem_location_call_get_location ()">mm_gdbus_modem_location_call_get_location</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location-finish" title="mm_gdbus_modem_location_call_get_location_finish ()">mm_gdbus_modem_location_call_get_location_finish</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location-sync" title="mm_gdbus_modem_location_call_get_location_sync ()">mm_gdbus_modem_location_call_get_location_sync</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data" title="mm_gdbus_modem_location_call_inject_assistance_data ()">mm_gdbus_modem_location_call_inject_assistance_data</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data-finish" title="mm_gdbus_modem_location_call_inject_assistance_data_finish ()">mm_gdbus_modem_location_call_inject_assistance_data_finish</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data-sync" title="mm_gdbus_modem_location_call_inject_assistance_data_sync ()">mm_gdbus_modem_location_call_inject_assistance_data_sync</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup" title="mm_gdbus_modem_location_call_setup ()">mm_gdbus_modem_location_call_setup</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup-finish" title="mm_gdbus_modem_location_call_setup_finish ()">mm_gdbus_modem_location_call_setup_finish</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup-sync" title="mm_gdbus_modem_location_call_setup_sync ()">mm_gdbus_modem_location_call_setup_sync</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate" title="mm_gdbus_modem_location_call_set_gps_refresh_rate ()">mm_gdbus_modem_location_call_set_gps_refresh_rate</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate-finish" title="mm_gdbus_modem_location_call_set_gps_refresh_rate_finish ()">mm_gdbus_modem_location_call_set_gps_refresh_rate_finish</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate-sync" title="mm_gdbus_modem_location_call_set_gps_refresh_rate_sync ()">mm_gdbus_modem_location_call_set_gps_refresh_rate_sync</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server" title="mm_gdbus_modem_location_call_set_supl_server ()">mm_gdbus_modem_location_call_set_supl_server</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server-finish" title="mm_gdbus_modem_location_call_set_supl_server_finish ()">mm_gdbus_modem_location_call_set_supl_server_finish</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server-sync" title="mm_gdbus_modem_location_call_set_supl_server_sync ()">mm_gdbus_modem_location_call_set_supl_server_sync</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-assistance-data-servers" title="mm_gdbus_modem_location_dup_assistance_data_servers ()">mm_gdbus_modem_location_dup_assistance_data_servers</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-location" title="mm_gdbus_modem_location_dup_location ()">mm_gdbus_modem_location_dup_location</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-supl-server" title="mm_gdbus_modem_location_dup_supl_server ()">mm_gdbus_modem_location_dup_supl_server</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-assistance-data-servers" title="mm_gdbus_modem_location_get_assistance_data_servers ()">mm_gdbus_modem_location_get_assistance_data_servers</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-capabilities" title="mm_gdbus_modem_location_get_capabilities ()">mm_gdbus_modem_location_get_capabilities</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-enabled" title="mm_gdbus_modem_location_get_enabled ()">mm_gdbus_modem_location_get_enabled</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-gps-refresh-rate" title="mm_gdbus_modem_location_get_gps_refresh_rate ()">mm_gdbus_modem_location_get_gps_refresh_rate</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-location" title="mm_gdbus_modem_location_get_location ()">mm_gdbus_modem_location_get_location</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-signals-location" title="mm_gdbus_modem_location_get_signals_location ()">mm_gdbus_modem_location_get_signals_location</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-supl-server" title="mm_gdbus_modem_location_get_supl_server ()">mm_gdbus_modem_location_get_supl_server</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-supported-assistance-data" title="mm_gdbus_modem_location_get_supported_assistance_data ()">mm_gdbus_modem_location_get_supported_assistance_data</a>, function in <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new" title="mm_gdbus_modem_location_proxy_new ()">mm_gdbus_modem_location_proxy_new</a>, function in <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-finish" title="mm_gdbus_modem_location_proxy_new_finish ()">mm_gdbus_modem_location_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus" title="mm_gdbus_modem_location_proxy_new_for_bus ()">mm_gdbus_modem_location_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus-finish" title="mm_gdbus_modem_location_proxy_new_for_bus_finish ()">mm_gdbus_modem_location_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus-sync" title="mm_gdbus_modem_location_proxy_new_for_bus_sync ()">mm_gdbus_modem_location_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-sync" title="mm_gdbus_modem_location_proxy_new_sync ()">mm_gdbus_modem_location_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemLocationSkeleton.html#mm-gdbus-modem-location-skeleton-new" title="mm_gdbus_modem_location_skeleton_new ()">mm_gdbus_modem_location_skeleton_new</a>, function in <a class="link" href="MmGdbusModemLocationSkeleton.html" title="MmGdbusModemLocationSkeleton">MmGdbusModemLocationSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create" title="mm_gdbus_modem_messaging_call_create ()">mm_gdbus_modem_messaging_call_create</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create-finish" title="mm_gdbus_modem_messaging_call_create_finish ()">mm_gdbus_modem_messaging_call_create_finish</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create-sync" title="mm_gdbus_modem_messaging_call_create_sync ()">mm_gdbus_modem_messaging_call_create_sync</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete" title="mm_gdbus_modem_messaging_call_delete ()">mm_gdbus_modem_messaging_call_delete</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete-finish" title="mm_gdbus_modem_messaging_call_delete_finish ()">mm_gdbus_modem_messaging_call_delete_finish</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete-sync" title="mm_gdbus_modem_messaging_call_delete_sync ()">mm_gdbus_modem_messaging_call_delete_sync</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list" title="mm_gdbus_modem_messaging_call_list ()">mm_gdbus_modem_messaging_call_list</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list-finish" title="mm_gdbus_modem_messaging_call_list_finish ()">mm_gdbus_modem_messaging_call_list_finish</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list-sync" title="mm_gdbus_modem_messaging_call_list_sync ()">mm_gdbus_modem_messaging_call_list_sync</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-dup-messages" title="mm_gdbus_modem_messaging_dup_messages ()">mm_gdbus_modem_messaging_dup_messages</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-dup-supported-storages" title="mm_gdbus_modem_messaging_dup_supported_storages ()">mm_gdbus_modem_messaging_dup_supported_storages</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-get-default-storage" title="mm_gdbus_modem_messaging_get_default_storage ()">mm_gdbus_modem_messaging_get_default_storage</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-get-messages" title="mm_gdbus_modem_messaging_get_messages ()">mm_gdbus_modem_messaging_get_messages</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-get-supported-storages" title="mm_gdbus_modem_messaging_get_supported_storages ()">mm_gdbus_modem_messaging_get_supported_storages</a>, function in <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new" title="mm_gdbus_modem_messaging_proxy_new ()">mm_gdbus_modem_messaging_proxy_new</a>, function in <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-finish" title="mm_gdbus_modem_messaging_proxy_new_finish ()">mm_gdbus_modem_messaging_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus" title="mm_gdbus_modem_messaging_proxy_new_for_bus ()">mm_gdbus_modem_messaging_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus-finish" title="mm_gdbus_modem_messaging_proxy_new_for_bus_finish ()">mm_gdbus_modem_messaging_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus-sync" title="mm_gdbus_modem_messaging_proxy_new_for_bus_sync ()">mm_gdbus_modem_messaging_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-sync" title="mm_gdbus_modem_messaging_proxy_new_sync ()">mm_gdbus_modem_messaging_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemMessagingSkeleton.html#mm-gdbus-modem-messaging-skeleton-new" title="mm_gdbus_modem_messaging_skeleton_new ()">mm_gdbus_modem_messaging_skeleton_new</a>, function in <a class="link" href="MmGdbusModemMessagingSkeleton.html" title="MmGdbusModemMessagingSkeleton">MmGdbusModemMessagingSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session" title="mm_gdbus_modem_oma_call_accept_network_initiated_session ()">mm_gdbus_modem_oma_call_accept_network_initiated_session</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session-finish" title="mm_gdbus_modem_oma_call_accept_network_initiated_session_finish ()">mm_gdbus_modem_oma_call_accept_network_initiated_session_finish</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session-sync" title="mm_gdbus_modem_oma_call_accept_network_initiated_session_sync ()">mm_gdbus_modem_oma_call_accept_network_initiated_session_sync</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session" title="mm_gdbus_modem_oma_call_cancel_session ()">mm_gdbus_modem_oma_call_cancel_session</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session-finish" title="mm_gdbus_modem_oma_call_cancel_session_finish ()">mm_gdbus_modem_oma_call_cancel_session_finish</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session-sync" title="mm_gdbus_modem_oma_call_cancel_session_sync ()">mm_gdbus_modem_oma_call_cancel_session_sync</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup" title="mm_gdbus_modem_oma_call_setup ()">mm_gdbus_modem_oma_call_setup</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup-finish" title="mm_gdbus_modem_oma_call_setup_finish ()">mm_gdbus_modem_oma_call_setup_finish</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup-sync" title="mm_gdbus_modem_oma_call_setup_sync ()">mm_gdbus_modem_oma_call_setup_sync</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session" title="mm_gdbus_modem_oma_call_start_client_initiated_session ()">mm_gdbus_modem_oma_call_start_client_initiated_session</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session-finish" title="mm_gdbus_modem_oma_call_start_client_initiated_session_finish ()">mm_gdbus_modem_oma_call_start_client_initiated_session_finish</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session-sync" title="mm_gdbus_modem_oma_call_start_client_initiated_session_sync ()">mm_gdbus_modem_oma_call_start_client_initiated_session_sync</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-dup-pending-network-initiated-sessions" title="mm_gdbus_modem_oma_dup_pending_network_initiated_sessions ()">mm_gdbus_modem_oma_dup_pending_network_initiated_sessions</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-features" title="mm_gdbus_modem_oma_get_features ()">mm_gdbus_modem_oma_get_features</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-pending-network-initiated-sessions" title="mm_gdbus_modem_oma_get_pending_network_initiated_sessions ()">mm_gdbus_modem_oma_get_pending_network_initiated_sessions</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-session-state" title="mm_gdbus_modem_oma_get_session_state ()">mm_gdbus_modem_oma_get_session_state</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-session-type" title="mm_gdbus_modem_oma_get_session_type ()">mm_gdbus_modem_oma_get_session_type</a>, function in <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new" title="mm_gdbus_modem_oma_proxy_new ()">mm_gdbus_modem_oma_proxy_new</a>, function in <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-finish" title="mm_gdbus_modem_oma_proxy_new_finish ()">mm_gdbus_modem_oma_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus" title="mm_gdbus_modem_oma_proxy_new_for_bus ()">mm_gdbus_modem_oma_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus-finish" title="mm_gdbus_modem_oma_proxy_new_for_bus_finish ()">mm_gdbus_modem_oma_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus-sync" title="mm_gdbus_modem_oma_proxy_new_for_bus_sync ()">mm_gdbus_modem_oma_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-sync" title="mm_gdbus_modem_oma_proxy_new_sync ()">mm_gdbus_modem_oma_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemOmaSkeleton.html#mm-gdbus-modem-oma-skeleton-new" title="mm_gdbus_modem_oma_skeleton_new ()">mm_gdbus_modem_oma_skeleton_new</a>, function in <a class="link" href="MmGdbusModemOmaSkeleton.html" title="MmGdbusModemOmaSkeleton">MmGdbusModemOmaSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new" title="mm_gdbus_modem_proxy_new ()">mm_gdbus_modem_proxy_new</a>, function in <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-finish" title="mm_gdbus_modem_proxy_new_finish ()">mm_gdbus_modem_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus" title="mm_gdbus_modem_proxy_new_for_bus ()">mm_gdbus_modem_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus-finish" title="mm_gdbus_modem_proxy_new_for_bus_finish ()">mm_gdbus_modem_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus-sync" title="mm_gdbus_modem_proxy_new_for_bus_sync ()">mm_gdbus_modem_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-sync" title="mm_gdbus_modem_proxy_new_sync ()">mm_gdbus_modem_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup" title="mm_gdbus_modem_signal_call_setup ()">mm_gdbus_modem_signal_call_setup</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup-finish" title="mm_gdbus_modem_signal_call_setup_finish ()">mm_gdbus_modem_signal_call_setup_finish</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup-sync" title="mm_gdbus_modem_signal_call_setup_sync ()">mm_gdbus_modem_signal_call_setup_sync</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-cdma" title="mm_gdbus_modem_signal_dup_cdma ()">mm_gdbus_modem_signal_dup_cdma</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-evdo" title="mm_gdbus_modem_signal_dup_evdo ()">mm_gdbus_modem_signal_dup_evdo</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-gsm" title="mm_gdbus_modem_signal_dup_gsm ()">mm_gdbus_modem_signal_dup_gsm</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-lte" title="mm_gdbus_modem_signal_dup_lte ()">mm_gdbus_modem_signal_dup_lte</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-umts" title="mm_gdbus_modem_signal_dup_umts ()">mm_gdbus_modem_signal_dup_umts</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-cdma" title="mm_gdbus_modem_signal_get_cdma ()">mm_gdbus_modem_signal_get_cdma</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-evdo" title="mm_gdbus_modem_signal_get_evdo ()">mm_gdbus_modem_signal_get_evdo</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-gsm" title="mm_gdbus_modem_signal_get_gsm ()">mm_gdbus_modem_signal_get_gsm</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-lte" title="mm_gdbus_modem_signal_get_lte ()">mm_gdbus_modem_signal_get_lte</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-rate" title="mm_gdbus_modem_signal_get_rate ()">mm_gdbus_modem_signal_get_rate</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-umts" title="mm_gdbus_modem_signal_get_umts ()">mm_gdbus_modem_signal_get_umts</a>, function in <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new" title="mm_gdbus_modem_signal_proxy_new ()">mm_gdbus_modem_signal_proxy_new</a>, function in <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-finish" title="mm_gdbus_modem_signal_proxy_new_finish ()">mm_gdbus_modem_signal_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus" title="mm_gdbus_modem_signal_proxy_new_for_bus ()">mm_gdbus_modem_signal_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus-finish" title="mm_gdbus_modem_signal_proxy_new_for_bus_finish ()">mm_gdbus_modem_signal_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus-sync" title="mm_gdbus_modem_signal_proxy_new_for_bus_sync ()">mm_gdbus_modem_signal_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-sync" title="mm_gdbus_modem_signal_proxy_new_sync ()">mm_gdbus_modem_signal_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSignalSkeleton.html#mm-gdbus-modem-signal-skeleton-new" title="mm_gdbus_modem_signal_skeleton_new ()">mm_gdbus_modem_signal_skeleton_new</a>, function in <a class="link" href="MmGdbusModemSignalSkeleton.html" title="MmGdbusModemSignalSkeleton">MmGdbusModemSignalSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect" title="mm_gdbus_modem_simple_call_connect ()">mm_gdbus_modem_simple_call_connect</a>, function in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect-finish" title="mm_gdbus_modem_simple_call_connect_finish ()">mm_gdbus_modem_simple_call_connect_finish</a>, function in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect-sync" title="mm_gdbus_modem_simple_call_connect_sync ()">mm_gdbus_modem_simple_call_connect_sync</a>, function in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect" title="mm_gdbus_modem_simple_call_disconnect ()">mm_gdbus_modem_simple_call_disconnect</a>, function in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect-finish" title="mm_gdbus_modem_simple_call_disconnect_finish ()">mm_gdbus_modem_simple_call_disconnect_finish</a>, function in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect-sync" title="mm_gdbus_modem_simple_call_disconnect_sync ()">mm_gdbus_modem_simple_call_disconnect_sync</a>, function in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status" title="mm_gdbus_modem_simple_call_get_status ()">mm_gdbus_modem_simple_call_get_status</a>, function in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status-finish" title="mm_gdbus_modem_simple_call_get_status_finish ()">mm_gdbus_modem_simple_call_get_status_finish</a>, function in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status-sync" title="mm_gdbus_modem_simple_call_get_status_sync ()">mm_gdbus_modem_simple_call_get_status_sync</a>, function in <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new" title="mm_gdbus_modem_simple_proxy_new ()">mm_gdbus_modem_simple_proxy_new</a>, function in <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-finish" title="mm_gdbus_modem_simple_proxy_new_finish ()">mm_gdbus_modem_simple_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus" title="mm_gdbus_modem_simple_proxy_new_for_bus ()">mm_gdbus_modem_simple_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus-finish" title="mm_gdbus_modem_simple_proxy_new_for_bus_finish ()">mm_gdbus_modem_simple_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus-sync" title="mm_gdbus_modem_simple_proxy_new_for_bus_sync ()">mm_gdbus_modem_simple_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-sync" title="mm_gdbus_modem_simple_proxy_new_sync ()">mm_gdbus_modem_simple_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSimpleSkeleton.html#mm-gdbus-modem-simple-skeleton-new" title="mm_gdbus_modem_simple_skeleton_new ()">mm_gdbus_modem_simple_skeleton_new</a>, function in <a class="link" href="MmGdbusModemSimpleSkeleton.html" title="MmGdbusModemSimpleSkeleton">MmGdbusModemSimpleSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemSkeleton.html#mm-gdbus-modem-skeleton-new" title="mm_gdbus_modem_skeleton_new ()">mm_gdbus_modem_skeleton_new</a>, function in <a class="link" href="MmGdbusModemSkeleton.html" title="MmGdbusModemSkeleton">MmGdbusModemSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time" title="mm_gdbus_modem_time_call_get_network_time ()">mm_gdbus_modem_time_call_get_network_time</a>, function in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time-finish" title="mm_gdbus_modem_time_call_get_network_time_finish ()">mm_gdbus_modem_time_call_get_network_time_finish</a>, function in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time-sync" title="mm_gdbus_modem_time_call_get_network_time_sync ()">mm_gdbus_modem_time_call_get_network_time_sync</a>, function in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-dup-network-timezone" title="mm_gdbus_modem_time_dup_network_timezone ()">mm_gdbus_modem_time_dup_network_timezone</a>, function in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTime.html#mm-gdbus-modem-time-get-network-timezone" title="mm_gdbus_modem_time_get_network_timezone ()">mm_gdbus_modem_time_get_network_timezone</a>, function in <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new" title="mm_gdbus_modem_time_proxy_new ()">mm_gdbus_modem_time_proxy_new</a>, function in <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-finish" title="mm_gdbus_modem_time_proxy_new_finish ()">mm_gdbus_modem_time_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus" title="mm_gdbus_modem_time_proxy_new_for_bus ()">mm_gdbus_modem_time_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus-finish" title="mm_gdbus_modem_time_proxy_new_for_bus_finish ()">mm_gdbus_modem_time_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus-sync" title="mm_gdbus_modem_time_proxy_new_for_bus_sync ()">mm_gdbus_modem_time_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-sync" title="mm_gdbus_modem_time_proxy_new_sync ()">mm_gdbus_modem_time_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemTimeSkeleton.html#mm-gdbus-modem-time-skeleton-new" title="mm_gdbus_modem_time_skeleton_new ()">mm_gdbus_modem_time_skeleton_new</a>, function in <a class="link" href="MmGdbusModemTimeSkeleton.html" title="MmGdbusModemTimeSkeleton">MmGdbusModemTimeSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call" title="mm_gdbus_modem_voice_call_create_call ()">mm_gdbus_modem_voice_call_create_call</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call-finish" title="mm_gdbus_modem_voice_call_create_call_finish ()">mm_gdbus_modem_voice_call_create_call_finish</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call-sync" title="mm_gdbus_modem_voice_call_create_call_sync ()">mm_gdbus_modem_voice_call_create_call_sync</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call" title="mm_gdbus_modem_voice_call_delete_call ()">mm_gdbus_modem_voice_call_delete_call</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call-finish" title="mm_gdbus_modem_voice_call_delete_call_finish ()">mm_gdbus_modem_voice_call_delete_call_finish</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call-sync" title="mm_gdbus_modem_voice_call_delete_call_sync ()">mm_gdbus_modem_voice_call_delete_call_sync</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls" title="mm_gdbus_modem_voice_call_list_calls ()">mm_gdbus_modem_voice_call_list_calls</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls-finish" title="mm_gdbus_modem_voice_call_list_calls_finish ()">mm_gdbus_modem_voice_call_list_calls_finish</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls-sync" title="mm_gdbus_modem_voice_call_list_calls_sync ()">mm_gdbus_modem_voice_call_list_calls_sync</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-dup-calls" title="mm_gdbus_modem_voice_dup_calls ()">mm_gdbus_modem_voice_dup_calls</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoice.html#mm-gdbus-modem-voice-get-calls" title="mm_gdbus_modem_voice_get_calls ()">mm_gdbus_modem_voice_get_calls</a>, function in <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new" title="mm_gdbus_modem_voice_proxy_new ()">mm_gdbus_modem_voice_proxy_new</a>, function in <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-finish" title="mm_gdbus_modem_voice_proxy_new_finish ()">mm_gdbus_modem_voice_proxy_new_finish</a>, function in <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus" title="mm_gdbus_modem_voice_proxy_new_for_bus ()">mm_gdbus_modem_voice_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus-finish" title="mm_gdbus_modem_voice_proxy_new_for_bus_finish ()">mm_gdbus_modem_voice_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus-sync" title="mm_gdbus_modem_voice_proxy_new_for_bus_sync ()">mm_gdbus_modem_voice_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-sync" title="mm_gdbus_modem_voice_proxy_new_sync ()">mm_gdbus_modem_voice_proxy_new_sync</a>, function in <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusModemVoiceSkeleton.html#mm-gdbus-modem-voice-skeleton-new" title="mm_gdbus_modem_voice_skeleton_new ()">mm_gdbus_modem_voice_skeleton_new</a>, function in <a class="link" href="MmGdbusModemVoiceSkeleton.html" title="MmGdbusModemVoiceSkeleton">MmGdbusModemVoiceSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem" title="mm_gdbus_object_get_modem ()">mm_gdbus_object_get_modem</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem3gpp" title="mm_gdbus_object_get_modem3gpp ()">mm_gdbus_object_get_modem3gpp</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem3gpp-ussd" title="mm_gdbus_object_get_modem3gpp_ussd ()">mm_gdbus_object_get_modem3gpp_ussd</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-cdma" title="mm_gdbus_object_get_modem_cdma ()">mm_gdbus_object_get_modem_cdma</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-firmware" title="mm_gdbus_object_get_modem_firmware ()">mm_gdbus_object_get_modem_firmware</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-location" title="mm_gdbus_object_get_modem_location ()">mm_gdbus_object_get_modem_location</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-messaging" title="mm_gdbus_object_get_modem_messaging ()">mm_gdbus_object_get_modem_messaging</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-oma" title="mm_gdbus_object_get_modem_oma ()">mm_gdbus_object_get_modem_oma</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-signal" title="mm_gdbus_object_get_modem_signal ()">mm_gdbus_object_get_modem_signal</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-simple" title="mm_gdbus_object_get_modem_simple ()">mm_gdbus_object_get_modem_simple</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-time" title="mm_gdbus_object_get_modem_time ()">mm_gdbus_object_get_modem_time</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-get-modem-voice" title="mm_gdbus_object_get_modem_voice ()">mm_gdbus_object_get_modem_voice</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-get-proxy-type" title="mm_gdbus_object_manager_client_get_proxy_type ()">mm_gdbus_object_manager_client_get_proxy_type</a>, function in <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new" title="mm_gdbus_object_manager_client_new ()">mm_gdbus_object_manager_client_new</a>, function in <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-finish" title="mm_gdbus_object_manager_client_new_finish ()">mm_gdbus_object_manager_client_new_finish</a>, function in <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus" title="mm_gdbus_object_manager_client_new_for_bus ()">mm_gdbus_object_manager_client_new_for_bus</a>, function in <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus-finish" title="mm_gdbus_object_manager_client_new_for_bus_finish ()">mm_gdbus_object_manager_client_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus-sync" title="mm_gdbus_object_manager_client_new_for_bus_sync ()">mm_gdbus_object_manager_client_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-sync" title="mm_gdbus_object_manager_client_new_sync ()">mm_gdbus_object_manager_client_new_sync</a>, function in <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem" title="mm_gdbus_object_peek_modem ()">mm_gdbus_object_peek_modem</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem3gpp" title="mm_gdbus_object_peek_modem3gpp ()">mm_gdbus_object_peek_modem3gpp</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem3gpp-ussd" title="mm_gdbus_object_peek_modem3gpp_ussd ()">mm_gdbus_object_peek_modem3gpp_ussd</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-cdma" title="mm_gdbus_object_peek_modem_cdma ()">mm_gdbus_object_peek_modem_cdma</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-firmware" title="mm_gdbus_object_peek_modem_firmware ()">mm_gdbus_object_peek_modem_firmware</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-location" title="mm_gdbus_object_peek_modem_location ()">mm_gdbus_object_peek_modem_location</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-messaging" title="mm_gdbus_object_peek_modem_messaging ()">mm_gdbus_object_peek_modem_messaging</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-oma" title="mm_gdbus_object_peek_modem_oma ()">mm_gdbus_object_peek_modem_oma</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-signal" title="mm_gdbus_object_peek_modem_signal ()">mm_gdbus_object_peek_modem_signal</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-simple" title="mm_gdbus_object_peek_modem_simple ()">mm_gdbus_object_peek_modem_simple</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-time" title="mm_gdbus_object_peek_modem_time ()">mm_gdbus_object_peek_modem_time</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObject.html#mm-gdbus-object-peek-modem-voice" title="mm_gdbus_object_peek_modem_voice ()">mm_gdbus_object_peek_modem_voice</a>, function in <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectProxy.html#mm-gdbus-object-proxy-new" title="mm_gdbus_object_proxy_new ()">mm_gdbus_object_proxy_new</a>, function in <a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy">MmGdbusObjectProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-new" title="mm_gdbus_object_skeleton_new ()">mm_gdbus_object_skeleton_new</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem" title="mm_gdbus_object_skeleton_set_modem ()">mm_gdbus_object_skeleton_set_modem</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem3gpp" title="mm_gdbus_object_skeleton_set_modem3gpp ()">mm_gdbus_object_skeleton_set_modem3gpp</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem3gpp-ussd" title="mm_gdbus_object_skeleton_set_modem3gpp_ussd ()">mm_gdbus_object_skeleton_set_modem3gpp_ussd</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-cdma" title="mm_gdbus_object_skeleton_set_modem_cdma ()">mm_gdbus_object_skeleton_set_modem_cdma</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-firmware" title="mm_gdbus_object_skeleton_set_modem_firmware ()">mm_gdbus_object_skeleton_set_modem_firmware</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-location" title="mm_gdbus_object_skeleton_set_modem_location ()">mm_gdbus_object_skeleton_set_modem_location</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-messaging" title="mm_gdbus_object_skeleton_set_modem_messaging ()">mm_gdbus_object_skeleton_set_modem_messaging</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-oma" title="mm_gdbus_object_skeleton_set_modem_oma ()">mm_gdbus_object_skeleton_set_modem_oma</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-signal" title="mm_gdbus_object_skeleton_set_modem_signal ()">mm_gdbus_object_skeleton_set_modem_signal</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-simple" title="mm_gdbus_object_skeleton_set_modem_simple ()">mm_gdbus_object_skeleton_set_modem_simple</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-time" title="mm_gdbus_object_skeleton_set_modem_time ()">mm_gdbus_object_skeleton_set_modem_time</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-voice" title="mm_gdbus_object_skeleton_set_modem_voice ()">mm_gdbus_object_skeleton_set_modem_voice</a>, function in <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device ()">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_finish ()">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_finish</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_sync ()">mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_sync</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event ()">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_finish ()">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_finish</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_sync ()">mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_sync</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices ()">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_finish ()">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_finish</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_sync ()">mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_sync</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging ()">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-finish" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_finish ()">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_finish</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-sync" title="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_sync ()">mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_sync</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-dup-version" title="mm_gdbus_org_freedesktop_modem_manager1_dup_version ()">mm_gdbus_org_freedesktop_modem_manager1_dup_version</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-get-version" title="mm_gdbus_org_freedesktop_modem_manager1_get_version ()">mm_gdbus_org_freedesktop_modem_manager1_get_version</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-finish" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_finish ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_finish</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-finish" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_finish ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-sync" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_sync ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-sync" title="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync ()">mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html#mm-gdbus-org-freedesktop-modem-manager1-skeleton-new" title="mm_gdbus_org_freedesktop_modem_manager1_skeleton_new ()">mm_gdbus_org_freedesktop_modem_manager1_skeleton_new</a>, function in <a class="link" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html" title="MmGdbusOrgFreedesktopModemManager1Skeleton">MmGdbusOrgFreedesktopModemManager1Skeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin" title="mm_gdbus_sim_call_change_pin ()">mm_gdbus_sim_call_change_pin</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin-finish" title="mm_gdbus_sim_call_change_pin_finish ()">mm_gdbus_sim_call_change_pin_finish</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-change-pin-sync" title="mm_gdbus_sim_call_change_pin_sync ()">mm_gdbus_sim_call_change_pin_sync</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin" title="mm_gdbus_sim_call_enable_pin ()">mm_gdbus_sim_call_enable_pin</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin-finish" title="mm_gdbus_sim_call_enable_pin_finish ()">mm_gdbus_sim_call_enable_pin_finish</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin-sync" title="mm_gdbus_sim_call_enable_pin_sync ()">mm_gdbus_sim_call_enable_pin_sync</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin" title="mm_gdbus_sim_call_send_pin ()">mm_gdbus_sim_call_send_pin</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin-finish" title="mm_gdbus_sim_call_send_pin_finish ()">mm_gdbus_sim_call_send_pin_finish</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-pin-sync" title="mm_gdbus_sim_call_send_pin_sync ()">mm_gdbus_sim_call_send_pin_sync</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk" title="mm_gdbus_sim_call_send_puk ()">mm_gdbus_sim_call_send_puk</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk-finish" title="mm_gdbus_sim_call_send_puk_finish ()">mm_gdbus_sim_call_send_puk_finish</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-call-send-puk-sync" title="mm_gdbus_sim_call_send_puk_sync ()">mm_gdbus_sim_call_send_puk_sync</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-imsi" title="mm_gdbus_sim_dup_imsi ()">mm_gdbus_sim_dup_imsi</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-operator-identifier" title="mm_gdbus_sim_dup_operator_identifier ()">mm_gdbus_sim_dup_operator_identifier</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-operator-name" title="mm_gdbus_sim_dup_operator_name ()">mm_gdbus_sim_dup_operator_name</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-dup-sim-identifier" title="mm_gdbus_sim_dup_sim_identifier ()">mm_gdbus_sim_dup_sim_identifier</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-get-imsi" title="mm_gdbus_sim_get_imsi ()">mm_gdbus_sim_get_imsi</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-get-operator-identifier" title="mm_gdbus_sim_get_operator_identifier ()">mm_gdbus_sim_get_operator_identifier</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-get-operator-name" title="mm_gdbus_sim_get_operator_name ()">mm_gdbus_sim_get_operator_name</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSim.html#mm-gdbus-sim-get-sim-identifier" title="mm_gdbus_sim_get_sim_identifier ()">mm_gdbus_sim_get_sim_identifier</a>, function in <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new" title="mm_gdbus_sim_proxy_new ()">mm_gdbus_sim_proxy_new</a>, function in <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-finish" title="mm_gdbus_sim_proxy_new_finish ()">mm_gdbus_sim_proxy_new_finish</a>, function in <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus" title="mm_gdbus_sim_proxy_new_for_bus ()">mm_gdbus_sim_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus-finish" title="mm_gdbus_sim_proxy_new_for_bus_finish ()">mm_gdbus_sim_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus-sync" title="mm_gdbus_sim_proxy_new_for_bus_sync ()">mm_gdbus_sim_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-sync" title="mm_gdbus_sim_proxy_new_sync ()">mm_gdbus_sim_proxy_new_sync</a>, function in <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSimSkeleton.html#mm-gdbus-sim-skeleton-new" title="mm_gdbus_sim_skeleton_new ()">mm_gdbus_sim_skeleton_new</a>, function in <a class="link" href="MmGdbusSimSkeleton.html" title="MmGdbusSimSkeleton">MmGdbusSimSkeleton</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send" title="mm_gdbus_sms_call_send ()">mm_gdbus_sms_call_send</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send-finish" title="mm_gdbus_sms_call_send_finish ()">mm_gdbus_sms_call_send_finish</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-send-sync" title="mm_gdbus_sms_call_send_sync ()">mm_gdbus_sms_call_send_sync</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store" title="mm_gdbus_sms_call_store ()">mm_gdbus_sms_call_store</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store-finish" title="mm_gdbus_sms_call_store_finish ()">mm_gdbus_sms_call_store_finish</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-call-store-sync" title="mm_gdbus_sms_call_store_sync ()">mm_gdbus_sms_call_store_sync</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-data" title="mm_gdbus_sms_dup_data ()">mm_gdbus_sms_dup_data</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-discharge-timestamp" title="mm_gdbus_sms_dup_discharge_timestamp ()">mm_gdbus_sms_dup_discharge_timestamp</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-number" title="mm_gdbus_sms_dup_number ()">mm_gdbus_sms_dup_number</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-smsc" title="mm_gdbus_sms_dup_smsc ()">mm_gdbus_sms_dup_smsc</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-text" title="mm_gdbus_sms_dup_text ()">mm_gdbus_sms_dup_text</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-timestamp" title="mm_gdbus_sms_dup_timestamp ()">mm_gdbus_sms_dup_timestamp</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-dup-validity" title="mm_gdbus_sms_dup_validity ()">mm_gdbus_sms_dup_validity</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-class" title="mm_gdbus_sms_get_class ()">mm_gdbus_sms_get_class</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-data" title="mm_gdbus_sms_get_data ()">mm_gdbus_sms_get_data</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-delivery-report-request" title="mm_gdbus_sms_get_delivery_report_request ()">mm_gdbus_sms_get_delivery_report_request</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-delivery-state" title="mm_gdbus_sms_get_delivery_state ()">mm_gdbus_sms_get_delivery_state</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-discharge-timestamp" title="mm_gdbus_sms_get_discharge_timestamp ()">mm_gdbus_sms_get_discharge_timestamp</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-message-reference" title="mm_gdbus_sms_get_message_reference ()">mm_gdbus_sms_get_message_reference</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-number" title="mm_gdbus_sms_get_number ()">mm_gdbus_sms_get_number</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-pdu-type" title="mm_gdbus_sms_get_pdu_type ()">mm_gdbus_sms_get_pdu_type</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-service-category" title="mm_gdbus_sms_get_service_category ()">mm_gdbus_sms_get_service_category</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-smsc" title="mm_gdbus_sms_get_smsc ()">mm_gdbus_sms_get_smsc</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-state" title="mm_gdbus_sms_get_state ()">mm_gdbus_sms_get_state</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-storage" title="mm_gdbus_sms_get_storage ()">mm_gdbus_sms_get_storage</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-teleservice-id" title="mm_gdbus_sms_get_teleservice_id ()">mm_gdbus_sms_get_teleservice_id</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-text" title="mm_gdbus_sms_get_text ()">mm_gdbus_sms_get_text</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-timestamp" title="mm_gdbus_sms_get_timestamp ()">mm_gdbus_sms_get_timestamp</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSms.html#mm-gdbus-sms-get-validity" title="mm_gdbus_sms_get_validity ()">mm_gdbus_sms_get_validity</a>, function in <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new" title="mm_gdbus_sms_proxy_new ()">mm_gdbus_sms_proxy_new</a>, function in <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-finish" title="mm_gdbus_sms_proxy_new_finish ()">mm_gdbus_sms_proxy_new_finish</a>, function in <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus" title="mm_gdbus_sms_proxy_new_for_bus ()">mm_gdbus_sms_proxy_new_for_bus</a>, function in <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus-finish" title="mm_gdbus_sms_proxy_new_for_bus_finish ()">mm_gdbus_sms_proxy_new_for_bus_finish</a>, function in <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus-sync" title="mm_gdbus_sms_proxy_new_for_bus_sync ()">mm_gdbus_sms_proxy_new_for_bus_sync</a>, function in <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-sync" title="mm_gdbus_sms_proxy_new_sync ()">mm_gdbus_sms_proxy_new_sync</a>, function in <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MmGdbusSmsSkeleton.html#mm-gdbus-sms-skeleton-new" title="mm_gdbus_sms_skeleton_new ()">mm_gdbus_sms_skeleton_new</a>, function in <a class="link" href="MmGdbusSmsSkeleton.html" title="MmGdbusSmsSkeleton">MmGdbusSmsSkeleton</a>
+</dt>
+<dd></dd>
+<a name="idxK"></a><h3 class="title">K</h3>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#MMKernelEventProperties-struct" title="struct MMKernelEventProperties">MMKernelEventProperties</a>, struct in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-get-action" title="mm_kernel_event_properties_get_action ()">mm_kernel_event_properties_get_action</a>, function in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-get-name" title="mm_kernel_event_properties_get_name ()">mm_kernel_event_properties_get_name</a>, function in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-get-subsystem" title="mm_kernel_event_properties_get_subsystem ()">mm_kernel_event_properties_get_subsystem</a>, function in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-get-uid" title="mm_kernel_event_properties_get_uid ()">mm_kernel_event_properties_get_uid</a>, function in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-new" title="mm_kernel_event_properties_new ()">mm_kernel_event_properties_new</a>, function in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-set-action" title="mm_kernel_event_properties_set_action ()">mm_kernel_event_properties_set_action</a>, function in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-set-name" title="mm_kernel_event_properties_set_name ()">mm_kernel_event_properties_set_name</a>, function in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-set-subsystem" title="mm_kernel_event_properties_set_subsystem ()">mm_kernel_event_properties_set_subsystem</a>, function in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMKernelEventProperties.html#mm-kernel-event-properties-set-uid" title="mm_kernel_event_properties_set_uid ()">mm_kernel_event_properties_set_uid</a>, function in <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+</dt>
+<dd></dd>
+<a name="idxL"></a><h3 class="title">L</h3>
+<dt>
+<a class="link" href="MMLocation3gpp.html#MMLocation3gpp-struct" title="struct MMLocation3gpp">MMLocation3gpp</a>, struct in <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp">MMLocation3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationCdmaBs.html#MMLocationCdmaBs-struct" title="struct MMLocationCdmaBs">MMLocationCdmaBs</a>, struct in <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs">MMLocationCdmaBs</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationGpsNmea.html#MMLocationGpsNmea-struct" title="struct MMLocationGpsNmea">MMLocationGpsNmea</a>, struct in <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea">MMLocationGpsNmea</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationGpsRaw.html#MMLocationGpsRaw-struct" title="struct MMLocationGpsRaw">MMLocationGpsRaw</a>, struct in <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw">MMLocationGpsRaw</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-cell-id" title="mm_location_3gpp_get_cell_id ()">mm_location_3gpp_get_cell_id</a>, function in <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp">MMLocation3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-location-area-code" title="mm_location_3gpp_get_location_area_code ()">mm_location_3gpp_get_location_area_code</a>, function in <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp">MMLocation3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-mobile-country-code" title="mm_location_3gpp_get_mobile_country_code ()">mm_location_3gpp_get_mobile_country_code</a>, function in <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp">MMLocation3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-mobile-network-code" title="mm_location_3gpp_get_mobile_network_code ()">mm_location_3gpp_get_mobile_network_code</a>, function in <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp">MMLocation3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocation3gpp.html#mm-location-3gpp-get-tracking-area-code" title="mm_location_3gpp_get_tracking_area_code ()">mm_location_3gpp_get_tracking_area_code</a>, function in <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp">MMLocation3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#MM-LOCATION-ALTITUDE-UNKNOWN:CAPS" title="MM_LOCATION_ALTITUDE_UNKNOWN">MM_LOCATION_ALTITUDE_UNKNOWN</a>, macro in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationCdmaBs.html#mm-location-cdma-bs-get-latitude" title="mm_location_cdma_bs_get_latitude ()">mm_location_cdma_bs_get_latitude</a>, function in <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs">MMLocationCdmaBs</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationCdmaBs.html#mm-location-cdma-bs-get-longitude" title="mm_location_cdma_bs_get_longitude ()">mm_location_cdma_bs_get_longitude</a>, function in <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs">MMLocationCdmaBs</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationGpsNmea.html#mm-location-gps-nmea-build-full" title="mm_location_gps_nmea_build_full ()">mm_location_gps_nmea_build_full</a>, function in <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea">MMLocationGpsNmea</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationGpsNmea.html#mm-location-gps-nmea-get-trace" title="mm_location_gps_nmea_get_trace ()">mm_location_gps_nmea_get_trace</a>, function in <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea">MMLocationGpsNmea</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationGpsRaw.html#mm-location-gps-raw-get-altitude" title="mm_location_gps_raw_get_altitude ()">mm_location_gps_raw_get_altitude</a>, function in <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw">MMLocationGpsRaw</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationGpsRaw.html#mm-location-gps-raw-get-latitude" title="mm_location_gps_raw_get_latitude ()">mm_location_gps_raw_get_latitude</a>, function in <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw">MMLocationGpsRaw</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationGpsRaw.html#mm-location-gps-raw-get-longitude" title="mm_location_gps_raw_get_longitude ()">mm_location_gps_raw_get_longitude</a>, function in <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw">MMLocationGpsRaw</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMLocationGpsRaw.html#mm-location-gps-raw-get-utc-time" title="mm_location_gps_raw_get_utc_time ()">mm_location_gps_raw_get_utc_time</a>, function in <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw">MMLocationGpsRaw</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#MM-LOCATION-LATITUDE-UNKNOWN:CAPS" title="MM_LOCATION_LATITUDE_UNKNOWN">MM_LOCATION_LATITUDE_UNKNOWN</a>, macro in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#MM-LOCATION-LONGITUDE-UNKNOWN:CAPS" title="MM_LOCATION_LONGITUDE_UNKNOWN">MM_LOCATION_LONGITUDE_UNKNOWN</a>, macro in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<a name="idxM"></a><h3 class="title">M</h3>
+<dt>
+<a class="link" href="MMManager.html#MMManager-struct" title="struct MMManager">MMManager</a>, struct in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-get-proxy" title="mm_manager_get_proxy ()">mm_manager_get_proxy</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-get-version" title="mm_manager_get_version ()">mm_manager_get_version</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-inhibit-device" title="mm_manager_inhibit_device ()">mm_manager_inhibit_device</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-inhibit-device-finish" title="mm_manager_inhibit_device_finish ()">mm_manager_inhibit_device_finish</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-inhibit-device-sync" title="mm_manager_inhibit_device_sync ()">mm_manager_inhibit_device_sync</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-new" title="mm_manager_new ()">mm_manager_new</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-new-finish" title="mm_manager_new_finish ()">mm_manager_new_finish</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-new-sync" title="mm_manager_new_sync ()">mm_manager_new_sync</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-peek-proxy" title="mm_manager_peek_proxy ()">mm_manager_peek_proxy</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-report-kernel-event" title="mm_manager_report_kernel_event ()">mm_manager_report_kernel_event</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-report-kernel-event-finish" title="mm_manager_report_kernel_event_finish ()">mm_manager_report_kernel_event_finish</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-report-kernel-event-sync" title="mm_manager_report_kernel_event_sync ()">mm_manager_report_kernel_event_sync</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-scan-devices" title="mm_manager_scan_devices ()">mm_manager_scan_devices</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-scan-devices-finish" title="mm_manager_scan_devices_finish ()">mm_manager_scan_devices_finish</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-scan-devices-sync" title="mm_manager_scan_devices_sync ()">mm_manager_scan_devices_sync</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-set-logging" title="mm_manager_set_logging ()">mm_manager_set_logging</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-set-logging-finish" title="mm_manager_set_logging_finish ()">mm_manager_set_logging_finish</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-set-logging-sync" title="mm_manager_set_logging_sync ()">mm_manager_set_logging_sync</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-uninhibit-device" title="mm_manager_uninhibit_device ()">mm_manager_uninhibit_device</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-uninhibit-device-finish" title="mm_manager_uninhibit_device_finish ()">mm_manager_uninhibit_device_finish</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMManager.html#mm-manager-uninhibit-device-sync" title="mm_manager_uninhibit_device_sync ()">mm_manager_uninhibit_device_sync</a>, function in <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#MMModem-struct" title="struct MMModem">MMModem</a>, struct in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#MMModem3gpp-struct" title="struct MMModem3gpp">MMModem3gpp</a>, struct in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#MMModem3gppNetwork" title="MMModem3gppNetwork">MMModem3gppNetwork</a>, struct in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#MMModem3gppUssd-struct" title="struct MMModem3gppUssd">MMModem3gppUssd</a>, struct in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#MMModemCdma-struct" title="struct MMModemCdma">MMModemCdma</a>, struct in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#MMModemFirmware-struct" title="struct MMModemFirmware">MMModemFirmware</a>, struct in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#MMModemLocation-struct" title="struct MMModemLocation">MMModemLocation</a>, struct in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#MMModemMessaging-struct" title="struct MMModemMessaging">MMModemMessaging</a>, struct in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#MMModemModeCombination" title="struct MMModemModeCombination">MMModemModeCombination</a>, struct in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#MMModemOma-struct" title="struct MMModemOma">MMModemOma</a>, struct in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#MMModemPortInfo" title="struct MMModemPortInfo">MMModemPortInfo</a>, struct in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#MMModemSignal-struct" title="struct MMModemSignal">MMModemSignal</a>, struct in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#MMModemSimple-struct" title="struct MMModemSimple">MMModemSimple</a>, struct in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemTime.html#MMModemTime-struct" title="struct MMModemTime">MMModemTime</a>, struct in <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#MMModemVoice-struct" title="struct MMModemVoice">MMModemVoice</a>, struct in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-imei" title="mm_modem_3gpp_dup_imei ()">mm_modem_3gpp_dup_imei</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-initial-eps-bearer-path" title="mm_modem_3gpp_dup_initial_eps_bearer_path ()">mm_modem_3gpp_dup_initial_eps_bearer_path</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-operator-code" title="mm_modem_3gpp_dup_operator_code ()">mm_modem_3gpp_dup_operator_code</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-operator-name" title="mm_modem_3gpp_dup_operator_name ()">mm_modem_3gpp_dup_operator_name</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-dup-path" title="mm_modem_3gpp_dup_path ()">mm_modem_3gpp_dup_path</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-eps-ue-mode-operation-get-string" title="mm_modem_3gpp_eps_ue_mode_operation_get_string ()">mm_modem_3gpp_eps_ue_mode_operation_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-facility-build-string-from-mask" title="mm_modem_3gpp_facility_build_string_from_mask ()">mm_modem_3gpp_facility_build_string_from_mask</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-enabled-facility-locks" title="mm_modem_3gpp_get_enabled_facility_locks ()">mm_modem_3gpp_get_enabled_facility_locks</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-eps-ue-mode-operation" title="mm_modem_3gpp_get_eps_ue_mode_operation ()">mm_modem_3gpp_get_eps_ue_mode_operation</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-imei" title="mm_modem_3gpp_get_imei ()">mm_modem_3gpp_get_imei</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer" title="mm_modem_3gpp_get_initial_eps_bearer ()">mm_modem_3gpp_get_initial_eps_bearer</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-finish" title="mm_modem_3gpp_get_initial_eps_bearer_finish ()">mm_modem_3gpp_get_initial_eps_bearer_finish</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-path" title="mm_modem_3gpp_get_initial_eps_bearer_path ()">mm_modem_3gpp_get_initial_eps_bearer_path</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-settings" title="mm_modem_3gpp_get_initial_eps_bearer_settings ()">mm_modem_3gpp_get_initial_eps_bearer_settings</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-sync" title="mm_modem_3gpp_get_initial_eps_bearer_sync ()">mm_modem_3gpp_get_initial_eps_bearer_sync</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-operator-code" title="mm_modem_3gpp_get_operator_code ()">mm_modem_3gpp_get_operator_code</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-operator-name" title="mm_modem_3gpp_get_operator_name ()">mm_modem_3gpp_get_operator_name</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-path" title="mm_modem_3gpp_get_path ()">mm_modem_3gpp_get_path</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-pco" title="mm_modem_3gpp_get_pco ()">mm_modem_3gpp_get_pco</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-registration-state" title="mm_modem_3gpp_get_registration_state ()">mm_modem_3gpp_get_registration_state</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-get-subscription-state" title="mm_modem_3gpp_get_subscription_state ()">mm_modem_3gpp_get_subscription_state</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-network-availability-get-string" title="mm_modem_3gpp_network_availability_get_string ()">mm_modem_3gpp_network_availability_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-free" title="mm_modem_3gpp_network_free ()">mm_modem_3gpp_network_free</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-access-technology" title="mm_modem_3gpp_network_get_access_technology ()">mm_modem_3gpp_network_get_access_technology</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-availability" title="mm_modem_3gpp_network_get_availability ()">mm_modem_3gpp_network_get_availability</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-operator-code" title="mm_modem_3gpp_network_get_operator_code ()">mm_modem_3gpp_network_get_operator_code</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-operator-long" title="mm_modem_3gpp_network_get_operator_long ()">mm_modem_3gpp_network_get_operator_long</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-network-get-operator-short" title="mm_modem_3gpp_network_get_operator_short ()">mm_modem_3gpp_network_get_operator_short</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-peek-initial-eps-bearer-settings" title="mm_modem_3gpp_peek_initial_eps_bearer_settings ()">mm_modem_3gpp_peek_initial_eps_bearer_settings</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register" title="mm_modem_3gpp_register ()">mm_modem_3gpp_register</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register-finish" title="mm_modem_3gpp_register_finish ()">mm_modem_3gpp_register_finish</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-register-sync" title="mm_modem_3gpp_register_sync ()">mm_modem_3gpp_register_sync</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-registration-state-get-string" title="mm_modem_3gpp_registration_state_get_string ()">mm_modem_3gpp_registration_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan" title="mm_modem_3gpp_scan ()">mm_modem_3gpp_scan</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan-finish" title="mm_modem_3gpp_scan_finish ()">mm_modem_3gpp_scan_finish</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-scan-sync" title="mm_modem_3gpp_scan_sync ()">mm_modem_3gpp_scan_sync</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation" title="mm_modem_3gpp_set_eps_ue_mode_operation ()">mm_modem_3gpp_set_eps_ue_mode_operation</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation-finish" title="mm_modem_3gpp_set_eps_ue_mode_operation_finish ()">mm_modem_3gpp_set_eps_ue_mode_operation_finish</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation-sync" title="mm_modem_3gpp_set_eps_ue_mode_operation_sync ()">mm_modem_3gpp_set_eps_ue_mode_operation_sync</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings" title="mm_modem_3gpp_set_initial_eps_bearer_settings ()">mm_modem_3gpp_set_initial_eps_bearer_settings</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings-finish" title="mm_modem_3gpp_set_initial_eps_bearer_settings_finish ()">mm_modem_3gpp_set_initial_eps_bearer_settings_finish</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings-sync" title="mm_modem_3gpp_set_initial_eps_bearer_settings_sync ()">mm_modem_3gpp_set_initial_eps_bearer_settings_sync</a>, function in <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-subscription-state-get-string" title="mm_modem_3gpp_subscription_state_get_string ()">mm_modem_3gpp_subscription_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel" title="mm_modem_3gpp_ussd_cancel ()">mm_modem_3gpp_ussd_cancel</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel-finish" title="mm_modem_3gpp_ussd_cancel_finish ()">mm_modem_3gpp_ussd_cancel_finish</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel-sync" title="mm_modem_3gpp_ussd_cancel_sync ()">mm_modem_3gpp_ussd_cancel_sync</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-network-notification" title="mm_modem_3gpp_ussd_dup_network_notification ()">mm_modem_3gpp_ussd_dup_network_notification</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-network-request" title="mm_modem_3gpp_ussd_dup_network_request ()">mm_modem_3gpp_ussd_dup_network_request</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-path" title="mm_modem_3gpp_ussd_dup_path ()">mm_modem_3gpp_ussd_dup_path</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-network-notification" title="mm_modem_3gpp_ussd_get_network_notification ()">mm_modem_3gpp_ussd_get_network_notification</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-network-request" title="mm_modem_3gpp_ussd_get_network_request ()">mm_modem_3gpp_ussd_get_network_request</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-path" title="mm_modem_3gpp_ussd_get_path ()">mm_modem_3gpp_ussd_get_path</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-state" title="mm_modem_3gpp_ussd_get_state ()">mm_modem_3gpp_ussd_get_state</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate" title="mm_modem_3gpp_ussd_initiate ()">mm_modem_3gpp_ussd_initiate</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate-finish" title="mm_modem_3gpp_ussd_initiate_finish ()">mm_modem_3gpp_ussd_initiate_finish</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate-sync" title="mm_modem_3gpp_ussd_initiate_sync ()">mm_modem_3gpp_ussd_initiate_sync</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond" title="mm_modem_3gpp_ussd_respond ()">mm_modem_3gpp_ussd_respond</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond-finish" title="mm_modem_3gpp_ussd_respond_finish ()">mm_modem_3gpp_ussd_respond_finish</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond-sync" title="mm_modem_3gpp_ussd_respond_sync ()">mm_modem_3gpp_ussd_respond_sync</a>, function in <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-ussd-session-state-get-string" title="mm_modem_3gpp_ussd_session_state_get_string ()">mm_modem_3gpp_ussd_session_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-access-technology-build-string-from-mask" title="mm_modem_access_technology_build_string_from_mask ()">mm_modem_access_technology_build_string_from_mask</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-band-get-string" title="mm_modem_band_get_string ()">mm_modem_band_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-capability-build-string-from-mask" title="mm_modem_capability_build_string_from_mask ()">mm_modem_capability_build_string_from_mask</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate" title="mm_modem_cdma_activate ()">mm_modem_cdma_activate</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-finish" title="mm_modem_cdma_activate_finish ()">mm_modem_cdma_activate_finish</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual" title="mm_modem_cdma_activate_manual ()">mm_modem_cdma_activate_manual</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual-finish" title="mm_modem_cdma_activate_manual_finish ()">mm_modem_cdma_activate_manual_finish</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-manual-sync" title="mm_modem_cdma_activate_manual_sync ()">mm_modem_cdma_activate_manual_sync</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-activate-sync" title="mm_modem_cdma_activate_sync ()">mm_modem_cdma_activate_sync</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-cdma-activation-state-get-string" title="mm_modem_cdma_activation_state_get_string ()">mm_modem_cdma_activation_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-dup-esn" title="mm_modem_cdma_dup_esn ()">mm_modem_cdma_dup_esn</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-dup-meid" title="mm_modem_cdma_dup_meid ()">mm_modem_cdma_dup_meid</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-dup-path" title="mm_modem_cdma_dup_path ()">mm_modem_cdma_dup_path</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-activation-state" title="mm_modem_cdma_get_activation_state ()">mm_modem_cdma_get_activation_state</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-cdma1x-registration-state" title="mm_modem_cdma_get_cdma1x_registration_state ()">mm_modem_cdma_get_cdma1x_registration_state</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-esn" title="mm_modem_cdma_get_esn ()">mm_modem_cdma_get_esn</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-evdo-registration-state" title="mm_modem_cdma_get_evdo_registration_state ()">mm_modem_cdma_get_evdo_registration_state</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-meid" title="mm_modem_cdma_get_meid ()">mm_modem_cdma_get_meid</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-nid" title="mm_modem_cdma_get_nid ()">mm_modem_cdma_get_nid</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-path" title="mm_modem_cdma_get_path ()">mm_modem_cdma_get_path</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#mm-modem-cdma-get-sid" title="mm_modem_cdma_get_sid ()">mm_modem_cdma_get_sid</a>, function in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#MM-MODEM-CDMA-NID-UNKNOWN:CAPS" title="MM_MODEM_CDMA_NID_UNKNOWN">MM_MODEM_CDMA_NID_UNKNOWN</a>, macro in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-cdma-registration-state-get-string" title="mm_modem_cdma_registration_state_get_string ()">mm_modem_cdma_registration_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-cdma-rm-protocol-get-string" title="mm_modem_cdma_rm_protocol_get_string ()">mm_modem_cdma_rm_protocol_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemCdma.html#MM-MODEM-CDMA-SID-UNKNOWN:CAPS" title="MM_MODEM_CDMA_SID_UNKNOWN">MM_MODEM_CDMA_SID_UNKNOWN</a>, macro in <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-command" title="mm_modem_command ()">mm_modem_command</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-command-finish" title="mm_modem_command_finish ()">mm_modem_command_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-command-sync" title="mm_modem_command_sync ()">mm_modem_command_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-contacts-storage-get-string" title="mm_modem_contacts_storage_get_string ()">mm_modem_contacts_storage_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-create-bearer" title="mm_modem_create_bearer ()">mm_modem_create_bearer</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-create-bearer-finish" title="mm_modem_create_bearer_finish ()">mm_modem_create_bearer_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-create-bearer-sync" title="mm_modem_create_bearer_sync ()">mm_modem_create_bearer_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-delete-bearer" title="mm_modem_delete_bearer ()">mm_modem_delete_bearer</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-delete-bearer-finish" title="mm_modem_delete_bearer_finish ()">mm_modem_delete_bearer_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-delete-bearer-sync" title="mm_modem_delete_bearer_sync ()">mm_modem_delete_bearer_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-disable" title="mm_modem_disable ()">mm_modem_disable</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-disable-finish" title="mm_modem_disable_finish ()">mm_modem_disable_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-disable-sync" title="mm_modem_disable_sync ()">mm_modem_disable_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-bearer-paths" title="mm_modem_dup_bearer_paths ()">mm_modem_dup_bearer_paths</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-device" title="mm_modem_dup_device ()">mm_modem_dup_device</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-device-identifier" title="mm_modem_dup_device_identifier ()">mm_modem_dup_device_identifier</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-drivers" title="mm_modem_dup_drivers ()">mm_modem_dup_drivers</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-equipment-identifier" title="mm_modem_dup_equipment_identifier ()">mm_modem_dup_equipment_identifier</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-hardware-revision" title="mm_modem_dup_hardware_revision ()">mm_modem_dup_hardware_revision</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-manufacturer" title="mm_modem_dup_manufacturer ()">mm_modem_dup_manufacturer</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-model" title="mm_modem_dup_model ()">mm_modem_dup_model</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-own-numbers" title="mm_modem_dup_own_numbers ()">mm_modem_dup_own_numbers</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-path" title="mm_modem_dup_path ()">mm_modem_dup_path</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-plugin" title="mm_modem_dup_plugin ()">mm_modem_dup_plugin</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-primary-port" title="mm_modem_dup_primary_port ()">mm_modem_dup_primary_port</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-revision" title="mm_modem_dup_revision ()">mm_modem_dup_revision</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-dup-sim-path" title="mm_modem_dup_sim_path ()">mm_modem_dup_sim_path</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-enable" title="mm_modem_enable ()">mm_modem_enable</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-enable-finish" title="mm_modem_enable_finish ()">mm_modem_enable_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-enable-sync" title="mm_modem_enable_sync ()">mm_modem_enable_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-factory-reset" title="mm_modem_factory_reset ()">mm_modem_factory_reset</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-factory-reset-finish" title="mm_modem_factory_reset_finish ()">mm_modem_factory_reset_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-factory-reset-sync" title="mm_modem_factory_reset_sync ()">mm_modem_factory_reset_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-dup-path" title="mm_modem_firmware_dup_path ()">mm_modem_firmware_dup_path</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-get-path" title="mm_modem_firmware_get_path ()">mm_modem_firmware_get_path</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-get-update-settings" title="mm_modem_firmware_get_update_settings ()">mm_modem_firmware_get_update_settings</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-list" title="mm_modem_firmware_list ()">mm_modem_firmware_list</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-list-finish" title="mm_modem_firmware_list_finish ()">mm_modem_firmware_list_finish</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-list-sync" title="mm_modem_firmware_list_sync ()">mm_modem_firmware_list_sync</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-peek-update-settings" title="mm_modem_firmware_peek_update_settings ()">mm_modem_firmware_peek_update_settings</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-select" title="mm_modem_firmware_select ()">mm_modem_firmware_select</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-select-finish" title="mm_modem_firmware_select_finish ()">mm_modem_firmware_select_finish</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemFirmware.html#mm-modem-firmware-select-sync" title="mm_modem_firmware_select_sync ()">mm_modem_firmware_select_sync</a>, function in <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-firmware-update-method-build-string-from-mask" title="mm_modem_firmware_update_method_build_string_from_mask ()">mm_modem_firmware_update_method_build_string_from_mask</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-access-technologies" title="mm_modem_get_access_technologies ()">mm_modem_get_access_technologies</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-bearer-paths" title="mm_modem_get_bearer_paths ()">mm_modem_get_bearer_paths</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-current-bands" title="mm_modem_get_current_bands ()">mm_modem_get_current_bands</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-current-capabilities" title="mm_modem_get_current_capabilities ()">mm_modem_get_current_capabilities</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-current-modes" title="mm_modem_get_current_modes ()">mm_modem_get_current_modes</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-device" title="mm_modem_get_device ()">mm_modem_get_device</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-device-identifier" title="mm_modem_get_device_identifier ()">mm_modem_get_device_identifier</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-drivers" title="mm_modem_get_drivers ()">mm_modem_get_drivers</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-equipment-identifier" title="mm_modem_get_equipment_identifier ()">mm_modem_get_equipment_identifier</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-hardware-revision" title="mm_modem_get_hardware_revision ()">mm_modem_get_hardware_revision</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-manufacturer" title="mm_modem_get_manufacturer ()">mm_modem_get_manufacturer</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-max-active-bearers" title="mm_modem_get_max_active_bearers ()">mm_modem_get_max_active_bearers</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-max-bearers" title="mm_modem_get_max_bearers ()">mm_modem_get_max_bearers</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-model" title="mm_modem_get_model ()">mm_modem_get_model</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-own-numbers" title="mm_modem_get_own_numbers ()">mm_modem_get_own_numbers</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-path" title="mm_modem_get_path ()">mm_modem_get_path</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-get-pending-network-initiated-sessions" title="mm_modem_get_pending_network_initiated_sessions ()">mm_modem_get_pending_network_initiated_sessions</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-plugin" title="mm_modem_get_plugin ()">mm_modem_get_plugin</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-ports" title="mm_modem_get_ports ()">mm_modem_get_ports</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-power-state" title="mm_modem_get_power_state ()">mm_modem_get_power_state</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-primary-port" title="mm_modem_get_primary_port ()">mm_modem_get_primary_port</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-revision" title="mm_modem_get_revision ()">mm_modem_get_revision</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-signal-quality" title="mm_modem_get_signal_quality ()">mm_modem_get_signal_quality</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-sim" title="mm_modem_get_sim ()">mm_modem_get_sim</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-sim-finish" title="mm_modem_get_sim_finish ()">mm_modem_get_sim_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-sim-path" title="mm_modem_get_sim_path ()">mm_modem_get_sim_path</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-sim-sync" title="mm_modem_get_sim_sync ()">mm_modem_get_sim_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-state" title="mm_modem_get_state ()">mm_modem_get_state</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-state-failed-reason" title="mm_modem_get_state_failed_reason ()">mm_modem_get_state_failed_reason</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-supported-bands" title="mm_modem_get_supported_bands ()">mm_modem_get_supported_bands</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-supported-capabilities" title="mm_modem_get_supported_capabilities ()">mm_modem_get_supported_capabilities</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-supported-ip-families" title="mm_modem_get_supported_ip_families ()">mm_modem_get_supported_ip_families</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-supported-modes" title="mm_modem_get_supported_modes ()">mm_modem_get_supported_modes</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-unlock-required" title="mm_modem_get_unlock_required ()">mm_modem_get_unlock_required</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-get-unlock-retries" title="mm_modem_get_unlock_retries ()">mm_modem_get_unlock_retries</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-list-bearers" title="mm_modem_list_bearers ()">mm_modem_list_bearers</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-list-bearers-finish" title="mm_modem_list_bearers_finish ()">mm_modem_list_bearers_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-list-bearers-sync" title="mm_modem_list_bearers_sync ()">mm_modem_list_bearers_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-location-assistance-data-type-build-string-from-mask" title="mm_modem_location_assistance_data_type_build_string_from_mask ()">mm_modem_location_assistance_data_type_build_string_from_mask</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-dup-assistance-data-servers" title="mm_modem_location_dup_assistance_data_servers ()">mm_modem_location_dup_assistance_data_servers</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-dup-path" title="mm_modem_location_dup_path ()">mm_modem_location_dup_path</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-dup-supl-server" title="mm_modem_location_dup_supl_server ()">mm_modem_location_dup_supl_server</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp" title="mm_modem_location_get_3gpp ()">mm_modem_location_get_3gpp</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp-finish" title="mm_modem_location_get_3gpp_finish ()">mm_modem_location_get_3gpp_finish</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-3gpp-sync" title="mm_modem_location_get_3gpp_sync ()">mm_modem_location_get_3gpp_sync</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-assistance-data-servers" title="mm_modem_location_get_assistance_data_servers ()">mm_modem_location_get_assistance_data_servers</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-capabilities" title="mm_modem_location_get_capabilities ()">mm_modem_location_get_capabilities</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs" title="mm_modem_location_get_cdma_bs ()">mm_modem_location_get_cdma_bs</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs-finish" title="mm_modem_location_get_cdma_bs_finish ()">mm_modem_location_get_cdma_bs_finish</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-cdma-bs-sync" title="mm_modem_location_get_cdma_bs_sync ()">mm_modem_location_get_cdma_bs_sync</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-enabled" title="mm_modem_location_get_enabled ()">mm_modem_location_get_enabled</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full" title="mm_modem_location_get_full ()">mm_modem_location_get_full</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full-finish" title="mm_modem_location_get_full_finish ()">mm_modem_location_get_full_finish</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-full-sync" title="mm_modem_location_get_full_sync ()">mm_modem_location_get_full_sync</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea" title="mm_modem_location_get_gps_nmea ()">mm_modem_location_get_gps_nmea</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea-finish" title="mm_modem_location_get_gps_nmea_finish ()">mm_modem_location_get_gps_nmea_finish</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-nmea-sync" title="mm_modem_location_get_gps_nmea_sync ()">mm_modem_location_get_gps_nmea_sync</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw" title="mm_modem_location_get_gps_raw ()">mm_modem_location_get_gps_raw</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw-finish" title="mm_modem_location_get_gps_raw_finish ()">mm_modem_location_get_gps_raw_finish</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-raw-sync" title="mm_modem_location_get_gps_raw_sync ()">mm_modem_location_get_gps_raw_sync</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-gps-refresh-rate" title="mm_modem_location_get_gps_refresh_rate ()">mm_modem_location_get_gps_refresh_rate</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-path" title="mm_modem_location_get_path ()">mm_modem_location_get_path</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-supl-server" title="mm_modem_location_get_supl_server ()">mm_modem_location_get_supl_server</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-get-supported-assistance-data" title="mm_modem_location_get_supported_assistance_data ()">mm_modem_location_get_supported_assistance_data</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data" title="mm_modem_location_inject_assistance_data ()">mm_modem_location_inject_assistance_data</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data-finish" title="mm_modem_location_inject_assistance_data_finish ()">mm_modem_location_inject_assistance_data_finish</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-inject-assistance-data-sync" title="mm_modem_location_inject_assistance_data_sync ()">mm_modem_location_inject_assistance_data_sync</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-setup" title="mm_modem_location_setup ()">mm_modem_location_setup</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-setup-finish" title="mm_modem_location_setup_finish ()">mm_modem_location_setup_finish</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-setup-sync" title="mm_modem_location_setup_sync ()">mm_modem_location_setup_sync</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate" title="mm_modem_location_set_gps_refresh_rate ()">mm_modem_location_set_gps_refresh_rate</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate-finish" title="mm_modem_location_set_gps_refresh_rate_finish ()">mm_modem_location_set_gps_refresh_rate_finish</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate-sync" title="mm_modem_location_set_gps_refresh_rate_sync ()">mm_modem_location_set_gps_refresh_rate_sync</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server" title="mm_modem_location_set_supl_server ()">mm_modem_location_set_supl_server</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server-finish" title="mm_modem_location_set_supl_server_finish ()">mm_modem_location_set_supl_server_finish</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-set-supl-server-sync" title="mm_modem_location_set_supl_server_sync ()">mm_modem_location_set_supl_server_sync</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemLocation.html#mm-modem-location-signals-location" title="mm_modem_location_signals_location ()">mm_modem_location_signals_location</a>, function in <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-location-source-build-string-from-mask" title="mm_modem_location_source_build_string_from_mask ()">mm_modem_location_source_build_string_from_mask</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-lock-get-string" title="mm_modem_lock_get_string ()">mm_modem_lock_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-create" title="mm_modem_messaging_create ()">mm_modem_messaging_create</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-create-finish" title="mm_modem_messaging_create_finish ()">mm_modem_messaging_create_finish</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-create-sync" title="mm_modem_messaging_create_sync ()">mm_modem_messaging_create_sync</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete" title="mm_modem_messaging_delete ()">mm_modem_messaging_delete</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete-finish" title="mm_modem_messaging_delete_finish ()">mm_modem_messaging_delete_finish</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-delete-sync" title="mm_modem_messaging_delete_sync ()">mm_modem_messaging_delete_sync</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-dup-path" title="mm_modem_messaging_dup_path ()">mm_modem_messaging_dup_path</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-get-default-storage" title="mm_modem_messaging_get_default_storage ()">mm_modem_messaging_get_default_storage</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-get-path" title="mm_modem_messaging_get_path ()">mm_modem_messaging_get_path</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-get-supported-storages" title="mm_modem_messaging_get_supported_storages ()">mm_modem_messaging_get_supported_storages</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-list" title="mm_modem_messaging_list ()">mm_modem_messaging_list</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-list-finish" title="mm_modem_messaging_list_finish ()">mm_modem_messaging_list_finish</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-list-sync" title="mm_modem_messaging_list_sync ()">mm_modem_messaging_list_sync</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemMessaging.html#mm-modem-messaging-peek-supported-storages" title="mm_modem_messaging_peek_supported_storages ()">mm_modem_messaging_peek_supported_storages</a>, function in <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-mode-build-string-from-mask" title="mm_modem_mode_build_string_from_mask ()">mm_modem_mode_build_string_from_mask</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session" title="mm_modem_oma_accept_network_initiated_session ()">mm_modem_oma_accept_network_initiated_session</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session-finish" title="mm_modem_oma_accept_network_initiated_session_finish ()">mm_modem_oma_accept_network_initiated_session_finish</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-accept-network-initiated-session-sync" title="mm_modem_oma_accept_network_initiated_session_sync ()">mm_modem_oma_accept_network_initiated_session_sync</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session" title="mm_modem_oma_cancel_session ()">mm_modem_oma_cancel_session</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session-finish" title="mm_modem_oma_cancel_session_finish ()">mm_modem_oma_cancel_session_finish</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-cancel-session-sync" title="mm_modem_oma_cancel_session_sync ()">mm_modem_oma_cancel_session_sync</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-dup-path" title="mm_modem_oma_dup_path ()">mm_modem_oma_dup_path</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-get-features" title="mm_modem_oma_get_features ()">mm_modem_oma_get_features</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-get-path" title="mm_modem_oma_get_path ()">mm_modem_oma_get_path</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-get-session-state" title="mm_modem_oma_get_session_state ()">mm_modem_oma_get_session_state</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-get-session-type" title="mm_modem_oma_get_session_type ()">mm_modem_oma_get_session_type</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-setup" title="mm_modem_oma_setup ()">mm_modem_oma_setup</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-setup-finish" title="mm_modem_oma_setup_finish ()">mm_modem_oma_setup_finish</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-setup-sync" title="mm_modem_oma_setup_sync ()">mm_modem_oma_setup_sync</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session" title="mm_modem_oma_start_client_initiated_session ()">mm_modem_oma_start_client_initiated_session</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session-finish" title="mm_modem_oma_start_client_initiated_session_finish ()">mm_modem_oma_start_client_initiated_session_finish</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-oma-start-client-initiated-session-sync" title="mm_modem_oma_start_client_initiated_session_sync ()">mm_modem_oma_start_client_initiated_session_sync</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-peek-current-bands" title="mm_modem_peek_current_bands ()">mm_modem_peek_current_bands</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#mm-modem-peek-pending-network-initiated-sessions" title="mm_modem_peek_pending_network_initiated_sessions ()">mm_modem_peek_pending_network_initiated_sessions</a>, function in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-peek-ports" title="mm_modem_peek_ports ()">mm_modem_peek_ports</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-peek-supported-bands" title="mm_modem_peek_supported_bands ()">mm_modem_peek_supported_bands</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-peek-supported-capabilities" title="mm_modem_peek_supported_capabilities ()">mm_modem_peek_supported_capabilities</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-peek-supported-modes" title="mm_modem_peek_supported_modes ()">mm_modem_peek_supported_modes</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-peek-unlock-retries" title="mm_modem_peek_unlock_retries ()">mm_modem_peek_unlock_retries</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-port-info-array-free" title="mm_modem_port_info_array_free ()">mm_modem_port_info_array_free</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-port-type-get-string" title="mm_modem_port_type_get_string ()">mm_modem_port_type_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-power-state-get-string" title="mm_modem_power_state_get_string ()">mm_modem_power_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-reset" title="mm_modem_reset ()">mm_modem_reset</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-reset-finish" title="mm_modem_reset_finish ()">mm_modem_reset_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-reset-sync" title="mm_modem_reset_sync ()">mm_modem_reset_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-current-bands" title="mm_modem_set_current_bands ()">mm_modem_set_current_bands</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-current-bands-finish" title="mm_modem_set_current_bands_finish ()">mm_modem_set_current_bands_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-current-bands-sync" title="mm_modem_set_current_bands_sync ()">mm_modem_set_current_bands_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-current-capabilities" title="mm_modem_set_current_capabilities ()">mm_modem_set_current_capabilities</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-current-capabilities-finish" title="mm_modem_set_current_capabilities_finish ()">mm_modem_set_current_capabilities_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-current-capabilities-sync" title="mm_modem_set_current_capabilities_sync ()">mm_modem_set_current_capabilities_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-current-modes" title="mm_modem_set_current_modes ()">mm_modem_set_current_modes</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-current-modes-finish" title="mm_modem_set_current_modes_finish ()">mm_modem_set_current_modes_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-current-modes-sync" title="mm_modem_set_current_modes_sync ()">mm_modem_set_current_modes_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-power-state" title="mm_modem_set_power_state ()">mm_modem_set_power_state</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-power-state-finish" title="mm_modem_set_power_state_finish ()">mm_modem_set_power_state_finish</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModem.html#mm-modem-set-power-state-sync" title="mm_modem_set_power_state_sync ()">mm_modem_set_power_state_sync</a>, function in <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-dup-path" title="mm_modem_signal_dup_path ()">mm_modem_signal_dup_path</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-cdma" title="mm_modem_signal_get_cdma ()">mm_modem_signal_get_cdma</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-evdo" title="mm_modem_signal_get_evdo ()">mm_modem_signal_get_evdo</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-gsm" title="mm_modem_signal_get_gsm ()">mm_modem_signal_get_gsm</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-lte" title="mm_modem_signal_get_lte ()">mm_modem_signal_get_lte</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-path" title="mm_modem_signal_get_path ()">mm_modem_signal_get_path</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-rate" title="mm_modem_signal_get_rate ()">mm_modem_signal_get_rate</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-get-umts" title="mm_modem_signal_get_umts ()">mm_modem_signal_get_umts</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-cdma" title="mm_modem_signal_peek_cdma ()">mm_modem_signal_peek_cdma</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-evdo" title="mm_modem_signal_peek_evdo ()">mm_modem_signal_peek_evdo</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-gsm" title="mm_modem_signal_peek_gsm ()">mm_modem_signal_peek_gsm</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-lte" title="mm_modem_signal_peek_lte ()">mm_modem_signal_peek_lte</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-peek-umts" title="mm_modem_signal_peek_umts ()">mm_modem_signal_peek_umts</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-setup" title="mm_modem_signal_setup ()">mm_modem_signal_setup</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-setup-finish" title="mm_modem_signal_setup_finish ()">mm_modem_signal_setup_finish</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSignal.html#mm-modem-signal-setup-sync" title="mm_modem_signal_setup_sync ()">mm_modem_signal_setup_sync</a>, function in <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-connect" title="mm_modem_simple_connect ()">mm_modem_simple_connect</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-connect-finish" title="mm_modem_simple_connect_finish ()">mm_modem_simple_connect_finish</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-connect-sync" title="mm_modem_simple_connect_sync ()">mm_modem_simple_connect_sync</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect" title="mm_modem_simple_disconnect ()">mm_modem_simple_disconnect</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect-finish" title="mm_modem_simple_disconnect_finish ()">mm_modem_simple_disconnect_finish</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-disconnect-sync" title="mm_modem_simple_disconnect_sync ()">mm_modem_simple_disconnect_sync</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-dup-path" title="mm_modem_simple_dup_path ()">mm_modem_simple_dup_path</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-get-path" title="mm_modem_simple_get_path ()">mm_modem_simple_get_path</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-get-status" title="mm_modem_simple_get_status ()">mm_modem_simple_get_status</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-get-status-finish" title="mm_modem_simple_get_status_finish ()">mm_modem_simple_get_status_finish</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemSimple.html#mm-modem-simple-get-status-sync" title="mm_modem_simple_get_status_sync ()">mm_modem_simple_get_status_sync</a>, function in <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-state-change-reason-get-string" title="mm_modem_state_change_reason_get_string ()">mm_modem_state_change_reason_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-state-failed-reason-get-string" title="mm_modem_state_failed_reason_get_string ()">mm_modem_state_failed_reason_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-state-get-string" title="mm_modem_state_get_string ()">mm_modem_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemTime.html#mm-modem-time-dup-path" title="mm_modem_time_dup_path ()">mm_modem_time_dup_path</a>, function in <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemTime.html#mm-modem-time-get-network-time" title="mm_modem_time_get_network_time ()">mm_modem_time_get_network_time</a>, function in <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemTime.html#mm-modem-time-get-network-timezone" title="mm_modem_time_get_network_timezone ()">mm_modem_time_get_network_timezone</a>, function in <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemTime.html#mm-modem-time-get-network-time-finish" title="mm_modem_time_get_network_time_finish ()">mm_modem_time_get_network_time_finish</a>, function in <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemTime.html#mm-modem-time-get-network-time-sync" title="mm_modem_time_get_network_time_sync ()">mm_modem_time_get_network_time_sync</a>, function in <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemTime.html#mm-modem-time-get-path" title="mm_modem_time_get_path ()">mm_modem_time_get_path</a>, function in <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemTime.html#mm-modem-time-peek-network-timezone" title="mm_modem_time_peek_network_timezone ()">mm_modem_time_peek_network_timezone</a>, function in <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-create-call" title="mm_modem_voice_create_call ()">mm_modem_voice_create_call</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-create-call-finish" title="mm_modem_voice_create_call_finish ()">mm_modem_voice_create_call_finish</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-create-call-sync" title="mm_modem_voice_create_call_sync ()">mm_modem_voice_create_call_sync</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call" title="mm_modem_voice_delete_call ()">mm_modem_voice_delete_call</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call-finish" title="mm_modem_voice_delete_call_finish ()">mm_modem_voice_delete_call_finish</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-delete-call-sync" title="mm_modem_voice_delete_call_sync ()">mm_modem_voice_delete_call_sync</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-dup-path" title="mm_modem_voice_dup_path ()">mm_modem_voice_dup_path</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-get-path" title="mm_modem_voice_get_path ()">mm_modem_voice_get_path</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls" title="mm_modem_voice_list_calls ()">mm_modem_voice_list_calls</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls-finish" title="mm_modem_voice_list_calls_finish ()">mm_modem_voice_list_calls_finish</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemVoice.html#mm-modem-voice-list-calls-sync" title="mm_modem_voice_list_calls_sync ()">mm_modem_voice_list_calls_sync</a>, function in <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+</dt>
+<dd></dd>
+<a name="idxN"></a><h3 class="title">N</h3>
+<dt>
+<a class="link" href="MMNetworkTimezone.html#MMNetworkTimezone-struct" title="struct MMNetworkTimezone">MMNetworkTimezone</a>, struct in <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone">MMNetworkTimezone</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMNetworkTimezone.html#mm-network-timezone-get-dst-offset" title="mm_network_timezone_get_dst_offset ()">mm_network_timezone_get_dst_offset</a>, function in <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone">MMNetworkTimezone</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMNetworkTimezone.html#mm-network-timezone-get-leap-seconds" title="mm_network_timezone_get_leap_seconds ()">mm_network_timezone_get_leap_seconds</a>, function in <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone">MMNetworkTimezone</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMNetworkTimezone.html#mm-network-timezone-get-offset" title="mm_network_timezone_get_offset ()">mm_network_timezone_get_offset</a>, function in <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone">MMNetworkTimezone</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMNetworkTimezone.html#MM-NETWORK-TIMEZONE-LEAP-SECONDS-UNKNOWN:CAPS" title="MM_NETWORK_TIMEZONE_LEAP_SECONDS_UNKNOWN">MM_NETWORK_TIMEZONE_LEAP_SECONDS_UNKNOWN</a>, macro in <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone">MMNetworkTimezone</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMNetworkTimezone.html#MM-NETWORK-TIMEZONE-OFFSET-UNKNOWN:CAPS" title="MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN">MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN</a>, macro in <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone">MMNetworkTimezone</a>
+</dt>
+<dd></dd>
+<a name="idxO"></a><h3 class="title">O</h3>
+<dt>
+<a class="link" href="MMObject.html#MMObject-struct" title="struct MMObject">MMObject</a>, struct in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-dup-path" title="mm_object_dup_path ()">mm_object_dup_path</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem" title="mm_object_get_modem ()">mm_object_get_modem</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-3gpp" title="mm_object_get_modem_3gpp ()">mm_object_get_modem_3gpp</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-3gpp-ussd" title="mm_object_get_modem_3gpp_ussd ()">mm_object_get_modem_3gpp_ussd</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-cdma" title="mm_object_get_modem_cdma ()">mm_object_get_modem_cdma</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-firmware" title="mm_object_get_modem_firmware ()">mm_object_get_modem_firmware</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-location" title="mm_object_get_modem_location ()">mm_object_get_modem_location</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-messaging" title="mm_object_get_modem_messaging ()">mm_object_get_modem_messaging</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-oma" title="mm_object_get_modem_oma ()">mm_object_get_modem_oma</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-signal" title="mm_object_get_modem_signal ()">mm_object_get_modem_signal</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-simple" title="mm_object_get_modem_simple ()">mm_object_get_modem_simple</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-time" title="mm_object_get_modem_time ()">mm_object_get_modem_time</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-modem-voice" title="mm_object_get_modem_voice ()">mm_object_get_modem_voice</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-get-path" title="mm_object_get_path ()">mm_object_get_path</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem" title="mm_object_peek_modem ()">mm_object_peek_modem</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-3gpp" title="mm_object_peek_modem_3gpp ()">mm_object_peek_modem_3gpp</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-3gpp-ussd" title="mm_object_peek_modem_3gpp_ussd ()">mm_object_peek_modem_3gpp_ussd</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-cdma" title="mm_object_peek_modem_cdma ()">mm_object_peek_modem_cdma</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-firmware" title="mm_object_peek_modem_firmware ()">mm_object_peek_modem_firmware</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-location" title="mm_object_peek_modem_location ()">mm_object_peek_modem_location</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-messaging" title="mm_object_peek_modem_messaging ()">mm_object_peek_modem_messaging</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-oma" title="mm_object_peek_modem_oma ()">mm_object_peek_modem_oma</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-signal" title="mm_object_peek_modem_signal ()">mm_object_peek_modem_signal</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-simple" title="mm_object_peek_modem_simple ()">mm_object_peek_modem_simple</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-time" title="mm_object_peek_modem_time ()">mm_object_peek_modem_time</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMObject.html#mm-object-peek-modem-voice" title="mm_object_peek_modem_voice ()">mm_object_peek_modem_voice</a>, function in <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMModemOma.html#MMOmaPendingNetworkInitiatedSession" title="struct MMOmaPendingNetworkInitiatedSession">MMOmaPendingNetworkInitiatedSession</a>, struct in <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-oma-feature-build-string-from-mask" title="mm_oma_feature_build_string_from_mask ()">mm_oma_feature_build_string_from_mask</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-oma-session-state-failed-reason-get-string" title="mm_oma_session_state_failed_reason_get_string ()">mm_oma_session_state_failed_reason_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-oma-session-state-get-string" title="mm_oma_session_state_get_string ()">mm_oma_session_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-oma-session-type-get-string" title="mm_oma_session_type_get_string ()">mm_oma_session_type_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<a name="idxP"></a><h3 class="title">P</h3>
+<dt>
+<a class="link" href="MMPco.html#MMPco-struct" title="struct MMPco">MMPco</a>, struct in <a class="link" href="MMPco.html" title="MMPco">MMPco</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMPco.html#mm-pco-get-data" title="mm_pco_get_data ()">mm_pco_get_data</a>, function in <a class="link" href="MMPco.html" title="MMPco">MMPco</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMPco.html#mm-pco-get-session-id" title="mm_pco_get_session_id ()">mm_pco_get_session_id</a>, function in <a class="link" href="MMPco.html" title="MMPco">MMPco</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMPco.html#mm-pco-is-complete" title="mm_pco_is_complete ()">mm_pco_is_complete</a>, function in <a class="link" href="MMPco.html" title="MMPco">MMPco</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMPco.html#mm-pco-list-add" title="mm_pco_list_add ()">mm_pco_list_add</a>, function in <a class="link" href="MMPco.html" title="MMPco">MMPco</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMPco.html#mm-pco-list-free" title="mm_pco_list_free ()">mm_pco_list_free</a>, function in <a class="link" href="MMPco.html" title="MMPco">MMPco</a>
+</dt>
+<dd></dd>
+<a name="idxS"></a><h3 class="title">S</h3>
+<dt>
+<a class="link" href="MMSignal.html#MMSignal-struct" title="struct MMSignal">MMSignal</a>, struct in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSignal.html#mm-signal-get-ecio" title="mm_signal_get_ecio ()">mm_signal_get_ecio</a>, function in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSignal.html#mm-signal-get-io" title="mm_signal_get_io ()">mm_signal_get_io</a>, function in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSignal.html#mm-signal-get-rscp" title="mm_signal_get_rscp ()">mm_signal_get_rscp</a>, function in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSignal.html#mm-signal-get-rsrp" title="mm_signal_get_rsrp ()">mm_signal_get_rsrp</a>, function in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSignal.html#mm-signal-get-rsrq" title="mm_signal_get_rsrq ()">mm_signal_get_rsrq</a>, function in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSignal.html#mm-signal-get-rssi" title="mm_signal_get_rssi ()">mm_signal_get_rssi</a>, function in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSignal.html#mm-signal-get-sinr" title="mm_signal_get_sinr ()">mm_signal_get_sinr</a>, function in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSignal.html#mm-signal-get-snr" title="mm_signal_get_snr ()">mm_signal_get_snr</a>, function in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS" title="MM_SIGNAL_UNKNOWN">MM_SIGNAL_UNKNOWN</a>, macro in <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#MMSim-struct" title="struct MMSim">MMSim</a>, struct in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#MMSimpleConnectProperties-struct" title="struct MMSimpleConnectProperties">MMSimpleConnectProperties</a>, struct in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus-struct" title="struct MMSimpleStatus">MMSimpleStatus</a>, struct in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--access-technologies" title="The “access-technologies” property">MMSimpleStatus:access-technologies</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--cdma-cdma1x-registration-state" title="The “cdma-cdma1x-registration-state” property">MMSimpleStatus:cdma-cdma1x-registration-state</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--cdma-evdo-registration-state" title="The “cdma-evdo-registration-state” property">MMSimpleStatus:cdma-evdo-registration-state</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--cdma-nid" title="The “cdma-nid” property">MMSimpleStatus:cdma-nid</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--cdma-sid" title="The “cdma-sid” property">MMSimpleStatus:cdma-sid</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--current-bands" title="The “current-bands” property">MMSimpleStatus:current-bands</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--m3gpp-operator-code" title="The “m3gpp-operator-code” property">MMSimpleStatus:m3gpp-operator-code</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--m3gpp-operator-name" title="The “m3gpp-operator-name” property">MMSimpleStatus:m3gpp-operator-name</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--m3gpp-registration-state" title="The “m3gpp-registration-state” property">MMSimpleStatus:m3gpp-registration-state</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--m3gpp-subscription-state" title="The “m3gpp-subscription-state” property">MMSimpleStatus:m3gpp-subscription-state</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--signal-quality" title="The “signal-quality” property">MMSimpleStatus:signal-quality</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#MMSimpleStatus--state" title="The “state” property">MMSimpleStatus:state</a>, object property in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-allowed-auth" title="mm_simple_connect_properties_get_allowed_auth ()">mm_simple_connect_properties_get_allowed_auth</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-allow-roaming" title="mm_simple_connect_properties_get_allow_roaming ()">mm_simple_connect_properties_get_allow_roaming</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-apn" title="mm_simple_connect_properties_get_apn ()">mm_simple_connect_properties_get_apn</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-ip-type" title="mm_simple_connect_properties_get_ip_type ()">mm_simple_connect_properties_get_ip_type</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-number" title="mm_simple_connect_properties_get_number ()">mm_simple_connect_properties_get_number</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-operator-id" title="mm_simple_connect_properties_get_operator_id ()">mm_simple_connect_properties_get_operator_id</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-password" title="mm_simple_connect_properties_get_password ()">mm_simple_connect_properties_get_password</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-pin" title="mm_simple_connect_properties_get_pin ()">mm_simple_connect_properties_get_pin</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-user" title="mm_simple_connect_properties_get_user ()">mm_simple_connect_properties_get_user</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-new" title="mm_simple_connect_properties_new ()">mm_simple_connect_properties_new</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-allowed-auth" title="mm_simple_connect_properties_set_allowed_auth ()">mm_simple_connect_properties_set_allowed_auth</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-allow-roaming" title="mm_simple_connect_properties_set_allow_roaming ()">mm_simple_connect_properties_set_allow_roaming</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-apn" title="mm_simple_connect_properties_set_apn ()">mm_simple_connect_properties_set_apn</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-ip-type" title="mm_simple_connect_properties_set_ip_type ()">mm_simple_connect_properties_set_ip_type</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-number" title="mm_simple_connect_properties_set_number ()">mm_simple_connect_properties_set_number</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-operator-id" title="mm_simple_connect_properties_set_operator_id ()">mm_simple_connect_properties_set_operator_id</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-password" title="mm_simple_connect_properties_set_password ()">mm_simple_connect_properties_set_password</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-pin" title="mm_simple_connect_properties_set_pin ()">mm_simple_connect_properties_set_pin</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-user" title="mm_simple_connect_properties_set_user ()">mm_simple_connect_properties_set_user</a>, function in <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-3gpp-operator-code" title="mm_simple_status_get_3gpp_operator_code ()">mm_simple_status_get_3gpp_operator_code</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-3gpp-operator-name" title="mm_simple_status_get_3gpp_operator_name ()">mm_simple_status_get_3gpp_operator_name</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-3gpp-registration-state" title="mm_simple_status_get_3gpp_registration_state ()">mm_simple_status_get_3gpp_registration_state</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-3gpp-subscription-state" title="mm_simple_status_get_3gpp_subscription_state ()">mm_simple_status_get_3gpp_subscription_state</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-access-technologies" title="mm_simple_status_get_access_technologies ()">mm_simple_status_get_access_technologies</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-cdma-cdma1x-registration-state" title="mm_simple_status_get_cdma_cdma1x_registration_state ()">mm_simple_status_get_cdma_cdma1x_registration_state</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-cdma-evdo-registration-state" title="mm_simple_status_get_cdma_evdo_registration_state ()">mm_simple_status_get_cdma_evdo_registration_state</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-cdma-nid" title="mm_simple_status_get_cdma_nid ()">mm_simple_status_get_cdma_nid</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-cdma-sid" title="mm_simple_status_get_cdma_sid ()">mm_simple_status_get_cdma_sid</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-current-bands" title="mm_simple_status_get_current_bands ()">mm_simple_status_get_current_bands</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-signal-quality" title="mm_simple_status_get_signal_quality ()">mm_simple_status_get_signal_quality</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSimpleStatus.html#mm-simple-status-get-state" title="mm_simple_status_get_state ()">mm_simple_status_get_state</a>, function in <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-change-pin" title="mm_sim_change_pin ()">mm_sim_change_pin</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-change-pin-finish" title="mm_sim_change_pin_finish ()">mm_sim_change_pin_finish</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-change-pin-sync" title="mm_sim_change_pin_sync ()">mm_sim_change_pin_sync</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-disable-pin" title="mm_sim_disable_pin ()">mm_sim_disable_pin</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-disable-pin-finish" title="mm_sim_disable_pin_finish ()">mm_sim_disable_pin_finish</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-disable-pin-sync" title="mm_sim_disable_pin_sync ()">mm_sim_disable_pin_sync</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-dup-identifier" title="mm_sim_dup_identifier ()">mm_sim_dup_identifier</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-dup-imsi" title="mm_sim_dup_imsi ()">mm_sim_dup_imsi</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-dup-operator-identifier" title="mm_sim_dup_operator_identifier ()">mm_sim_dup_operator_identifier</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-dup-operator-name" title="mm_sim_dup_operator_name ()">mm_sim_dup_operator_name</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-dup-path" title="mm_sim_dup_path ()">mm_sim_dup_path</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-enable-pin" title="mm_sim_enable_pin ()">mm_sim_enable_pin</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-enable-pin-finish" title="mm_sim_enable_pin_finish ()">mm_sim_enable_pin_finish</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-enable-pin-sync" title="mm_sim_enable_pin_sync ()">mm_sim_enable_pin_sync</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-get-identifier" title="mm_sim_get_identifier ()">mm_sim_get_identifier</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-get-imsi" title="mm_sim_get_imsi ()">mm_sim_get_imsi</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-get-operator-identifier" title="mm_sim_get_operator_identifier ()">mm_sim_get_operator_identifier</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-get-operator-name" title="mm_sim_get_operator_name ()">mm_sim_get_operator_name</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-get-path" title="mm_sim_get_path ()">mm_sim_get_path</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-send-pin" title="mm_sim_send_pin ()">mm_sim_send_pin</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-send-pin-finish" title="mm_sim_send_pin_finish ()">mm_sim_send_pin_finish</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-send-pin-sync" title="mm_sim_send_pin_sync ()">mm_sim_send_pin_sync</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-send-puk" title="mm_sim_send_puk ()">mm_sim_send_puk</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-send-puk-finish" title="mm_sim_send_puk_finish ()">mm_sim_send_puk_finish</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSim.html#mm-sim-send-puk-sync" title="mm_sim_send_puk_sync ()">mm_sim_send_puk_sync</a>, function in <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#MMSms-struct" title="struct MMSms">MMSms</a>, struct in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#MMSmsProperties-struct" title="struct MMSmsProperties">MMSmsProperties</a>, struct in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-cdma-service-category-get-string" title="mm_sms_cdma_service_category_get_string ()">mm_sms_cdma_service_category_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-cdma-teleservice-id-get-string" title="mm_sms_cdma_teleservice_id_get_string ()">mm_sms_cdma_teleservice_id_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-delivery-state-get-string" title="mm_sms_delivery_state_get_string ()">mm_sms_delivery_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-dup-data" title="mm_sms_dup_data ()">mm_sms_dup_data</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-dup-discharge-timestamp" title="mm_sms_dup_discharge_timestamp ()">mm_sms_dup_discharge_timestamp</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-dup-number" title="mm_sms_dup_number ()">mm_sms_dup_number</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-dup-path" title="mm_sms_dup_path ()">mm_sms_dup_path</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-dup-smsc" title="mm_sms_dup_smsc ()">mm_sms_dup_smsc</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-dup-text" title="mm_sms_dup_text ()">mm_sms_dup_text</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-dup-timestamp" title="mm_sms_dup_timestamp ()">mm_sms_dup_timestamp</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-class" title="mm_sms_get_class ()">mm_sms_get_class</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-data" title="mm_sms_get_data ()">mm_sms_get_data</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-delivery-report-request" title="mm_sms_get_delivery_report_request ()">mm_sms_get_delivery_report_request</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-delivery-state" title="mm_sms_get_delivery_state ()">mm_sms_get_delivery_state</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-discharge-timestamp" title="mm_sms_get_discharge_timestamp ()">mm_sms_get_discharge_timestamp</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-message-reference" title="mm_sms_get_message_reference ()">mm_sms_get_message_reference</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-number" title="mm_sms_get_number ()">mm_sms_get_number</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-path" title="mm_sms_get_path ()">mm_sms_get_path</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-pdu-type" title="mm_sms_get_pdu_type ()">mm_sms_get_pdu_type</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-service-category" title="mm_sms_get_service_category ()">mm_sms_get_service_category</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-smsc" title="mm_sms_get_smsc ()">mm_sms_get_smsc</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-state" title="mm_sms_get_state ()">mm_sms_get_state</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-storage" title="mm_sms_get_storage ()">mm_sms_get_storage</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-teleservice-id" title="mm_sms_get_teleservice_id ()">mm_sms_get_teleservice_id</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-text" title="mm_sms_get_text ()">mm_sms_get_text</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-timestamp" title="mm_sms_get_timestamp ()">mm_sms_get_timestamp</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-validity-relative" title="mm_sms_get_validity_relative ()">mm_sms_get_validity_relative</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-get-validity-type" title="mm_sms_get_validity_type ()">mm_sms_get_validity_type</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-pdu-type-get-string" title="mm_sms_pdu_type_get_string ()">mm_sms_pdu_type_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-class" title="mm_sms_properties_get_class ()">mm_sms_properties_get_class</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-data" title="mm_sms_properties_get_data ()">mm_sms_properties_get_data</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-data-bytearray" title="mm_sms_properties_get_data_bytearray ()">mm_sms_properties_get_data_bytearray</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-delivery-report-request" title="mm_sms_properties_get_delivery_report_request ()">mm_sms_properties_get_delivery_report_request</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-number" title="mm_sms_properties_get_number ()">mm_sms_properties_get_number</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-service-category" title="mm_sms_properties_get_service_category ()">mm_sms_properties_get_service_category</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-smsc" title="mm_sms_properties_get_smsc ()">mm_sms_properties_get_smsc</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-teleservice-id" title="mm_sms_properties_get_teleservice_id ()">mm_sms_properties_get_teleservice_id</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-text" title="mm_sms_properties_get_text ()">mm_sms_properties_get_text</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-validity-relative" title="mm_sms_properties_get_validity_relative ()">mm_sms_properties_get_validity_relative</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-get-validity-type" title="mm_sms_properties_get_validity_type ()">mm_sms_properties_get_validity_type</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-new" title="mm_sms_properties_new ()">mm_sms_properties_new</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-peek-data-bytearray" title="mm_sms_properties_peek_data_bytearray ()">mm_sms_properties_peek_data_bytearray</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-class" title="mm_sms_properties_set_class ()">mm_sms_properties_set_class</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-data" title="mm_sms_properties_set_data ()">mm_sms_properties_set_data</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-data-bytearray" title="mm_sms_properties_set_data_bytearray ()">mm_sms_properties_set_data_bytearray</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-delivery-report-request" title="mm_sms_properties_set_delivery_report_request ()">mm_sms_properties_set_delivery_report_request</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-number" title="mm_sms_properties_set_number ()">mm_sms_properties_set_number</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-service-category" title="mm_sms_properties_set_service_category ()">mm_sms_properties_set_service_category</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-smsc" title="mm_sms_properties_set_smsc ()">mm_sms_properties_set_smsc</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-teleservice-id" title="mm_sms_properties_set_teleservice_id ()">mm_sms_properties_set_teleservice_id</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-text" title="mm_sms_properties_set_text ()">mm_sms_properties_set_text</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSmsProperties.html#mm-sms-properties-set-validity-relative" title="mm_sms_properties_set_validity_relative ()">mm_sms_properties_set_validity_relative</a>, function in <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-send" title="mm_sms_send ()">mm_sms_send</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-send-finish" title="mm_sms_send_finish ()">mm_sms_send_finish</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-send-sync" title="mm_sms_send_sync ()">mm_sms_send_sync</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-state-get-string" title="mm_sms_state_get_string ()">mm_sms_state_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-storage-get-string" title="mm_sms_storage_get_string ()">mm_sms_storage_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-store" title="mm_sms_store ()">mm_sms_store</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-store-finish" title="mm_sms_store_finish ()">mm_sms_store_finish</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMSms.html#mm-sms-store-sync" title="mm_sms_store_sync ()">mm_sms_store_sync</a>, function in <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-validity-type-get-string" title="mm_sms_validity_type_get_string ()">mm_sms_validity_type_get_string</a>, function in <a class="link" href="libmm-glib-Flags-and-Enumerations.html" title="Flags and Enumerations">Flags and Enumerations</a>
+</dt>
+<dd></dd>
+<a name="idxU"></a><h3 class="title">U</h3>
+<dt>
+<a class="link" href="MMUnlockRetries.html#MMUnlockRetries-struct" title="struct MMUnlockRetries">MMUnlockRetries</a>, struct in <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries">MMUnlockRetries</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMUnlockRetries.html#MMUnlockRetriesForeachCb" title="MMUnlockRetriesForeachCb ()">MMUnlockRetriesForeachCb</a>, user_function in <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries">MMUnlockRetries</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMUnlockRetries.html#mm-unlock-retries-foreach" title="mm_unlock_retries_foreach ()">mm_unlock_retries_foreach</a>, function in <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries">MMUnlockRetries</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMUnlockRetries.html#mm-unlock-retries-get" title="mm_unlock_retries_get ()">mm_unlock_retries_get</a>, function in <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries">MMUnlockRetries</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="MMUnlockRetries.html#MM-UNLOCK-RETRIES-UNKNOWN:CAPS" title="MM_UNLOCK_RETRIES_UNKNOWN">MM_UNLOCK_RETRIES_UNKNOWN</a>, macro in <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries">MMUnlockRetries</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/left-insensitive.png b/docs/reference/libmm-glib/html/left-insensitive.png
new file mode 100644
index 00000000..3269393a
--- /dev/null
+++ b/docs/reference/libmm-glib/html/left-insensitive.png
Binary files differ
diff --git a/docs/reference/libmm-glib/html/left.png b/docs/reference/libmm-glib/html/left.png
new file mode 100644
index 00000000..2abde032
--- /dev/null
+++ b/docs/reference/libmm-glib/html/left.png
Binary files differ
diff --git a/docs/reference/libmm-glib/html/libmm-glib-Flags-and-Enumerations.html b/docs/reference/libmm-glib/html/libmm-glib-Flags-and-Enumerations.html
new file mode 100644
index 00000000..1f141df6
--- /dev/null
+++ b/docs/reference/libmm-glib/html/libmm-glib-Flags-and-Enumerations.html
@@ -0,0 +1,1563 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Flags and Enumerations: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="ch01.html" title="Common enums and flags helpers">
+<link rel="prev" href="ch01.html" title="Common enums and flags helpers">
+<link rel="next" href="ch02.html" title="The Manager object">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#libmm-glib-Flags-and-Enumerations.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ch01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libmm-glib-Flags-and-Enumerations"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libmm-glib-Flags-and-Enumerations.top_of_page"></a>Flags and Enumerations</span></h2>
+<p>Flags and Enumerations</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libmm-glib-Flags-and-Enumerations.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-bearer-type-get-string" title="mm_bearer_type_get_string ()">mm_bearer_type_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-bearer-ip-method-get-string" title="mm_bearer_ip_method_get_string ()">mm_bearer_ip_method_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-bearer-ip-family-get-string" title="mm_bearer_ip_family_get_string ()">mm_bearer_ip_family_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-bearer-allowed-auth-build-string-from-mask" title="mm_bearer_allowed_auth_build_string_from_mask ()">mm_bearer_allowed_auth_build_string_from_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-capability-build-string-from-mask" title="mm_modem_capability_build_string_from_mask ()">mm_modem_capability_build_string_from_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-state-get-string" title="mm_modem_state_get_string ()">mm_modem_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-state-failed-reason-get-string" title="mm_modem_state_failed_reason_get_string ()">mm_modem_state_failed_reason_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-state-change-reason-get-string" title="mm_modem_state_change_reason_get_string ()">mm_modem_state_change_reason_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-power-state-get-string" title="mm_modem_power_state_get_string ()">mm_modem_power_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-lock-get-string" title="mm_modem_lock_get_string ()">mm_modem_lock_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-access-technology-build-string-from-mask" title="mm_modem_access_technology_build_string_from_mask ()">mm_modem_access_technology_build_string_from_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-mode-build-string-from-mask" title="mm_modem_mode_build_string_from_mask ()">mm_modem_mode_build_string_from_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-band-get-string" title="mm_modem_band_get_string ()">mm_modem_band_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-port-type-get-string" title="mm_modem_port_type_get_string ()">mm_modem_port_type_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-registration-state-get-string" title="mm_modem_3gpp_registration_state_get_string ()">mm_modem_3gpp_registration_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-subscription-state-get-string" title="mm_modem_3gpp_subscription_state_get_string ()">mm_modem_3gpp_subscription_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-facility-build-string-from-mask" title="mm_modem_3gpp_facility_build_string_from_mask ()">mm_modem_3gpp_facility_build_string_from_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-network-availability-get-string" title="mm_modem_3gpp_network_availability_get_string ()">mm_modem_3gpp_network_availability_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-ussd-session-state-get-string" title="mm_modem_3gpp_ussd_session_state_get_string ()">mm_modem_3gpp_ussd_session_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-eps-ue-mode-operation-get-string" title="mm_modem_3gpp_eps_ue_mode_operation_get_string ()">mm_modem_3gpp_eps_ue_mode_operation_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-cdma-registration-state-get-string" title="mm_modem_cdma_registration_state_get_string ()">mm_modem_cdma_registration_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-cdma-activation-state-get-string" title="mm_modem_cdma_activation_state_get_string ()">mm_modem_cdma_activation_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-cdma-rm-protocol-get-string" title="mm_modem_cdma_rm_protocol_get_string ()">mm_modem_cdma_rm_protocol_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-location-source-build-string-from-mask" title="mm_modem_location_source_build_string_from_mask ()">mm_modem_location_source_build_string_from_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-location-assistance-data-type-build-string-from-mask" title="mm_modem_location_assistance_data_type_build_string_from_mask ()">mm_modem_location_assistance_data_type_build_string_from_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-contacts-storage-get-string" title="mm_modem_contacts_storage_get_string ()">mm_modem_contacts_storage_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-modem-firmware-update-method-build-string-from-mask" title="mm_modem_firmware_update_method_build_string_from_mask ()">mm_modem_firmware_update_method_build_string_from_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-pdu-type-get-string" title="mm_sms_pdu_type_get_string ()">mm_sms_pdu_type_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-state-get-string" title="mm_sms_state_get_string ()">mm_sms_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-delivery-state-get-string" title="mm_sms_delivery_state_get_string ()">mm_sms_delivery_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-storage-get-string" title="mm_sms_storage_get_string ()">mm_sms_storage_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-validity-type-get-string" title="mm_sms_validity_type_get_string ()">mm_sms_validity_type_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-cdma-teleservice-id-get-string" title="mm_sms_cdma_teleservice_id_get_string ()">mm_sms_cdma_teleservice_id_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-sms-cdma-service-category-get-string" title="mm_sms_cdma_service_category_get_string ()">mm_sms_cdma_service_category_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-firmware-image-type-get-string" title="mm_firmware_image_type_get_string ()">mm_firmware_image_type_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-oma-feature-build-string-from-mask" title="mm_oma_feature_build_string_from_mask ()">mm_oma_feature_build_string_from_mask</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-oma-session-type-get-string" title="mm_oma_session_type_get_string ()">mm_oma_session_type_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-oma-session-state-get-string" title="mm_oma_session_state_get_string ()">mm_oma_session_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-oma-session-state-failed-reason-get-string" title="mm_oma_session_state_failed_reason_get_string ()">mm_oma_session_state_failed_reason_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-call-direction-get-string" title="mm_call_direction_get_string ()">mm_call_direction_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-call-state-get-string" title="mm_call_state_get_string ()">mm_call_state_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="libmm-glib-Flags-and-Enumerations.html#mm-call-state-reason-get-string" title="mm_call_state_reason_get_string ()">mm_call_state_reason_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libmm-glib-Flags-and-Enumerations.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="libmm-glib-Flags-and-Enumerations.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="mm-bearer-type-get-string"></a><h3>mm_bearer_type_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_type_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerType"><span class="type">MMBearerType</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerType"><span class="type">MMBearerType</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-bearer-type-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMBearerType.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-type-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-ip-method-get-string"></a><h3>mm_bearer_ip_method_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_ip_method_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod"><span class="type">MMBearerIpMethod</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod"><span class="type">MMBearerIpMethod</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-bearer-ip-method-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMBearerIpMethod.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-ip-method-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-ip-family-get-string"></a><h3>mm_bearer_ip_family_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_ip_family_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="type">MMBearerIpFamily</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerIpFamily"><span class="type">MMBearerIpFamily</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-bearer-ip-family-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMBearerIpFamily.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-ip-family-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-bearer-allowed-auth-build-string-from-mask"></a><h3>mm_bearer_allowed_auth_build_string_from_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_bearer_allowed_auth_build_string_from_mask
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="type">MMBearerAllowedAuth</span></a> mask</code></em>);</pre>
+<p>Builds a string containing a comma-separated list of nicknames for
+each <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMBearerAllowedAuth"><span class="type">MMBearerAllowedAuth</span></a> in <em class="parameter"><code>mask</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-bearer-allowed-auth-build-string-from-mask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>bitmask of MMBearerAllowedAuth values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-bearer-allowed-auth-build-string-from-mask.returns"></a><h4>Returns</h4>
+<p>a string with the list of nicknames, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none given. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-capability-build-string-from-mask"></a><h3>mm_modem_capability_build_string_from_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_capability_build_string_from_mask
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> mask</code></em>);</pre>
+<p>Builds a string containing a comma-separated list of nicknames for
+each <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCapability"><span class="type">MMModemCapability</span></a> in <em class="parameter"><code>mask</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-capability-build-string-from-mask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>bitmask of MMModemCapability values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-capability-build-string-from-mask.returns"></a><h4>Returns</h4>
+<p>a string with the list of nicknames, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none given. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-state-get-string"></a><h3>mm_modem_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_state_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="type">MMModemState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemState"><span class="type">MMModemState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-state-failed-reason-get-string"></a><h3>mm_modem_state_failed_reason_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_state_failed_reason_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemStateFailedReason"><span class="type">MMModemStateFailedReason</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemStateFailedReason"><span class="type">MMModemStateFailedReason</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-state-failed-reason-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemStateFailedReason.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-state-failed-reason-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-state-change-reason-get-string"></a><h3>mm_modem_state_change_reason_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_state_change_reason_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemStateChangeReason"><span class="type">MMModemStateChangeReason</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemStateChangeReason"><span class="type">MMModemStateChangeReason</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-state-change-reason-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemStateChangeReason.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-state-change-reason-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-power-state-get-string"></a><h3>mm_modem_power_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_power_state_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPowerState"><span class="type">MMModemPowerState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPowerState"><span class="type">MMModemPowerState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-power-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemPowerState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-power-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-lock-get-string"></a><h3>mm_modem_lock_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_lock_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="type">MMModemLock</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLock"><span class="type">MMModemLock</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-lock-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemLock.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-lock-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-access-technology-build-string-from-mask"></a><h3>mm_modem_access_technology_build_string_from_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_access_technology_build_string_from_mask
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="type">MMModemAccessTechnology</span></a> mask</code></em>);</pre>
+<p>Builds a string containing a comma-separated list of nicknames for
+each <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemAccessTechnology"><span class="type">MMModemAccessTechnology</span></a> in <em class="parameter"><code>mask</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-access-technology-build-string-from-mask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>bitmask of MMModemAccessTechnology values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-access-technology-build-string-from-mask.returns"></a><h4>Returns</h4>
+<p>a string with the list of nicknames, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none given. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-mode-build-string-from-mask"></a><h3>mm_modem_mode_build_string_from_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_mode_build_string_from_mask (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> mask</code></em>);</pre>
+<p>Builds a string containing a comma-separated list of nicknames for
+each <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemMode"><span class="type">MMModemMode</span></a> in <em class="parameter"><code>mask</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-mode-build-string-from-mask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>bitmask of MMModemMode values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-mode-build-string-from-mask.returns"></a><h4>Returns</h4>
+<p>a string with the list of nicknames, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none given. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-band-get-string"></a><h3>mm_modem_band_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_band_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemBand"><span class="type">MMModemBand</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-band-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemBand.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-band-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-port-type-get-string"></a><h3>mm_modem_port_type_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_port_type_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPortType"><span class="type">MMModemPortType</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemPortType"><span class="type">MMModemPortType</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-port-type-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemPortType.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-port-type-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-registration-state-get-string"></a><h3>mm_modem_3gpp_registration_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_registration_state_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="type">MMModem3gppRegistrationState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppRegistrationState"><span class="type">MMModem3gppRegistrationState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-registration-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModem3gppRegistrationState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-registration-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-subscription-state-get-string"></a><h3>mm_modem_3gpp_subscription_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_subscription_state_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="type">MMModem3gppSubscriptionState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppSubscriptionState"><span class="type">MMModem3gppSubscriptionState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-subscription-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModem3gppSubscriptionState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-subscription-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-facility-build-string-from-mask"></a><h3>mm_modem_3gpp_facility_build_string_from_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_facility_build_string_from_mask
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppFacility"><span class="type">MMModem3gppFacility</span></a> mask</code></em>);</pre>
+<p>Builds a string containing a comma-separated list of nicknames for
+each <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppFacility"><span class="type">MMModem3gppFacility</span></a> in <em class="parameter"><code>mask</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-facility-build-string-from-mask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>bitmask of MMModem3gppFacility values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-facility-build-string-from-mask.returns"></a><h4>Returns</h4>
+<p>a string with the list of nicknames, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none given. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-network-availability-get-string"></a><h3>mm_modem_3gpp_network_availability_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_network_availability_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppNetworkAvailability"><span class="type">MMModem3gppNetworkAvailability</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppNetworkAvailability"><span class="type">MMModem3gppNetworkAvailability</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-availability-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModem3gppNetworkAvailability.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-network-availability-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-ussd-session-state-get-string"></a><h3>mm_modem_3gpp_ussd_session_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_ussd_session_state_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppUssdSessionState"><span class="type">MMModem3gppUssdSessionState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppUssdSessionState"><span class="type">MMModem3gppUssdSessionState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-session-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModem3gppUssdSessionState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-ussd-session-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-3gpp-eps-ue-mode-operation-get-string"></a><h3>mm_modem_3gpp_eps_ue_mode_operation_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_3gpp_eps_ue_mode_operation_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"><span class="type">MMModem3gppEpsUeModeOperation</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModem3gppEpsUeModeOperation"><span class="type">MMModem3gppEpsUeModeOperation</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-3gpp-eps-ue-mode-operation-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModem3gppEpsUeModeOperation.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-3gpp-eps-ue-mode-operation-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-registration-state-get-string"></a><h3>mm_modem_cdma_registration_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_cdma_registration_state_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRegistrationState"><span class="type">MMModemCdmaRegistrationState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-registration-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemCdmaRegistrationState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-registration-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-activation-state-get-string"></a><h3>mm_modem_cdma_activation_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_cdma_activation_state_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState"><span class="type">MMModemCdmaActivationState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaActivationState"><span class="type">MMModemCdmaActivationState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-activation-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemCdmaActivationState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-activation-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-cdma-rm-protocol-get-string"></a><h3>mm_modem_cdma_rm_protocol_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_cdma_rm_protocol_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol"><span class="type">MMModemCdmaRmProtocol</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemCdmaRmProtocol"><span class="type">MMModemCdmaRmProtocol</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-cdma-rm-protocol-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemCdmaRmProtocol.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-cdma-rm-protocol-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-source-build-string-from-mask"></a><h3>mm_modem_location_source_build_string_from_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_location_source_build_string_from_mask
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="type">MMModemLocationSource</span></a> mask</code></em>);</pre>
+<p>Builds a string containing a comma-separated list of nicknames for
+each <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationSource"><span class="type">MMModemLocationSource</span></a> in <em class="parameter"><code>mask</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-location-source-build-string-from-mask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>bitmask of MMModemLocationSource values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-source-build-string-from-mask.returns"></a><h4>Returns</h4>
+<p>a string with the list of nicknames, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none given. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-location-assistance-data-type-build-string-from-mask"></a><h3>mm_modem_location_assistance_data_type_build_string_from_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_location_assistance_data_type_build_string_from_mask
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationAssistanceDataType"><span class="type">MMModemLocationAssistanceDataType</span></a> mask</code></em>);</pre>
+<p>Builds a string containing a comma-separated list of nicknames for
+each <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemLocationAssistanceDataType"><span class="type">MMModemLocationAssistanceDataType</span></a> in <em class="parameter"><code>mask</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-location-assistance-data-type-build-string-from-mask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>bitmask of MMModemLocationAssistanceDataType values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-location-assistance-data-type-build-string-from-mask.returns"></a><h4>Returns</h4>
+<p>a string with the list of nicknames, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none given. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-contacts-storage-get-string"></a><h3>mm_modem_contacts_storage_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_contacts_storage_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemContactsStorage"><span class="type">MMModemContactsStorage</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemContactsStorage"><span class="type">MMModemContactsStorage</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-contacts-storage-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMModemContactsStorage.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-contacts-storage-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-modem-firmware-update-method-build-string-from-mask"></a><h3>mm_modem_firmware_update_method_build_string_from_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_modem_firmware_update_method_build_string_from_mask
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemFirmwareUpdateMethod"><span class="type">MMModemFirmwareUpdateMethod</span></a> mask</code></em>);</pre>
+<p>Builds a string containing a comma-separated list of nicknames for
+each <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMModemFirmwareUpdateMethod"><span class="type">MMModemFirmwareUpdateMethod</span></a> in <em class="parameter"><code>mask</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-modem-firmware-update-method-build-string-from-mask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>bitmask of MMModemFirmwareUpdateMethod values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-modem-firmware-update-method-build-string-from-mask.returns"></a><h4>Returns</h4>
+<p>a string with the list of nicknames, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none given. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-pdu-type-get-string"></a><h3>mm_sms_pdu_type_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_pdu_type_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsPduType"><span class="type">MMSmsPduType</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsPduType"><span class="type">MMSmsPduType</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-sms-pdu-type-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMSmsPduType.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-pdu-type-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-state-get-string"></a><h3>mm_sms_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_state_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsState"><span class="type">MMSmsState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsState"><span class="type">MMSmsState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-sms-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMSmsState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-delivery-state-get-string"></a><h3>mm_sms_delivery_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_delivery_state_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsDeliveryState"><span class="type">MMSmsDeliveryState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsDeliveryState"><span class="type">MMSmsDeliveryState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-sms-delivery-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMSmsDeliveryState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-delivery-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-storage-get-string"></a><h3>mm_sms_storage_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_storage_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsStorage"><span class="type">MMSmsStorage</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-sms-storage-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMSmsStorage.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-storage-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-validity-type-get-string"></a><h3>mm_sms_validity_type_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_validity_type_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsValidityType"><span class="type">MMSmsValidityType</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsValidityType"><span class="type">MMSmsValidityType</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-sms-validity-type-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMSmsValidityType.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-validity-type-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-cdma-teleservice-id-get-string"></a><h3>mm_sms_cdma_teleservice_id_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_cdma_teleservice_id_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId"><span class="type">MMSmsCdmaTeleserviceId</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaTeleserviceId"><span class="type">MMSmsCdmaTeleserviceId</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-sms-cdma-teleservice-id-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMSmsCdmaTeleserviceId.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-cdma-teleservice-id-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-sms-cdma-service-category-get-string"></a><h3>mm_sms_cdma_service_category_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_sms_cdma_service_category_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory"><span class="type">MMSmsCdmaServiceCategory</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMSmsCdmaServiceCategory"><span class="type">MMSmsCdmaServiceCategory</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-sms-cdma-service-category-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMSmsCdmaServiceCategory.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-sms-cdma-service-category-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-firmware-image-type-get-string"></a><h3>mm_firmware_image_type_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_firmware_image_type_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMFirmwareImageType"><span class="type">MMFirmwareImageType</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMFirmwareImageType"><span class="type">MMFirmwareImageType</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-firmware-image-type-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMFirmwareImageType.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-firmware-image-type-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-oma-feature-build-string-from-mask"></a><h3>mm_oma_feature_build_string_from_mask ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_oma_feature_build_string_from_mask (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaFeature"><span class="type">MMOmaFeature</span></a> mask</code></em>);</pre>
+<p>Builds a string containing a comma-separated list of nicknames for
+each <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaFeature"><span class="type">MMOmaFeature</span></a> in <em class="parameter"><code>mask</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-oma-feature-build-string-from-mask.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>mask</p></td>
+<td class="parameter_description"><p>bitmask of MMOmaFeature values.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-oma-feature-build-string-from-mask.returns"></a><h4>Returns</h4>
+<p>a string with the list of nicknames, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if none given. The returned value should be freed with <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-oma-session-type-get-string"></a><h3>mm_oma_session_type_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_oma_session_type_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="type">MMOmaSessionType</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionType"><span class="type">MMOmaSessionType</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-oma-session-type-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMOmaSessionType.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-oma-session-type-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-oma-session-state-get-string"></a><h3>mm_oma_session_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_oma_session_state_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionState"><span class="type">MMOmaSessionState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionState"><span class="type">MMOmaSessionState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-oma-session-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMOmaSessionState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-oma-session-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-oma-session-state-failed-reason-get-string"></a><h3>mm_oma_session_state_failed_reason_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_oma_session_state_failed_reason_get_string
+ (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionStateFailedReason"><span class="type">MMOmaSessionStateFailedReason</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMOmaSessionStateFailedReason"><span class="type">MMOmaSessionStateFailedReason</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-oma-session-state-failed-reason-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMOmaSessionStateFailedReason.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-oma-session-state-failed-reason-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-direction-get-string"></a><h3>mm_call_direction_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_direction_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallDirection"><span class="type">MMCallDirection</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallDirection"><span class="type">MMCallDirection</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-call-direction-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMCallDirection.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-direction-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-state-get-string"></a><h3>mm_call_state_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_state_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallState"><span class="type">MMCallState</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallState"><span class="type">MMCallState</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-call-state-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMCallState.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-state-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="mm-call-state-reason-get-string"></a><h3>mm_call_state_reason_get_string ()</h3>
+<pre class="programlisting">const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+mm_call_state_reason_get_string (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallStateReason"><span class="type">MMCallStateReason</span></a> val</code></em>);</pre>
+<p>Gets the nickname string for the <a href="/usr/share/gtk-doc/html/ModemManager/ModemManager-Flags-and-Enumerations.html#MMCallStateReason"><span class="type">MMCallStateReason</span></a> specified at <em class="parameter"><code>val</code></em>
+.</p>
+<div class="refsect3">
+<a name="mm-call-state-reason-get-string.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>a MMCallStateReason.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="mm-call-state-reason-get-string.returns"></a><h4>Returns</h4>
+<p>a string with the nickname, or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if not found. Do not free the returned value. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="libmm-glib-Flags-and-Enumerations.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/libmm-glib.devhelp2 b/docs/reference/libmm-glib/html/libmm-glib.devhelp2
new file mode 100644
index 00000000..b960607f
--- /dev/null
+++ b/docs/reference/libmm-glib/html/libmm-glib.devhelp2
@@ -0,0 +1,1824 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<book xmlns="http://www.devhelp.net/book" title="libmm-glib Reference Manual" link="index.html" author="Aleksander Morgado" name="libmm-glib" version="2" language="c">
+ <chapters>
+ <sub name="High level API" link="pt01.html">
+ <sub name="Common enums and flags helpers" link="ch01.html">
+ <sub name="Flags and Enumerations" link="libmm-glib-Flags-and-Enumerations.html"/>
+ </sub>
+ <sub name="The Manager object" link="ch02.html">
+ <sub name="MMManager" link="MMManager.html"/>
+ <sub name="MMKernelEventProperties" link="MMKernelEventProperties.html"/>
+ </sub>
+ <sub name="The Modem object" link="ch03.html">
+ <sub name="MMObject" link="MMObject.html"/>
+ <sub name="Generic interfaces" link="ch03.html#id-1.2.4.3">
+ <sub name="MMModem" link="MMModem.html"/>
+ <sub name="MMModem3gpp" link="MMModem3gpp.html"/>
+ <sub name="MMModem3gppUssd" link="MMModem3gppUssd.html"/>
+ <sub name="MMModemCdma" link="MMModemCdma.html"/>
+ <sub name="MMCdmaManualActivationProperties" link="MMCdmaManualActivationProperties.html"/>
+ <sub name="MMUnlockRetries" link="MMUnlockRetries.html"/>
+ </sub>
+ <sub name="Simple interface support" link="ch03s02.html">
+ <sub name="MMModemSimple" link="MMModemSimple.html"/>
+ <sub name="MMSimpleConnectProperties" link="MMSimpleConnectProperties.html"/>
+ <sub name="MMSimpleStatus" link="MMSimpleStatus.html"/>
+ </sub>
+ <sub name="Location support" link="ch03s03.html">
+ <sub name="MMModemLocation" link="MMModemLocation.html"/>
+ <sub name="MMLocation3gpp" link="MMLocation3gpp.html"/>
+ <sub name="MMLocationGpsNmea" link="MMLocationGpsNmea.html"/>
+ <sub name="MMLocationGpsRaw" link="MMLocationGpsRaw.html"/>
+ <sub name="MMLocationCdmaBs" link="MMLocationCdmaBs.html"/>
+ </sub>
+ <sub name="Messaging support" link="ch03s04.html">
+ <sub name="MMModemMessaging" link="MMModemMessaging.html"/>
+ </sub>
+ <sub name="Time support" link="ch03s05.html">
+ <sub name="MMModemTime" link="MMModemTime.html"/>
+ <sub name="MMNetworkTimezone" link="MMNetworkTimezone.html"/>
+ </sub>
+ <sub name="Firmware support" link="ch03s06.html">
+ <sub name="MMModemFirmware" link="MMModemFirmware.html"/>
+ <sub name="MMFirmwareProperties" link="MMFirmwareProperties.html"/>
+ <sub name="MMFirmwareUpdateSettings" link="MMFirmwareUpdateSettings.html"/>
+ </sub>
+ <sub name="Extended signal information" link="ch03s07.html">
+ <sub name="MMModemSignal" link="MMModemSignal.html"/>
+ <sub name="MMSignal" link="MMSignal.html"/>
+ </sub>
+ <sub name="OMA support" link="ch03s08.html">
+ <sub name="MMModemOma" link="MMModemOma.html"/>
+ </sub>
+ <sub name="Voice support" link="ch03s09.html">
+ <sub name="MMModemVoice" link="MMModemVoice.html"/>
+ </sub>
+ <sub name="PCO support" link="ch03s10.html">
+ <sub name="MMPco" link="MMPco.html"/>
+ </sub>
+ </sub>
+ <sub name="The Bearer object" link="ch04.html">
+ <sub name="MMBearer" link="MMBearer.html"/>
+ <sub name="MMBearerProperties" link="MMBearerProperties.html"/>
+ <sub name="MMBearerIpConfig" link="MMBearerIpConfig.html"/>
+ <sub name="MMBearerStats" link="MMBearerStats.html"/>
+ </sub>
+ <sub name="The SIM object" link="ch05.html">
+ <sub name="MMSim" link="MMSim.html"/>
+ </sub>
+ <sub name="The SMS object" link="ch06.html">
+ <sub name="MMSms" link="MMSms.html"/>
+ <sub name="MMSmsProperties" link="MMSmsProperties.html"/>
+ </sub>
+ <sub name="The Call object" link="ch07.html">
+ <sub name="MMCall" link="MMCall.html"/>
+ <sub name="MMCallProperties" link="MMCallProperties.html"/>
+ <sub name="MMCallAudioFormat" link="MMCallAudioFormat.html"/>
+ </sub>
+ </sub>
+ <sub name="Low level API" link="pt02.html">
+ <sub name="MmGdbusOrgFreedesktopModemManager1" link="MmGdbusOrgFreedesktopModemManager1.html"/>
+ <sub name="MmGdbusOrgFreedesktopModemManager1Proxy" link="MmGdbusOrgFreedesktopModemManager1Proxy.html"/>
+ <sub name="MmGdbusOrgFreedesktopModemManager1Skeleton" link="MmGdbusOrgFreedesktopModemManager1Skeleton.html"/>
+ <sub name="MmGdbusObjectManagerClient" link="MmGdbusObjectManagerClient.html"/>
+ <sub name="MmGdbusObject" link="MmGdbusObject.html"/>
+ <sub name="MmGdbusObjectProxy" link="MmGdbusObjectProxy.html"/>
+ <sub name="MmGdbusObjectSkeleton" link="MmGdbusObjectSkeleton.html"/>
+ <sub name="MmGdbusModem" link="MmGdbusModem.html"/>
+ <sub name="MmGdbusModemProxy" link="MmGdbusModemProxy.html"/>
+ <sub name="MmGdbusModemSkeleton" link="MmGdbusModemSkeleton.html"/>
+ <sub name="MmGdbusModem3gpp" link="MmGdbusModem3gpp.html"/>
+ <sub name="MmGdbusModem3gppProxy" link="MmGdbusModem3gppProxy.html"/>
+ <sub name="MmGdbusModem3gppSkeleton" link="MmGdbusModem3gppSkeleton.html"/>
+ <sub name="MmGdbusModem3gppUssd" link="MmGdbusModem3gppUssd.html"/>
+ <sub name="MmGdbusModem3gppUssdProxy" link="MmGdbusModem3gppUssdProxy.html"/>
+ <sub name="MmGdbusModem3gppUssdSkeleton" link="MmGdbusModem3gppUssdSkeleton.html"/>
+ <sub name="MmGdbusModemCdma" link="MmGdbusModemCdma.html"/>
+ <sub name="MmGdbusModemCdmaProxy" link="MmGdbusModemCdmaProxy.html"/>
+ <sub name="MmGdbusModemCdmaSkeleton" link="MmGdbusModemCdmaSkeleton.html"/>
+ <sub name="MmGdbusModemLocation" link="MmGdbusModemLocation.html"/>
+ <sub name="MmGdbusModemLocationProxy" link="MmGdbusModemLocationProxy.html"/>
+ <sub name="MmGdbusModemLocationSkeleton" link="MmGdbusModemLocationSkeleton.html"/>
+ <sub name="MmGdbusModemMessaging" link="MmGdbusModemMessaging.html"/>
+ <sub name="MmGdbusModemMessagingProxy" link="MmGdbusModemMessagingProxy.html"/>
+ <sub name="MmGdbusModemMessagingSkeleton" link="MmGdbusModemMessagingSkeleton.html"/>
+ <sub name="MmGdbusModemTime" link="MmGdbusModemTime.html"/>
+ <sub name="MmGdbusModemTimeProxy" link="MmGdbusModemTimeProxy.html"/>
+ <sub name="MmGdbusModemTimeSkeleton" link="MmGdbusModemTimeSkeleton.html"/>
+ <sub name="MmGdbusModemFirmware" link="MmGdbusModemFirmware.html"/>
+ <sub name="MmGdbusModemFirmwareProxy" link="MmGdbusModemFirmwareProxy.html"/>
+ <sub name="MmGdbusModemFirmwareSkeleton" link="MmGdbusModemFirmwareSkeleton.html"/>
+ <sub name="MmGdbusModemSignal" link="MmGdbusModemSignal.html"/>
+ <sub name="MmGdbusModemSignalProxy" link="MmGdbusModemSignalProxy.html"/>
+ <sub name="MmGdbusModemSignalSkeleton" link="MmGdbusModemSignalSkeleton.html"/>
+ <sub name="MmGdbusModemOma" link="MmGdbusModemOma.html"/>
+ <sub name="MmGdbusModemOmaProxy" link="MmGdbusModemOmaProxy.html"/>
+ <sub name="MmGdbusModemOmaSkeleton" link="MmGdbusModemOmaSkeleton.html"/>
+ <sub name="MmGdbusModemVoice" link="MmGdbusModemVoice.html"/>
+ <sub name="MmGdbusModemVoiceProxy" link="MmGdbusModemVoiceProxy.html"/>
+ <sub name="MmGdbusModemVoiceSkeleton" link="MmGdbusModemVoiceSkeleton.html"/>
+ <sub name="MmGdbusModemSimple" link="MmGdbusModemSimple.html"/>
+ <sub name="MmGdbusModemSimpleProxy" link="MmGdbusModemSimpleProxy.html"/>
+ <sub name="MmGdbusModemSimpleSkeleton" link="MmGdbusModemSimpleSkeleton.html"/>
+ <sub name="MmGdbusBearer" link="MmGdbusBearer.html"/>
+ <sub name="MmGdbusBearerProxy" link="MmGdbusBearerProxy.html"/>
+ <sub name="MmGdbusBearerSkeleton" link="MmGdbusBearerSkeleton.html"/>
+ <sub name="MmGdbusSim" link="MmGdbusSim.html"/>
+ <sub name="MmGdbusSimProxy" link="MmGdbusSimProxy.html"/>
+ <sub name="MmGdbusSimSkeleton" link="MmGdbusSimSkeleton.html"/>
+ <sub name="MmGdbusSms" link="MmGdbusSms.html"/>
+ <sub name="MmGdbusSmsProxy" link="MmGdbusSmsProxy.html"/>
+ <sub name="MmGdbusSmsSkeleton" link="MmGdbusSmsSkeleton.html"/>
+ <sub name="MmGdbusCall" link="MmGdbusCall.html"/>
+ <sub name="MmGdbusCallProxy" link="MmGdbusCallProxy.html"/>
+ <sub name="MmGdbusCallSkeleton" link="MmGdbusCallSkeleton.html"/>
+ </sub>
+ <sub name="Object Hierarchy" link="object-tree.html"/>
+ <sub name="API Index" link="ix01.html"/>
+ <sub name="Index of deprecated API" link="deprecated-api-index.html"/>
+ <sub name="Annotation Glossary" link="annotation-glossary.html"/>
+ </chapters>
+ <functions>
+ <keyword type="function" name="mm_bearer_type_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-bearer-type-get-string"/>
+ <keyword type="function" name="mm_bearer_ip_method_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-bearer-ip-method-get-string"/>
+ <keyword type="function" name="mm_bearer_ip_family_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-bearer-ip-family-get-string"/>
+ <keyword type="function" name="mm_bearer_allowed_auth_build_string_from_mask ()" link="libmm-glib-Flags-and-Enumerations.html#mm-bearer-allowed-auth-build-string-from-mask"/>
+ <keyword type="function" name="mm_modem_capability_build_string_from_mask ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-capability-build-string-from-mask"/>
+ <keyword type="function" name="mm_modem_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-state-get-string"/>
+ <keyword type="function" name="mm_modem_state_failed_reason_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-state-failed-reason-get-string"/>
+ <keyword type="function" name="mm_modem_state_change_reason_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-state-change-reason-get-string"/>
+ <keyword type="function" name="mm_modem_power_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-power-state-get-string"/>
+ <keyword type="function" name="mm_modem_lock_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-lock-get-string"/>
+ <keyword type="function" name="mm_modem_access_technology_build_string_from_mask ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-access-technology-build-string-from-mask"/>
+ <keyword type="function" name="mm_modem_mode_build_string_from_mask ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-mode-build-string-from-mask"/>
+ <keyword type="function" name="mm_modem_band_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-band-get-string"/>
+ <keyword type="function" name="mm_modem_port_type_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-port-type-get-string"/>
+ <keyword type="function" name="mm_modem_3gpp_registration_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-registration-state-get-string"/>
+ <keyword type="function" name="mm_modem_3gpp_subscription_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-subscription-state-get-string"/>
+ <keyword type="function" name="mm_modem_3gpp_facility_build_string_from_mask ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-facility-build-string-from-mask"/>
+ <keyword type="function" name="mm_modem_3gpp_network_availability_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-network-availability-get-string"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_session_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-ussd-session-state-get-string"/>
+ <keyword type="function" name="mm_modem_3gpp_eps_ue_mode_operation_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-3gpp-eps-ue-mode-operation-get-string"/>
+ <keyword type="function" name="mm_modem_cdma_registration_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-cdma-registration-state-get-string"/>
+ <keyword type="function" name="mm_modem_cdma_activation_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-cdma-activation-state-get-string"/>
+ <keyword type="function" name="mm_modem_cdma_rm_protocol_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-cdma-rm-protocol-get-string"/>
+ <keyword type="function" name="mm_modem_location_source_build_string_from_mask ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-location-source-build-string-from-mask"/>
+ <keyword type="function" name="mm_modem_location_assistance_data_type_build_string_from_mask ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-location-assistance-data-type-build-string-from-mask"/>
+ <keyword type="function" name="mm_modem_contacts_storage_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-contacts-storage-get-string"/>
+ <keyword type="function" name="mm_modem_firmware_update_method_build_string_from_mask ()" link="libmm-glib-Flags-and-Enumerations.html#mm-modem-firmware-update-method-build-string-from-mask"/>
+ <keyword type="function" name="mm_sms_pdu_type_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-sms-pdu-type-get-string"/>
+ <keyword type="function" name="mm_sms_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-sms-state-get-string"/>
+ <keyword type="function" name="mm_sms_delivery_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-sms-delivery-state-get-string"/>
+ <keyword type="function" name="mm_sms_storage_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-sms-storage-get-string"/>
+ <keyword type="function" name="mm_sms_validity_type_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-sms-validity-type-get-string"/>
+ <keyword type="function" name="mm_sms_cdma_teleservice_id_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-sms-cdma-teleservice-id-get-string"/>
+ <keyword type="function" name="mm_sms_cdma_service_category_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-sms-cdma-service-category-get-string"/>
+ <keyword type="function" name="mm_firmware_image_type_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-firmware-image-type-get-string"/>
+ <keyword type="function" name="mm_oma_feature_build_string_from_mask ()" link="libmm-glib-Flags-and-Enumerations.html#mm-oma-feature-build-string-from-mask"/>
+ <keyword type="function" name="mm_oma_session_type_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-oma-session-type-get-string"/>
+ <keyword type="function" name="mm_oma_session_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-oma-session-state-get-string"/>
+ <keyword type="function" name="mm_oma_session_state_failed_reason_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-oma-session-state-failed-reason-get-string"/>
+ <keyword type="function" name="mm_call_direction_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-call-direction-get-string"/>
+ <keyword type="function" name="mm_call_state_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-call-state-get-string"/>
+ <keyword type="function" name="mm_call_state_reason_get_string ()" link="libmm-glib-Flags-and-Enumerations.html#mm-call-state-reason-get-string"/>
+ <keyword type="function" name="mm_manager_peek_proxy ()" link="MMManager.html#mm-manager-peek-proxy"/>
+ <keyword type="function" name="mm_manager_get_proxy ()" link="MMManager.html#mm-manager-get-proxy"/>
+ <keyword type="function" name="mm_manager_new ()" link="MMManager.html#mm-manager-new"/>
+ <keyword type="function" name="mm_manager_new_finish ()" link="MMManager.html#mm-manager-new-finish"/>
+ <keyword type="function" name="mm_manager_new_sync ()" link="MMManager.html#mm-manager-new-sync"/>
+ <keyword type="function" name="mm_manager_get_version ()" link="MMManager.html#mm-manager-get-version"/>
+ <keyword type="function" name="mm_manager_scan_devices ()" link="MMManager.html#mm-manager-scan-devices"/>
+ <keyword type="function" name="mm_manager_scan_devices_finish ()" link="MMManager.html#mm-manager-scan-devices-finish"/>
+ <keyword type="function" name="mm_manager_scan_devices_sync ()" link="MMManager.html#mm-manager-scan-devices-sync"/>
+ <keyword type="function" name="mm_manager_inhibit_device ()" link="MMManager.html#mm-manager-inhibit-device"/>
+ <keyword type="function" name="mm_manager_inhibit_device_finish ()" link="MMManager.html#mm-manager-inhibit-device-finish"/>
+ <keyword type="function" name="mm_manager_inhibit_device_sync ()" link="MMManager.html#mm-manager-inhibit-device-sync"/>
+ <keyword type="function" name="mm_manager_uninhibit_device ()" link="MMManager.html#mm-manager-uninhibit-device"/>
+ <keyword type="function" name="mm_manager_uninhibit_device_finish ()" link="MMManager.html#mm-manager-uninhibit-device-finish"/>
+ <keyword type="function" name="mm_manager_uninhibit_device_sync ()" link="MMManager.html#mm-manager-uninhibit-device-sync"/>
+ <keyword type="function" name="mm_manager_set_logging ()" link="MMManager.html#mm-manager-set-logging"/>
+ <keyword type="function" name="mm_manager_set_logging_finish ()" link="MMManager.html#mm-manager-set-logging-finish"/>
+ <keyword type="function" name="mm_manager_set_logging_sync ()" link="MMManager.html#mm-manager-set-logging-sync"/>
+ <keyword type="function" name="mm_manager_report_kernel_event ()" link="MMManager.html#mm-manager-report-kernel-event"/>
+ <keyword type="function" name="mm_manager_report_kernel_event_finish ()" link="MMManager.html#mm-manager-report-kernel-event-finish"/>
+ <keyword type="function" name="mm_manager_report_kernel_event_sync ()" link="MMManager.html#mm-manager-report-kernel-event-sync"/>
+ <keyword type="struct" name="struct MMManager" link="MMManager.html#MMManager-struct"/>
+ <keyword type="function" name="mm_kernel_event_properties_new ()" link="MMKernelEventProperties.html#mm-kernel-event-properties-new"/>
+ <keyword type="function" name="mm_kernel_event_properties_get_action ()" link="MMKernelEventProperties.html#mm-kernel-event-properties-get-action"/>
+ <keyword type="function" name="mm_kernel_event_properties_set_action ()" link="MMKernelEventProperties.html#mm-kernel-event-properties-set-action"/>
+ <keyword type="function" name="mm_kernel_event_properties_get_name ()" link="MMKernelEventProperties.html#mm-kernel-event-properties-get-name"/>
+ <keyword type="function" name="mm_kernel_event_properties_set_name ()" link="MMKernelEventProperties.html#mm-kernel-event-properties-set-name"/>
+ <keyword type="function" name="mm_kernel_event_properties_get_subsystem ()" link="MMKernelEventProperties.html#mm-kernel-event-properties-get-subsystem"/>
+ <keyword type="function" name="mm_kernel_event_properties_set_subsystem ()" link="MMKernelEventProperties.html#mm-kernel-event-properties-set-subsystem"/>
+ <keyword type="function" name="mm_kernel_event_properties_get_uid ()" link="MMKernelEventProperties.html#mm-kernel-event-properties-get-uid"/>
+ <keyword type="function" name="mm_kernel_event_properties_set_uid ()" link="MMKernelEventProperties.html#mm-kernel-event-properties-set-uid"/>
+ <keyword type="struct" name="struct MMKernelEventProperties" link="MMKernelEventProperties.html#MMKernelEventProperties-struct"/>
+ <keyword type="function" name="mm_object_get_path ()" link="MMObject.html#mm-object-get-path"/>
+ <keyword type="function" name="mm_object_dup_path ()" link="MMObject.html#mm-object-dup-path"/>
+ <keyword type="function" name="mm_object_peek_modem ()" link="MMObject.html#mm-object-peek-modem"/>
+ <keyword type="function" name="mm_object_get_modem ()" link="MMObject.html#mm-object-get-modem"/>
+ <keyword type="function" name="mm_object_peek_modem_3gpp ()" link="MMObject.html#mm-object-peek-modem-3gpp"/>
+ <keyword type="function" name="mm_object_get_modem_3gpp ()" link="MMObject.html#mm-object-get-modem-3gpp"/>
+ <keyword type="function" name="mm_object_peek_modem_3gpp_ussd ()" link="MMObject.html#mm-object-peek-modem-3gpp-ussd"/>
+ <keyword type="function" name="mm_object_get_modem_3gpp_ussd ()" link="MMObject.html#mm-object-get-modem-3gpp-ussd"/>
+ <keyword type="function" name="mm_object_peek_modem_cdma ()" link="MMObject.html#mm-object-peek-modem-cdma"/>
+ <keyword type="function" name="mm_object_get_modem_cdma ()" link="MMObject.html#mm-object-get-modem-cdma"/>
+ <keyword type="function" name="mm_object_peek_modem_location ()" link="MMObject.html#mm-object-peek-modem-location"/>
+ <keyword type="function" name="mm_object_get_modem_location ()" link="MMObject.html#mm-object-get-modem-location"/>
+ <keyword type="function" name="mm_object_peek_modem_messaging ()" link="MMObject.html#mm-object-peek-modem-messaging"/>
+ <keyword type="function" name="mm_object_get_modem_messaging ()" link="MMObject.html#mm-object-get-modem-messaging"/>
+ <keyword type="function" name="mm_object_peek_modem_time ()" link="MMObject.html#mm-object-peek-modem-time"/>
+ <keyword type="function" name="mm_object_get_modem_time ()" link="MMObject.html#mm-object-get-modem-time"/>
+ <keyword type="function" name="mm_object_peek_modem_firmware ()" link="MMObject.html#mm-object-peek-modem-firmware"/>
+ <keyword type="function" name="mm_object_get_modem_firmware ()" link="MMObject.html#mm-object-get-modem-firmware"/>
+ <keyword type="function" name="mm_object_peek_modem_oma ()" link="MMObject.html#mm-object-peek-modem-oma"/>
+ <keyword type="function" name="mm_object_get_modem_oma ()" link="MMObject.html#mm-object-get-modem-oma"/>
+ <keyword type="function" name="mm_object_peek_modem_simple ()" link="MMObject.html#mm-object-peek-modem-simple"/>
+ <keyword type="function" name="mm_object_get_modem_simple ()" link="MMObject.html#mm-object-get-modem-simple"/>
+ <keyword type="function" name="mm_object_peek_modem_signal ()" link="MMObject.html#mm-object-peek-modem-signal"/>
+ <keyword type="function" name="mm_object_get_modem_signal ()" link="MMObject.html#mm-object-get-modem-signal"/>
+ <keyword type="function" name="mm_object_peek_modem_voice ()" link="MMObject.html#mm-object-peek-modem-voice"/>
+ <keyword type="function" name="mm_object_get_modem_voice ()" link="MMObject.html#mm-object-get-modem-voice"/>
+ <keyword type="struct" name="struct MMObject" link="MMObject.html#MMObject-struct"/>
+ <keyword type="function" name="mm_modem_get_path ()" link="MMModem.html#mm-modem-get-path"/>
+ <keyword type="function" name="mm_modem_dup_path ()" link="MMModem.html#mm-modem-dup-path"/>
+ <keyword type="function" name="mm_modem_get_state ()" link="MMModem.html#mm-modem-get-state"/>
+ <keyword type="function" name="mm_modem_get_state_failed_reason ()" link="MMModem.html#mm-modem-get-state-failed-reason"/>
+ <keyword type="function" name="mm_modem_get_power_state ()" link="MMModem.html#mm-modem-get-power-state"/>
+ <keyword type="function" name="mm_modem_peek_supported_capabilities ()" link="MMModem.html#mm-modem-peek-supported-capabilities"/>
+ <keyword type="function" name="mm_modem_get_supported_capabilities ()" link="MMModem.html#mm-modem-get-supported-capabilities"/>
+ <keyword type="function" name="mm_modem_get_current_capabilities ()" link="MMModem.html#mm-modem-get-current-capabilities"/>
+ <keyword type="function" name="mm_modem_get_manufacturer ()" link="MMModem.html#mm-modem-get-manufacturer"/>
+ <keyword type="function" name="mm_modem_dup_manufacturer ()" link="MMModem.html#mm-modem-dup-manufacturer"/>
+ <keyword type="function" name="mm_modem_get_model ()" link="MMModem.html#mm-modem-get-model"/>
+ <keyword type="function" name="mm_modem_dup_model ()" link="MMModem.html#mm-modem-dup-model"/>
+ <keyword type="function" name="mm_modem_get_revision ()" link="MMModem.html#mm-modem-get-revision"/>
+ <keyword type="function" name="mm_modem_dup_revision ()" link="MMModem.html#mm-modem-dup-revision"/>
+ <keyword type="function" name="mm_modem_get_hardware_revision ()" link="MMModem.html#mm-modem-get-hardware-revision"/>
+ <keyword type="function" name="mm_modem_dup_hardware_revision ()" link="MMModem.html#mm-modem-dup-hardware-revision"/>
+ <keyword type="function" name="mm_modem_get_drivers ()" link="MMModem.html#mm-modem-get-drivers"/>
+ <keyword type="function" name="mm_modem_dup_drivers ()" link="MMModem.html#mm-modem-dup-drivers"/>
+ <keyword type="function" name="mm_modem_get_plugin ()" link="MMModem.html#mm-modem-get-plugin"/>
+ <keyword type="function" name="mm_modem_dup_plugin ()" link="MMModem.html#mm-modem-dup-plugin"/>
+ <keyword type="function" name="mm_modem_get_primary_port ()" link="MMModem.html#mm-modem-get-primary-port"/>
+ <keyword type="function" name="mm_modem_dup_primary_port ()" link="MMModem.html#mm-modem-dup-primary-port"/>
+ <keyword type="function" name="mm_modem_peek_ports ()" link="MMModem.html#mm-modem-peek-ports"/>
+ <keyword type="function" name="mm_modem_get_ports ()" link="MMModem.html#mm-modem-get-ports"/>
+ <keyword type="function" name="mm_modem_get_device ()" link="MMModem.html#mm-modem-get-device"/>
+ <keyword type="function" name="mm_modem_dup_device ()" link="MMModem.html#mm-modem-dup-device"/>
+ <keyword type="function" name="mm_modem_get_equipment_identifier ()" link="MMModem.html#mm-modem-get-equipment-identifier"/>
+ <keyword type="function" name="mm_modem_dup_equipment_identifier ()" link="MMModem.html#mm-modem-dup-equipment-identifier"/>
+ <keyword type="function" name="mm_modem_get_device_identifier ()" link="MMModem.html#mm-modem-get-device-identifier"/>
+ <keyword type="function" name="mm_modem_dup_device_identifier ()" link="MMModem.html#mm-modem-dup-device-identifier"/>
+ <keyword type="function" name="mm_modem_get_unlock_required ()" link="MMModem.html#mm-modem-get-unlock-required"/>
+ <keyword type="function" name="mm_modem_peek_unlock_retries ()" link="MMModem.html#mm-modem-peek-unlock-retries"/>
+ <keyword type="function" name="mm_modem_get_unlock_retries ()" link="MMModem.html#mm-modem-get-unlock-retries"/>
+ <keyword type="function" name="mm_modem_get_max_bearers ()" link="MMModem.html#mm-modem-get-max-bearers"/>
+ <keyword type="function" name="mm_modem_get_max_active_bearers ()" link="MMModem.html#mm-modem-get-max-active-bearers"/>
+ <keyword type="function" name="mm_modem_get_bearer_paths ()" link="MMModem.html#mm-modem-get-bearer-paths"/>
+ <keyword type="function" name="mm_modem_dup_bearer_paths ()" link="MMModem.html#mm-modem-dup-bearer-paths"/>
+ <keyword type="function" name="mm_modem_get_own_numbers ()" link="MMModem.html#mm-modem-get-own-numbers"/>
+ <keyword type="function" name="mm_modem_dup_own_numbers ()" link="MMModem.html#mm-modem-dup-own-numbers"/>
+ <keyword type="function" name="mm_modem_peek_supported_modes ()" link="MMModem.html#mm-modem-peek-supported-modes"/>
+ <keyword type="function" name="mm_modem_get_supported_modes ()" link="MMModem.html#mm-modem-get-supported-modes"/>
+ <keyword type="function" name="mm_modem_get_current_modes ()" link="MMModem.html#mm-modem-get-current-modes"/>
+ <keyword type="function" name="mm_modem_peek_supported_bands ()" link="MMModem.html#mm-modem-peek-supported-bands"/>
+ <keyword type="function" name="mm_modem_get_supported_bands ()" link="MMModem.html#mm-modem-get-supported-bands"/>
+ <keyword type="function" name="mm_modem_peek_current_bands ()" link="MMModem.html#mm-modem-peek-current-bands"/>
+ <keyword type="function" name="mm_modem_get_current_bands ()" link="MMModem.html#mm-modem-get-current-bands"/>
+ <keyword type="function" name="mm_modem_get_supported_ip_families ()" link="MMModem.html#mm-modem-get-supported-ip-families"/>
+ <keyword type="function" name="mm_modem_get_signal_quality ()" link="MMModem.html#mm-modem-get-signal-quality"/>
+ <keyword type="function" name="mm_modem_get_access_technologies ()" link="MMModem.html#mm-modem-get-access-technologies"/>
+ <keyword type="function" name="mm_modem_get_sim_path ()" link="MMModem.html#mm-modem-get-sim-path"/>
+ <keyword type="function" name="mm_modem_dup_sim_path ()" link="MMModem.html#mm-modem-dup-sim-path"/>
+ <keyword type="function" name="mm_modem_get_sim ()" link="MMModem.html#mm-modem-get-sim"/>
+ <keyword type="function" name="mm_modem_get_sim_finish ()" link="MMModem.html#mm-modem-get-sim-finish"/>
+ <keyword type="function" name="mm_modem_get_sim_sync ()" link="MMModem.html#mm-modem-get-sim-sync"/>
+ <keyword type="function" name="mm_modem_enable ()" link="MMModem.html#mm-modem-enable"/>
+ <keyword type="function" name="mm_modem_enable_finish ()" link="MMModem.html#mm-modem-enable-finish"/>
+ <keyword type="function" name="mm_modem_enable_sync ()" link="MMModem.html#mm-modem-enable-sync"/>
+ <keyword type="function" name="mm_modem_disable ()" link="MMModem.html#mm-modem-disable"/>
+ <keyword type="function" name="mm_modem_disable_finish ()" link="MMModem.html#mm-modem-disable-finish"/>
+ <keyword type="function" name="mm_modem_disable_sync ()" link="MMModem.html#mm-modem-disable-sync"/>
+ <keyword type="function" name="mm_modem_set_power_state ()" link="MMModem.html#mm-modem-set-power-state"/>
+ <keyword type="function" name="mm_modem_set_power_state_finish ()" link="MMModem.html#mm-modem-set-power-state-finish"/>
+ <keyword type="function" name="mm_modem_set_power_state_sync ()" link="MMModem.html#mm-modem-set-power-state-sync"/>
+ <keyword type="function" name="mm_modem_set_current_modes ()" link="MMModem.html#mm-modem-set-current-modes"/>
+ <keyword type="function" name="mm_modem_set_current_modes_finish ()" link="MMModem.html#mm-modem-set-current-modes-finish"/>
+ <keyword type="function" name="mm_modem_set_current_modes_sync ()" link="MMModem.html#mm-modem-set-current-modes-sync"/>
+ <keyword type="function" name="mm_modem_set_current_bands ()" link="MMModem.html#mm-modem-set-current-bands"/>
+ <keyword type="function" name="mm_modem_set_current_bands_finish ()" link="MMModem.html#mm-modem-set-current-bands-finish"/>
+ <keyword type="function" name="mm_modem_set_current_bands_sync ()" link="MMModem.html#mm-modem-set-current-bands-sync"/>
+ <keyword type="function" name="mm_modem_set_current_capabilities ()" link="MMModem.html#mm-modem-set-current-capabilities"/>
+ <keyword type="function" name="mm_modem_set_current_capabilities_finish ()" link="MMModem.html#mm-modem-set-current-capabilities-finish"/>
+ <keyword type="function" name="mm_modem_set_current_capabilities_sync ()" link="MMModem.html#mm-modem-set-current-capabilities-sync"/>
+ <keyword type="function" name="mm_modem_reset ()" link="MMModem.html#mm-modem-reset"/>
+ <keyword type="function" name="mm_modem_reset_finish ()" link="MMModem.html#mm-modem-reset-finish"/>
+ <keyword type="function" name="mm_modem_reset_sync ()" link="MMModem.html#mm-modem-reset-sync"/>
+ <keyword type="function" name="mm_modem_factory_reset ()" link="MMModem.html#mm-modem-factory-reset"/>
+ <keyword type="function" name="mm_modem_factory_reset_finish ()" link="MMModem.html#mm-modem-factory-reset-finish"/>
+ <keyword type="function" name="mm_modem_factory_reset_sync ()" link="MMModem.html#mm-modem-factory-reset-sync"/>
+ <keyword type="function" name="mm_modem_list_bearers ()" link="MMModem.html#mm-modem-list-bearers"/>
+ <keyword type="function" name="mm_modem_list_bearers_finish ()" link="MMModem.html#mm-modem-list-bearers-finish"/>
+ <keyword type="function" name="mm_modem_list_bearers_sync ()" link="MMModem.html#mm-modem-list-bearers-sync"/>
+ <keyword type="function" name="mm_modem_create_bearer ()" link="MMModem.html#mm-modem-create-bearer"/>
+ <keyword type="function" name="mm_modem_create_bearer_finish ()" link="MMModem.html#mm-modem-create-bearer-finish"/>
+ <keyword type="function" name="mm_modem_create_bearer_sync ()" link="MMModem.html#mm-modem-create-bearer-sync"/>
+ <keyword type="function" name="mm_modem_delete_bearer ()" link="MMModem.html#mm-modem-delete-bearer"/>
+ <keyword type="function" name="mm_modem_delete_bearer_finish ()" link="MMModem.html#mm-modem-delete-bearer-finish"/>
+ <keyword type="function" name="mm_modem_delete_bearer_sync ()" link="MMModem.html#mm-modem-delete-bearer-sync"/>
+ <keyword type="function" name="mm_modem_command ()" link="MMModem.html#mm-modem-command"/>
+ <keyword type="function" name="mm_modem_command_finish ()" link="MMModem.html#mm-modem-command-finish"/>
+ <keyword type="function" name="mm_modem_command_sync ()" link="MMModem.html#mm-modem-command-sync"/>
+ <keyword type="function" name="mm_modem_port_info_array_free ()" link="MMModem.html#mm-modem-port-info-array-free"/>
+ <keyword type="struct" name="struct MMModem" link="MMModem.html#MMModem-struct"/>
+ <keyword type="struct" name="struct MMModemModeCombination" link="MMModem.html#MMModemModeCombination"/>
+ <keyword type="struct" name="struct MMModemPortInfo" link="MMModem.html#MMModemPortInfo"/>
+ <keyword type="function" name="mm_modem_3gpp_network_get_operator_code ()" link="MMModem3gpp.html#mm-modem-3gpp-network-get-operator-code"/>
+ <keyword type="function" name="mm_modem_3gpp_network_get_operator_short ()" link="MMModem3gpp.html#mm-modem-3gpp-network-get-operator-short"/>
+ <keyword type="function" name="mm_modem_3gpp_network_get_operator_long ()" link="MMModem3gpp.html#mm-modem-3gpp-network-get-operator-long"/>
+ <keyword type="function" name="mm_modem_3gpp_network_get_access_technology ()" link="MMModem3gpp.html#mm-modem-3gpp-network-get-access-technology"/>
+ <keyword type="function" name="mm_modem_3gpp_network_get_availability ()" link="MMModem3gpp.html#mm-modem-3gpp-network-get-availability"/>
+ <keyword type="function" name="mm_modem_3gpp_network_free ()" link="MMModem3gpp.html#mm-modem-3gpp-network-free"/>
+ <keyword type="function" name="mm_modem_3gpp_get_path ()" link="MMModem3gpp.html#mm-modem-3gpp-get-path"/>
+ <keyword type="function" name="mm_modem_3gpp_dup_path ()" link="MMModem3gpp.html#mm-modem-3gpp-dup-path"/>
+ <keyword type="function" name="mm_modem_3gpp_get_imei ()" link="MMModem3gpp.html#mm-modem-3gpp-get-imei"/>
+ <keyword type="function" name="mm_modem_3gpp_dup_imei ()" link="MMModem3gpp.html#mm-modem-3gpp-dup-imei"/>
+ <keyword type="function" name="mm_modem_3gpp_get_operator_code ()" link="MMModem3gpp.html#mm-modem-3gpp-get-operator-code"/>
+ <keyword type="function" name="mm_modem_3gpp_dup_operator_code ()" link="MMModem3gpp.html#mm-modem-3gpp-dup-operator-code"/>
+ <keyword type="function" name="mm_modem_3gpp_get_operator_name ()" link="MMModem3gpp.html#mm-modem-3gpp-get-operator-name"/>
+ <keyword type="function" name="mm_modem_3gpp_dup_operator_name ()" link="MMModem3gpp.html#mm-modem-3gpp-dup-operator-name"/>
+ <keyword type="function" name="mm_modem_3gpp_get_enabled_facility_locks ()" link="MMModem3gpp.html#mm-modem-3gpp-get-enabled-facility-locks"/>
+ <keyword type="function" name="mm_modem_3gpp_get_registration_state ()" link="MMModem3gpp.html#mm-modem-3gpp-get-registration-state"/>
+ <keyword type="function" name="mm_modem_3gpp_get_subscription_state ()" link="MMModem3gpp.html#mm-modem-3gpp-get-subscription-state" deprecated=""/>
+ <keyword type="function" name="mm_modem_3gpp_get_pco ()" link="MMModem3gpp.html#mm-modem-3gpp-get-pco"/>
+ <keyword type="function" name="mm_modem_3gpp_get_eps_ue_mode_operation ()" link="MMModem3gpp.html#mm-modem-3gpp-get-eps-ue-mode-operation"/>
+ <keyword type="function" name="mm_modem_3gpp_get_initial_eps_bearer_path ()" link="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-path"/>
+ <keyword type="function" name="mm_modem_3gpp_dup_initial_eps_bearer_path ()" link="MMModem3gpp.html#mm-modem-3gpp-dup-initial-eps-bearer-path"/>
+ <keyword type="function" name="mm_modem_3gpp_get_initial_eps_bearer ()" link="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer"/>
+ <keyword type="function" name="mm_modem_3gpp_get_initial_eps_bearer_finish ()" link="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-finish"/>
+ <keyword type="function" name="mm_modem_3gpp_get_initial_eps_bearer_sync ()" link="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-sync"/>
+ <keyword type="function" name="mm_modem_3gpp_get_initial_eps_bearer_settings ()" link="MMModem3gpp.html#mm-modem-3gpp-get-initial-eps-bearer-settings"/>
+ <keyword type="function" name="mm_modem_3gpp_peek_initial_eps_bearer_settings ()" link="MMModem3gpp.html#mm-modem-3gpp-peek-initial-eps-bearer-settings"/>
+ <keyword type="function" name="mm_modem_3gpp_register ()" link="MMModem3gpp.html#mm-modem-3gpp-register"/>
+ <keyword type="function" name="mm_modem_3gpp_register_finish ()" link="MMModem3gpp.html#mm-modem-3gpp-register-finish"/>
+ <keyword type="function" name="mm_modem_3gpp_register_sync ()" link="MMModem3gpp.html#mm-modem-3gpp-register-sync"/>
+ <keyword type="function" name="mm_modem_3gpp_scan ()" link="MMModem3gpp.html#mm-modem-3gpp-scan"/>
+ <keyword type="function" name="mm_modem_3gpp_scan_finish ()" link="MMModem3gpp.html#mm-modem-3gpp-scan-finish"/>
+ <keyword type="function" name="mm_modem_3gpp_scan_sync ()" link="MMModem3gpp.html#mm-modem-3gpp-scan-sync"/>
+ <keyword type="function" name="mm_modem_3gpp_set_eps_ue_mode_operation ()" link="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation"/>
+ <keyword type="function" name="mm_modem_3gpp_set_eps_ue_mode_operation_finish ()" link="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation-finish"/>
+ <keyword type="function" name="mm_modem_3gpp_set_eps_ue_mode_operation_sync ()" link="MMModem3gpp.html#mm-modem-3gpp-set-eps-ue-mode-operation-sync"/>
+ <keyword type="function" name="mm_modem_3gpp_set_initial_eps_bearer_settings ()" link="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings"/>
+ <keyword type="function" name="mm_modem_3gpp_set_initial_eps_bearer_settings_finish ()" link="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings-finish"/>
+ <keyword type="function" name="mm_modem_3gpp_set_initial_eps_bearer_settings_sync ()" link="MMModem3gpp.html#mm-modem-3gpp-set-initial-eps-bearer-settings-sync"/>
+ <keyword type="struct" name="struct MMModem3gpp" link="MMModem3gpp.html#MMModem3gpp-struct"/>
+ <keyword type="struct" name="MMModem3gppNetwork" link="MMModem3gpp.html#MMModem3gppNetwork"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_get_path ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-path"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_dup_path ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-path"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_get_state ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-state"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_get_network_request ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-network-request"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_dup_network_request ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-network-request"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_get_network_notification ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-get-network-notification"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_dup_network_notification ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-dup-network-notification"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_initiate ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_initiate_finish ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate-finish"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_initiate_sync ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-initiate-sync"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_respond ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_respond_finish ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond-finish"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_respond_sync ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-respond-sync"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_cancel ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_cancel_finish ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel-finish"/>
+ <keyword type="function" name="mm_modem_3gpp_ussd_cancel_sync ()" link="MMModem3gppUssd.html#mm-modem-3gpp-ussd-cancel-sync"/>
+ <keyword type="struct" name="struct MMModem3gppUssd" link="MMModem3gppUssd.html#MMModem3gppUssd-struct"/>
+ <keyword type="function" name="mm_modem_cdma_get_path ()" link="MMModemCdma.html#mm-modem-cdma-get-path"/>
+ <keyword type="function" name="mm_modem_cdma_dup_path ()" link="MMModemCdma.html#mm-modem-cdma-dup-path"/>
+ <keyword type="function" name="mm_modem_cdma_get_esn ()" link="MMModemCdma.html#mm-modem-cdma-get-esn"/>
+ <keyword type="function" name="mm_modem_cdma_dup_esn ()" link="MMModemCdma.html#mm-modem-cdma-dup-esn"/>
+ <keyword type="function" name="mm_modem_cdma_get_meid ()" link="MMModemCdma.html#mm-modem-cdma-get-meid"/>
+ <keyword type="function" name="mm_modem_cdma_dup_meid ()" link="MMModemCdma.html#mm-modem-cdma-dup-meid"/>
+ <keyword type="function" name="mm_modem_cdma_get_nid ()" link="MMModemCdma.html#mm-modem-cdma-get-nid"/>
+ <keyword type="function" name="mm_modem_cdma_get_sid ()" link="MMModemCdma.html#mm-modem-cdma-get-sid"/>
+ <keyword type="function" name="mm_modem_cdma_get_cdma1x_registration_state ()" link="MMModemCdma.html#mm-modem-cdma-get-cdma1x-registration-state"/>
+ <keyword type="function" name="mm_modem_cdma_get_evdo_registration_state ()" link="MMModemCdma.html#mm-modem-cdma-get-evdo-registration-state"/>
+ <keyword type="function" name="mm_modem_cdma_get_activation_state ()" link="MMModemCdma.html#mm-modem-cdma-get-activation-state"/>
+ <keyword type="function" name="mm_modem_cdma_activate ()" link="MMModemCdma.html#mm-modem-cdma-activate"/>
+ <keyword type="function" name="mm_modem_cdma_activate_finish ()" link="MMModemCdma.html#mm-modem-cdma-activate-finish"/>
+ <keyword type="function" name="mm_modem_cdma_activate_sync ()" link="MMModemCdma.html#mm-modem-cdma-activate-sync"/>
+ <keyword type="function" name="mm_modem_cdma_activate_manual ()" link="MMModemCdma.html#mm-modem-cdma-activate-manual"/>
+ <keyword type="function" name="mm_modem_cdma_activate_manual_finish ()" link="MMModemCdma.html#mm-modem-cdma-activate-manual-finish"/>
+ <keyword type="function" name="mm_modem_cdma_activate_manual_sync ()" link="MMModemCdma.html#mm-modem-cdma-activate-manual-sync"/>
+ <keyword type="struct" name="struct MMModemCdma" link="MMModemCdma.html#MMModemCdma-struct"/>
+ <keyword type="macro" name="MM_MODEM_CDMA_NID_UNKNOWN" link="MMModemCdma.html#MM-MODEM-CDMA-NID-UNKNOWN:CAPS"/>
+ <keyword type="macro" name="MM_MODEM_CDMA_SID_UNKNOWN" link="MMModemCdma.html#MM-MODEM-CDMA-SID-UNKNOWN:CAPS"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_new ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-new"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_get_spc ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-spc"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_set_spc ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-spc"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_get_sid ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-sid"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_set_sid ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-sid"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_get_mdn ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-mdn"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_set_mdn ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-mdn"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_get_min ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-min"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_set_min ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-min"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_get_mn_ha_key ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-mn-ha-key"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_set_mn_ha_key ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-mn-ha-key"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_get_mn_aaa_key ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-mn-aaa-key"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_set_mn_aaa_key ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-mn-aaa-key"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_get_prl ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-prl"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_peek_prl_bytearray ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-peek-prl-bytearray"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_get_prl_bytearray ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-get-prl-bytearray"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_set_prl ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-prl"/>
+ <keyword type="function" name="mm_cdma_manual_activation_properties_set_prl_bytearray ()" link="MMCdmaManualActivationProperties.html#mm-cdma-manual-activation-properties-set-prl-bytearray"/>
+ <keyword type="struct" name="struct MMCdmaManualActivationProperties" link="MMCdmaManualActivationProperties.html#MMCdmaManualActivationProperties-struct"/>
+ <keyword type="function" name="mm_unlock_retries_get ()" link="MMUnlockRetries.html#mm-unlock-retries-get"/>
+ <keyword type="function" name="MMUnlockRetriesForeachCb ()" link="MMUnlockRetries.html#MMUnlockRetriesForeachCb"/>
+ <keyword type="function" name="mm_unlock_retries_foreach ()" link="MMUnlockRetries.html#mm-unlock-retries-foreach"/>
+ <keyword type="struct" name="struct MMUnlockRetries" link="MMUnlockRetries.html#MMUnlockRetries-struct"/>
+ <keyword type="macro" name="MM_UNLOCK_RETRIES_UNKNOWN" link="MMUnlockRetries.html#MM-UNLOCK-RETRIES-UNKNOWN:CAPS"/>
+ <keyword type="function" name="mm_modem_simple_get_path ()" link="MMModemSimple.html#mm-modem-simple-get-path"/>
+ <keyword type="function" name="mm_modem_simple_dup_path ()" link="MMModemSimple.html#mm-modem-simple-dup-path"/>
+ <keyword type="function" name="mm_modem_simple_connect ()" link="MMModemSimple.html#mm-modem-simple-connect"/>
+ <keyword type="function" name="mm_modem_simple_connect_finish ()" link="MMModemSimple.html#mm-modem-simple-connect-finish"/>
+ <keyword type="function" name="mm_modem_simple_connect_sync ()" link="MMModemSimple.html#mm-modem-simple-connect-sync"/>
+ <keyword type="function" name="mm_modem_simple_disconnect ()" link="MMModemSimple.html#mm-modem-simple-disconnect"/>
+ <keyword type="function" name="mm_modem_simple_disconnect_finish ()" link="MMModemSimple.html#mm-modem-simple-disconnect-finish"/>
+ <keyword type="function" name="mm_modem_simple_disconnect_sync ()" link="MMModemSimple.html#mm-modem-simple-disconnect-sync"/>
+ <keyword type="function" name="mm_modem_simple_get_status ()" link="MMModemSimple.html#mm-modem-simple-get-status"/>
+ <keyword type="function" name="mm_modem_simple_get_status_finish ()" link="MMModemSimple.html#mm-modem-simple-get-status-finish"/>
+ <keyword type="function" name="mm_modem_simple_get_status_sync ()" link="MMModemSimple.html#mm-modem-simple-get-status-sync"/>
+ <keyword type="struct" name="struct MMModemSimple" link="MMModemSimple.html#MMModemSimple-struct"/>
+ <keyword type="function" name="mm_simple_connect_properties_new ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-new"/>
+ <keyword type="function" name="mm_simple_connect_properties_get_pin ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-pin"/>
+ <keyword type="function" name="mm_simple_connect_properties_set_pin ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-pin"/>
+ <keyword type="function" name="mm_simple_connect_properties_get_operator_id ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-operator-id"/>
+ <keyword type="function" name="mm_simple_connect_properties_set_operator_id ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-operator-id"/>
+ <keyword type="function" name="mm_simple_connect_properties_get_apn ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-apn"/>
+ <keyword type="function" name="mm_simple_connect_properties_set_apn ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-apn"/>
+ <keyword type="function" name="mm_simple_connect_properties_get_allowed_auth ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-allowed-auth"/>
+ <keyword type="function" name="mm_simple_connect_properties_set_allowed_auth ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-allowed-auth"/>
+ <keyword type="function" name="mm_simple_connect_properties_get_user ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-user"/>
+ <keyword type="function" name="mm_simple_connect_properties_set_user ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-user"/>
+ <keyword type="function" name="mm_simple_connect_properties_get_password ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-password"/>
+ <keyword type="function" name="mm_simple_connect_properties_set_password ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-password"/>
+ <keyword type="function" name="mm_simple_connect_properties_get_ip_type ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-ip-type"/>
+ <keyword type="function" name="mm_simple_connect_properties_set_ip_type ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-ip-type"/>
+ <keyword type="function" name="mm_simple_connect_properties_get_allow_roaming ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-allow-roaming"/>
+ <keyword type="function" name="mm_simple_connect_properties_set_allow_roaming ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-allow-roaming"/>
+ <keyword type="function" name="mm_simple_connect_properties_get_number ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-get-number" deprecated=""/>
+ <keyword type="function" name="mm_simple_connect_properties_set_number ()" link="MMSimpleConnectProperties.html#mm-simple-connect-properties-set-number" deprecated=""/>
+ <keyword type="struct" name="struct MMSimpleConnectProperties" link="MMSimpleConnectProperties.html#MMSimpleConnectProperties-struct"/>
+ <keyword type="function" name="mm_simple_status_get_state ()" link="MMSimpleStatus.html#mm-simple-status-get-state"/>
+ <keyword type="function" name="mm_simple_status_get_signal_quality ()" link="MMSimpleStatus.html#mm-simple-status-get-signal-quality"/>
+ <keyword type="function" name="mm_simple_status_get_access_technologies ()" link="MMSimpleStatus.html#mm-simple-status-get-access-technologies"/>
+ <keyword type="function" name="mm_simple_status_get_current_bands ()" link="MMSimpleStatus.html#mm-simple-status-get-current-bands"/>
+ <keyword type="function" name="mm_simple_status_get_3gpp_registration_state ()" link="MMSimpleStatus.html#mm-simple-status-get-3gpp-registration-state"/>
+ <keyword type="function" name="mm_simple_status_get_3gpp_operator_code ()" link="MMSimpleStatus.html#mm-simple-status-get-3gpp-operator-code"/>
+ <keyword type="function" name="mm_simple_status_get_3gpp_operator_name ()" link="MMSimpleStatus.html#mm-simple-status-get-3gpp-operator-name"/>
+ <keyword type="function" name="mm_simple_status_get_3gpp_subscription_state ()" link="MMSimpleStatus.html#mm-simple-status-get-3gpp-subscription-state"/>
+ <keyword type="function" name="mm_simple_status_get_cdma_cdma1x_registration_state ()" link="MMSimpleStatus.html#mm-simple-status-get-cdma-cdma1x-registration-state"/>
+ <keyword type="function" name="mm_simple_status_get_cdma_evdo_registration_state ()" link="MMSimpleStatus.html#mm-simple-status-get-cdma-evdo-registration-state"/>
+ <keyword type="function" name="mm_simple_status_get_cdma_nid ()" link="MMSimpleStatus.html#mm-simple-status-get-cdma-nid"/>
+ <keyword type="function" name="mm_simple_status_get_cdma_sid ()" link="MMSimpleStatus.html#mm-simple-status-get-cdma-sid"/>
+ <keyword type="struct" name="struct MMSimpleStatus" link="MMSimpleStatus.html#MMSimpleStatus-struct"/>
+ <keyword type="property" name="The “access-technologies” property" link="MMSimpleStatus.html#MMSimpleStatus--access-technologies"/>
+ <keyword type="property" name="The “cdma-cdma1x-registration-state” property" link="MMSimpleStatus.html#MMSimpleStatus--cdma-cdma1x-registration-state"/>
+ <keyword type="property" name="The “cdma-evdo-registration-state” property" link="MMSimpleStatus.html#MMSimpleStatus--cdma-evdo-registration-state"/>
+ <keyword type="property" name="The “cdma-nid” property" link="MMSimpleStatus.html#MMSimpleStatus--cdma-nid"/>
+ <keyword type="property" name="The “cdma-sid” property" link="MMSimpleStatus.html#MMSimpleStatus--cdma-sid"/>
+ <keyword type="property" name="The “current-bands” property" link="MMSimpleStatus.html#MMSimpleStatus--current-bands"/>
+ <keyword type="property" name="The “m3gpp-operator-code” property" link="MMSimpleStatus.html#MMSimpleStatus--m3gpp-operator-code"/>
+ <keyword type="property" name="The “m3gpp-operator-name” property" link="MMSimpleStatus.html#MMSimpleStatus--m3gpp-operator-name"/>
+ <keyword type="property" name="The “m3gpp-registration-state” property" link="MMSimpleStatus.html#MMSimpleStatus--m3gpp-registration-state"/>
+ <keyword type="property" name="The “m3gpp-subscription-state” property" link="MMSimpleStatus.html#MMSimpleStatus--m3gpp-subscription-state"/>
+ <keyword type="property" name="The “signal-quality” property" link="MMSimpleStatus.html#MMSimpleStatus--signal-quality"/>
+ <keyword type="property" name="The “state” property" link="MMSimpleStatus.html#MMSimpleStatus--state"/>
+ <keyword type="function" name="mm_modem_location_get_path ()" link="MMModemLocation.html#mm-modem-location-get-path"/>
+ <keyword type="function" name="mm_modem_location_dup_path ()" link="MMModemLocation.html#mm-modem-location-dup-path"/>
+ <keyword type="function" name="mm_modem_location_get_capabilities ()" link="MMModemLocation.html#mm-modem-location-get-capabilities"/>
+ <keyword type="function" name="mm_modem_location_get_enabled ()" link="MMModemLocation.html#mm-modem-location-get-enabled"/>
+ <keyword type="function" name="mm_modem_location_get_gps_refresh_rate ()" link="MMModemLocation.html#mm-modem-location-get-gps-refresh-rate"/>
+ <keyword type="function" name="mm_modem_location_signals_location ()" link="MMModemLocation.html#mm-modem-location-signals-location"/>
+ <keyword type="function" name="mm_modem_location_dup_supl_server ()" link="MMModemLocation.html#mm-modem-location-dup-supl-server"/>
+ <keyword type="function" name="mm_modem_location_get_supl_server ()" link="MMModemLocation.html#mm-modem-location-get-supl-server"/>
+ <keyword type="function" name="mm_modem_location_get_supported_assistance_data ()" link="MMModemLocation.html#mm-modem-location-get-supported-assistance-data"/>
+ <keyword type="function" name="mm_modem_location_dup_assistance_data_servers ()" link="MMModemLocation.html#mm-modem-location-dup-assistance-data-servers"/>
+ <keyword type="function" name="mm_modem_location_get_assistance_data_servers ()" link="MMModemLocation.html#mm-modem-location-get-assistance-data-servers"/>
+ <keyword type="function" name="mm_modem_location_setup ()" link="MMModemLocation.html#mm-modem-location-setup"/>
+ <keyword type="function" name="mm_modem_location_setup_finish ()" link="MMModemLocation.html#mm-modem-location-setup-finish"/>
+ <keyword type="function" name="mm_modem_location_setup_sync ()" link="MMModemLocation.html#mm-modem-location-setup-sync"/>
+ <keyword type="function" name="mm_modem_location_set_supl_server ()" link="MMModemLocation.html#mm-modem-location-set-supl-server"/>
+ <keyword type="function" name="mm_modem_location_set_supl_server_finish ()" link="MMModemLocation.html#mm-modem-location-set-supl-server-finish"/>
+ <keyword type="function" name="mm_modem_location_set_supl_server_sync ()" link="MMModemLocation.html#mm-modem-location-set-supl-server-sync"/>
+ <keyword type="function" name="mm_modem_location_inject_assistance_data ()" link="MMModemLocation.html#mm-modem-location-inject-assistance-data"/>
+ <keyword type="function" name="mm_modem_location_inject_assistance_data_finish ()" link="MMModemLocation.html#mm-modem-location-inject-assistance-data-finish"/>
+ <keyword type="function" name="mm_modem_location_inject_assistance_data_sync ()" link="MMModemLocation.html#mm-modem-location-inject-assistance-data-sync"/>
+ <keyword type="function" name="mm_modem_location_set_gps_refresh_rate ()" link="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate"/>
+ <keyword type="function" name="mm_modem_location_set_gps_refresh_rate_finish ()" link="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate-finish"/>
+ <keyword type="function" name="mm_modem_location_set_gps_refresh_rate_sync ()" link="MMModemLocation.html#mm-modem-location-set-gps-refresh-rate-sync"/>
+ <keyword type="function" name="mm_modem_location_get_3gpp ()" link="MMModemLocation.html#mm-modem-location-get-3gpp"/>
+ <keyword type="function" name="mm_modem_location_get_3gpp_finish ()" link="MMModemLocation.html#mm-modem-location-get-3gpp-finish"/>
+ <keyword type="function" name="mm_modem_location_get_3gpp_sync ()" link="MMModemLocation.html#mm-modem-location-get-3gpp-sync"/>
+ <keyword type="function" name="mm_modem_location_get_gps_nmea ()" link="MMModemLocation.html#mm-modem-location-get-gps-nmea"/>
+ <keyword type="function" name="mm_modem_location_get_gps_nmea_finish ()" link="MMModemLocation.html#mm-modem-location-get-gps-nmea-finish"/>
+ <keyword type="function" name="mm_modem_location_get_gps_nmea_sync ()" link="MMModemLocation.html#mm-modem-location-get-gps-nmea-sync"/>
+ <keyword type="function" name="mm_modem_location_get_gps_raw ()" link="MMModemLocation.html#mm-modem-location-get-gps-raw"/>
+ <keyword type="function" name="mm_modem_location_get_gps_raw_finish ()" link="MMModemLocation.html#mm-modem-location-get-gps-raw-finish"/>
+ <keyword type="function" name="mm_modem_location_get_gps_raw_sync ()" link="MMModemLocation.html#mm-modem-location-get-gps-raw-sync"/>
+ <keyword type="function" name="mm_modem_location_get_cdma_bs ()" link="MMModemLocation.html#mm-modem-location-get-cdma-bs"/>
+ <keyword type="function" name="mm_modem_location_get_cdma_bs_finish ()" link="MMModemLocation.html#mm-modem-location-get-cdma-bs-finish"/>
+ <keyword type="function" name="mm_modem_location_get_cdma_bs_sync ()" link="MMModemLocation.html#mm-modem-location-get-cdma-bs-sync"/>
+ <keyword type="function" name="mm_modem_location_get_full ()" link="MMModemLocation.html#mm-modem-location-get-full"/>
+ <keyword type="function" name="mm_modem_location_get_full_finish ()" link="MMModemLocation.html#mm-modem-location-get-full-finish"/>
+ <keyword type="function" name="mm_modem_location_get_full_sync ()" link="MMModemLocation.html#mm-modem-location-get-full-sync"/>
+ <keyword type="struct" name="struct MMModemLocation" link="MMModemLocation.html#MMModemLocation-struct"/>
+ <keyword type="macro" name="MM_LOCATION_LONGITUDE_UNKNOWN" link="MMModemLocation.html#MM-LOCATION-LONGITUDE-UNKNOWN:CAPS"/>
+ <keyword type="macro" name="MM_LOCATION_LATITUDE_UNKNOWN" link="MMModemLocation.html#MM-LOCATION-LATITUDE-UNKNOWN:CAPS"/>
+ <keyword type="macro" name="MM_LOCATION_ALTITUDE_UNKNOWN" link="MMModemLocation.html#MM-LOCATION-ALTITUDE-UNKNOWN:CAPS"/>
+ <keyword type="function" name="mm_location_3gpp_get_mobile_country_code ()" link="MMLocation3gpp.html#mm-location-3gpp-get-mobile-country-code"/>
+ <keyword type="function" name="mm_location_3gpp_get_mobile_network_code ()" link="MMLocation3gpp.html#mm-location-3gpp-get-mobile-network-code"/>
+ <keyword type="function" name="mm_location_3gpp_get_location_area_code ()" link="MMLocation3gpp.html#mm-location-3gpp-get-location-area-code"/>
+ <keyword type="function" name="mm_location_3gpp_get_tracking_area_code ()" link="MMLocation3gpp.html#mm-location-3gpp-get-tracking-area-code"/>
+ <keyword type="function" name="mm_location_3gpp_get_cell_id ()" link="MMLocation3gpp.html#mm-location-3gpp-get-cell-id"/>
+ <keyword type="struct" name="struct MMLocation3gpp" link="MMLocation3gpp.html#MMLocation3gpp-struct"/>
+ <keyword type="function" name="mm_location_gps_nmea_get_trace ()" link="MMLocationGpsNmea.html#mm-location-gps-nmea-get-trace"/>
+ <keyword type="function" name="mm_location_gps_nmea_build_full ()" link="MMLocationGpsNmea.html#mm-location-gps-nmea-build-full"/>
+ <keyword type="struct" name="struct MMLocationGpsNmea" link="MMLocationGpsNmea.html#MMLocationGpsNmea-struct"/>
+ <keyword type="function" name="mm_location_gps_raw_get_utc_time ()" link="MMLocationGpsRaw.html#mm-location-gps-raw-get-utc-time"/>
+ <keyword type="function" name="mm_location_gps_raw_get_longitude ()" link="MMLocationGpsRaw.html#mm-location-gps-raw-get-longitude"/>
+ <keyword type="function" name="mm_location_gps_raw_get_latitude ()" link="MMLocationGpsRaw.html#mm-location-gps-raw-get-latitude"/>
+ <keyword type="function" name="mm_location_gps_raw_get_altitude ()" link="MMLocationGpsRaw.html#mm-location-gps-raw-get-altitude"/>
+ <keyword type="struct" name="struct MMLocationGpsRaw" link="MMLocationGpsRaw.html#MMLocationGpsRaw-struct"/>
+ <keyword type="function" name="mm_location_cdma_bs_get_latitude ()" link="MMLocationCdmaBs.html#mm-location-cdma-bs-get-latitude"/>
+ <keyword type="function" name="mm_location_cdma_bs_get_longitude ()" link="MMLocationCdmaBs.html#mm-location-cdma-bs-get-longitude"/>
+ <keyword type="struct" name="struct MMLocationCdmaBs" link="MMLocationCdmaBs.html#MMLocationCdmaBs-struct"/>
+ <keyword type="function" name="mm_modem_messaging_get_path ()" link="MMModemMessaging.html#mm-modem-messaging-get-path"/>
+ <keyword type="function" name="mm_modem_messaging_dup_path ()" link="MMModemMessaging.html#mm-modem-messaging-dup-path"/>
+ <keyword type="function" name="mm_modem_messaging_peek_supported_storages ()" link="MMModemMessaging.html#mm-modem-messaging-peek-supported-storages"/>
+ <keyword type="function" name="mm_modem_messaging_get_supported_storages ()" link="MMModemMessaging.html#mm-modem-messaging-get-supported-storages"/>
+ <keyword type="function" name="mm_modem_messaging_get_default_storage ()" link="MMModemMessaging.html#mm-modem-messaging-get-default-storage"/>
+ <keyword type="function" name="mm_modem_messaging_create ()" link="MMModemMessaging.html#mm-modem-messaging-create"/>
+ <keyword type="function" name="mm_modem_messaging_create_finish ()" link="MMModemMessaging.html#mm-modem-messaging-create-finish"/>
+ <keyword type="function" name="mm_modem_messaging_create_sync ()" link="MMModemMessaging.html#mm-modem-messaging-create-sync"/>
+ <keyword type="function" name="mm_modem_messaging_delete ()" link="MMModemMessaging.html#mm-modem-messaging-delete"/>
+ <keyword type="function" name="mm_modem_messaging_delete_finish ()" link="MMModemMessaging.html#mm-modem-messaging-delete-finish"/>
+ <keyword type="function" name="mm_modem_messaging_delete_sync ()" link="MMModemMessaging.html#mm-modem-messaging-delete-sync"/>
+ <keyword type="function" name="mm_modem_messaging_list ()" link="MMModemMessaging.html#mm-modem-messaging-list"/>
+ <keyword type="function" name="mm_modem_messaging_list_finish ()" link="MMModemMessaging.html#mm-modem-messaging-list-finish"/>
+ <keyword type="function" name="mm_modem_messaging_list_sync ()" link="MMModemMessaging.html#mm-modem-messaging-list-sync"/>
+ <keyword type="struct" name="struct MMModemMessaging" link="MMModemMessaging.html#MMModemMessaging-struct"/>
+ <keyword type="function" name="mm_modem_time_get_path ()" link="MMModemTime.html#mm-modem-time-get-path"/>
+ <keyword type="function" name="mm_modem_time_dup_path ()" link="MMModemTime.html#mm-modem-time-dup-path"/>
+ <keyword type="function" name="mm_modem_time_peek_network_timezone ()" link="MMModemTime.html#mm-modem-time-peek-network-timezone"/>
+ <keyword type="function" name="mm_modem_time_get_network_timezone ()" link="MMModemTime.html#mm-modem-time-get-network-timezone"/>
+ <keyword type="function" name="mm_modem_time_get_network_time ()" link="MMModemTime.html#mm-modem-time-get-network-time"/>
+ <keyword type="function" name="mm_modem_time_get_network_time_finish ()" link="MMModemTime.html#mm-modem-time-get-network-time-finish"/>
+ <keyword type="function" name="mm_modem_time_get_network_time_sync ()" link="MMModemTime.html#mm-modem-time-get-network-time-sync"/>
+ <keyword type="struct" name="struct MMModemTime" link="MMModemTime.html#MMModemTime-struct"/>
+ <keyword type="function" name="mm_network_timezone_get_offset ()" link="MMNetworkTimezone.html#mm-network-timezone-get-offset"/>
+ <keyword type="function" name="mm_network_timezone_get_dst_offset ()" link="MMNetworkTimezone.html#mm-network-timezone-get-dst-offset"/>
+ <keyword type="function" name="mm_network_timezone_get_leap_seconds ()" link="MMNetworkTimezone.html#mm-network-timezone-get-leap-seconds"/>
+ <keyword type="struct" name="struct MMNetworkTimezone" link="MMNetworkTimezone.html#MMNetworkTimezone-struct"/>
+ <keyword type="macro" name="MM_NETWORK_TIMEZONE_OFFSET_UNKNOWN" link="MMNetworkTimezone.html#MM-NETWORK-TIMEZONE-OFFSET-UNKNOWN:CAPS"/>
+ <keyword type="macro" name="MM_NETWORK_TIMEZONE_LEAP_SECONDS_UNKNOWN" link="MMNetworkTimezone.html#MM-NETWORK-TIMEZONE-LEAP-SECONDS-UNKNOWN:CAPS"/>
+ <keyword type="function" name="mm_modem_firmware_get_path ()" link="MMModemFirmware.html#mm-modem-firmware-get-path"/>
+ <keyword type="function" name="mm_modem_firmware_dup_path ()" link="MMModemFirmware.html#mm-modem-firmware-dup-path"/>
+ <keyword type="function" name="mm_modem_firmware_list ()" link="MMModemFirmware.html#mm-modem-firmware-list"/>
+ <keyword type="function" name="mm_modem_firmware_list_finish ()" link="MMModemFirmware.html#mm-modem-firmware-list-finish"/>
+ <keyword type="function" name="mm_modem_firmware_list_sync ()" link="MMModemFirmware.html#mm-modem-firmware-list-sync"/>
+ <keyword type="function" name="mm_modem_firmware_select ()" link="MMModemFirmware.html#mm-modem-firmware-select"/>
+ <keyword type="function" name="mm_modem_firmware_select_finish ()" link="MMModemFirmware.html#mm-modem-firmware-select-finish"/>
+ <keyword type="function" name="mm_modem_firmware_select_sync ()" link="MMModemFirmware.html#mm-modem-firmware-select-sync"/>
+ <keyword type="function" name="mm_modem_firmware_get_update_settings ()" link="MMModemFirmware.html#mm-modem-firmware-get-update-settings"/>
+ <keyword type="function" name="mm_modem_firmware_peek_update_settings ()" link="MMModemFirmware.html#mm-modem-firmware-peek-update-settings"/>
+ <keyword type="struct" name="struct MMModemFirmware" link="MMModemFirmware.html#MMModemFirmware-struct"/>
+ <keyword type="function" name="mm_firmware_properties_get_image_type ()" link="MMFirmwareProperties.html#mm-firmware-properties-get-image-type"/>
+ <keyword type="function" name="mm_firmware_properties_get_unique_id ()" link="MMFirmwareProperties.html#mm-firmware-properties-get-unique-id"/>
+ <keyword type="function" name="mm_firmware_properties_get_gobi_pri_version ()" link="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-pri-version"/>
+ <keyword type="function" name="mm_firmware_properties_get_gobi_pri_info ()" link="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-pri-info"/>
+ <keyword type="function" name="mm_firmware_properties_get_gobi_boot_version ()" link="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-boot-version"/>
+ <keyword type="function" name="mm_firmware_properties_get_gobi_pri_unique_id ()" link="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-pri-unique-id"/>
+ <keyword type="function" name="mm_firmware_properties_get_gobi_modem_unique_id ()" link="MMFirmwareProperties.html#mm-firmware-properties-get-gobi-modem-unique-id"/>
+ <keyword type="struct" name="struct MMFirmwareProperties" link="MMFirmwareProperties.html#MMFirmwareProperties-struct"/>
+ <keyword type="function" name="mm_firmware_update_settings_get_fastboot_at ()" link="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-fastboot-at"/>
+ <keyword type="function" name="mm_firmware_update_settings_get_method ()" link="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-method"/>
+ <keyword type="function" name="mm_firmware_update_settings_get_device_ids ()" link="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-device-ids"/>
+ <keyword type="function" name="mm_firmware_update_settings_get_version ()" link="MMFirmwareUpdateSettings.html#mm-firmware-update-settings-get-version"/>
+ <keyword type="struct" name="struct MMFirmwareUpdateSettings" link="MMFirmwareUpdateSettings.html#MMFirmwareUpdateSettings-struct"/>
+ <keyword type="function" name="mm_modem_signal_get_path ()" link="MMModemSignal.html#mm-modem-signal-get-path"/>
+ <keyword type="function" name="mm_modem_signal_dup_path ()" link="MMModemSignal.html#mm-modem-signal-dup-path"/>
+ <keyword type="function" name="mm_modem_signal_get_rate ()" link="MMModemSignal.html#mm-modem-signal-get-rate"/>
+ <keyword type="function" name="mm_modem_signal_peek_cdma ()" link="MMModemSignal.html#mm-modem-signal-peek-cdma"/>
+ <keyword type="function" name="mm_modem_signal_get_cdma ()" link="MMModemSignal.html#mm-modem-signal-get-cdma"/>
+ <keyword type="function" name="mm_modem_signal_peek_evdo ()" link="MMModemSignal.html#mm-modem-signal-peek-evdo"/>
+ <keyword type="function" name="mm_modem_signal_get_evdo ()" link="MMModemSignal.html#mm-modem-signal-get-evdo"/>
+ <keyword type="function" name="mm_modem_signal_peek_gsm ()" link="MMModemSignal.html#mm-modem-signal-peek-gsm"/>
+ <keyword type="function" name="mm_modem_signal_get_gsm ()" link="MMModemSignal.html#mm-modem-signal-get-gsm"/>
+ <keyword type="function" name="mm_modem_signal_peek_umts ()" link="MMModemSignal.html#mm-modem-signal-peek-umts"/>
+ <keyword type="function" name="mm_modem_signal_get_umts ()" link="MMModemSignal.html#mm-modem-signal-get-umts"/>
+ <keyword type="function" name="mm_modem_signal_peek_lte ()" link="MMModemSignal.html#mm-modem-signal-peek-lte"/>
+ <keyword type="function" name="mm_modem_signal_get_lte ()" link="MMModemSignal.html#mm-modem-signal-get-lte"/>
+ <keyword type="function" name="mm_modem_signal_setup ()" link="MMModemSignal.html#mm-modem-signal-setup"/>
+ <keyword type="function" name="mm_modem_signal_setup_finish ()" link="MMModemSignal.html#mm-modem-signal-setup-finish"/>
+ <keyword type="function" name="mm_modem_signal_setup_sync ()" link="MMModemSignal.html#mm-modem-signal-setup-sync"/>
+ <keyword type="struct" name="struct MMModemSignal" link="MMModemSignal.html#MMModemSignal-struct"/>
+ <keyword type="function" name="mm_signal_get_rssi ()" link="MMSignal.html#mm-signal-get-rssi"/>
+ <keyword type="function" name="mm_signal_get_rscp ()" link="MMSignal.html#mm-signal-get-rscp"/>
+ <keyword type="function" name="mm_signal_get_ecio ()" link="MMSignal.html#mm-signal-get-ecio"/>
+ <keyword type="function" name="mm_signal_get_sinr ()" link="MMSignal.html#mm-signal-get-sinr"/>
+ <keyword type="function" name="mm_signal_get_io ()" link="MMSignal.html#mm-signal-get-io"/>
+ <keyword type="function" name="mm_signal_get_rsrp ()" link="MMSignal.html#mm-signal-get-rsrp"/>
+ <keyword type="function" name="mm_signal_get_rsrq ()" link="MMSignal.html#mm-signal-get-rsrq"/>
+ <keyword type="function" name="mm_signal_get_snr ()" link="MMSignal.html#mm-signal-get-snr"/>
+ <keyword type="struct" name="struct MMSignal" link="MMSignal.html#MMSignal-struct"/>
+ <keyword type="macro" name="MM_SIGNAL_UNKNOWN" link="MMSignal.html#MM-SIGNAL-UNKNOWN:CAPS"/>
+ <keyword type="function" name="mm_modem_oma_get_path ()" link="MMModemOma.html#mm-modem-oma-get-path"/>
+ <keyword type="function" name="mm_modem_oma_dup_path ()" link="MMModemOma.html#mm-modem-oma-dup-path"/>
+ <keyword type="function" name="mm_modem_oma_setup ()" link="MMModemOma.html#mm-modem-oma-setup"/>
+ <keyword type="function" name="mm_modem_oma_setup_finish ()" link="MMModemOma.html#mm-modem-oma-setup-finish"/>
+ <keyword type="function" name="mm_modem_oma_setup_sync ()" link="MMModemOma.html#mm-modem-oma-setup-sync"/>
+ <keyword type="function" name="mm_modem_oma_start_client_initiated_session ()" link="MMModemOma.html#mm-modem-oma-start-client-initiated-session"/>
+ <keyword type="function" name="mm_modem_oma_start_client_initiated_session_finish ()" link="MMModemOma.html#mm-modem-oma-start-client-initiated-session-finish"/>
+ <keyword type="function" name="mm_modem_oma_start_client_initiated_session_sync ()" link="MMModemOma.html#mm-modem-oma-start-client-initiated-session-sync"/>
+ <keyword type="function" name="mm_modem_oma_accept_network_initiated_session ()" link="MMModemOma.html#mm-modem-oma-accept-network-initiated-session"/>
+ <keyword type="function" name="mm_modem_oma_accept_network_initiated_session_finish ()" link="MMModemOma.html#mm-modem-oma-accept-network-initiated-session-finish"/>
+ <keyword type="function" name="mm_modem_oma_accept_network_initiated_session_sync ()" link="MMModemOma.html#mm-modem-oma-accept-network-initiated-session-sync"/>
+ <keyword type="function" name="mm_modem_oma_cancel_session ()" link="MMModemOma.html#mm-modem-oma-cancel-session"/>
+ <keyword type="function" name="mm_modem_oma_cancel_session_finish ()" link="MMModemOma.html#mm-modem-oma-cancel-session-finish"/>
+ <keyword type="function" name="mm_modem_oma_cancel_session_sync ()" link="MMModemOma.html#mm-modem-oma-cancel-session-sync"/>
+ <keyword type="function" name="mm_modem_oma_get_features ()" link="MMModemOma.html#mm-modem-oma-get-features"/>
+ <keyword type="function" name="mm_modem_oma_get_session_type ()" link="MMModemOma.html#mm-modem-oma-get-session-type"/>
+ <keyword type="function" name="mm_modem_oma_get_session_state ()" link="MMModemOma.html#mm-modem-oma-get-session-state"/>
+ <keyword type="function" name="mm_modem_peek_pending_network_initiated_sessions ()" link="MMModemOma.html#mm-modem-peek-pending-network-initiated-sessions"/>
+ <keyword type="function" name="mm_modem_get_pending_network_initiated_sessions ()" link="MMModemOma.html#mm-modem-get-pending-network-initiated-sessions"/>
+ <keyword type="struct" name="struct MMModemOma" link="MMModemOma.html#MMModemOma-struct"/>
+ <keyword type="struct" name="struct MMOmaPendingNetworkInitiatedSession" link="MMModemOma.html#MMOmaPendingNetworkInitiatedSession"/>
+ <keyword type="function" name="mm_modem_voice_get_path ()" link="MMModemVoice.html#mm-modem-voice-get-path"/>
+ <keyword type="function" name="mm_modem_voice_dup_path ()" link="MMModemVoice.html#mm-modem-voice-dup-path"/>
+ <keyword type="function" name="mm_modem_voice_create_call ()" link="MMModemVoice.html#mm-modem-voice-create-call"/>
+ <keyword type="function" name="mm_modem_voice_create_call_finish ()" link="MMModemVoice.html#mm-modem-voice-create-call-finish"/>
+ <keyword type="function" name="mm_modem_voice_create_call_sync ()" link="MMModemVoice.html#mm-modem-voice-create-call-sync"/>
+ <keyword type="function" name="mm_modem_voice_delete_call ()" link="MMModemVoice.html#mm-modem-voice-delete-call"/>
+ <keyword type="function" name="mm_modem_voice_delete_call_finish ()" link="MMModemVoice.html#mm-modem-voice-delete-call-finish"/>
+ <keyword type="function" name="mm_modem_voice_delete_call_sync ()" link="MMModemVoice.html#mm-modem-voice-delete-call-sync"/>
+ <keyword type="function" name="mm_modem_voice_list_calls ()" link="MMModemVoice.html#mm-modem-voice-list-calls"/>
+ <keyword type="function" name="mm_modem_voice_list_calls_finish ()" link="MMModemVoice.html#mm-modem-voice-list-calls-finish"/>
+ <keyword type="function" name="mm_modem_voice_list_calls_sync ()" link="MMModemVoice.html#mm-modem-voice-list-calls-sync"/>
+ <keyword type="struct" name="struct MMModemVoice" link="MMModemVoice.html#MMModemVoice-struct"/>
+ <keyword type="function" name="mm_pco_get_session_id ()" link="MMPco.html#mm-pco-get-session-id"/>
+ <keyword type="function" name="mm_pco_is_complete ()" link="MMPco.html#mm-pco-is-complete"/>
+ <keyword type="function" name="mm_pco_get_data ()" link="MMPco.html#mm-pco-get-data"/>
+ <keyword type="function" name="mm_pco_list_add ()" link="MMPco.html#mm-pco-list-add"/>
+ <keyword type="function" name="mm_pco_list_free ()" link="MMPco.html#mm-pco-list-free"/>
+ <keyword type="struct" name="struct MMPco" link="MMPco.html#MMPco-struct"/>
+ <keyword type="function" name="mm_bearer_get_path ()" link="MMBearer.html#mm-bearer-get-path"/>
+ <keyword type="function" name="mm_bearer_dup_path ()" link="MMBearer.html#mm-bearer-dup-path"/>
+ <keyword type="function" name="mm_bearer_get_interface ()" link="MMBearer.html#mm-bearer-get-interface"/>
+ <keyword type="function" name="mm_bearer_dup_interface ()" link="MMBearer.html#mm-bearer-dup-interface"/>
+ <keyword type="function" name="mm_bearer_get_connected ()" link="MMBearer.html#mm-bearer-get-connected"/>
+ <keyword type="function" name="mm_bearer_get_suspended ()" link="MMBearer.html#mm-bearer-get-suspended"/>
+ <keyword type="function" name="mm_bearer_get_ip_timeout ()" link="MMBearer.html#mm-bearer-get-ip-timeout"/>
+ <keyword type="function" name="mm_bearer_get_bearer_type ()" link="MMBearer.html#mm-bearer-get-bearer-type"/>
+ <keyword type="function" name="mm_bearer_peek_ipv4_config ()" link="MMBearer.html#mm-bearer-peek-ipv4-config"/>
+ <keyword type="function" name="mm_bearer_get_ipv4_config ()" link="MMBearer.html#mm-bearer-get-ipv4-config"/>
+ <keyword type="function" name="mm_bearer_peek_ipv6_config ()" link="MMBearer.html#mm-bearer-peek-ipv6-config"/>
+ <keyword type="function" name="mm_bearer_get_ipv6_config ()" link="MMBearer.html#mm-bearer-get-ipv6-config"/>
+ <keyword type="function" name="mm_bearer_peek_properties ()" link="MMBearer.html#mm-bearer-peek-properties"/>
+ <keyword type="function" name="mm_bearer_get_properties ()" link="MMBearer.html#mm-bearer-get-properties"/>
+ <keyword type="function" name="mm_bearer_peek_stats ()" link="MMBearer.html#mm-bearer-peek-stats"/>
+ <keyword type="function" name="mm_bearer_get_stats ()" link="MMBearer.html#mm-bearer-get-stats"/>
+ <keyword type="function" name="mm_bearer_connect ()" link="MMBearer.html#mm-bearer-connect"/>
+ <keyword type="function" name="mm_bearer_connect_finish ()" link="MMBearer.html#mm-bearer-connect-finish"/>
+ <keyword type="function" name="mm_bearer_connect_sync ()" link="MMBearer.html#mm-bearer-connect-sync"/>
+ <keyword type="function" name="mm_bearer_disconnect ()" link="MMBearer.html#mm-bearer-disconnect"/>
+ <keyword type="function" name="mm_bearer_disconnect_finish ()" link="MMBearer.html#mm-bearer-disconnect-finish"/>
+ <keyword type="function" name="mm_bearer_disconnect_sync ()" link="MMBearer.html#mm-bearer-disconnect-sync"/>
+ <keyword type="struct" name="struct MMBearer" link="MMBearer.html#MMBearer-struct"/>
+ <keyword type="function" name="mm_bearer_properties_new ()" link="MMBearerProperties.html#mm-bearer-properties-new"/>
+ <keyword type="function" name="mm_bearer_properties_get_apn ()" link="MMBearerProperties.html#mm-bearer-properties-get-apn"/>
+ <keyword type="function" name="mm_bearer_properties_set_apn ()" link="MMBearerProperties.html#mm-bearer-properties-set-apn"/>
+ <keyword type="function" name="mm_bearer_properties_get_allowed_auth ()" link="MMBearerProperties.html#mm-bearer-properties-get-allowed-auth"/>
+ <keyword type="function" name="mm_bearer_properties_set_allowed_auth ()" link="MMBearerProperties.html#mm-bearer-properties-set-allowed-auth"/>
+ <keyword type="function" name="mm_bearer_properties_get_user ()" link="MMBearerProperties.html#mm-bearer-properties-get-user"/>
+ <keyword type="function" name="mm_bearer_properties_set_user ()" link="MMBearerProperties.html#mm-bearer-properties-set-user"/>
+ <keyword type="function" name="mm_bearer_properties_get_password ()" link="MMBearerProperties.html#mm-bearer-properties-get-password"/>
+ <keyword type="function" name="mm_bearer_properties_set_password ()" link="MMBearerProperties.html#mm-bearer-properties-set-password"/>
+ <keyword type="function" name="mm_bearer_properties_get_ip_type ()" link="MMBearerProperties.html#mm-bearer-properties-get-ip-type"/>
+ <keyword type="function" name="mm_bearer_properties_set_ip_type ()" link="MMBearerProperties.html#mm-bearer-properties-set-ip-type"/>
+ <keyword type="function" name="mm_bearer_properties_get_allow_roaming ()" link="MMBearerProperties.html#mm-bearer-properties-get-allow-roaming"/>
+ <keyword type="function" name="mm_bearer_properties_set_allow_roaming ()" link="MMBearerProperties.html#mm-bearer-properties-set-allow-roaming"/>
+ <keyword type="function" name="mm_bearer_properties_get_number ()" link="MMBearerProperties.html#mm-bearer-properties-get-number" deprecated=""/>
+ <keyword type="function" name="mm_bearer_properties_set_number ()" link="MMBearerProperties.html#mm-bearer-properties-set-number" deprecated=""/>
+ <keyword type="function" name="mm_bearer_properties_get_rm_protocol ()" link="MMBearerProperties.html#mm-bearer-properties-get-rm-protocol"/>
+ <keyword type="function" name="mm_bearer_properties_set_rm_protocol ()" link="MMBearerProperties.html#mm-bearer-properties-set-rm-protocol"/>
+ <keyword type="struct" name="struct MMBearerProperties" link="MMBearerProperties.html#MMBearerProperties-struct"/>
+ <keyword type="function" name="mm_bearer_ip_config_get_method ()" link="MMBearerIpConfig.html#mm-bearer-ip-config-get-method"/>
+ <keyword type="function" name="mm_bearer_ip_config_get_address ()" link="MMBearerIpConfig.html#mm-bearer-ip-config-get-address"/>
+ <keyword type="function" name="mm_bearer_ip_config_get_prefix ()" link="MMBearerIpConfig.html#mm-bearer-ip-config-get-prefix"/>
+ <keyword type="function" name="mm_bearer_ip_config_get_dns ()" link="MMBearerIpConfig.html#mm-bearer-ip-config-get-dns"/>
+ <keyword type="function" name="mm_bearer_ip_config_get_gateway ()" link="MMBearerIpConfig.html#mm-bearer-ip-config-get-gateway"/>
+ <keyword type="function" name="mm_bearer_ip_config_get_mtu ()" link="MMBearerIpConfig.html#mm-bearer-ip-config-get-mtu"/>
+ <keyword type="struct" name="struct MMBearerIpConfig" link="MMBearerIpConfig.html#MMBearerIpConfig-struct"/>
+ <keyword type="function" name="mm_bearer_stats_get_duration ()" link="MMBearerStats.html#mm-bearer-stats-get-duration"/>
+ <keyword type="function" name="mm_bearer_stats_get_rx_bytes ()" link="MMBearerStats.html#mm-bearer-stats-get-rx-bytes"/>
+ <keyword type="function" name="mm_bearer_stats_get_tx_bytes ()" link="MMBearerStats.html#mm-bearer-stats-get-tx-bytes"/>
+ <keyword type="struct" name="struct MMBearerStats" link="MMBearerStats.html#MMBearerStats-struct"/>
+ <keyword type="function" name="mm_sim_get_path ()" link="MMSim.html#mm-sim-get-path"/>
+ <keyword type="function" name="mm_sim_dup_path ()" link="MMSim.html#mm-sim-dup-path"/>
+ <keyword type="function" name="mm_sim_get_identifier ()" link="MMSim.html#mm-sim-get-identifier"/>
+ <keyword type="function" name="mm_sim_dup_identifier ()" link="MMSim.html#mm-sim-dup-identifier"/>
+ <keyword type="function" name="mm_sim_get_imsi ()" link="MMSim.html#mm-sim-get-imsi"/>
+ <keyword type="function" name="mm_sim_dup_imsi ()" link="MMSim.html#mm-sim-dup-imsi"/>
+ <keyword type="function" name="mm_sim_get_operator_identifier ()" link="MMSim.html#mm-sim-get-operator-identifier"/>
+ <keyword type="function" name="mm_sim_dup_operator_identifier ()" link="MMSim.html#mm-sim-dup-operator-identifier"/>
+ <keyword type="function" name="mm_sim_get_operator_name ()" link="MMSim.html#mm-sim-get-operator-name"/>
+ <keyword type="function" name="mm_sim_dup_operator_name ()" link="MMSim.html#mm-sim-dup-operator-name"/>
+ <keyword type="function" name="mm_sim_send_pin ()" link="MMSim.html#mm-sim-send-pin"/>
+ <keyword type="function" name="mm_sim_send_pin_finish ()" link="MMSim.html#mm-sim-send-pin-finish"/>
+ <keyword type="function" name="mm_sim_send_pin_sync ()" link="MMSim.html#mm-sim-send-pin-sync"/>
+ <keyword type="function" name="mm_sim_send_puk ()" link="MMSim.html#mm-sim-send-puk"/>
+ <keyword type="function" name="mm_sim_send_puk_finish ()" link="MMSim.html#mm-sim-send-puk-finish"/>
+ <keyword type="function" name="mm_sim_send_puk_sync ()" link="MMSim.html#mm-sim-send-puk-sync"/>
+ <keyword type="function" name="mm_sim_enable_pin ()" link="MMSim.html#mm-sim-enable-pin"/>
+ <keyword type="function" name="mm_sim_enable_pin_finish ()" link="MMSim.html#mm-sim-enable-pin-finish"/>
+ <keyword type="function" name="mm_sim_enable_pin_sync ()" link="MMSim.html#mm-sim-enable-pin-sync"/>
+ <keyword type="function" name="mm_sim_disable_pin ()" link="MMSim.html#mm-sim-disable-pin"/>
+ <keyword type="function" name="mm_sim_disable_pin_finish ()" link="MMSim.html#mm-sim-disable-pin-finish"/>
+ <keyword type="function" name="mm_sim_disable_pin_sync ()" link="MMSim.html#mm-sim-disable-pin-sync"/>
+ <keyword type="function" name="mm_sim_change_pin ()" link="MMSim.html#mm-sim-change-pin"/>
+ <keyword type="function" name="mm_sim_change_pin_finish ()" link="MMSim.html#mm-sim-change-pin-finish"/>
+ <keyword type="function" name="mm_sim_change_pin_sync ()" link="MMSim.html#mm-sim-change-pin-sync"/>
+ <keyword type="struct" name="struct MMSim" link="MMSim.html#MMSim-struct"/>
+ <keyword type="function" name="mm_sms_get_path ()" link="MMSms.html#mm-sms-get-path"/>
+ <keyword type="function" name="mm_sms_dup_path ()" link="MMSms.html#mm-sms-dup-path"/>
+ <keyword type="function" name="mm_sms_get_state ()" link="MMSms.html#mm-sms-get-state"/>
+ <keyword type="function" name="mm_sms_get_pdu_type ()" link="MMSms.html#mm-sms-get-pdu-type"/>
+ <keyword type="function" name="mm_sms_get_storage ()" link="MMSms.html#mm-sms-get-storage"/>
+ <keyword type="function" name="mm_sms_get_text ()" link="MMSms.html#mm-sms-get-text"/>
+ <keyword type="function" name="mm_sms_dup_text ()" link="MMSms.html#mm-sms-dup-text"/>
+ <keyword type="function" name="mm_sms_get_data ()" link="MMSms.html#mm-sms-get-data"/>
+ <keyword type="function" name="mm_sms_dup_data ()" link="MMSms.html#mm-sms-dup-data"/>
+ <keyword type="function" name="mm_sms_get_number ()" link="MMSms.html#mm-sms-get-number"/>
+ <keyword type="function" name="mm_sms_dup_number ()" link="MMSms.html#mm-sms-dup-number"/>
+ <keyword type="function" name="mm_sms_get_smsc ()" link="MMSms.html#mm-sms-get-smsc"/>
+ <keyword type="function" name="mm_sms_dup_smsc ()" link="MMSms.html#mm-sms-dup-smsc"/>
+ <keyword type="function" name="mm_sms_get_message_reference ()" link="MMSms.html#mm-sms-get-message-reference"/>
+ <keyword type="function" name="mm_sms_get_class ()" link="MMSms.html#mm-sms-get-class"/>
+ <keyword type="function" name="mm_sms_get_teleservice_id ()" link="MMSms.html#mm-sms-get-teleservice-id"/>
+ <keyword type="function" name="mm_sms_get_service_category ()" link="MMSms.html#mm-sms-get-service-category"/>
+ <keyword type="function" name="mm_sms_get_validity_type ()" link="MMSms.html#mm-sms-get-validity-type"/>
+ <keyword type="function" name="mm_sms_get_validity_relative ()" link="MMSms.html#mm-sms-get-validity-relative"/>
+ <keyword type="function" name="mm_sms_get_timestamp ()" link="MMSms.html#mm-sms-get-timestamp"/>
+ <keyword type="function" name="mm_sms_dup_timestamp ()" link="MMSms.html#mm-sms-dup-timestamp"/>
+ <keyword type="function" name="mm_sms_get_discharge_timestamp ()" link="MMSms.html#mm-sms-get-discharge-timestamp"/>
+ <keyword type="function" name="mm_sms_dup_discharge_timestamp ()" link="MMSms.html#mm-sms-dup-discharge-timestamp"/>
+ <keyword type="function" name="mm_sms_get_delivery_state ()" link="MMSms.html#mm-sms-get-delivery-state"/>
+ <keyword type="function" name="mm_sms_get_delivery_report_request ()" link="MMSms.html#mm-sms-get-delivery-report-request"/>
+ <keyword type="function" name="mm_sms_send ()" link="MMSms.html#mm-sms-send"/>
+ <keyword type="function" name="mm_sms_send_finish ()" link="MMSms.html#mm-sms-send-finish"/>
+ <keyword type="function" name="mm_sms_send_sync ()" link="MMSms.html#mm-sms-send-sync"/>
+ <keyword type="function" name="mm_sms_store ()" link="MMSms.html#mm-sms-store"/>
+ <keyword type="function" name="mm_sms_store_finish ()" link="MMSms.html#mm-sms-store-finish"/>
+ <keyword type="function" name="mm_sms_store_sync ()" link="MMSms.html#mm-sms-store-sync"/>
+ <keyword type="struct" name="struct MMSms" link="MMSms.html#MMSms-struct"/>
+ <keyword type="function" name="mm_sms_properties_new ()" link="MMSmsProperties.html#mm-sms-properties-new"/>
+ <keyword type="function" name="mm_sms_properties_get_text ()" link="MMSmsProperties.html#mm-sms-properties-get-text"/>
+ <keyword type="function" name="mm_sms_properties_set_text ()" link="MMSmsProperties.html#mm-sms-properties-set-text"/>
+ <keyword type="function" name="mm_sms_properties_get_data ()" link="MMSmsProperties.html#mm-sms-properties-get-data"/>
+ <keyword type="function" name="mm_sms_properties_set_data ()" link="MMSmsProperties.html#mm-sms-properties-set-data"/>
+ <keyword type="function" name="mm_sms_properties_peek_data_bytearray ()" link="MMSmsProperties.html#mm-sms-properties-peek-data-bytearray"/>
+ <keyword type="function" name="mm_sms_properties_get_data_bytearray ()" link="MMSmsProperties.html#mm-sms-properties-get-data-bytearray"/>
+ <keyword type="function" name="mm_sms_properties_set_data_bytearray ()" link="MMSmsProperties.html#mm-sms-properties-set-data-bytearray"/>
+ <keyword type="function" name="mm_sms_properties_get_number ()" link="MMSmsProperties.html#mm-sms-properties-get-number"/>
+ <keyword type="function" name="mm_sms_properties_set_number ()" link="MMSmsProperties.html#mm-sms-properties-set-number"/>
+ <keyword type="function" name="mm_sms_properties_get_smsc ()" link="MMSmsProperties.html#mm-sms-properties-get-smsc"/>
+ <keyword type="function" name="mm_sms_properties_set_smsc ()" link="MMSmsProperties.html#mm-sms-properties-set-smsc"/>
+ <keyword type="function" name="mm_sms_properties_get_validity_type ()" link="MMSmsProperties.html#mm-sms-properties-get-validity-type"/>
+ <keyword type="function" name="mm_sms_properties_get_validity_relative ()" link="MMSmsProperties.html#mm-sms-properties-get-validity-relative"/>
+ <keyword type="function" name="mm_sms_properties_set_validity_relative ()" link="MMSmsProperties.html#mm-sms-properties-set-validity-relative"/>
+ <keyword type="function" name="mm_sms_properties_get_class ()" link="MMSmsProperties.html#mm-sms-properties-get-class"/>
+ <keyword type="function" name="mm_sms_properties_set_class ()" link="MMSmsProperties.html#mm-sms-properties-set-class"/>
+ <keyword type="function" name="mm_sms_properties_get_delivery_report_request ()" link="MMSmsProperties.html#mm-sms-properties-get-delivery-report-request"/>
+ <keyword type="function" name="mm_sms_properties_set_delivery_report_request ()" link="MMSmsProperties.html#mm-sms-properties-set-delivery-report-request"/>
+ <keyword type="function" name="mm_sms_properties_get_teleservice_id ()" link="MMSmsProperties.html#mm-sms-properties-get-teleservice-id"/>
+ <keyword type="function" name="mm_sms_properties_set_teleservice_id ()" link="MMSmsProperties.html#mm-sms-properties-set-teleservice-id"/>
+ <keyword type="function" name="mm_sms_properties_get_service_category ()" link="MMSmsProperties.html#mm-sms-properties-get-service-category"/>
+ <keyword type="function" name="mm_sms_properties_set_service_category ()" link="MMSmsProperties.html#mm-sms-properties-set-service-category"/>
+ <keyword type="struct" name="struct MMSmsProperties" link="MMSmsProperties.html#MMSmsProperties-struct"/>
+ <keyword type="function" name="mm_call_get_path ()" link="MMCall.html#mm-call-get-path"/>
+ <keyword type="function" name="mm_call_dup_path ()" link="MMCall.html#mm-call-dup-path"/>
+ <keyword type="function" name="mm_call_get_number ()" link="MMCall.html#mm-call-get-number"/>
+ <keyword type="function" name="mm_call_dup_number ()" link="MMCall.html#mm-call-dup-number"/>
+ <keyword type="function" name="mm_call_get_direction ()" link="MMCall.html#mm-call-get-direction"/>
+ <keyword type="function" name="mm_call_get_state ()" link="MMCall.html#mm-call-get-state"/>
+ <keyword type="function" name="mm_call_get_state_reason ()" link="MMCall.html#mm-call-get-state-reason"/>
+ <keyword type="function" name="mm_call_get_audio_port ()" link="MMCall.html#mm-call-get-audio-port"/>
+ <keyword type="function" name="mm_call_dup_audio_port ()" link="MMCall.html#mm-call-dup-audio-port"/>
+ <keyword type="function" name="mm_call_get_audio_format ()" link="MMCall.html#mm-call-get-audio-format"/>
+ <keyword type="function" name="mm_call_peek_audio_format ()" link="MMCall.html#mm-call-peek-audio-format"/>
+ <keyword type="function" name="mm_call_start ()" link="MMCall.html#mm-call-start"/>
+ <keyword type="function" name="mm_call_start_finish ()" link="MMCall.html#mm-call-start-finish"/>
+ <keyword type="function" name="mm_call_start_sync ()" link="MMCall.html#mm-call-start-sync"/>
+ <keyword type="function" name="mm_call_accept ()" link="MMCall.html#mm-call-accept"/>
+ <keyword type="function" name="mm_call_accept_finish ()" link="MMCall.html#mm-call-accept-finish"/>
+ <keyword type="function" name="mm_call_accept_sync ()" link="MMCall.html#mm-call-accept-sync"/>
+ <keyword type="function" name="mm_call_hangup ()" link="MMCall.html#mm-call-hangup"/>
+ <keyword type="function" name="mm_call_hangup_finish ()" link="MMCall.html#mm-call-hangup-finish"/>
+ <keyword type="function" name="mm_call_hangup_sync ()" link="MMCall.html#mm-call-hangup-sync"/>
+ <keyword type="function" name="mm_call_send_dtmf ()" link="MMCall.html#mm-call-send-dtmf"/>
+ <keyword type="function" name="mm_call_send_dtmf_finish ()" link="MMCall.html#mm-call-send-dtmf-finish"/>
+ <keyword type="function" name="mm_call_send_dtmf_sync ()" link="MMCall.html#mm-call-send-dtmf-sync"/>
+ <keyword type="struct" name="struct MMCall" link="MMCall.html#MMCall-struct"/>
+ <keyword type="function" name="mm_call_properties_new ()" link="MMCallProperties.html#mm-call-properties-new"/>
+ <keyword type="function" name="mm_call_properties_get_number ()" link="MMCallProperties.html#mm-call-properties-get-number"/>
+ <keyword type="function" name="mm_call_properties_set_number ()" link="MMCallProperties.html#mm-call-properties-set-number"/>
+ <keyword type="function" name="mm_call_properties_get_direction ()" link="MMCallProperties.html#mm-call-properties-get-direction"/>
+ <keyword type="function" name="mm_call_properties_set_direction ()" link="MMCallProperties.html#mm-call-properties-set-direction"/>
+ <keyword type="function" name="mm_call_properties_get_state ()" link="MMCallProperties.html#mm-call-properties-get-state"/>
+ <keyword type="function" name="mm_call_properties_set_state ()" link="MMCallProperties.html#mm-call-properties-set-state"/>
+ <keyword type="function" name="mm_call_properties_get_state_reason ()" link="MMCallProperties.html#mm-call-properties-get-state-reason"/>
+ <keyword type="function" name="mm_call_properties_set_state_reason ()" link="MMCallProperties.html#mm-call-properties-set-state-reason"/>
+ <keyword type="struct" name="struct MMCallProperties" link="MMCallProperties.html#MMCallProperties-struct"/>
+ <keyword type="function" name="mm_call_audio_format_get_encoding ()" link="MMCallAudioFormat.html#mm-call-audio-format-get-encoding"/>
+ <keyword type="function" name="mm_call_audio_format_get_resolution ()" link="MMCallAudioFormat.html#mm-call-audio-format-get-resolution"/>
+ <keyword type="function" name="mm_call_audio_format_get_rate ()" link="MMCallAudioFormat.html#mm-call-audio-format-get-rate"/>
+ <keyword type="struct" name="struct MMCallAudioFormat" link="MMCallAudioFormat.html#MMCallAudioFormat-struct"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_dup_version ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-dup-version"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_get_version ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-get-version"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_finish ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-finish"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_scan_devices_sync ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-scan-devices-sync"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_finish ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-finish"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_inhibit_device_sync ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-inhibit-device-sync"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_finish ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-finish"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_set_logging_sync ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-set-logging-sync"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_finish ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-finish"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_call_report_kernel_event_sync ()" link="MmGdbusOrgFreedesktopModemManager1.html#mm-gdbus-org-freedesktop-modem-manager1-call-report-kernel-event-sync"/>
+ <keyword type="struct" name="MmGdbusOrgFreedesktopModemManager1" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-struct"/>
+ <keyword type="struct" name="struct MmGdbusOrgFreedesktopModemManager1Iface" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1Iface"/>
+ <keyword type="property" name="The “version” property" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1--version"/>
+ <keyword type="signal" name="The “handle-inhibit-device” signal" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-inhibit-device"/>
+ <keyword type="signal" name="The “handle-report-kernel-event” signal" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-report-kernel-event"/>
+ <keyword type="signal" name="The “handle-scan-devices” signal" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-scan-devices"/>
+ <keyword type="signal" name="The “handle-set-logging” signal" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1-handle-set-logging"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_proxy_new ()" link="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_finish ()" link="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus ()" link="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_finish ()" link="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_for_bus_sync ()" link="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_proxy_new_sync ()" link="MmGdbusOrgFreedesktopModemManager1Proxy.html#mm-gdbus-org-freedesktop-modem-manager1-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusOrgFreedesktopModemManager1Proxy" link="MmGdbusOrgFreedesktopModemManager1Proxy.html#MmGdbusOrgFreedesktopModemManager1Proxy-struct"/>
+ <keyword type="function" name="mm_gdbus_org_freedesktop_modem_manager1_skeleton_new ()" link="MmGdbusOrgFreedesktopModemManager1Skeleton.html#mm-gdbus-org-freedesktop-modem-manager1-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusOrgFreedesktopModemManager1Skeleton" link="MmGdbusOrgFreedesktopModemManager1Skeleton.html#MmGdbusOrgFreedesktopModemManager1Skeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_object_manager_client_new ()" link="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new"/>
+ <keyword type="function" name="mm_gdbus_object_manager_client_new_finish ()" link="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-finish"/>
+ <keyword type="function" name="mm_gdbus_object_manager_client_new_sync ()" link="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-sync"/>
+ <keyword type="function" name="mm_gdbus_object_manager_client_new_for_bus ()" link="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_object_manager_client_new_for_bus_finish ()" link="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_object_manager_client_new_for_bus_sync ()" link="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_object_manager_client_get_proxy_type ()" link="MmGdbusObjectManagerClient.html#mm-gdbus-object-manager-client-get-proxy-type"/>
+ <keyword type="struct" name="struct MmGdbusObjectManagerClient" link="MmGdbusObjectManagerClient.html#MmGdbusObjectManagerClient-struct"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem3gpp ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem3gpp"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem3gpp ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem3gpp"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem3gpp_ussd ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem3gpp-ussd"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem3gpp_ussd ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem3gpp-ussd"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem_cdma ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem-cdma"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem_cdma ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem-cdma"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem_location ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem-location"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem_location ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem-location"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem_messaging ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem-messaging"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem_messaging ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem-messaging"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem_time ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem-time"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem_time ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem-time"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem_firmware ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem-firmware"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem_firmware ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem-firmware"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem_oma ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem-oma"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem_oma ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem-oma"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem_simple ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem-simple"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem_simple ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem-simple"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem_signal ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem-signal"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem_signal ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem-signal"/>
+ <keyword type="function" name="mm_gdbus_object_peek_modem_voice ()" link="MmGdbusObject.html#mm-gdbus-object-peek-modem-voice"/>
+ <keyword type="function" name="mm_gdbus_object_get_modem_voice ()" link="MmGdbusObject.html#mm-gdbus-object-get-modem-voice"/>
+ <keyword type="struct" name="MmGdbusObject" link="MmGdbusObject.html#MmGdbusObject-struct"/>
+ <keyword type="struct" name="struct MmGdbusObjectIface" link="MmGdbusObject.html#MmGdbusObjectIface"/>
+ <keyword type="property" name="The “modem” property" link="MmGdbusObject.html#MmGdbusObject--modem"/>
+ <keyword type="property" name="The “modem-cdma” property" link="MmGdbusObject.html#MmGdbusObject--modem-cdma"/>
+ <keyword type="property" name="The “modem-firmware” property" link="MmGdbusObject.html#MmGdbusObject--modem-firmware"/>
+ <keyword type="property" name="The “modem-location” property" link="MmGdbusObject.html#MmGdbusObject--modem-location"/>
+ <keyword type="property" name="The “modem-messaging” property" link="MmGdbusObject.html#MmGdbusObject--modem-messaging"/>
+ <keyword type="property" name="The “modem-oma” property" link="MmGdbusObject.html#MmGdbusObject--modem-oma"/>
+ <keyword type="property" name="The “modem-signal” property" link="MmGdbusObject.html#MmGdbusObject--modem-signal"/>
+ <keyword type="property" name="The “modem-simple” property" link="MmGdbusObject.html#MmGdbusObject--modem-simple"/>
+ <keyword type="property" name="The “modem-time” property" link="MmGdbusObject.html#MmGdbusObject--modem-time"/>
+ <keyword type="property" name="The “modem-voice” property" link="MmGdbusObject.html#MmGdbusObject--modem-voice"/>
+ <keyword type="property" name="The “modem3gpp” property" link="MmGdbusObject.html#MmGdbusObject--modem3gpp"/>
+ <keyword type="property" name="The “modem3gpp-ussd” property" link="MmGdbusObject.html#MmGdbusObject--modem3gpp-ussd"/>
+ <keyword type="function" name="mm_gdbus_object_proxy_new ()" link="MmGdbusObjectProxy.html#mm-gdbus-object-proxy-new"/>
+ <keyword type="struct" name="struct MmGdbusObjectProxy" link="MmGdbusObjectProxy.html#MmGdbusObjectProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_new ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-new"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem3gpp ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem3gpp"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem3gpp_ussd ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem3gpp-ussd"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem_cdma ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-cdma"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem_firmware ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-firmware"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem_oma ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-oma"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem_location ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-location"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem_messaging ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-messaging"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem_simple ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-simple"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem_time ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-time"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem_signal ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-signal"/>
+ <keyword type="function" name="mm_gdbus_object_skeleton_set_modem_voice ()" link="MmGdbusObjectSkeleton.html#mm-gdbus-object-skeleton-set-modem-voice"/>
+ <keyword type="struct" name="struct MmGdbusObjectSkeleton" link="MmGdbusObjectSkeleton.html#MmGdbusObjectSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_get_access_technologies ()" link="MmGdbusModem.html#mm-gdbus-modem-get-access-technologies"/>
+ <keyword type="function" name="mm_gdbus_modem_get_bearers ()" link="MmGdbusModem.html#mm-gdbus-modem-get-bearers"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_bearers ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-bearers"/>
+ <keyword type="function" name="mm_gdbus_modem_get_current_modes ()" link="MmGdbusModem.html#mm-gdbus-modem-get-current-modes"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_current_modes ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-current-modes"/>
+ <keyword type="function" name="mm_gdbus_modem_get_current_bands ()" link="MmGdbusModem.html#mm-gdbus-modem-get-current-bands"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_current_bands ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-current-bands"/>
+ <keyword type="function" name="mm_gdbus_modem_get_current_capabilities ()" link="MmGdbusModem.html#mm-gdbus-modem-get-current-capabilities"/>
+ <keyword type="function" name="mm_gdbus_modem_get_device ()" link="MmGdbusModem.html#mm-gdbus-modem-get-device"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_device ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-device"/>
+ <keyword type="function" name="mm_gdbus_modem_get_device_identifier ()" link="MmGdbusModem.html#mm-gdbus-modem-get-device-identifier"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_device_identifier ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-device-identifier"/>
+ <keyword type="function" name="mm_gdbus_modem_get_drivers ()" link="MmGdbusModem.html#mm-gdbus-modem-get-drivers"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_drivers ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-drivers"/>
+ <keyword type="function" name="mm_gdbus_modem_get_equipment_identifier ()" link="MmGdbusModem.html#mm-gdbus-modem-get-equipment-identifier"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_equipment_identifier ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-equipment-identifier"/>
+ <keyword type="function" name="mm_gdbus_modem_get_manufacturer ()" link="MmGdbusModem.html#mm-gdbus-modem-get-manufacturer"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_manufacturer ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-manufacturer"/>
+ <keyword type="function" name="mm_gdbus_modem_get_max_active_bearers ()" link="MmGdbusModem.html#mm-gdbus-modem-get-max-active-bearers"/>
+ <keyword type="function" name="mm_gdbus_modem_get_max_bearers ()" link="MmGdbusModem.html#mm-gdbus-modem-get-max-bearers"/>
+ <keyword type="function" name="mm_gdbus_modem_get_model ()" link="MmGdbusModem.html#mm-gdbus-modem-get-model"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_model ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-model"/>
+ <keyword type="function" name="mm_gdbus_modem_get_own_numbers ()" link="MmGdbusModem.html#mm-gdbus-modem-get-own-numbers"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_own_numbers ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-own-numbers"/>
+ <keyword type="function" name="mm_gdbus_modem_get_plugin ()" link="MmGdbusModem.html#mm-gdbus-modem-get-plugin"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_plugin ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-plugin"/>
+ <keyword type="function" name="mm_gdbus_modem_get_power_state ()" link="MmGdbusModem.html#mm-gdbus-modem-get-power-state"/>
+ <keyword type="function" name="mm_gdbus_modem_get_primary_port ()" link="MmGdbusModem.html#mm-gdbus-modem-get-primary-port"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_primary_port ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-primary-port"/>
+ <keyword type="function" name="mm_gdbus_modem_get_ports ()" link="MmGdbusModem.html#mm-gdbus-modem-get-ports"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_ports ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-ports"/>
+ <keyword type="function" name="mm_gdbus_modem_get_revision ()" link="MmGdbusModem.html#mm-gdbus-modem-get-revision"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_revision ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-revision"/>
+ <keyword type="function" name="mm_gdbus_modem_get_hardware_revision ()" link="MmGdbusModem.html#mm-gdbus-modem-get-hardware-revision"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_hardware_revision ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-hardware-revision"/>
+ <keyword type="function" name="mm_gdbus_modem_get_signal_quality ()" link="MmGdbusModem.html#mm-gdbus-modem-get-signal-quality"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_signal_quality ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-signal-quality"/>
+ <keyword type="function" name="mm_gdbus_modem_get_sim ()" link="MmGdbusModem.html#mm-gdbus-modem-get-sim"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_sim ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-sim"/>
+ <keyword type="function" name="mm_gdbus_modem_get_supported_capabilities ()" link="MmGdbusModem.html#mm-gdbus-modem-get-supported-capabilities"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_supported_capabilities ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-supported-capabilities"/>
+ <keyword type="function" name="mm_gdbus_modem_get_state ()" link="MmGdbusModem.html#mm-gdbus-modem-get-state"/>
+ <keyword type="function" name="mm_gdbus_modem_get_state_failed_reason ()" link="MmGdbusModem.html#mm-gdbus-modem-get-state-failed-reason"/>
+ <keyword type="function" name="mm_gdbus_modem_get_supported_bands ()" link="MmGdbusModem.html#mm-gdbus-modem-get-supported-bands"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_supported_bands ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-supported-bands"/>
+ <keyword type="function" name="mm_gdbus_modem_get_supported_ip_families ()" link="MmGdbusModem.html#mm-gdbus-modem-get-supported-ip-families"/>
+ <keyword type="function" name="mm_gdbus_modem_get_supported_modes ()" link="MmGdbusModem.html#mm-gdbus-modem-get-supported-modes"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_supported_modes ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-supported-modes"/>
+ <keyword type="function" name="mm_gdbus_modem_get_unlock_required ()" link="MmGdbusModem.html#mm-gdbus-modem-get-unlock-required"/>
+ <keyword type="function" name="mm_gdbus_modem_get_unlock_retries ()" link="MmGdbusModem.html#mm-gdbus-modem-get-unlock-retries"/>
+ <keyword type="function" name="mm_gdbus_modem_dup_unlock_retries ()" link="MmGdbusModem.html#mm-gdbus-modem-dup-unlock-retries"/>
+ <keyword type="function" name="mm_gdbus_modem_call_enable ()" link="MmGdbusModem.html#mm-gdbus-modem-call-enable"/>
+ <keyword type="function" name="mm_gdbus_modem_call_enable_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-enable-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_enable_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-enable-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_power_state ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_power_state_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_power_state_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-power-state-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_create_bearer ()" link="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer"/>
+ <keyword type="function" name="mm_gdbus_modem_call_create_bearer_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_create_bearer_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-create-bearer-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_delete_bearer ()" link="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer"/>
+ <keyword type="function" name="mm_gdbus_modem_call_delete_bearer_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_delete_bearer_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-delete-bearer-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_list_bearers ()" link="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers"/>
+ <keyword type="function" name="mm_gdbus_modem_call_list_bearers_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_list_bearers_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-list-bearers-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_reset ()" link="MmGdbusModem.html#mm-gdbus-modem-call-reset"/>
+ <keyword type="function" name="mm_gdbus_modem_call_reset_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-reset-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_reset_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-reset-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_factory_reset ()" link="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset"/>
+ <keyword type="function" name="mm_gdbus_modem_call_factory_reset_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_factory_reset_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-factory-reset-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_current_modes ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_current_modes_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_current_modes_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-current-modes-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_current_bands ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_current_bands_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_current_bands_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-current-bands-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_current_capabilities ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_current_capabilities_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_set_current_capabilities_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-set-current-capabilities-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_call_command ()" link="MmGdbusModem.html#mm-gdbus-modem-call-command"/>
+ <keyword type="function" name="mm_gdbus_modem_call_command_finish ()" link="MmGdbusModem.html#mm-gdbus-modem-call-command-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_call_command_sync ()" link="MmGdbusModem.html#mm-gdbus-modem-call-command-sync"/>
+ <keyword type="struct" name="MmGdbusModem" link="MmGdbusModem.html#MmGdbusModem-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemIface" link="MmGdbusModem.html#MmGdbusModemIface"/>
+ <keyword type="property" name="The “access-technologies” property" link="MmGdbusModem.html#MmGdbusModem--access-technologies"/>
+ <keyword type="property" name="The “bearers” property" link="MmGdbusModem.html#MmGdbusModem--bearers"/>
+ <keyword type="property" name="The “current-bands” property" link="MmGdbusModem.html#MmGdbusModem--current-bands"/>
+ <keyword type="property" name="The “current-capabilities” property" link="MmGdbusModem.html#MmGdbusModem--current-capabilities"/>
+ <keyword type="property" name="The “current-modes” property" link="MmGdbusModem.html#MmGdbusModem--current-modes"/>
+ <keyword type="property" name="The “device” property" link="MmGdbusModem.html#MmGdbusModem--device"/>
+ <keyword type="property" name="The “device-identifier” property" link="MmGdbusModem.html#MmGdbusModem--device-identifier"/>
+ <keyword type="property" name="The “drivers” property" link="MmGdbusModem.html#MmGdbusModem--drivers"/>
+ <keyword type="property" name="The “equipment-identifier” property" link="MmGdbusModem.html#MmGdbusModem--equipment-identifier"/>
+ <keyword type="property" name="The “hardware-revision” property" link="MmGdbusModem.html#MmGdbusModem--hardware-revision"/>
+ <keyword type="property" name="The “manufacturer” property" link="MmGdbusModem.html#MmGdbusModem--manufacturer"/>
+ <keyword type="property" name="The “max-active-bearers” property" link="MmGdbusModem.html#MmGdbusModem--max-active-bearers"/>
+ <keyword type="property" name="The “max-bearers” property" link="MmGdbusModem.html#MmGdbusModem--max-bearers"/>
+ <keyword type="property" name="The “model” property" link="MmGdbusModem.html#MmGdbusModem--model"/>
+ <keyword type="property" name="The “own-numbers” property" link="MmGdbusModem.html#MmGdbusModem--own-numbers"/>
+ <keyword type="property" name="The “plugin” property" link="MmGdbusModem.html#MmGdbusModem--plugin"/>
+ <keyword type="property" name="The “ports” property" link="MmGdbusModem.html#MmGdbusModem--ports"/>
+ <keyword type="property" name="The “power-state” property" link="MmGdbusModem.html#MmGdbusModem--power-state"/>
+ <keyword type="property" name="The “primary-port” property" link="MmGdbusModem.html#MmGdbusModem--primary-port"/>
+ <keyword type="property" name="The “revision” property" link="MmGdbusModem.html#MmGdbusModem--revision"/>
+ <keyword type="property" name="The “signal-quality” property" link="MmGdbusModem.html#MmGdbusModem--signal-quality"/>
+ <keyword type="property" name="The “sim” property" link="MmGdbusModem.html#MmGdbusModem--sim"/>
+ <keyword type="property" name="The “state” property" link="MmGdbusModem.html#MmGdbusModem--state"/>
+ <keyword type="property" name="The “state-failed-reason” property" link="MmGdbusModem.html#MmGdbusModem--state-failed-reason"/>
+ <keyword type="property" name="The “supported-bands” property" link="MmGdbusModem.html#MmGdbusModem--supported-bands"/>
+ <keyword type="property" name="The “supported-capabilities” property" link="MmGdbusModem.html#MmGdbusModem--supported-capabilities"/>
+ <keyword type="property" name="The “supported-ip-families” property" link="MmGdbusModem.html#MmGdbusModem--supported-ip-families"/>
+ <keyword type="property" name="The “supported-modes” property" link="MmGdbusModem.html#MmGdbusModem--supported-modes"/>
+ <keyword type="property" name="The “unlock-required” property" link="MmGdbusModem.html#MmGdbusModem--unlock-required"/>
+ <keyword type="property" name="The “unlock-retries” property" link="MmGdbusModem.html#MmGdbusModem--unlock-retries"/>
+ <keyword type="signal" name="The “handle-command” signal" link="MmGdbusModem.html#MmGdbusModem-handle-command"/>
+ <keyword type="signal" name="The “handle-create-bearer” signal" link="MmGdbusModem.html#MmGdbusModem-handle-create-bearer"/>
+ <keyword type="signal" name="The “handle-delete-bearer” signal" link="MmGdbusModem.html#MmGdbusModem-handle-delete-bearer"/>
+ <keyword type="signal" name="The “handle-enable” signal" link="MmGdbusModem.html#MmGdbusModem-handle-enable"/>
+ <keyword type="signal" name="The “handle-factory-reset” signal" link="MmGdbusModem.html#MmGdbusModem-handle-factory-reset"/>
+ <keyword type="signal" name="The “handle-list-bearers” signal" link="MmGdbusModem.html#MmGdbusModem-handle-list-bearers"/>
+ <keyword type="signal" name="The “handle-reset” signal" link="MmGdbusModem.html#MmGdbusModem-handle-reset"/>
+ <keyword type="signal" name="The “handle-set-current-bands” signal" link="MmGdbusModem.html#MmGdbusModem-handle-set-current-bands"/>
+ <keyword type="signal" name="The “handle-set-current-capabilities” signal" link="MmGdbusModem.html#MmGdbusModem-handle-set-current-capabilities"/>
+ <keyword type="signal" name="The “handle-set-current-modes” signal" link="MmGdbusModem.html#MmGdbusModem-handle-set-current-modes"/>
+ <keyword type="signal" name="The “handle-set-power-state” signal" link="MmGdbusModem.html#MmGdbusModem-handle-set-power-state"/>
+ <keyword type="signal" name="The “state-changed” signal" link="MmGdbusModem.html#MmGdbusModem-state-changed"/>
+ <keyword type="function" name="mm_gdbus_modem_proxy_new ()" link="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_proxy_new_finish ()" link="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_proxy_new_for_bus ()" link="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_proxy_new_for_bus_finish ()" link="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_proxy_new_for_bus_sync ()" link="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_proxy_new_sync ()" link="MmGdbusModemProxy.html#mm-gdbus-modem-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemProxy" link="MmGdbusModemProxy.html#MmGdbusModemProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_skeleton_new ()" link="MmGdbusModemSkeleton.html#mm-gdbus-modem-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemSkeleton" link="MmGdbusModemSkeleton.html#MmGdbusModemSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_registration_state ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-registration-state"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_imei ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-imei"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_dup_imei ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-imei"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_operator_code ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-operator-code"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_dup_operator_code ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-operator-code"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_operator_name ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-operator-name"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_dup_operator_name ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-operator-name"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_enabled_facility_locks ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-enabled-facility-locks"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_subscription_state ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-subscription-state"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_eps_ue_mode_operation ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-eps-ue-mode-operation"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_pco ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-pco"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_dup_pco ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-pco"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_initial_eps_bearer ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-initial-eps-bearer"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_dup_initial_eps_bearer ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-initial-eps-bearer"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_get_initial_eps_bearer_settings ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-get-initial-eps-bearer-settings"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_dup_initial_eps_bearer_settings ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-dup-initial-eps-bearer-settings"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_register ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_register_finish ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_register_sync ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-register-sync"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_scan ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_scan_finish ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_scan_sync ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-scan-sync"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_finish ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_set_eps_ue_mode_operation_sync ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-eps-ue-mode-operation-sync"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_finish ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_call_set_initial_eps_bearer_settings_sync ()" link="MmGdbusModem3gpp.html#mm-gdbus-modem3gpp-call-set-initial-eps-bearer-settings-sync"/>
+ <keyword type="struct" name="MmGdbusModem3gpp" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp-struct"/>
+ <keyword type="struct" name="struct MmGdbusModem3gppIface" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface"/>
+ <keyword type="property" name="The “enabled-facility-locks” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--enabled-facility-locks"/>
+ <keyword type="property" name="The “eps-ue-mode-operation” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--eps-ue-mode-operation"/>
+ <keyword type="property" name="The “imei” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--imei"/>
+ <keyword type="property" name="The “initial-eps-bearer” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--initial-eps-bearer"/>
+ <keyword type="property" name="The “initial-eps-bearer-settings” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--initial-eps-bearer-settings"/>
+ <keyword type="property" name="The “operator-code” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--operator-code"/>
+ <keyword type="property" name="The “operator-name” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--operator-name"/>
+ <keyword type="property" name="The “pco” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--pco"/>
+ <keyword type="property" name="The “registration-state” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--registration-state"/>
+ <keyword type="property" name="The “subscription-state” property" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp--subscription-state"/>
+ <keyword type="signal" name="The “handle-register” signal" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-register"/>
+ <keyword type="signal" name="The “handle-scan” signal" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-scan"/>
+ <keyword type="signal" name="The “handle-set-eps-ue-mode-operation” signal" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-set-eps-ue-mode-operation"/>
+ <keyword type="signal" name="The “handle-set-initial-eps-bearer-settings” signal" link="MmGdbusModem3gpp.html#MmGdbusModem3gpp-handle-set-initial-eps-bearer-settings"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_proxy_new ()" link="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_proxy_new_finish ()" link="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_proxy_new_for_bus ()" link="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_proxy_new_for_bus_finish ()" link="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_proxy_new_for_bus_sync ()" link="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_proxy_new_sync ()" link="MmGdbusModem3gppProxy.html#mm-gdbus-modem3gpp-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModem3gppProxy" link="MmGdbusModem3gppProxy.html#MmGdbusModem3gppProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_skeleton_new ()" link="MmGdbusModem3gppSkeleton.html#mm-gdbus-modem3gpp-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModem3gppSkeleton" link="MmGdbusModem3gppSkeleton.html#MmGdbusModem3gppSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_get_state ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-get-state"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_get_network_request ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-get-network-request"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_dup_network_request ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-dup-network-request"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_get_network_notification ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-get-network-notification"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_dup_network_notification ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-dup-network-notification"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_call_initiate ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_call_initiate_finish ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_call_initiate_sync ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-initiate-sync"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_call_respond ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_call_respond_finish ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_call_respond_sync ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-respond-sync"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_call_cancel ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_call_cancel_finish ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_call_cancel_sync ()" link="MmGdbusModem3gppUssd.html#mm-gdbus-modem3gpp-ussd-call-cancel-sync"/>
+ <keyword type="struct" name="MmGdbusModem3gppUssd" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-struct"/>
+ <keyword type="struct" name="struct MmGdbusModem3gppUssdIface" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface"/>
+ <keyword type="property" name="The “network-notification” property" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--network-notification"/>
+ <keyword type="property" name="The “network-request” property" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--network-request"/>
+ <keyword type="property" name="The “state” property" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd--state"/>
+ <keyword type="signal" name="The “handle-cancel” signal" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-cancel"/>
+ <keyword type="signal" name="The “handle-initiate” signal" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-initiate"/>
+ <keyword type="signal" name="The “handle-respond” signal" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssd-handle-respond"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_proxy_new ()" link="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_proxy_new_finish ()" link="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus ()" link="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_finish ()" link="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_proxy_new_for_bus_sync ()" link="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_proxy_new_sync ()" link="MmGdbusModem3gppUssdProxy.html#mm-gdbus-modem3gpp-ussd-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModem3gppUssdProxy" link="MmGdbusModem3gppUssdProxy.html#MmGdbusModem3gppUssdProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem3gpp_ussd_skeleton_new ()" link="MmGdbusModem3gppUssdSkeleton.html#mm-gdbus-modem3gpp-ussd-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModem3gppUssdSkeleton" link="MmGdbusModem3gppUssdSkeleton.html#MmGdbusModem3gppUssdSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_get_cdma1x_registration_state ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-cdma1x-registration-state"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_get_evdo_registration_state ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-evdo-registration-state"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_get_activation_state ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-activation-state"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_get_esn ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-esn"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_dup_esn ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-dup-esn"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_get_meid ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-meid"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_dup_meid ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-dup-meid"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_get_nid ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-nid"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_get_sid ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-get-sid"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_call_activate ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_call_activate_finish ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_call_activate_sync ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_call_activate_manual ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_call_activate_manual_finish ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_call_activate_manual_sync ()" link="MmGdbusModemCdma.html#mm-gdbus-modem-cdma-call-activate-manual-sync"/>
+ <keyword type="struct" name="MmGdbusModemCdma" link="MmGdbusModemCdma.html#MmGdbusModemCdma-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemCdmaIface" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface"/>
+ <keyword type="property" name="The “activation-state” property" link="MmGdbusModemCdma.html#MmGdbusModemCdma--activation-state"/>
+ <keyword type="property" name="The “cdma1x-registration-state” property" link="MmGdbusModemCdma.html#MmGdbusModemCdma--cdma1x-registration-state"/>
+ <keyword type="property" name="The “esn” property" link="MmGdbusModemCdma.html#MmGdbusModemCdma--esn"/>
+ <keyword type="property" name="The “evdo-registration-state” property" link="MmGdbusModemCdma.html#MmGdbusModemCdma--evdo-registration-state"/>
+ <keyword type="property" name="The “meid” property" link="MmGdbusModemCdma.html#MmGdbusModemCdma--meid"/>
+ <keyword type="property" name="The “nid” property" link="MmGdbusModemCdma.html#MmGdbusModemCdma--nid"/>
+ <keyword type="property" name="The “sid” property" link="MmGdbusModemCdma.html#MmGdbusModemCdma--sid"/>
+ <keyword type="signal" name="The “activation-state-changed” signal" link="MmGdbusModemCdma.html#MmGdbusModemCdma-activation-state-changed"/>
+ <keyword type="signal" name="The “handle-activate” signal" link="MmGdbusModemCdma.html#MmGdbusModemCdma-handle-activate"/>
+ <keyword type="signal" name="The “handle-activate-manual” signal" link="MmGdbusModemCdma.html#MmGdbusModemCdma-handle-activate-manual"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_proxy_new ()" link="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_proxy_new_finish ()" link="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_proxy_new_for_bus ()" link="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_proxy_new_for_bus_finish ()" link="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_proxy_new_for_bus_sync ()" link="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_proxy_new_sync ()" link="MmGdbusModemCdmaProxy.html#mm-gdbus-modem-cdma-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemCdmaProxy" link="MmGdbusModemCdmaProxy.html#MmGdbusModemCdmaProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_cdma_skeleton_new ()" link="MmGdbusModemCdmaSkeleton.html#mm-gdbus-modem-cdma-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemCdmaSkeleton" link="MmGdbusModemCdmaSkeleton.html#MmGdbusModemCdmaSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_location_get_enabled ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-enabled"/>
+ <keyword type="function" name="mm_gdbus_modem_location_get_capabilities ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-capabilities"/>
+ <keyword type="function" name="mm_gdbus_modem_location_get_signals_location ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-signals-location"/>
+ <keyword type="function" name="mm_gdbus_modem_location_get_location ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-location"/>
+ <keyword type="function" name="mm_gdbus_modem_location_dup_location ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-location"/>
+ <keyword type="function" name="mm_gdbus_modem_location_dup_supl_server ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-supl-server"/>
+ <keyword type="function" name="mm_gdbus_modem_location_get_supl_server ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-supl-server"/>
+ <keyword type="function" name="mm_gdbus_modem_location_get_gps_refresh_rate ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-gps-refresh-rate"/>
+ <keyword type="function" name="mm_gdbus_modem_location_get_supported_assistance_data ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-supported-assistance-data"/>
+ <keyword type="function" name="mm_gdbus_modem_location_dup_assistance_data_servers ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-dup-assistance-data-servers"/>
+ <keyword type="function" name="mm_gdbus_modem_location_get_assistance_data_servers ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-get-assistance-data-servers"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_get_location ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_get_location_finish ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_get_location_sync ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-get-location-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_setup ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_setup_finish ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_setup_sync ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-setup-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_set_supl_server ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_set_supl_server_finish ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_set_supl_server_sync ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-supl-server-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_inject_assistance_data ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_inject_assistance_data_finish ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_inject_assistance_data_sync ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-inject-assistance-data-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_set_gps_refresh_rate ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_set_gps_refresh_rate_finish ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_location_call_set_gps_refresh_rate_sync ()" link="MmGdbusModemLocation.html#mm-gdbus-modem-location-call-set-gps-refresh-rate-sync"/>
+ <keyword type="struct" name="MmGdbusModemLocation" link="MmGdbusModemLocation.html#MmGdbusModemLocation-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemLocationIface" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface"/>
+ <keyword type="property" name="The “assistance-data-servers” property" link="MmGdbusModemLocation.html#MmGdbusModemLocation--assistance-data-servers"/>
+ <keyword type="property" name="The “capabilities” property" link="MmGdbusModemLocation.html#MmGdbusModemLocation--capabilities"/>
+ <keyword type="property" name="The “enabled” property" link="MmGdbusModemLocation.html#MmGdbusModemLocation--enabled"/>
+ <keyword type="property" name="The “gps-refresh-rate” property" link="MmGdbusModemLocation.html#MmGdbusModemLocation--gps-refresh-rate"/>
+ <keyword type="property" name="The “location” property" link="MmGdbusModemLocation.html#MmGdbusModemLocation--location"/>
+ <keyword type="property" name="The “signals-location” property" link="MmGdbusModemLocation.html#MmGdbusModemLocation--signals-location"/>
+ <keyword type="property" name="The “supl-server” property" link="MmGdbusModemLocation.html#MmGdbusModemLocation--supl-server"/>
+ <keyword type="property" name="The “supported-assistance-data” property" link="MmGdbusModemLocation.html#MmGdbusModemLocation--supported-assistance-data"/>
+ <keyword type="signal" name="The “handle-get-location” signal" link="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-get-location"/>
+ <keyword type="signal" name="The “handle-inject-assistance-data” signal" link="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-inject-assistance-data"/>
+ <keyword type="signal" name="The “handle-set-gps-refresh-rate” signal" link="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-set-gps-refresh-rate"/>
+ <keyword type="signal" name="The “handle-set-supl-server” signal" link="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-set-supl-server"/>
+ <keyword type="signal" name="The “handle-setup” signal" link="MmGdbusModemLocation.html#MmGdbusModemLocation-handle-setup"/>
+ <keyword type="function" name="mm_gdbus_modem_location_proxy_new ()" link="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_location_proxy_new_finish ()" link="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_location_proxy_new_for_bus ()" link="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_location_proxy_new_for_bus_finish ()" link="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_location_proxy_new_for_bus_sync ()" link="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_location_proxy_new_sync ()" link="MmGdbusModemLocationProxy.html#mm-gdbus-modem-location-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemLocationProxy" link="MmGdbusModemLocationProxy.html#MmGdbusModemLocationProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_location_skeleton_new ()" link="MmGdbusModemLocationSkeleton.html#mm-gdbus-modem-location-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemLocationSkeleton" link="MmGdbusModemLocationSkeleton.html#MmGdbusModemLocationSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_get_messages ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-get-messages"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_dup_messages ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-dup-messages"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_get_supported_storages ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-get-supported-storages"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_dup_supported_storages ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-dup-supported-storages"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_get_default_storage ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-get-default-storage"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_call_create ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_call_create_finish ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_call_create_sync ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-create-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_call_delete ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_call_delete_finish ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_call_delete_sync ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-delete-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_call_list ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_call_list_finish ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_call_list_sync ()" link="MmGdbusModemMessaging.html#mm-gdbus-modem-messaging-call-list-sync"/>
+ <keyword type="struct" name="MmGdbusModemMessaging" link="MmGdbusModemMessaging.html#MmGdbusModemMessaging-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemMessagingIface" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface"/>
+ <keyword type="property" name="The “default-storage” property" link="MmGdbusModemMessaging.html#MmGdbusModemMessaging--default-storage"/>
+ <keyword type="property" name="The “messages” property" link="MmGdbusModemMessaging.html#MmGdbusModemMessaging--messages"/>
+ <keyword type="property" name="The “supported-storages” property" link="MmGdbusModemMessaging.html#MmGdbusModemMessaging--supported-storages"/>
+ <keyword type="signal" name="The “added” signal" link="MmGdbusModemMessaging.html#MmGdbusModemMessaging-added"/>
+ <keyword type="signal" name="The “deleted” signal" link="MmGdbusModemMessaging.html#MmGdbusModemMessaging-deleted"/>
+ <keyword type="signal" name="The “handle-create” signal" link="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-create"/>
+ <keyword type="signal" name="The “handle-delete” signal" link="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-delete"/>
+ <keyword type="signal" name="The “handle-list” signal" link="MmGdbusModemMessaging.html#MmGdbusModemMessaging-handle-list"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_proxy_new ()" link="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_proxy_new_finish ()" link="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_proxy_new_for_bus ()" link="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_proxy_new_for_bus_finish ()" link="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_proxy_new_for_bus_sync ()" link="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_proxy_new_sync ()" link="MmGdbusModemMessagingProxy.html#mm-gdbus-modem-messaging-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemMessagingProxy" link="MmGdbusModemMessagingProxy.html#MmGdbusModemMessagingProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_messaging_skeleton_new ()" link="MmGdbusModemMessagingSkeleton.html#mm-gdbus-modem-messaging-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemMessagingSkeleton" link="MmGdbusModemMessagingSkeleton.html#MmGdbusModemMessagingSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_time_get_network_timezone ()" link="MmGdbusModemTime.html#mm-gdbus-modem-time-get-network-timezone"/>
+ <keyword type="function" name="mm_gdbus_modem_time_dup_network_timezone ()" link="MmGdbusModemTime.html#mm-gdbus-modem-time-dup-network-timezone"/>
+ <keyword type="function" name="mm_gdbus_modem_time_call_get_network_time ()" link="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time"/>
+ <keyword type="function" name="mm_gdbus_modem_time_call_get_network_time_finish ()" link="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_time_call_get_network_time_sync ()" link="MmGdbusModemTime.html#mm-gdbus-modem-time-call-get-network-time-sync"/>
+ <keyword type="struct" name="MmGdbusModemTime" link="MmGdbusModemTime.html#MmGdbusModemTime-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemTimeIface" link="MmGdbusModemTime.html#MmGdbusModemTimeIface"/>
+ <keyword type="property" name="The “network-timezone” property" link="MmGdbusModemTime.html#MmGdbusModemTime--network-timezone"/>
+ <keyword type="signal" name="The “handle-get-network-time” signal" link="MmGdbusModemTime.html#MmGdbusModemTime-handle-get-network-time"/>
+ <keyword type="signal" name="The “network-time-changed” signal" link="MmGdbusModemTime.html#MmGdbusModemTime-network-time-changed"/>
+ <keyword type="function" name="mm_gdbus_modem_time_proxy_new ()" link="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_time_proxy_new_finish ()" link="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_time_proxy_new_for_bus ()" link="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_time_proxy_new_for_bus_finish ()" link="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_time_proxy_new_for_bus_sync ()" link="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_time_proxy_new_sync ()" link="MmGdbusModemTimeProxy.html#mm-gdbus-modem-time-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemTimeProxy" link="MmGdbusModemTimeProxy.html#MmGdbusModemTimeProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_time_skeleton_new ()" link="MmGdbusModemTimeSkeleton.html#mm-gdbus-modem-time-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemTimeSkeleton" link="MmGdbusModemTimeSkeleton.html#MmGdbusModemTimeSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_dup_update_settings ()" link="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-dup-update-settings"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_get_update_settings ()" link="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-get-update-settings"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_call_list ()" link="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_call_list_finish ()" link="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_call_list_sync ()" link="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-list-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_call_select ()" link="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_call_select_finish ()" link="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_call_select_sync ()" link="MmGdbusModemFirmware.html#mm-gdbus-modem-firmware-call-select-sync"/>
+ <keyword type="struct" name="MmGdbusModemFirmware" link="MmGdbusModemFirmware.html#MmGdbusModemFirmware-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemFirmwareIface" link="MmGdbusModemFirmware.html#MmGdbusModemFirmwareIface"/>
+ <keyword type="property" name="The “update-settings” property" link="MmGdbusModemFirmware.html#MmGdbusModemFirmware--update-settings"/>
+ <keyword type="signal" name="The “handle-list” signal" link="MmGdbusModemFirmware.html#MmGdbusModemFirmware-handle-list"/>
+ <keyword type="signal" name="The “handle-select” signal" link="MmGdbusModemFirmware.html#MmGdbusModemFirmware-handle-select"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_proxy_new ()" link="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_proxy_new_finish ()" link="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_proxy_new_for_bus ()" link="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_proxy_new_for_bus_finish ()" link="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_proxy_new_for_bus_sync ()" link="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_proxy_new_sync ()" link="MmGdbusModemFirmwareProxy.html#mm-gdbus-modem-firmware-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemFirmwareProxy" link="MmGdbusModemFirmwareProxy.html#MmGdbusModemFirmwareProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_firmware_skeleton_new ()" link="MmGdbusModemFirmwareSkeleton.html#mm-gdbus-modem-firmware-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemFirmwareSkeleton" link="MmGdbusModemFirmwareSkeleton.html#MmGdbusModemFirmwareSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_get_rate ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-rate"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_get_cdma ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-cdma"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_get_evdo ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-evdo"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_get_gsm ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-gsm"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_get_umts ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-umts"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_get_lte ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-get-lte"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_dup_cdma ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-cdma"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_dup_evdo ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-evdo"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_dup_gsm ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-gsm"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_dup_umts ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-umts"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_dup_lte ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-dup-lte"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_call_setup ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_call_setup_finish ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_call_setup_sync ()" link="MmGdbusModemSignal.html#mm-gdbus-modem-signal-call-setup-sync"/>
+ <keyword type="struct" name="MmGdbusModemSignal" link="MmGdbusModemSignal.html#MmGdbusModemSignal-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemSignalIface" link="MmGdbusModemSignal.html#MmGdbusModemSignalIface"/>
+ <keyword type="property" name="The “cdma” property" link="MmGdbusModemSignal.html#MmGdbusModemSignal--cdma"/>
+ <keyword type="property" name="The “evdo” property" link="MmGdbusModemSignal.html#MmGdbusModemSignal--evdo"/>
+ <keyword type="property" name="The “gsm” property" link="MmGdbusModemSignal.html#MmGdbusModemSignal--gsm"/>
+ <keyword type="property" name="The “lte” property" link="MmGdbusModemSignal.html#MmGdbusModemSignal--lte"/>
+ <keyword type="property" name="The “rate” property" link="MmGdbusModemSignal.html#MmGdbusModemSignal--rate"/>
+ <keyword type="property" name="The “umts” property" link="MmGdbusModemSignal.html#MmGdbusModemSignal--umts"/>
+ <keyword type="signal" name="The “handle-setup” signal" link="MmGdbusModemSignal.html#MmGdbusModemSignal-handle-setup"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_proxy_new ()" link="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_proxy_new_finish ()" link="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_proxy_new_for_bus ()" link="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_proxy_new_for_bus_finish ()" link="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_proxy_new_for_bus_sync ()" link="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_proxy_new_sync ()" link="MmGdbusModemSignalProxy.html#mm-gdbus-modem-signal-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemSignalProxy" link="MmGdbusModemSignalProxy.html#MmGdbusModemSignalProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_signal_skeleton_new ()" link="MmGdbusModemSignalSkeleton.html#mm-gdbus-modem-signal-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemSignalSkeleton" link="MmGdbusModemSignalSkeleton.html#MmGdbusModemSignalSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_accept_network_initiated_session ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_accept_network_initiated_session_finish ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_accept_network_initiated_session_sync ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-accept-network-initiated-session-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_cancel_session ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_cancel_session_finish ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_cancel_session_sync ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-cancel-session-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_setup ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_setup_finish ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_setup_sync ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-setup-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_start_client_initiated_session ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_start_client_initiated_session_finish ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_call_start_client_initiated_session_sync ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-call-start-client-initiated-session-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_get_features ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-features"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_get_session_state ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-session-state"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_get_session_type ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-session-type"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_get_pending_network_initiated_sessions ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-get-pending-network-initiated-sessions"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_dup_pending_network_initiated_sessions ()" link="MmGdbusModemOma.html#mm-gdbus-modem-oma-dup-pending-network-initiated-sessions"/>
+ <keyword type="struct" name="MmGdbusModemOma" link="MmGdbusModemOma.html#MmGdbusModemOma-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemOmaIface" link="MmGdbusModemOma.html#MmGdbusModemOmaIface"/>
+ <keyword type="property" name="The “features” property" link="MmGdbusModemOma.html#MmGdbusModemOma--features"/>
+ <keyword type="property" name="The “pending-network-initiated-sessions” property" link="MmGdbusModemOma.html#MmGdbusModemOma--pending-network-initiated-sessions"/>
+ <keyword type="property" name="The “session-state” property" link="MmGdbusModemOma.html#MmGdbusModemOma--session-state"/>
+ <keyword type="property" name="The “session-type” property" link="MmGdbusModemOma.html#MmGdbusModemOma--session-type"/>
+ <keyword type="signal" name="The “handle-accept-network-initiated-session” signal" link="MmGdbusModemOma.html#MmGdbusModemOma-handle-accept-network-initiated-session"/>
+ <keyword type="signal" name="The “handle-cancel-session” signal" link="MmGdbusModemOma.html#MmGdbusModemOma-handle-cancel-session"/>
+ <keyword type="signal" name="The “handle-setup” signal" link="MmGdbusModemOma.html#MmGdbusModemOma-handle-setup"/>
+ <keyword type="signal" name="The “handle-start-client-initiated-session” signal" link="MmGdbusModemOma.html#MmGdbusModemOma-handle-start-client-initiated-session"/>
+ <keyword type="signal" name="The “session-state-changed” signal" link="MmGdbusModemOma.html#MmGdbusModemOma-session-state-changed"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_proxy_new ()" link="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_proxy_new_finish ()" link="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_proxy_new_for_bus ()" link="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_proxy_new_for_bus_finish ()" link="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_proxy_new_for_bus_sync ()" link="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_proxy_new_sync ()" link="MmGdbusModemOmaProxy.html#mm-gdbus-modem-oma-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemOmaProxy" link="MmGdbusModemOmaProxy.html#MmGdbusModemOmaProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_oma_skeleton_new ()" link="MmGdbusModemOmaSkeleton.html#mm-gdbus-modem-oma-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemOmaSkeleton" link="MmGdbusModemOmaSkeleton.html#MmGdbusModemOmaSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_get_calls ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-get-calls"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_dup_calls ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-dup-calls"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_call_create_call ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_call_create_call_finish ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_call_create_call_sync ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-create-call-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_call_delete_call ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_call_delete_call_finish ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_call_delete_call_sync ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-delete-call-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_call_list_calls ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_call_list_calls_finish ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_call_list_calls_sync ()" link="MmGdbusModemVoice.html#mm-gdbus-modem-voice-call-list-calls-sync"/>
+ <keyword type="struct" name="MmGdbusModemVoice" link="MmGdbusModemVoice.html#MmGdbusModemVoice-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemVoiceIface" link="MmGdbusModemVoice.html#MmGdbusModemVoiceIface"/>
+ <keyword type="property" name="The “calls” property" link="MmGdbusModemVoice.html#MmGdbusModemVoice--calls"/>
+ <keyword type="signal" name="The “call-added” signal" link="MmGdbusModemVoice.html#MmGdbusModemVoice-call-added"/>
+ <keyword type="signal" name="The “call-deleted” signal" link="MmGdbusModemVoice.html#MmGdbusModemVoice-call-deleted"/>
+ <keyword type="signal" name="The “handle-create-call” signal" link="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-create-call"/>
+ <keyword type="signal" name="The “handle-delete-call” signal" link="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-delete-call"/>
+ <keyword type="signal" name="The “handle-list-calls” signal" link="MmGdbusModemVoice.html#MmGdbusModemVoice-handle-list-calls"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_proxy_new ()" link="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_proxy_new_finish ()" link="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_proxy_new_for_bus ()" link="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_proxy_new_for_bus_finish ()" link="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_proxy_new_for_bus_sync ()" link="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_proxy_new_sync ()" link="MmGdbusModemVoiceProxy.html#mm-gdbus-modem-voice-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemVoiceProxy" link="MmGdbusModemVoiceProxy.html#MmGdbusModemVoiceProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_voice_skeleton_new ()" link="MmGdbusModemVoiceSkeleton.html#mm-gdbus-modem-voice-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemVoiceSkeleton" link="MmGdbusModemVoiceSkeleton.html#MmGdbusModemVoiceSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_call_connect ()" link="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_call_connect_finish ()" link="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_call_connect_sync ()" link="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-connect-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_call_disconnect ()" link="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_call_disconnect_finish ()" link="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_call_disconnect_sync ()" link="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-disconnect-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_call_get_status ()" link="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_call_get_status_finish ()" link="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_call_get_status_sync ()" link="MmGdbusModemSimple.html#mm-gdbus-modem-simple-call-get-status-sync"/>
+ <keyword type="struct" name="MmGdbusModemSimple" link="MmGdbusModemSimple.html#MmGdbusModemSimple-struct"/>
+ <keyword type="struct" name="struct MmGdbusModemSimpleIface" link="MmGdbusModemSimple.html#MmGdbusModemSimpleIface"/>
+ <keyword type="signal" name="The “handle-connect” signal" link="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-connect"/>
+ <keyword type="signal" name="The “handle-disconnect” signal" link="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-disconnect"/>
+ <keyword type="signal" name="The “handle-get-status” signal" link="MmGdbusModemSimple.html#MmGdbusModemSimple-handle-get-status"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_proxy_new ()" link="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_proxy_new_finish ()" link="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_proxy_new_for_bus ()" link="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_proxy_new_for_bus_finish ()" link="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_proxy_new_for_bus_sync ()" link="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_proxy_new_sync ()" link="MmGdbusModemSimpleProxy.html#mm-gdbus-modem-simple-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusModemSimpleProxy" link="MmGdbusModemSimpleProxy.html#MmGdbusModemSimpleProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_modem_simple_skeleton_new ()" link="MmGdbusModemSimpleSkeleton.html#mm-gdbus-modem-simple-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusModemSimpleSkeleton" link="MmGdbusModemSimpleSkeleton.html#MmGdbusModemSimpleSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_bearer_get_interface ()" link="MmGdbusBearer.html#mm-gdbus-bearer-get-interface"/>
+ <keyword type="function" name="mm_gdbus_bearer_dup_interface ()" link="MmGdbusBearer.html#mm-gdbus-bearer-dup-interface"/>
+ <keyword type="function" name="mm_gdbus_bearer_get_ip4_config ()" link="MmGdbusBearer.html#mm-gdbus-bearer-get-ip4-config"/>
+ <keyword type="function" name="mm_gdbus_bearer_dup_ip4_config ()" link="MmGdbusBearer.html#mm-gdbus-bearer-dup-ip4-config"/>
+ <keyword type="function" name="mm_gdbus_bearer_get_ip6_config ()" link="MmGdbusBearer.html#mm-gdbus-bearer-get-ip6-config"/>
+ <keyword type="function" name="mm_gdbus_bearer_dup_ip6_config ()" link="MmGdbusBearer.html#mm-gdbus-bearer-dup-ip6-config"/>
+ <keyword type="function" name="mm_gdbus_bearer_get_ip_timeout ()" link="MmGdbusBearer.html#mm-gdbus-bearer-get-ip-timeout"/>
+ <keyword type="function" name="mm_gdbus_bearer_get_properties ()" link="MmGdbusBearer.html#mm-gdbus-bearer-get-properties"/>
+ <keyword type="function" name="mm_gdbus_bearer_dup_properties ()" link="MmGdbusBearer.html#mm-gdbus-bearer-dup-properties"/>
+ <keyword type="function" name="mm_gdbus_bearer_get_connected ()" link="MmGdbusBearer.html#mm-gdbus-bearer-get-connected"/>
+ <keyword type="function" name="mm_gdbus_bearer_get_suspended ()" link="MmGdbusBearer.html#mm-gdbus-bearer-get-suspended"/>
+ <keyword type="function" name="mm_gdbus_bearer_get_bearer_type ()" link="MmGdbusBearer.html#mm-gdbus-bearer-get-bearer-type"/>
+ <keyword type="function" name="mm_gdbus_bearer_get_stats ()" link="MmGdbusBearer.html#mm-gdbus-bearer-get-stats"/>
+ <keyword type="function" name="mm_gdbus_bearer_dup_stats ()" link="MmGdbusBearer.html#mm-gdbus-bearer-dup-stats"/>
+ <keyword type="function" name="mm_gdbus_bearer_call_connect ()" link="MmGdbusBearer.html#mm-gdbus-bearer-call-connect"/>
+ <keyword type="function" name="mm_gdbus_bearer_call_connect_finish ()" link="MmGdbusBearer.html#mm-gdbus-bearer-call-connect-finish"/>
+ <keyword type="function" name="mm_gdbus_bearer_call_connect_sync ()" link="MmGdbusBearer.html#mm-gdbus-bearer-call-connect-sync"/>
+ <keyword type="function" name="mm_gdbus_bearer_call_disconnect ()" link="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect"/>
+ <keyword type="function" name="mm_gdbus_bearer_call_disconnect_finish ()" link="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect-finish"/>
+ <keyword type="function" name="mm_gdbus_bearer_call_disconnect_sync ()" link="MmGdbusBearer.html#mm-gdbus-bearer-call-disconnect-sync"/>
+ <keyword type="struct" name="MmGdbusBearer" link="MmGdbusBearer.html#MmGdbusBearer-struct"/>
+ <keyword type="struct" name="struct MmGdbusBearerIface" link="MmGdbusBearer.html#MmGdbusBearerIface"/>
+ <keyword type="property" name="The “bearer-type” property" link="MmGdbusBearer.html#MmGdbusBearer--bearer-type"/>
+ <keyword type="property" name="The “connected” property" link="MmGdbusBearer.html#MmGdbusBearer--connected"/>
+ <keyword type="property" name="The “interface” property" link="MmGdbusBearer.html#MmGdbusBearer--interface"/>
+ <keyword type="property" name="The “ip-timeout” property" link="MmGdbusBearer.html#MmGdbusBearer--ip-timeout"/>
+ <keyword type="property" name="The “ip4-config” property" link="MmGdbusBearer.html#MmGdbusBearer--ip4-config"/>
+ <keyword type="property" name="The “ip6-config” property" link="MmGdbusBearer.html#MmGdbusBearer--ip6-config"/>
+ <keyword type="property" name="The “properties” property" link="MmGdbusBearer.html#MmGdbusBearer--properties"/>
+ <keyword type="property" name="The “stats” property" link="MmGdbusBearer.html#MmGdbusBearer--stats"/>
+ <keyword type="property" name="The “suspended” property" link="MmGdbusBearer.html#MmGdbusBearer--suspended"/>
+ <keyword type="signal" name="The “handle-connect” signal" link="MmGdbusBearer.html#MmGdbusBearer-handle-connect"/>
+ <keyword type="signal" name="The “handle-disconnect” signal" link="MmGdbusBearer.html#MmGdbusBearer-handle-disconnect"/>
+ <keyword type="function" name="mm_gdbus_bearer_proxy_new ()" link="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_bearer_proxy_new_finish ()" link="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_bearer_proxy_new_for_bus ()" link="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_bearer_proxy_new_for_bus_finish ()" link="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_bearer_proxy_new_for_bus_sync ()" link="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_bearer_proxy_new_sync ()" link="MmGdbusBearerProxy.html#mm-gdbus-bearer-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusBearerProxy" link="MmGdbusBearerProxy.html#MmGdbusBearerProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_bearer_skeleton_new ()" link="MmGdbusBearerSkeleton.html#mm-gdbus-bearer-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusBearerSkeleton" link="MmGdbusBearerSkeleton.html#MmGdbusBearerSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_sim_get_imsi ()" link="MmGdbusSim.html#mm-gdbus-sim-get-imsi"/>
+ <keyword type="function" name="mm_gdbus_sim_dup_imsi ()" link="MmGdbusSim.html#mm-gdbus-sim-dup-imsi"/>
+ <keyword type="function" name="mm_gdbus_sim_get_sim_identifier ()" link="MmGdbusSim.html#mm-gdbus-sim-get-sim-identifier"/>
+ <keyword type="function" name="mm_gdbus_sim_dup_sim_identifier ()" link="MmGdbusSim.html#mm-gdbus-sim-dup-sim-identifier"/>
+ <keyword type="function" name="mm_gdbus_sim_get_operator_identifier ()" link="MmGdbusSim.html#mm-gdbus-sim-get-operator-identifier"/>
+ <keyword type="function" name="mm_gdbus_sim_dup_operator_identifier ()" link="MmGdbusSim.html#mm-gdbus-sim-dup-operator-identifier"/>
+ <keyword type="function" name="mm_gdbus_sim_get_operator_name ()" link="MmGdbusSim.html#mm-gdbus-sim-get-operator-name"/>
+ <keyword type="function" name="mm_gdbus_sim_dup_operator_name ()" link="MmGdbusSim.html#mm-gdbus-sim-dup-operator-name"/>
+ <keyword type="function" name="mm_gdbus_sim_call_send_pin ()" link="MmGdbusSim.html#mm-gdbus-sim-call-send-pin"/>
+ <keyword type="function" name="mm_gdbus_sim_call_send_pin_finish ()" link="MmGdbusSim.html#mm-gdbus-sim-call-send-pin-finish"/>
+ <keyword type="function" name="mm_gdbus_sim_call_send_pin_sync ()" link="MmGdbusSim.html#mm-gdbus-sim-call-send-pin-sync"/>
+ <keyword type="function" name="mm_gdbus_sim_call_send_puk ()" link="MmGdbusSim.html#mm-gdbus-sim-call-send-puk"/>
+ <keyword type="function" name="mm_gdbus_sim_call_send_puk_finish ()" link="MmGdbusSim.html#mm-gdbus-sim-call-send-puk-finish"/>
+ <keyword type="function" name="mm_gdbus_sim_call_send_puk_sync ()" link="MmGdbusSim.html#mm-gdbus-sim-call-send-puk-sync"/>
+ <keyword type="function" name="mm_gdbus_sim_call_enable_pin ()" link="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin"/>
+ <keyword type="function" name="mm_gdbus_sim_call_enable_pin_finish ()" link="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin-finish"/>
+ <keyword type="function" name="mm_gdbus_sim_call_enable_pin_sync ()" link="MmGdbusSim.html#mm-gdbus-sim-call-enable-pin-sync"/>
+ <keyword type="function" name="mm_gdbus_sim_call_change_pin ()" link="MmGdbusSim.html#mm-gdbus-sim-call-change-pin"/>
+ <keyword type="function" name="mm_gdbus_sim_call_change_pin_finish ()" link="MmGdbusSim.html#mm-gdbus-sim-call-change-pin-finish"/>
+ <keyword type="function" name="mm_gdbus_sim_call_change_pin_sync ()" link="MmGdbusSim.html#mm-gdbus-sim-call-change-pin-sync"/>
+ <keyword type="struct" name="MmGdbusSim" link="MmGdbusSim.html#MmGdbusSim-struct"/>
+ <keyword type="struct" name="struct MmGdbusSimIface" link="MmGdbusSim.html#MmGdbusSimIface"/>
+ <keyword type="property" name="The “imsi” property" link="MmGdbusSim.html#MmGdbusSim--imsi"/>
+ <keyword type="property" name="The “operator-identifier” property" link="MmGdbusSim.html#MmGdbusSim--operator-identifier"/>
+ <keyword type="property" name="The “operator-name” property" link="MmGdbusSim.html#MmGdbusSim--operator-name"/>
+ <keyword type="property" name="The “sim-identifier” property" link="MmGdbusSim.html#MmGdbusSim--sim-identifier"/>
+ <keyword type="signal" name="The “handle-change-pin” signal" link="MmGdbusSim.html#MmGdbusSim-handle-change-pin"/>
+ <keyword type="signal" name="The “handle-enable-pin” signal" link="MmGdbusSim.html#MmGdbusSim-handle-enable-pin"/>
+ <keyword type="signal" name="The “handle-send-pin” signal" link="MmGdbusSim.html#MmGdbusSim-handle-send-pin"/>
+ <keyword type="signal" name="The “handle-send-puk” signal" link="MmGdbusSim.html#MmGdbusSim-handle-send-puk"/>
+ <keyword type="function" name="mm_gdbus_sim_proxy_new ()" link="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_sim_proxy_new_finish ()" link="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_sim_proxy_new_for_bus ()" link="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_sim_proxy_new_for_bus_finish ()" link="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_sim_proxy_new_for_bus_sync ()" link="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_sim_proxy_new_sync ()" link="MmGdbusSimProxy.html#mm-gdbus-sim-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusSimProxy" link="MmGdbusSimProxy.html#MmGdbusSimProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_sim_skeleton_new ()" link="MmGdbusSimSkeleton.html#mm-gdbus-sim-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusSimSkeleton" link="MmGdbusSimSkeleton.html#MmGdbusSimSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_sms_get_state ()" link="MmGdbusSms.html#mm-gdbus-sms-get-state"/>
+ <keyword type="function" name="mm_gdbus_sms_get_pdu_type ()" link="MmGdbusSms.html#mm-gdbus-sms-get-pdu-type"/>
+ <keyword type="function" name="mm_gdbus_sms_get_message_reference ()" link="MmGdbusSms.html#mm-gdbus-sms-get-message-reference"/>
+ <keyword type="function" name="mm_gdbus_sms_get_storage ()" link="MmGdbusSms.html#mm-gdbus-sms-get-storage"/>
+ <keyword type="function" name="mm_gdbus_sms_get_text ()" link="MmGdbusSms.html#mm-gdbus-sms-get-text"/>
+ <keyword type="function" name="mm_gdbus_sms_dup_text ()" link="MmGdbusSms.html#mm-gdbus-sms-dup-text"/>
+ <keyword type="function" name="mm_gdbus_sms_get_data ()" link="MmGdbusSms.html#mm-gdbus-sms-get-data"/>
+ <keyword type="function" name="mm_gdbus_sms_dup_data ()" link="MmGdbusSms.html#mm-gdbus-sms-dup-data"/>
+ <keyword type="function" name="mm_gdbus_sms_get_number ()" link="MmGdbusSms.html#mm-gdbus-sms-get-number"/>
+ <keyword type="function" name="mm_gdbus_sms_dup_number ()" link="MmGdbusSms.html#mm-gdbus-sms-dup-number"/>
+ <keyword type="function" name="mm_gdbus_sms_get_smsc ()" link="MmGdbusSms.html#mm-gdbus-sms-get-smsc"/>
+ <keyword type="function" name="mm_gdbus_sms_dup_smsc ()" link="MmGdbusSms.html#mm-gdbus-sms-dup-smsc"/>
+ <keyword type="function" name="mm_gdbus_sms_get_validity ()" link="MmGdbusSms.html#mm-gdbus-sms-get-validity"/>
+ <keyword type="function" name="mm_gdbus_sms_dup_validity ()" link="MmGdbusSms.html#mm-gdbus-sms-dup-validity"/>
+ <keyword type="function" name="mm_gdbus_sms_get_class ()" link="MmGdbusSms.html#mm-gdbus-sms-get-class"/>
+ <keyword type="function" name="mm_gdbus_sms_get_teleservice_id ()" link="MmGdbusSms.html#mm-gdbus-sms-get-teleservice-id"/>
+ <keyword type="function" name="mm_gdbus_sms_get_service_category ()" link="MmGdbusSms.html#mm-gdbus-sms-get-service-category"/>
+ <keyword type="function" name="mm_gdbus_sms_get_timestamp ()" link="MmGdbusSms.html#mm-gdbus-sms-get-timestamp"/>
+ <keyword type="function" name="mm_gdbus_sms_dup_timestamp ()" link="MmGdbusSms.html#mm-gdbus-sms-dup-timestamp"/>
+ <keyword type="function" name="mm_gdbus_sms_get_discharge_timestamp ()" link="MmGdbusSms.html#mm-gdbus-sms-get-discharge-timestamp"/>
+ <keyword type="function" name="mm_gdbus_sms_dup_discharge_timestamp ()" link="MmGdbusSms.html#mm-gdbus-sms-dup-discharge-timestamp"/>
+ <keyword type="function" name="mm_gdbus_sms_get_delivery_report_request ()" link="MmGdbusSms.html#mm-gdbus-sms-get-delivery-report-request"/>
+ <keyword type="function" name="mm_gdbus_sms_get_delivery_state ()" link="MmGdbusSms.html#mm-gdbus-sms-get-delivery-state"/>
+ <keyword type="function" name="mm_gdbus_sms_call_send ()" link="MmGdbusSms.html#mm-gdbus-sms-call-send"/>
+ <keyword type="function" name="mm_gdbus_sms_call_send_finish ()" link="MmGdbusSms.html#mm-gdbus-sms-call-send-finish"/>
+ <keyword type="function" name="mm_gdbus_sms_call_send_sync ()" link="MmGdbusSms.html#mm-gdbus-sms-call-send-sync"/>
+ <keyword type="function" name="mm_gdbus_sms_call_store ()" link="MmGdbusSms.html#mm-gdbus-sms-call-store"/>
+ <keyword type="function" name="mm_gdbus_sms_call_store_finish ()" link="MmGdbusSms.html#mm-gdbus-sms-call-store-finish"/>
+ <keyword type="function" name="mm_gdbus_sms_call_store_sync ()" link="MmGdbusSms.html#mm-gdbus-sms-call-store-sync"/>
+ <keyword type="struct" name="MmGdbusSms" link="MmGdbusSms.html#MmGdbusSms-struct"/>
+ <keyword type="struct" name="struct MmGdbusSmsIface" link="MmGdbusSms.html#MmGdbusSmsIface"/>
+ <keyword type="property" name="The “class” property" link="MmGdbusSms.html#MmGdbusSms--class"/>
+ <keyword type="property" name="The “data” property" link="MmGdbusSms.html#MmGdbusSms--data"/>
+ <keyword type="property" name="The “delivery-report-request” property" link="MmGdbusSms.html#MmGdbusSms--delivery-report-request"/>
+ <keyword type="property" name="The “delivery-state” property" link="MmGdbusSms.html#MmGdbusSms--delivery-state"/>
+ <keyword type="property" name="The “discharge-timestamp” property" link="MmGdbusSms.html#MmGdbusSms--discharge-timestamp"/>
+ <keyword type="property" name="The “message-reference” property" link="MmGdbusSms.html#MmGdbusSms--message-reference"/>
+ <keyword type="property" name="The “number” property" link="MmGdbusSms.html#MmGdbusSms--number"/>
+ <keyword type="property" name="The “pdu-type” property" link="MmGdbusSms.html#MmGdbusSms--pdu-type"/>
+ <keyword type="property" name="The “service-category” property" link="MmGdbusSms.html#MmGdbusSms--service-category"/>
+ <keyword type="property" name="The “smsc” property" link="MmGdbusSms.html#MmGdbusSms--smsc"/>
+ <keyword type="property" name="The “state” property" link="MmGdbusSms.html#MmGdbusSms--state"/>
+ <keyword type="property" name="The “storage” property" link="MmGdbusSms.html#MmGdbusSms--storage"/>
+ <keyword type="property" name="The “teleservice-id” property" link="MmGdbusSms.html#MmGdbusSms--teleservice-id"/>
+ <keyword type="property" name="The “text” property" link="MmGdbusSms.html#MmGdbusSms--text"/>
+ <keyword type="property" name="The “timestamp” property" link="MmGdbusSms.html#MmGdbusSms--timestamp"/>
+ <keyword type="property" name="The “validity” property" link="MmGdbusSms.html#MmGdbusSms--validity"/>
+ <keyword type="signal" name="The “handle-send” signal" link="MmGdbusSms.html#MmGdbusSms-handle-send"/>
+ <keyword type="signal" name="The “handle-store” signal" link="MmGdbusSms.html#MmGdbusSms-handle-store"/>
+ <keyword type="function" name="mm_gdbus_sms_proxy_new ()" link="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_sms_proxy_new_finish ()" link="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_sms_proxy_new_for_bus ()" link="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_sms_proxy_new_for_bus_finish ()" link="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_sms_proxy_new_for_bus_sync ()" link="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_sms_proxy_new_sync ()" link="MmGdbusSmsProxy.html#mm-gdbus-sms-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusSmsProxy" link="MmGdbusSmsProxy.html#MmGdbusSmsProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_sms_skeleton_new ()" link="MmGdbusSmsSkeleton.html#mm-gdbus-sms-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusSmsSkeleton" link="MmGdbusSmsSkeleton.html#MmGdbusSmsSkeleton-struct"/>
+ <keyword type="function" name="mm_gdbus_call_get_direction ()" link="MmGdbusCall.html#mm-gdbus-call-get-direction"/>
+ <keyword type="function" name="mm_gdbus_call_get_number ()" link="MmGdbusCall.html#mm-gdbus-call-get-number"/>
+ <keyword type="function" name="mm_gdbus_call_dup_number ()" link="MmGdbusCall.html#mm-gdbus-call-dup-number"/>
+ <keyword type="function" name="mm_gdbus_call_get_state ()" link="MmGdbusCall.html#mm-gdbus-call-get-state"/>
+ <keyword type="function" name="mm_gdbus_call_get_state_reason ()" link="MmGdbusCall.html#mm-gdbus-call-get-state-reason"/>
+ <keyword type="function" name="mm_gdbus_call_dup_audio_format ()" link="MmGdbusCall.html#mm-gdbus-call-dup-audio-format"/>
+ <keyword type="function" name="mm_gdbus_call_dup_audio_port ()" link="MmGdbusCall.html#mm-gdbus-call-dup-audio-port"/>
+ <keyword type="function" name="mm_gdbus_call_get_audio_format ()" link="MmGdbusCall.html#mm-gdbus-call-get-audio-format"/>
+ <keyword type="function" name="mm_gdbus_call_get_audio_port ()" link="MmGdbusCall.html#mm-gdbus-call-get-audio-port"/>
+ <keyword type="function" name="mm_gdbus_call_call_accept ()" link="MmGdbusCall.html#mm-gdbus-call-call-accept"/>
+ <keyword type="function" name="mm_gdbus_call_call_accept_finish ()" link="MmGdbusCall.html#mm-gdbus-call-call-accept-finish"/>
+ <keyword type="function" name="mm_gdbus_call_call_accept_sync ()" link="MmGdbusCall.html#mm-gdbus-call-call-accept-sync"/>
+ <keyword type="function" name="mm_gdbus_call_call_start ()" link="MmGdbusCall.html#mm-gdbus-call-call-start"/>
+ <keyword type="function" name="mm_gdbus_call_call_start_finish ()" link="MmGdbusCall.html#mm-gdbus-call-call-start-finish"/>
+ <keyword type="function" name="mm_gdbus_call_call_start_sync ()" link="MmGdbusCall.html#mm-gdbus-call-call-start-sync"/>
+ <keyword type="function" name="mm_gdbus_call_call_hangup ()" link="MmGdbusCall.html#mm-gdbus-call-call-hangup"/>
+ <keyword type="function" name="mm_gdbus_call_call_hangup_finish ()" link="MmGdbusCall.html#mm-gdbus-call-call-hangup-finish"/>
+ <keyword type="function" name="mm_gdbus_call_call_hangup_sync ()" link="MmGdbusCall.html#mm-gdbus-call-call-hangup-sync"/>
+ <keyword type="function" name="mm_gdbus_call_call_send_dtmf ()" link="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf"/>
+ <keyword type="function" name="mm_gdbus_call_call_send_dtmf_finish ()" link="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf-finish"/>
+ <keyword type="function" name="mm_gdbus_call_call_send_dtmf_sync ()" link="MmGdbusCall.html#mm-gdbus-call-call-send-dtmf-sync"/>
+ <keyword type="struct" name="MmGdbusCall" link="MmGdbusCall.html#MmGdbusCall-struct"/>
+ <keyword type="struct" name="struct MmGdbusCallIface" link="MmGdbusCall.html#MmGdbusCallIface"/>
+ <keyword type="property" name="The “audio-format” property" link="MmGdbusCall.html#MmGdbusCall--audio-format"/>
+ <keyword type="property" name="The “audio-port” property" link="MmGdbusCall.html#MmGdbusCall--audio-port"/>
+ <keyword type="property" name="The “direction” property" link="MmGdbusCall.html#MmGdbusCall--direction"/>
+ <keyword type="property" name="The “number” property" link="MmGdbusCall.html#MmGdbusCall--number"/>
+ <keyword type="property" name="The “state” property" link="MmGdbusCall.html#MmGdbusCall--state"/>
+ <keyword type="property" name="The “state-reason” property" link="MmGdbusCall.html#MmGdbusCall--state-reason"/>
+ <keyword type="signal" name="The “dtmf-received” signal" link="MmGdbusCall.html#MmGdbusCall-dtmf-received"/>
+ <keyword type="signal" name="The “handle-accept” signal" link="MmGdbusCall.html#MmGdbusCall-handle-accept"/>
+ <keyword type="signal" name="The “handle-hangup” signal" link="MmGdbusCall.html#MmGdbusCall-handle-hangup"/>
+ <keyword type="signal" name="The “handle-send-dtmf” signal" link="MmGdbusCall.html#MmGdbusCall-handle-send-dtmf"/>
+ <keyword type="signal" name="The “handle-start” signal" link="MmGdbusCall.html#MmGdbusCall-handle-start"/>
+ <keyword type="signal" name="The “state-changed” signal" link="MmGdbusCall.html#MmGdbusCall-state-changed"/>
+ <keyword type="function" name="mm_gdbus_call_proxy_new ()" link="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new"/>
+ <keyword type="function" name="mm_gdbus_call_proxy_new_finish ()" link="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-finish"/>
+ <keyword type="function" name="mm_gdbus_call_proxy_new_for_bus ()" link="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus"/>
+ <keyword type="function" name="mm_gdbus_call_proxy_new_for_bus_finish ()" link="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus-finish"/>
+ <keyword type="function" name="mm_gdbus_call_proxy_new_for_bus_sync ()" link="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-for-bus-sync"/>
+ <keyword type="function" name="mm_gdbus_call_proxy_new_sync ()" link="MmGdbusCallProxy.html#mm-gdbus-call-proxy-new-sync"/>
+ <keyword type="struct" name="struct MmGdbusCallProxy" link="MmGdbusCallProxy.html#MmGdbusCallProxy-struct"/>
+ <keyword type="function" name="mm_gdbus_call_skeleton_new ()" link="MmGdbusCallSkeleton.html#mm-gdbus-call-skeleton-new"/>
+ <keyword type="struct" name="struct MmGdbusCallSkeleton" link="MmGdbusCallSkeleton.html#MmGdbusCallSkeleton-struct"/>
+ <keyword type="member" name="MMModemModeCombination.allowed" link="MMModem.html#MMModemModeCombination.allowed"/>
+ <keyword type="member" name="MMModemModeCombination.preferred" link="MMModem.html#MMModemModeCombination.preferred"/>
+ <keyword type="member" name="MMModemPortInfo.name" link="MMModem.html#MMModemPortInfo.name"/>
+ <keyword type="member" name="MMModemPortInfo.type" link="MMModem.html#MMModemPortInfo.type"/>
+ <keyword type="member" name="MMOmaPendingNetworkInitiatedSession.session-type" link="MMModemOma.html#MMOmaPendingNetworkInitiatedSession.session-type"/>
+ <keyword type="member" name="MMOmaPendingNetworkInitiatedSession.session-id" link="MMModemOma.html#MMOmaPendingNetworkInitiatedSession.session-id"/>
+ <keyword type="member" name="MmGdbusOrgFreedesktopModemManager1Iface.parent-iface" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1Iface.parent-iface"/>
+ <keyword type="member" name="MmGdbusOrgFreedesktopModemManager1Iface.handle-inhibit-device" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1Iface.handle-inhibit-device"/>
+ <keyword type="member" name="MmGdbusOrgFreedesktopModemManager1Iface.handle-report-kernel-event" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1Iface.handle-report-kernel-event"/>
+ <keyword type="member" name="MmGdbusOrgFreedesktopModemManager1Iface.handle-scan-devices" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1Iface.handle-scan-devices"/>
+ <keyword type="member" name="MmGdbusOrgFreedesktopModemManager1Iface.handle-set-logging" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1Iface.handle-set-logging"/>
+ <keyword type="member" name="MmGdbusOrgFreedesktopModemManager1Iface.get-version" link="MmGdbusOrgFreedesktopModemManager1.html#MmGdbusOrgFreedesktopModemManager1Iface.get-version"/>
+ <keyword type="member" name="MmGdbusObjectIface.parent-iface" link="MmGdbusObject.html#MmGdbusObjectIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemIface.parent-iface" link="MmGdbusModem.html#MmGdbusModemIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-command" link="MmGdbusModem.html#MmGdbusModemIface.handle-command"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-create-bearer" link="MmGdbusModem.html#MmGdbusModemIface.handle-create-bearer"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-delete-bearer" link="MmGdbusModem.html#MmGdbusModemIface.handle-delete-bearer"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-enable" link="MmGdbusModem.html#MmGdbusModemIface.handle-enable"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-factory-reset" link="MmGdbusModem.html#MmGdbusModemIface.handle-factory-reset"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-list-bearers" link="MmGdbusModem.html#MmGdbusModemIface.handle-list-bearers"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-reset" link="MmGdbusModem.html#MmGdbusModemIface.handle-reset"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-set-current-bands" link="MmGdbusModem.html#MmGdbusModemIface.handle-set-current-bands"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-set-current-capabilities" link="MmGdbusModem.html#MmGdbusModemIface.handle-set-current-capabilities"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-set-current-modes" link="MmGdbusModem.html#MmGdbusModemIface.handle-set-current-modes"/>
+ <keyword type="member" name="MmGdbusModemIface.handle-set-power-state" link="MmGdbusModem.html#MmGdbusModemIface.handle-set-power-state"/>
+ <keyword type="member" name="MmGdbusModemIface.get-access-technologies" link="MmGdbusModem.html#MmGdbusModemIface.get-access-technologies"/>
+ <keyword type="member" name="MmGdbusModemIface.get-bearers" link="MmGdbusModem.html#MmGdbusModemIface.get-bearers"/>
+ <keyword type="member" name="MmGdbusModemIface.get-current-bands" link="MmGdbusModem.html#MmGdbusModemIface.get-current-bands"/>
+ <keyword type="member" name="MmGdbusModemIface.get-current-capabilities" link="MmGdbusModem.html#MmGdbusModemIface.get-current-capabilities"/>
+ <keyword type="member" name="MmGdbusModemIface.get-current-modes" link="MmGdbusModem.html#MmGdbusModemIface.get-current-modes"/>
+ <keyword type="member" name="MmGdbusModemIface.get-device" link="MmGdbusModem.html#MmGdbusModemIface.get-device"/>
+ <keyword type="member" name="MmGdbusModemIface.get-device-identifier" link="MmGdbusModem.html#MmGdbusModemIface.get-device-identifier"/>
+ <keyword type="member" name="MmGdbusModemIface.get-drivers" link="MmGdbusModem.html#MmGdbusModemIface.get-drivers"/>
+ <keyword type="member" name="MmGdbusModemIface.get-equipment-identifier" link="MmGdbusModem.html#MmGdbusModemIface.get-equipment-identifier"/>
+ <keyword type="member" name="MmGdbusModemIface.get-hardware-revision" link="MmGdbusModem.html#MmGdbusModemIface.get-hardware-revision"/>
+ <keyword type="member" name="MmGdbusModemIface.get-manufacturer" link="MmGdbusModem.html#MmGdbusModemIface.get-manufacturer"/>
+ <keyword type="member" name="MmGdbusModemIface.get-max-active-bearers" link="MmGdbusModem.html#MmGdbusModemIface.get-max-active-bearers"/>
+ <keyword type="member" name="MmGdbusModemIface.get-max-bearers" link="MmGdbusModem.html#MmGdbusModemIface.get-max-bearers"/>
+ <keyword type="member" name="MmGdbusModemIface.get-model" link="MmGdbusModem.html#MmGdbusModemIface.get-model"/>
+ <keyword type="member" name="MmGdbusModemIface.get-own-numbers" link="MmGdbusModem.html#MmGdbusModemIface.get-own-numbers"/>
+ <keyword type="member" name="MmGdbusModemIface.get-plugin" link="MmGdbusModem.html#MmGdbusModemIface.get-plugin"/>
+ <keyword type="member" name="MmGdbusModemIface.get-ports" link="MmGdbusModem.html#MmGdbusModemIface.get-ports"/>
+ <keyword type="member" name="MmGdbusModemIface.get-power-state" link="MmGdbusModem.html#MmGdbusModemIface.get-power-state"/>
+ <keyword type="member" name="MmGdbusModemIface.get-primary-port" link="MmGdbusModem.html#MmGdbusModemIface.get-primary-port"/>
+ <keyword type="member" name="MmGdbusModemIface.get-revision" link="MmGdbusModem.html#MmGdbusModemIface.get-revision"/>
+ <keyword type="member" name="MmGdbusModemIface.get-signal-quality" link="MmGdbusModem.html#MmGdbusModemIface.get-signal-quality"/>
+ <keyword type="member" name="MmGdbusModemIface.get-sim" link="MmGdbusModem.html#MmGdbusModemIface.get-sim"/>
+ <keyword type="member" name="MmGdbusModemIface.get-state" link="MmGdbusModem.html#MmGdbusModemIface.get-state"/>
+ <keyword type="member" name="MmGdbusModemIface.get-state-failed-reason" link="MmGdbusModem.html#MmGdbusModemIface.get-state-failed-reason"/>
+ <keyword type="member" name="MmGdbusModemIface.get-supported-bands" link="MmGdbusModem.html#MmGdbusModemIface.get-supported-bands"/>
+ <keyword type="member" name="MmGdbusModemIface.get-supported-capabilities" link="MmGdbusModem.html#MmGdbusModemIface.get-supported-capabilities"/>
+ <keyword type="member" name="MmGdbusModemIface.get-supported-ip-families" link="MmGdbusModem.html#MmGdbusModemIface.get-supported-ip-families"/>
+ <keyword type="member" name="MmGdbusModemIface.get-supported-modes" link="MmGdbusModem.html#MmGdbusModemIface.get-supported-modes"/>
+ <keyword type="member" name="MmGdbusModemIface.get-unlock-required" link="MmGdbusModem.html#MmGdbusModemIface.get-unlock-required"/>
+ <keyword type="member" name="MmGdbusModemIface.get-unlock-retries" link="MmGdbusModem.html#MmGdbusModemIface.get-unlock-retries"/>
+ <keyword type="member" name="MmGdbusModemIface.state-changed" link="MmGdbusModem.html#MmGdbusModemIface.state-changed"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.parent-iface" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.handle-register" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.handle-register"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.handle-scan" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.handle-scan"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.handle-set-eps-ue-mode-operation" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.handle-set-eps-ue-mode-operation"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.handle-set-initial-eps-bearer-settings" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.handle-set-initial-eps-bearer-settings"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-enabled-facility-locks" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-enabled-facility-locks"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-eps-ue-mode-operation" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-eps-ue-mode-operation"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-imei" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-imei"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-initial-eps-bearer" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-initial-eps-bearer"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-initial-eps-bearer-settings" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-initial-eps-bearer-settings"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-operator-code" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-operator-code"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-operator-name" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-operator-name"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-pco" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-pco"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-registration-state" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-registration-state"/>
+ <keyword type="member" name="MmGdbusModem3gppIface.get-subscription-state" link="MmGdbusModem3gpp.html#MmGdbusModem3gppIface.get-subscription-state"/>
+ <keyword type="member" name="MmGdbusModem3gppUssdIface.parent-iface" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModem3gppUssdIface.handle-cancel" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface.handle-cancel"/>
+ <keyword type="member" name="MmGdbusModem3gppUssdIface.handle-initiate" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface.handle-initiate"/>
+ <keyword type="member" name="MmGdbusModem3gppUssdIface.handle-respond" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface.handle-respond"/>
+ <keyword type="member" name="MmGdbusModem3gppUssdIface.get-network-notification" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface.get-network-notification"/>
+ <keyword type="member" name="MmGdbusModem3gppUssdIface.get-network-request" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface.get-network-request"/>
+ <keyword type="member" name="MmGdbusModem3gppUssdIface.get-state" link="MmGdbusModem3gppUssd.html#MmGdbusModem3gppUssdIface.get-state"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.parent-iface" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.handle-activate" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.handle-activate"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.handle-activate-manual" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.handle-activate-manual"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.get-activation-state" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.get-activation-state"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.get-cdma1x-registration-state" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.get-cdma1x-registration-state"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.get-esn" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.get-esn"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.get-evdo-registration-state" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.get-evdo-registration-state"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.get-meid" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.get-meid"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.get-nid" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.get-nid"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.get-sid" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.get-sid"/>
+ <keyword type="member" name="MmGdbusModemCdmaIface.activation-state-changed" link="MmGdbusModemCdma.html#MmGdbusModemCdmaIface.activation-state-changed"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.parent-iface" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.handle-get-location" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.handle-get-location"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.handle-inject-assistance-data" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.handle-inject-assistance-data"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.handle-set-gps-refresh-rate" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.handle-set-gps-refresh-rate"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.handle-set-supl-server" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.handle-set-supl-server"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.handle-setup" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.handle-setup"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.get-assistance-data-servers" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.get-assistance-data-servers"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.get-capabilities" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.get-capabilities"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.get-enabled" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.get-enabled"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.get-gps-refresh-rate" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.get-gps-refresh-rate"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.get-location" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.get-location"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.get-signals-location" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.get-signals-location"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.get-supl-server" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.get-supl-server"/>
+ <keyword type="member" name="MmGdbusModemLocationIface.get-supported-assistance-data" link="MmGdbusModemLocation.html#MmGdbusModemLocationIface.get-supported-assistance-data"/>
+ <keyword type="member" name="MmGdbusModemMessagingIface.parent-iface" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemMessagingIface.handle-create" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface.handle-create"/>
+ <keyword type="member" name="MmGdbusModemMessagingIface.handle-delete" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface.handle-delete"/>
+ <keyword type="member" name="MmGdbusModemMessagingIface.handle-list" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface.handle-list"/>
+ <keyword type="member" name="MmGdbusModemMessagingIface.get-default-storage" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface.get-default-storage"/>
+ <keyword type="member" name="MmGdbusModemMessagingIface.get-messages" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface.get-messages"/>
+ <keyword type="member" name="MmGdbusModemMessagingIface.get-supported-storages" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface.get-supported-storages"/>
+ <keyword type="member" name="MmGdbusModemMessagingIface.added" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface.added"/>
+ <keyword type="member" name="MmGdbusModemMessagingIface.deleted" link="MmGdbusModemMessaging.html#MmGdbusModemMessagingIface.deleted"/>
+ <keyword type="member" name="MmGdbusModemTimeIface.parent-iface" link="MmGdbusModemTime.html#MmGdbusModemTimeIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemTimeIface.handle-get-network-time" link="MmGdbusModemTime.html#MmGdbusModemTimeIface.handle-get-network-time"/>
+ <keyword type="member" name="MmGdbusModemTimeIface.get-network-timezone" link="MmGdbusModemTime.html#MmGdbusModemTimeIface.get-network-timezone"/>
+ <keyword type="member" name="MmGdbusModemTimeIface.network-time-changed" link="MmGdbusModemTime.html#MmGdbusModemTimeIface.network-time-changed"/>
+ <keyword type="member" name="MmGdbusModemFirmwareIface.parent-iface" link="MmGdbusModemFirmware.html#MmGdbusModemFirmwareIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemFirmwareIface.handle-list" link="MmGdbusModemFirmware.html#MmGdbusModemFirmwareIface.handle-list"/>
+ <keyword type="member" name="MmGdbusModemFirmwareIface.handle-select" link="MmGdbusModemFirmware.html#MmGdbusModemFirmwareIface.handle-select"/>
+ <keyword type="member" name="MmGdbusModemFirmwareIface.get-update-settings" link="MmGdbusModemFirmware.html#MmGdbusModemFirmwareIface.get-update-settings"/>
+ <keyword type="member" name="MmGdbusModemSignalIface.parent-iface" link="MmGdbusModemSignal.html#MmGdbusModemSignalIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemSignalIface.handle-setup" link="MmGdbusModemSignal.html#MmGdbusModemSignalIface.handle-setup"/>
+ <keyword type="member" name="MmGdbusModemSignalIface.get-cdma" link="MmGdbusModemSignal.html#MmGdbusModemSignalIface.get-cdma"/>
+ <keyword type="member" name="MmGdbusModemSignalIface.get-evdo" link="MmGdbusModemSignal.html#MmGdbusModemSignalIface.get-evdo"/>
+ <keyword type="member" name="MmGdbusModemSignalIface.get-gsm" link="MmGdbusModemSignal.html#MmGdbusModemSignalIface.get-gsm"/>
+ <keyword type="member" name="MmGdbusModemSignalIface.get-lte" link="MmGdbusModemSignal.html#MmGdbusModemSignalIface.get-lte"/>
+ <keyword type="member" name="MmGdbusModemSignalIface.get-rate" link="MmGdbusModemSignal.html#MmGdbusModemSignalIface.get-rate"/>
+ <keyword type="member" name="MmGdbusModemSignalIface.get-umts" link="MmGdbusModemSignal.html#MmGdbusModemSignalIface.get-umts"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.parent-iface" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.handle-accept-network-initiated-session" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.handle-accept-network-initiated-session"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.handle-cancel-session" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.handle-cancel-session"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.handle-setup" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.handle-setup"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.handle-start-client-initiated-session" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.handle-start-client-initiated-session"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.get-features" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.get-features"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.get-pending-network-initiated-sessions" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.get-pending-network-initiated-sessions"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.get-session-state" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.get-session-state"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.get-session-type" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.get-session-type"/>
+ <keyword type="member" name="MmGdbusModemOmaIface.session-state-changed" link="MmGdbusModemOma.html#MmGdbusModemOmaIface.session-state-changed"/>
+ <keyword type="member" name="MmGdbusModemVoiceIface.parent-iface" link="MmGdbusModemVoice.html#MmGdbusModemVoiceIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemVoiceIface.handle-create-call" link="MmGdbusModemVoice.html#MmGdbusModemVoiceIface.handle-create-call"/>
+ <keyword type="member" name="MmGdbusModemVoiceIface.handle-delete-call" link="MmGdbusModemVoice.html#MmGdbusModemVoiceIface.handle-delete-call"/>
+ <keyword type="member" name="MmGdbusModemVoiceIface.handle-list-calls" link="MmGdbusModemVoice.html#MmGdbusModemVoiceIface.handle-list-calls"/>
+ <keyword type="member" name="MmGdbusModemVoiceIface.get-calls" link="MmGdbusModemVoice.html#MmGdbusModemVoiceIface.get-calls"/>
+ <keyword type="member" name="MmGdbusModemVoiceIface.call-added" link="MmGdbusModemVoice.html#MmGdbusModemVoiceIface.call-added"/>
+ <keyword type="member" name="MmGdbusModemVoiceIface.call-deleted" link="MmGdbusModemVoice.html#MmGdbusModemVoiceIface.call-deleted"/>
+ <keyword type="member" name="MmGdbusModemSimpleIface.parent-iface" link="MmGdbusModemSimple.html#MmGdbusModemSimpleIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusModemSimpleIface.handle-connect" link="MmGdbusModemSimple.html#MmGdbusModemSimpleIface.handle-connect"/>
+ <keyword type="member" name="MmGdbusModemSimpleIface.handle-disconnect" link="MmGdbusModemSimple.html#MmGdbusModemSimpleIface.handle-disconnect"/>
+ <keyword type="member" name="MmGdbusModemSimpleIface.handle-get-status" link="MmGdbusModemSimple.html#MmGdbusModemSimpleIface.handle-get-status"/>
+ <keyword type="member" name="MmGdbusBearerIface.parent-iface" link="MmGdbusBearer.html#MmGdbusBearerIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusBearerIface.handle-connect" link="MmGdbusBearer.html#MmGdbusBearerIface.handle-connect"/>
+ <keyword type="member" name="MmGdbusBearerIface.handle-disconnect" link="MmGdbusBearer.html#MmGdbusBearerIface.handle-disconnect"/>
+ <keyword type="member" name="MmGdbusBearerIface.get-bearer-type" link="MmGdbusBearer.html#MmGdbusBearerIface.get-bearer-type"/>
+ <keyword type="member" name="MmGdbusBearerIface.get-connected" link="MmGdbusBearer.html#MmGdbusBearerIface.get-connected"/>
+ <keyword type="member" name="MmGdbusBearerIface.get-interface" link="MmGdbusBearer.html#MmGdbusBearerIface.get-interface"/>
+ <keyword type="member" name="MmGdbusBearerIface.get-ip4-config" link="MmGdbusBearer.html#MmGdbusBearerIface.get-ip4-config"/>
+ <keyword type="member" name="MmGdbusBearerIface.get-ip6-config" link="MmGdbusBearer.html#MmGdbusBearerIface.get-ip6-config"/>
+ <keyword type="member" name="MmGdbusBearerIface.get-ip-timeout" link="MmGdbusBearer.html#MmGdbusBearerIface.get-ip-timeout"/>
+ <keyword type="member" name="MmGdbusBearerIface.get-properties" link="MmGdbusBearer.html#MmGdbusBearerIface.get-properties"/>
+ <keyword type="member" name="MmGdbusBearerIface.get-stats" link="MmGdbusBearer.html#MmGdbusBearerIface.get-stats"/>
+ <keyword type="member" name="MmGdbusBearerIface.get-suspended" link="MmGdbusBearer.html#MmGdbusBearerIface.get-suspended"/>
+ <keyword type="member" name="MmGdbusSimIface.parent-iface" link="MmGdbusSim.html#MmGdbusSimIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusSimIface.handle-change-pin" link="MmGdbusSim.html#MmGdbusSimIface.handle-change-pin"/>
+ <keyword type="member" name="MmGdbusSimIface.handle-enable-pin" link="MmGdbusSim.html#MmGdbusSimIface.handle-enable-pin"/>
+ <keyword type="member" name="MmGdbusSimIface.handle-send-pin" link="MmGdbusSim.html#MmGdbusSimIface.handle-send-pin"/>
+ <keyword type="member" name="MmGdbusSimIface.handle-send-puk" link="MmGdbusSim.html#MmGdbusSimIface.handle-send-puk"/>
+ <keyword type="member" name="MmGdbusSimIface.get-imsi" link="MmGdbusSim.html#MmGdbusSimIface.get-imsi"/>
+ <keyword type="member" name="MmGdbusSimIface.get-operator-identifier" link="MmGdbusSim.html#MmGdbusSimIface.get-operator-identifier"/>
+ <keyword type="member" name="MmGdbusSimIface.get-operator-name" link="MmGdbusSim.html#MmGdbusSimIface.get-operator-name"/>
+ <keyword type="member" name="MmGdbusSimIface.get-sim-identifier" link="MmGdbusSim.html#MmGdbusSimIface.get-sim-identifier"/>
+ <keyword type="member" name="MmGdbusSmsIface.parent-iface" link="MmGdbusSms.html#MmGdbusSmsIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusSmsIface.handle-send" link="MmGdbusSms.html#MmGdbusSmsIface.handle-send"/>
+ <keyword type="member" name="MmGdbusSmsIface.handle-store" link="MmGdbusSms.html#MmGdbusSmsIface.handle-store"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-class" link="MmGdbusSms.html#MmGdbusSmsIface.get-class"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-data" link="MmGdbusSms.html#MmGdbusSmsIface.get-data"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-delivery-report-request" link="MmGdbusSms.html#MmGdbusSmsIface.get-delivery-report-request"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-delivery-state" link="MmGdbusSms.html#MmGdbusSmsIface.get-delivery-state"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-discharge-timestamp" link="MmGdbusSms.html#MmGdbusSmsIface.get-discharge-timestamp"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-message-reference" link="MmGdbusSms.html#MmGdbusSmsIface.get-message-reference"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-number" link="MmGdbusSms.html#MmGdbusSmsIface.get-number"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-pdu-type" link="MmGdbusSms.html#MmGdbusSmsIface.get-pdu-type"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-service-category" link="MmGdbusSms.html#MmGdbusSmsIface.get-service-category"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-smsc" link="MmGdbusSms.html#MmGdbusSmsIface.get-smsc"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-state" link="MmGdbusSms.html#MmGdbusSmsIface.get-state"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-storage" link="MmGdbusSms.html#MmGdbusSmsIface.get-storage"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-teleservice-id" link="MmGdbusSms.html#MmGdbusSmsIface.get-teleservice-id"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-text" link="MmGdbusSms.html#MmGdbusSmsIface.get-text"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-timestamp" link="MmGdbusSms.html#MmGdbusSmsIface.get-timestamp"/>
+ <keyword type="member" name="MmGdbusSmsIface.get-validity" link="MmGdbusSms.html#MmGdbusSmsIface.get-validity"/>
+ <keyword type="member" name="MmGdbusCallIface.parent-iface" link="MmGdbusCall.html#MmGdbusCallIface.parent-iface"/>
+ <keyword type="member" name="MmGdbusCallIface.handle-accept" link="MmGdbusCall.html#MmGdbusCallIface.handle-accept"/>
+ <keyword type="member" name="MmGdbusCallIface.handle-hangup" link="MmGdbusCall.html#MmGdbusCallIface.handle-hangup"/>
+ <keyword type="member" name="MmGdbusCallIface.handle-send-dtmf" link="MmGdbusCall.html#MmGdbusCallIface.handle-send-dtmf"/>
+ <keyword type="member" name="MmGdbusCallIface.handle-start" link="MmGdbusCall.html#MmGdbusCallIface.handle-start"/>
+ <keyword type="member" name="MmGdbusCallIface.get-audio-format" link="MmGdbusCall.html#MmGdbusCallIface.get-audio-format"/>
+ <keyword type="member" name="MmGdbusCallIface.get-audio-port" link="MmGdbusCall.html#MmGdbusCallIface.get-audio-port"/>
+ <keyword type="member" name="MmGdbusCallIface.get-direction" link="MmGdbusCall.html#MmGdbusCallIface.get-direction"/>
+ <keyword type="member" name="MmGdbusCallIface.get-number" link="MmGdbusCall.html#MmGdbusCallIface.get-number"/>
+ <keyword type="member" name="MmGdbusCallIface.get-state" link="MmGdbusCall.html#MmGdbusCallIface.get-state"/>
+ <keyword type="member" name="MmGdbusCallIface.get-state-reason" link="MmGdbusCall.html#MmGdbusCallIface.get-state-reason"/>
+ <keyword type="member" name="MmGdbusCallIface.dtmf-received" link="MmGdbusCall.html#MmGdbusCallIface.dtmf-received"/>
+ <keyword type="member" name="MmGdbusCallIface.state-changed" link="MmGdbusCall.html#MmGdbusCallIface.state-changed"/>
+ </functions>
+</book>
diff --git a/docs/reference/libmm-glib/html/object-tree.html b/docs/reference/libmm-glib/html/object-tree.html
new file mode 100644
index 00000000..772a0317
--- /dev/null
+++ b/docs/reference/libmm-glib/html/object-tree.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Object Hierarchy: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="index.html" title="libmm-glib Reference Manual">
+<link rel="prev" href="MmGdbusCallSkeleton.html" title="MmGdbusCallSkeleton">
+<link rel="next" href="ix01.html" title="API Index">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="MmGdbusCallSkeleton.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ix01.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="object-tree"></a>Object Hierarchy</h1></div></div></div>
+<pre class="screen">
+ <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+ <span class="lineart">├──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusProxy.html#GDBusProxy-struct">GDBusProxy</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusBearerProxy.html" title="MmGdbusBearerProxy">MmGdbusBearerProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMBearer.html" title="MMBearer">MMBearer</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusCallProxy.html" title="MmGdbusCallProxy">MmGdbusCallProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMCall.html" title="MMCall">MMCall</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModem3gppProxy.html" title="MmGdbusModem3gppProxy">MmGdbusModem3gppProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModem3gpp.html" title="MMModem3gpp">MMModem3gpp</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModem3gppUssdProxy.html" title="MmGdbusModem3gppUssdProxy">MmGdbusModem3gppUssdProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModem3gppUssd.html" title="MMModem3gppUssd">MMModem3gppUssd</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemCdmaProxy.html" title="MmGdbusModemCdmaProxy">MmGdbusModemCdmaProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModemCdma.html" title="MMModemCdma">MMModemCdma</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemFirmwareProxy.html" title="MmGdbusModemFirmwareProxy">MmGdbusModemFirmwareProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModemFirmware.html" title="MMModemFirmware">MMModemFirmware</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemLocationProxy.html" title="MmGdbusModemLocationProxy">MmGdbusModemLocationProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModemLocation.html" title="MMModemLocation">MMModemLocation</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemMessagingProxy.html" title="MmGdbusModemMessagingProxy">MmGdbusModemMessagingProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModemMessaging.html" title="MMModemMessaging">MMModemMessaging</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemOmaProxy.html" title="MmGdbusModemOmaProxy">MmGdbusModemOmaProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModemOma.html" title="MMModemOma">MMModemOma</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemProxy.html" title="MmGdbusModemProxy">MmGdbusModemProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModem.html" title="MMModem">MMModem</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemSignalProxy.html" title="MmGdbusModemSignalProxy">MmGdbusModemSignalProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModemSignal.html" title="MMModemSignal">MMModemSignal</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemSimpleProxy.html" title="MmGdbusModemSimpleProxy">MmGdbusModemSimpleProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModemSimple.html" title="MMModemSimple">MMModemSimple</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemTimeProxy.html" title="MmGdbusModemTimeProxy">MmGdbusModemTimeProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModemTime.html" title="MMModemTime">MMModemTime</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemVoiceProxy.html" title="MmGdbusModemVoiceProxy">MmGdbusModemVoiceProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMModemVoice.html" title="MMModemVoice">MMModemVoice</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusOrgFreedesktopModemManager1Proxy.html" title="MmGdbusOrgFreedesktopModemManager1Proxy">MmGdbusOrgFreedesktopModemManager1Proxy</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusSimProxy.html" title="MmGdbusSimProxy">MmGdbusSimProxy</a>
+ <span class="lineart">│</span> <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMSim.html" title="MMSim">MMSim</a>
+ <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MmGdbusSmsProxy.html" title="MmGdbusSmsProxy">MmGdbusSmsProxy</a>
+ <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMSms.html" title="MMSms">MMSms</a>
+ <span class="lineart">├──</span> <a class="link" href="MMBearerIpConfig.html" title="MMBearerIpConfig">MMBearerIpConfig</a>
+ <span class="lineart">├──</span> <a class="link" href="MMBearerProperties.html" title="MMBearerProperties">MMBearerProperties</a>
+ <span class="lineart">├──</span> <a class="link" href="MMBearerStats.html" title="MMBearerStats">MMBearerStats</a>
+ <span class="lineart">├──</span> <a class="link" href="MMCallAudioFormat.html" title="MMCallAudioFormat">MMCallAudioFormat</a>
+ <span class="lineart">├──</span> <a class="link" href="MMCallProperties.html" title="MMCallProperties">MMCallProperties</a>
+ <span class="lineart">├──</span> <a class="link" href="MMCdmaManualActivationProperties.html" title="MMCdmaManualActivationProperties">MMCdmaManualActivationProperties</a>
+ <span class="lineart">├──</span> <a class="link" href="MMFirmwareProperties.html" title="MMFirmwareProperties">MMFirmwareProperties</a>
+ <span class="lineart">├──</span> <a class="link" href="MMFirmwareUpdateSettings.html" title="MMFirmwareUpdateSettings">MMFirmwareUpdateSettings</a>
+ <span class="lineart">├──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusInterfaceSkeleton.html#GDBusInterfaceSkeleton-struct">GDBusInterfaceSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusBearerSkeleton.html" title="MmGdbusBearerSkeleton">MmGdbusBearerSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusCallSkeleton.html" title="MmGdbusCallSkeleton">MmGdbusCallSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModem3gppSkeleton.html" title="MmGdbusModem3gppSkeleton">MmGdbusModem3gppSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModem3gppUssdSkeleton.html" title="MmGdbusModem3gppUssdSkeleton">MmGdbusModem3gppUssdSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemCdmaSkeleton.html" title="MmGdbusModemCdmaSkeleton">MmGdbusModemCdmaSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemFirmwareSkeleton.html" title="MmGdbusModemFirmwareSkeleton">MmGdbusModemFirmwareSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemLocationSkeleton.html" title="MmGdbusModemLocationSkeleton">MmGdbusModemLocationSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemMessagingSkeleton.html" title="MmGdbusModemMessagingSkeleton">MmGdbusModemMessagingSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemOmaSkeleton.html" title="MmGdbusModemOmaSkeleton">MmGdbusModemOmaSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemSignalSkeleton.html" title="MmGdbusModemSignalSkeleton">MmGdbusModemSignalSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemSimpleSkeleton.html" title="MmGdbusModemSimpleSkeleton">MmGdbusModemSimpleSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemSkeleton.html" title="MmGdbusModemSkeleton">MmGdbusModemSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemTimeSkeleton.html" title="MmGdbusModemTimeSkeleton">MmGdbusModemTimeSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusModemVoiceSkeleton.html" title="MmGdbusModemVoiceSkeleton">MmGdbusModemVoiceSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusOrgFreedesktopModemManager1Skeleton.html" title="MmGdbusOrgFreedesktopModemManager1Skeleton">MmGdbusOrgFreedesktopModemManager1Skeleton</a>
+ <span class="lineart">│</span> <span class="lineart">├──</span> <a class="link" href="MmGdbusSimSkeleton.html" title="MmGdbusSimSkeleton">MmGdbusSimSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MmGdbusSmsSkeleton.html" title="MmGdbusSmsSkeleton">MmGdbusSmsSkeleton</a>
+ <span class="lineart">├──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusObjectManagerClient.html#GDBusObjectManagerClient-struct">GDBusObjectManagerClient</a>
+ <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MmGdbusObjectManagerClient.html" title="MmGdbusObjectManagerClient">MmGdbusObjectManagerClient</a>
+ <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMManager.html" title="MMManager">MMManager</a>
+ <span class="lineart">├──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusObjectProxy.html#GDBusObjectProxy-struct">GDBusObjectProxy</a>
+ <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MmGdbusObjectProxy.html" title="MmGdbusObjectProxy">MmGdbusObjectProxy</a>
+ <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MMObject.html" title="MMObject">MMObject</a>
+ <span class="lineart">├──</span> <a href="https://developer.gnome.org/gio/unstable/GDBusObjectSkeleton.html#GDBusObjectSkeleton-struct">GDBusObjectSkeleton</a>
+ <span class="lineart">│</span> <span class="lineart">╰──</span> <a class="link" href="MmGdbusObjectSkeleton.html" title="MmGdbusObjectSkeleton">MmGdbusObjectSkeleton</a>
+ <span class="lineart">├──</span> <a class="link" href="MMKernelEventProperties.html" title="MMKernelEventProperties">MMKernelEventProperties</a>
+ <span class="lineart">├──</span> <a class="link" href="MMLocation3gpp.html" title="MMLocation3gpp">MMLocation3gpp</a>
+ <span class="lineart">├──</span> <a class="link" href="MMLocationCdmaBs.html" title="MMLocationCdmaBs">MMLocationCdmaBs</a>
+ <span class="lineart">├──</span> <a class="link" href="MMLocationGpsNmea.html" title="MMLocationGpsNmea">MMLocationGpsNmea</a>
+ <span class="lineart">├──</span> <a class="link" href="MMLocationGpsRaw.html" title="MMLocationGpsRaw">MMLocationGpsRaw</a>
+ <span class="lineart">├──</span> <a class="link" href="MMNetworkTimezone.html" title="MMNetworkTimezone">MMNetworkTimezone</a>
+ <span class="lineart">├──</span> <a class="link" href="MMPco.html" title="MMPco">MMPco</a>
+ <span class="lineart">├──</span> <a class="link" href="MMSignal.html" title="MMSignal">MMSignal</a>
+ <span class="lineart">├──</span> <a class="link" href="MMSimpleConnectProperties.html" title="MMSimpleConnectProperties">MMSimpleConnectProperties</a>
+ <span class="lineart">├──</span> <a class="link" href="MMSimpleStatus.html" title="MMSimpleStatus">MMSimpleStatus</a>
+ <span class="lineart">├──</span> <a class="link" href="MMSmsProperties.html" title="MMSmsProperties">MMSmsProperties</a>
+ <span class="lineart">╰──</span> <a class="link" href="MMUnlockRetries.html" title="MMUnlockRetries">MMUnlockRetries</a>
+ <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusBearer.html" title="MmGdbusBearer">MmGdbusBearer</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusCall.html" title="MmGdbusCall">MmGdbusCall</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModem3gpp.html" title="MmGdbusModem3gpp">MmGdbusModem3gpp</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModem3gppUssd.html" title="MmGdbusModem3gppUssd">MmGdbusModem3gppUssd</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModemCdma.html" title="MmGdbusModemCdma">MmGdbusModemCdma</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModemFirmware.html" title="MmGdbusModemFirmware">MmGdbusModemFirmware</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModem.html" title="MmGdbusModem">MmGdbusModem</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModemLocation.html" title="MmGdbusModemLocation">MmGdbusModemLocation</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModemMessaging.html" title="MmGdbusModemMessaging">MmGdbusModemMessaging</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModemOma.html" title="MmGdbusModemOma">MmGdbusModemOma</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModemSignal.html" title="MmGdbusModemSignal">MmGdbusModemSignal</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModemSimple.html" title="MmGdbusModemSimple">MmGdbusModemSimple</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModemTime.html" title="MmGdbusModemTime">MmGdbusModemTime</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusModemVoice.html" title="MmGdbusModemVoice">MmGdbusModemVoice</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusObject.html" title="MmGdbusObject">MmGdbusObject</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">MmGdbusOrgFreedesktopModemManager1</a>
+ <span class="lineart">├──</span> <a class="link" href="MmGdbusSim.html" title="MmGdbusSim">MmGdbusSim</a>
+ <span class="lineart">╰──</span> <a class="link" href="MmGdbusSms.html" title="MmGdbusSms">MmGdbusSms</a>
+</pre>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/pt01.html b/docs/reference/libmm-glib/html/pt01.html
new file mode 100644
index 00000000..0841838f
--- /dev/null
+++ b/docs/reference/libmm-glib/html/pt01.html
@@ -0,0 +1,190 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Part I. High level API: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="index.html" title="libmm-glib Reference Manual">
+<link rel="prev" href="index.html" title="libmm-glib Reference Manual">
+<link rel="next" href="ch01.html" title="Common enums and flags helpers">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch01.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="id-1.2"></a>Part I. High level API</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt><span class="chapter"><a href="ch01.html">Common enums and flags helpers</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="libmm-glib-Flags-and-Enumerations.html">Flags and Enumerations</a></span><span class="refpurpose"></span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ch02.html">The Manager object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMManager.html">MMManager</a></span><span class="refpurpose"> — The Manager object</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMKernelEventProperties.html">MMKernelEventProperties</a></span><span class="refpurpose"> — Helper object to handle kernel event properties.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ch03.html">The Modem object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMObject.html">MMObject</a></span><span class="refpurpose"> — Generic object representing a modem in ModemManager</span>
+</dt>
+<dt><span class="section"><a href="ch03.html#id-1.2.4.3">Generic interfaces</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModem.html">MMModem</a></span><span class="refpurpose"> — The Modem interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMModem3gpp.html">MMModem3gpp</a></span><span class="refpurpose"> — The 3GPP interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMModem3gppUssd.html">MMModem3gppUssd</a></span><span class="refpurpose"> — The 3GPP USSD interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMModemCdma.html">MMModemCdma</a></span><span class="refpurpose"> — The CDMA interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMCdmaManualActivationProperties.html">MMCdmaManualActivationProperties</a></span><span class="refpurpose"> — Helper object to handle manual CDMA activation properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMUnlockRetries.html">MMUnlockRetries</a></span><span class="refpurpose"> — Helper object to report unlock retries.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s02.html">Simple interface support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemSimple.html">MMModemSimple</a></span><span class="refpurpose"> — The Simple interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSimpleConnectProperties.html">MMSimpleConnectProperties</a></span><span class="refpurpose"> — Helper object to handle connection properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSimpleStatus.html">MMSimpleStatus</a></span><span class="refpurpose"> — Helper object to handle overall modem status.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s03.html">Location support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemLocation.html">MMModemLocation</a></span><span class="refpurpose"> — The Location interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocation3gpp.html">MMLocation3gpp</a></span><span class="refpurpose"> — Helper object to handle 3GPP location information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocationGpsNmea.html">MMLocationGpsNmea</a></span><span class="refpurpose"> — Helper object to handle NMEA-based GPS location information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocationGpsRaw.html">MMLocationGpsRaw</a></span><span class="refpurpose"> — Helper object to handle generic GPS location information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMLocationCdmaBs.html">MMLocationCdmaBs</a></span><span class="refpurpose"> — Helper object to handle CDMA Base Station location information.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s04.html">Messaging support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMModemMessaging.html">MMModemMessaging</a></span><span class="refpurpose"> — The Messaging interface</span>
+</dt></dl></dd>
+<dt><span class="section"><a href="ch03s05.html">Time support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemTime.html">MMModemTime</a></span><span class="refpurpose"> — The Time interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMNetworkTimezone.html">MMNetworkTimezone</a></span><span class="refpurpose"> — Helper object to handle network timezone information.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s06.html">Firmware support</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemFirmware.html">MMModemFirmware</a></span><span class="refpurpose"> — The Firmware interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMFirmwareProperties.html">MMFirmwareProperties</a></span><span class="refpurpose"> — Helper object to handle firmware information.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMFirmwareUpdateSettings.html">MMFirmwareUpdateSettings</a></span><span class="refpurpose"> — Helper object to handle firmware update settings.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s07.html">Extended signal information</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMModemSignal.html">MMModemSignal</a></span><span class="refpurpose"> — The extended Signal interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSignal.html">MMSignal</a></span><span class="refpurpose"> — Helper object to handle extended Signal information.</span>
+</dt>
+</dl></dd>
+<dt><span class="section"><a href="ch03s08.html">OMA support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMModemOma.html">MMModemOma</a></span><span class="refpurpose"> — The OMA interface</span>
+</dt></dl></dd>
+<dt><span class="section"><a href="ch03s09.html">Voice support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMModemVoice.html">MMModemVoice</a></span><span class="refpurpose"> — The Voice interface</span>
+</dt></dl></dd>
+<dt><span class="section"><a href="ch03s10.html">PCO support</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMPco.html">MMPco</a></span><span class="refpurpose"> — Helper object to handle 3GPP PCO.</span>
+</dt></dl></dd>
+</dl></dd>
+<dt><span class="chapter"><a href="ch04.html">The Bearer object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMBearer.html">MMBearer</a></span><span class="refpurpose"> — The Bearer interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMBearerProperties.html">MMBearerProperties</a></span><span class="refpurpose"> — Helper object to handle bearer properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMBearerIpConfig.html">MMBearerIpConfig</a></span><span class="refpurpose"> — Helper object to handle IP configuration.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMBearerStats.html">MMBearerStats</a></span><span class="refpurpose"> — Helper object to handle bearer stats.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ch05.html">The SIM object</a></span></dt>
+<dd><dl><dt>
+<span class="refentrytitle"><a href="MMSim.html">MMSim</a></span><span class="refpurpose"> — The SIM interface</span>
+</dt></dl></dd>
+<dt><span class="chapter"><a href="ch06.html">The SMS object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMSms.html">MMSms</a></span><span class="refpurpose"> — The SMS interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMSmsProperties.html">MMSmsProperties</a></span><span class="refpurpose"> — Helper object to handle SMS properties.</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="ch07.html">The Call object</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="MMCall.html">MMCall</a></span><span class="refpurpose"> — The call interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMCallProperties.html">MMCallProperties</a></span><span class="refpurpose"> — Helper object to handle CALL properties.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MMCallAudioFormat.html">MMCallAudioFormat</a></span><span class="refpurpose"> — Helper object to handle voice call audio formats.</span>
+</dt>
+</dl></dd>
+</dl>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/pt02.html b/docs/reference/libmm-glib/html/pt02.html
new file mode 100644
index 00000000..71c11514
--- /dev/null
+++ b/docs/reference/libmm-glib/html/pt02.html
@@ -0,0 +1,199 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Part II. Low level API: libmm-glib Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="libmm-glib Reference Manual">
+<link rel="up" href="index.html" title="libmm-glib Reference Manual">
+<link rel="prev" href="MMCallAudioFormat.html" title="MMCallAudioFormat">
+<link rel="next" href="MmGdbusOrgFreedesktopModemManager1.html" title="MmGdbusOrgFreedesktopModemManager1">
+<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="MMCallAudioFormat.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="MmGdbusOrgFreedesktopModemManager1.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="id-1.3"></a>Part II. Low level API</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt>
+<span class="refentrytitle"><a href="MmGdbusOrgFreedesktopModemManager1.html">MmGdbusOrgFreedesktopModemManager1</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1 D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusOrgFreedesktopModemManager1Proxy.html">MmGdbusOrgFreedesktopModemManager1Proxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusOrgFreedesktopModemManager1Skeleton.html">MmGdbusOrgFreedesktopModemManager1Skeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusObjectManagerClient.html">MmGdbusObjectManagerClient</a></span><span class="refpurpose"> — Generated GDBusObjectManagerClient type</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusObject.html">MmGdbusObject</a></span><span class="refpurpose"> — Specialized GDBusObject types</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusObjectProxy.html">MmGdbusObjectProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusObjectSkeleton.html">MmGdbusObjectSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem.html">MmGdbusModem</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemProxy.html">MmGdbusModemProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSkeleton.html">MmGdbusModemSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gpp.html">MmGdbusModem3gpp</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Modem3gpp D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppProxy.html">MmGdbusModem3gppProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppSkeleton.html">MmGdbusModem3gppSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppUssd.html">MmGdbusModem3gppUssd</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppUssdProxy.html">MmGdbusModem3gppUssdProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModem3gppUssdSkeleton.html">MmGdbusModem3gppUssdSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemCdma.html">MmGdbusModemCdma</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.ModemCdma D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemCdmaProxy.html">MmGdbusModemCdmaProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemCdmaSkeleton.html">MmGdbusModemCdmaSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemLocation.html">MmGdbusModemLocation</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Location D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemLocationProxy.html">MmGdbusModemLocationProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemLocationSkeleton.html">MmGdbusModemLocationSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemMessaging.html">MmGdbusModemMessaging</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Messaging D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemMessagingProxy.html">MmGdbusModemMessagingProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemMessagingSkeleton.html">MmGdbusModemMessagingSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemTime.html">MmGdbusModemTime</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Time D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemTimeProxy.html">MmGdbusModemTimeProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemTimeSkeleton.html">MmGdbusModemTimeSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemFirmware.html">MmGdbusModemFirmware</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Firmware D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemFirmwareProxy.html">MmGdbusModemFirmwareProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemFirmwareSkeleton.html">MmGdbusModemFirmwareSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSignal.html">MmGdbusModemSignal</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Signal D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSignalProxy.html">MmGdbusModemSignalProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSignalSkeleton.html">MmGdbusModemSignalSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemOma.html">MmGdbusModemOma</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Oma D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemOmaProxy.html">MmGdbusModemOmaProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemOmaSkeleton.html">MmGdbusModemOmaSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemVoice.html">MmGdbusModemVoice</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Voice D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemVoiceProxy.html">MmGdbusModemVoiceProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemVoiceSkeleton.html">MmGdbusModemVoiceSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSimple.html">MmGdbusModemSimple</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Modem.Simple D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSimpleProxy.html">MmGdbusModemSimpleProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusModemSimpleSkeleton.html">MmGdbusModemSimpleSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusBearer.html">MmGdbusBearer</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Bearer D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusBearerProxy.html">MmGdbusBearerProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusBearerSkeleton.html">MmGdbusBearerSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSim.html">MmGdbusSim</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Sim D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSimProxy.html">MmGdbusSimProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSimSkeleton.html">MmGdbusSimSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSms.html">MmGdbusSms</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Sms D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSmsProxy.html">MmGdbusSmsProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusSmsSkeleton.html">MmGdbusSmsSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusCall.html">MmGdbusCall</a></span><span class="refpurpose"> — Generated C code for the org.freedesktop.ModemManager1.Call D-Bus interface</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusCallProxy.html">MmGdbusCallProxy</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="MmGdbusCallSkeleton.html">MmGdbusCallSkeleton</a></span><span class="refpurpose"></span>
+</dt>
+</dl>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file
diff --git a/docs/reference/libmm-glib/html/right-insensitive.png b/docs/reference/libmm-glib/html/right-insensitive.png
new file mode 100644
index 00000000..4c95785b
--- /dev/null
+++ b/docs/reference/libmm-glib/html/right-insensitive.png
Binary files differ
diff --git a/docs/reference/libmm-glib/html/right.png b/docs/reference/libmm-glib/html/right.png
new file mode 100644
index 00000000..76260ec8
--- /dev/null
+++ b/docs/reference/libmm-glib/html/right.png
Binary files differ
diff --git a/docs/reference/libmm-glib/html/style.css b/docs/reference/libmm-glib/html/style.css
new file mode 100644
index 00000000..4be4ede1
--- /dev/null
+++ b/docs/reference/libmm-glib/html/style.css
@@ -0,0 +1,483 @@
+body
+{
+ font-family: cantarell, sans-serif;
+}
+.synopsis, .classsynopsis
+{
+ /* tango:aluminium 1/2 */
+ background: #eeeeec;
+ background: rgba(238, 238, 236, 0.5);
+ border: solid 1px rgb(238, 238, 236);
+ padding: 0.5em;
+}
+.programlisting
+{
+ /* tango:sky blue 0/1 */
+ /* fallback for no rgba support */
+ background: #e6f3ff;
+ border: solid 1px #729fcf;
+ background: rgba(114, 159, 207, 0.1);
+ border: solid 1px rgba(114, 159, 207, 0.2);
+ padding: 0.5em;
+}
+.variablelist
+{
+ padding: 4px;
+ margin-left: 3em;
+}
+.variablelist td:first-child
+{
+ vertical-align: top;
+}
+
+span.nowrap {
+ white-space: nowrap;
+}
+
+div.gallery-float
+{
+ float: left;
+ padding: 10px;
+}
+div.gallery-float img
+{
+ border-style: none;
+}
+div.gallery-spacer
+{
+ clear: both;
+}
+
+a, a:visited
+{
+ text-decoration: none;
+ /* tango:sky blue 2 */
+ color: #3465a4;
+}
+a:hover
+{
+ text-decoration: underline;
+ /* tango:sky blue 1 */
+ color: #729fcf;
+}
+
+div.informaltable table
+{
+ border-collapse: separate;
+ border-spacing: 1em 0.3em;
+ border: none;
+}
+
+div.informaltable table td, div.informaltable table th
+{
+ vertical-align: top;
+}
+
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.parameter_name,
+.struct_member_name,
+.union_member_name,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword
+{
+ text-align: right;
+}
+
+/* dim non-primary columns */
+.c_punctuation,
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword,
+.property_flags,
+.signal_flags,
+.parameter_annotations,
+.enum_member_annotations,
+.struct_member_annotations,
+.union_member_annotations
+{
+ color: #888a85;
+}
+
+.function_type a,
+.function_type a:visited,
+.function_type a:hover,
+.property_type a,
+.property_type a:visited,
+.property_type a:hover,
+.signal_type a,
+.signal_type a:visited,
+.signal_type a:hover,
+.signal_flags a,
+.signal_flags a:visited,
+.signal_flags a:hover
+{
+ color: #729fcf;
+}
+
+td p
+{
+ margin: 0.25em;
+}
+
+div.table table
+{
+ border-collapse: collapse;
+ border-spacing: 0px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+}
+
+div.table table td, div.table table th
+{
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+ padding: 3px;
+ vertical-align: top;
+}
+
+div.table table th
+{
+ /* tango:aluminium 2 */
+ background-color: #d3d7cf;
+}
+
+h4
+{
+ color: #555753;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+hr
+{
+ /* tango:aluminium 1 */
+ color: #d3d7cf;
+ background: #d3d7cf;
+ border: none 0px;
+ height: 1px;
+ clear: both;
+ margin: 2.0em 0em 2.0em 0em;
+}
+
+dl.toc dt
+{
+ padding-bottom: 0.25em;
+}
+
+dl.toc > dt
+{
+ padding-top: 0.25em;
+ padding-bottom: 0.25em;
+ font-weight: bold;
+}
+
+dl.toc > dl
+{
+ padding-bottom: 0.5em;
+}
+
+.parameter
+{
+ font-style: normal;
+}
+
+.footer
+{
+ padding-top: 3.5em;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ text-align: center;
+ font-size: 80%;
+}
+
+.informalfigure,
+.figure
+{
+ margin: 1em;
+}
+
+.informalexample,
+.example
+{
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+.warning
+{
+ /* tango:orange 0/1 */
+ background: #ffeed9;
+ background: rgba(252, 175, 62, 0.1);
+ border-color: #ffb04f;
+ border-color: rgba(252, 175, 62, 0.2);
+}
+.note
+{
+ /* tango:chameleon 0/0.5 */
+ background: #d8ffb2;
+ background: rgba(138, 226, 52, 0.1);
+ border-color: #abf562;
+ border-color: rgba(138, 226, 52, 0.2);
+}
+div.blockquote
+{
+ border-color: #eeeeec;
+}
+.note, .warning, div.blockquote
+{
+ padding: 0.5em;
+ border-width: 1px;
+ border-style: solid;
+ margin: 2em;
+}
+.note p, .warning p
+{
+ margin: 0;
+}
+
+div.warning h3.title,
+div.note h3.title
+{
+ display: none;
+}
+
+p + div.section
+{
+ margin-top: 1em;
+}
+
+div.refnamediv,
+div.refsynopsisdiv,
+div.refsect1,
+div.refsect2,
+div.toc,
+div.section
+{
+ margin-bottom: 1em;
+}
+
+/* blob links */
+h2 .extralinks, h3 .extralinks
+{
+ float: right;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+.lineart
+{
+ color: #d3d7cf;
+ font-weight: normal;
+}
+
+.annotation
+{
+ /* tango:aluminium 5 */
+ color: #555753;
+ font-weight: normal;
+}
+
+.structfield
+{
+ font-style: normal;
+ font-weight: normal;
+}
+
+acronym,abbr
+{
+ border-bottom: 1px dotted gray;
+}
+
+/* code listings */
+
+.listing_code .programlisting .normal,
+.listing_code .programlisting .normal a,
+.listing_code .programlisting .number,
+.listing_code .programlisting .cbracket,
+.listing_code .programlisting .symbol { color: #555753; }
+.listing_code .programlisting .comment,
+.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
+.listing_code .programlisting .function,
+.listing_code .programlisting .function a,
+.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
+.listing_code .programlisting .string { color: #ad7fa8; } /* tango: plum */
+.listing_code .programlisting .keyword,
+.listing_code .programlisting .usertype,
+.listing_code .programlisting .type,
+.listing_code .programlisting .type a { color: #4e9a06; } /* tango: chameleon 3 */
+
+.listing_frame {
+ /* tango:sky blue 1 */
+ border: solid 1px #729fcf;
+ border: solid 1px rgba(114, 159, 207, 0.2);
+ padding: 0px;
+}
+
+.listing_lines, .listing_code {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0.5em;
+}
+.listing_lines {
+ /* tango:sky blue 0.5 */
+ background: #a6c5e3;
+ background: rgba(114, 159, 207, 0.2);
+ /* tango:aluminium 6 */
+ color: #2e3436;
+}
+.listing_code {
+ /* tango:sky blue 0 */
+ background: #e6f3ff;
+ background: rgba(114, 159, 207, 0.1);
+}
+.listing_code .programlisting {
+ /* override from previous */
+ border: none 0px;
+ padding: 0px;
+ background: none;
+}
+.listing_lines pre, .listing_code pre {
+ margin: 0px;
+}
+
+@media screen {
+ /* these have a <sup> as a first child, but since there are no parent selectors
+ * we can't use that. */
+ a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 2.5em;
+ padding-bottom: 500px;
+ max-width: 60em;
+ }
+ p
+ {
+ max-width: 60em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ background: #e2e2e2;
+ border-bottom: solid 1px #babdb6;
+ border-spacing: 5px;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ z-index: 10;
+ }
+ table.navigation#top td
+ {
+ padding-left: 6px;
+ padding-right: 6px;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:sky blue 3 */
+ color: #204a87;
+ }
+ .navigation a:hover
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ }
+ td.shortcuts
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+ td.shortcuts .dim
+ {
+ color: #babdb6;
+ }
+ .navigation .title
+ {
+ font-size: 80%;
+ max-width: none;
+ margin: 0px;
+ font-weight: normal;
+ }
+}
+@media screen and (min-width: 60em) {
+ /* screen larger than 60em */
+ body { margin: auto; }
+}
+@media screen and (max-width: 60em) {
+ /* screen less than 60em */
+ #nav_hierarchy { display: none; }
+ #nav_interfaces { display: none; }
+ #nav_prerequisites { display: none; }
+ #nav_derived_interfaces { display: none; }
+ #nav_implementations { display: none; }
+ #nav_child_properties { display: none; }
+ #nav_style_properties { display: none; }
+ #nav_index { display: none; }
+ #nav_glossary { display: none; }
+ .gallery_image { display: none; }
+ .property_flags { display: none; }
+ .signal_flags { display: none; }
+ .parameter_annotations { display: none; }
+ .enum_member_annotations { display: none; }
+ .struct_member_annotations { display: none; }
+ .union_member_annotations { display: none; }
+ /* now that a column is hidden, optimize space */
+ col.parameters_name { width: auto; }
+ col.parameters_description { width: auto; }
+ col.struct_members_name { width: auto; }
+ col.struct_members_description { width: auto; }
+ col.enum_members_name { width: auto; }
+ col.enum_members_description { width: auto; }
+ col.union_members_name { width: auto; }
+ col.union_members_description { width: auto; }
+ .listing_lines { display: none; }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ background: #e2e2e2;
+ border: solid 1px #babdb6;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
diff --git a/docs/reference/libmm-glib/html/up-insensitive.png b/docs/reference/libmm-glib/html/up-insensitive.png
new file mode 100644
index 00000000..f4049860
--- /dev/null
+++ b/docs/reference/libmm-glib/html/up-insensitive.png
Binary files differ
diff --git a/docs/reference/libmm-glib/html/up.png b/docs/reference/libmm-glib/html/up.png
new file mode 100644
index 00000000..80b4b37e
--- /dev/null
+++ b/docs/reference/libmm-glib/html/up.png
Binary files differ
diff --git a/docs/reference/libmm-glib/libmm-glib-overrides.txt b/docs/reference/libmm-glib/libmm-glib-overrides.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/docs/reference/libmm-glib/libmm-glib-overrides.txt
diff --git a/docs/reference/libmm-glib/libmm-glib.types b/docs/reference/libmm-glib/libmm-glib.types
new file mode 100644
index 00000000..8a1cae78
--- /dev/null
+++ b/docs/reference/libmm-glib/libmm-glib.types
@@ -0,0 +1,141 @@
+mm_bearer_allowed_auth_get_type
+mm_bearer_get_type
+mm_bearer_ip_config_get_type
+mm_bearer_ip_family_get_type
+mm_bearer_ip_method_get_type
+mm_bearer_properties_get_type
+mm_bearer_stats_get_type
+mm_bearer_type_get_type
+mm_call_audio_format_get_type
+mm_call_direction_get_type
+mm_call_get_type
+mm_call_properties_get_type
+mm_call_state_get_type
+mm_call_state_reason_get_type
+mm_cdma_activation_error_get_type
+mm_cdma_manual_activation_properties_get_type
+mm_connection_error_get_type
+mm_core_error_get_type
+mm_firmware_image_type_get_type
+mm_firmware_properties_get_type
+mm_firmware_update_settings_get_type
+mm_gdbus_bearer_get_type
+mm_gdbus_bearer_proxy_get_type
+mm_gdbus_bearer_skeleton_get_type
+mm_gdbus_call_get_type
+mm_gdbus_call_proxy_get_type
+mm_gdbus_call_skeleton_get_type
+mm_gdbus_modem3gpp_get_type
+mm_gdbus_modem3gpp_proxy_get_type
+mm_gdbus_modem3gpp_skeleton_get_type
+mm_gdbus_modem3gpp_ussd_get_type
+mm_gdbus_modem3gpp_ussd_proxy_get_type
+mm_gdbus_modem3gpp_ussd_skeleton_get_type
+mm_gdbus_modem_cdma_get_type
+mm_gdbus_modem_cdma_proxy_get_type
+mm_gdbus_modem_cdma_skeleton_get_type
+mm_gdbus_modem_firmware_get_type
+mm_gdbus_modem_firmware_proxy_get_type
+mm_gdbus_modem_firmware_skeleton_get_type
+mm_gdbus_modem_get_type
+mm_gdbus_modem_location_get_type
+mm_gdbus_modem_location_proxy_get_type
+mm_gdbus_modem_location_skeleton_get_type
+mm_gdbus_modem_messaging_get_type
+mm_gdbus_modem_messaging_proxy_get_type
+mm_gdbus_modem_messaging_skeleton_get_type
+mm_gdbus_modem_oma_get_type
+mm_gdbus_modem_oma_proxy_get_type
+mm_gdbus_modem_oma_skeleton_get_type
+mm_gdbus_modem_proxy_get_type
+mm_gdbus_modem_signal_get_type
+mm_gdbus_modem_signal_proxy_get_type
+mm_gdbus_modem_signal_skeleton_get_type
+mm_gdbus_modem_simple_get_type
+mm_gdbus_modem_simple_proxy_get_type
+mm_gdbus_modem_simple_skeleton_get_type
+mm_gdbus_modem_skeleton_get_type
+mm_gdbus_modem_time_get_type
+mm_gdbus_modem_time_proxy_get_type
+mm_gdbus_modem_time_skeleton_get_type
+mm_gdbus_modem_voice_get_type
+mm_gdbus_modem_voice_proxy_get_type
+mm_gdbus_modem_voice_skeleton_get_type
+mm_gdbus_object_get_type
+mm_gdbus_object_manager_client_get_type
+mm_gdbus_object_proxy_get_type
+mm_gdbus_object_skeleton_get_type
+mm_gdbus_org_freedesktop_modem_manager1_get_type
+mm_gdbus_org_freedesktop_modem_manager1_proxy_get_type
+mm_gdbus_org_freedesktop_modem_manager1_skeleton_get_type
+mm_gdbus_sim_get_type
+mm_gdbus_sim_proxy_get_type
+mm_gdbus_sim_skeleton_get_type
+mm_gdbus_sms_get_type
+mm_gdbus_sms_proxy_get_type
+mm_gdbus_sms_skeleton_get_type
+mm_kernel_event_properties_get_type
+mm_location_3gpp_get_type
+mm_location_cdma_bs_get_type
+mm_location_gps_nmea_get_type
+mm_location_gps_raw_get_type
+mm_manager_get_type
+mm_message_error_get_type
+mm_mobile_equipment_error_get_type
+mm_modem_3gpp_eps_ue_mode_operation_get_type
+mm_modem_3gpp_facility_get_type
+mm_modem_3gpp_get_type
+mm_modem_3gpp_network_availability_get_type
+mm_modem_3gpp_registration_state_get_type
+mm_modem_3gpp_subscription_state_get_type
+mm_modem_3gpp_ussd_get_type
+mm_modem_3gpp_ussd_session_state_get_type
+mm_modem_access_technology_get_type
+mm_modem_band_get_type
+mm_modem_capability_get_type
+mm_modem_cdma_activation_state_get_type
+mm_modem_cdma_get_type
+mm_modem_cdma_registration_state_get_type
+mm_modem_cdma_rm_protocol_get_type
+mm_modem_contacts_storage_get_type
+mm_modem_firmware_get_type
+mm_modem_firmware_update_method_get_type
+mm_modem_get_type
+mm_modem_location_assistance_data_type_get_type
+mm_modem_location_get_type
+mm_modem_location_source_get_type
+mm_modem_lock_get_type
+mm_modem_messaging_get_type
+mm_modem_mode_get_type
+mm_modem_oma_get_type
+mm_modem_port_type_get_type
+mm_modem_power_state_get_type
+mm_modem_signal_get_type
+mm_modem_simple_get_type
+mm_modem_state_change_reason_get_type
+mm_modem_state_failed_reason_get_type
+mm_modem_state_get_type
+mm_modem_time_get_type
+mm_modem_voice_get_type
+mm_network_timezone_get_type
+mm_object_get_type
+mm_oma_feature_get_type
+mm_oma_session_state_failed_reason_get_type
+mm_oma_session_state_get_type
+mm_oma_session_type_get_type
+mm_pco_get_type
+mm_serial_error_get_type
+mm_signal_get_type
+mm_sim_get_type
+mm_simple_connect_properties_get_type
+mm_simple_status_get_type
+mm_sms_cdma_service_category_get_type
+mm_sms_cdma_teleservice_id_get_type
+mm_sms_delivery_state_get_type
+mm_sms_get_type
+mm_sms_pdu_type_get_type
+mm_sms_properties_get_type
+mm_sms_state_get_type
+mm_sms_storage_get_type
+mm_sms_validity_type_get_type
+mm_unlock_retries_get_type
diff --git a/examples/Makefile.in b/examples/Makefile.in
new file mode 100644
index 00000000..734885a9
--- /dev/null
+++ b/examples/Makefile.in
@@ -0,0 +1,702 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = examples
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = modem-watcher-python modem-watcher-javascript sms-python
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu examples/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/examples/modem-watcher-javascript/Makefile.in b/examples/modem-watcher-javascript/Makefile.in
new file mode 100644
index 00000000..c2ee1e3f
--- /dev/null
+++ b/examples/modem-watcher-javascript/Makefile.in
@@ -0,0 +1,526 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = examples/modem-watcher-javascript
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+ main.js \
+ modemWatcher.js \
+ modem-watcher-javascript
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/modem-watcher-javascript/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu examples/modem-watcher-javascript/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/examples/modem-watcher-python/Makefile.in b/examples/modem-watcher-python/Makefile.in
new file mode 100644
index 00000000..2accafae
--- /dev/null
+++ b/examples/modem-watcher-python/Makefile.in
@@ -0,0 +1,525 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = examples/modem-watcher-python
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+ ModemWatcher.py \
+ modem-watcher-python
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/modem-watcher-python/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu examples/modem-watcher-python/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/examples/sms-python/Makefile.in b/examples/sms-python/Makefile.in
new file mode 100644
index 00000000..f179adf8
--- /dev/null
+++ b/examples/sms-python/Makefile.in
@@ -0,0 +1,525 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = examples/sms-python
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+ sms-python \
+ $(NULL)
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/sms-python/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu examples/sms-python/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/include/Makefile.in b/include/Makefile.in
new file mode 100644
index 00000000..f8346d65
--- /dev/null
+++ b/include/Makefile.in
@@ -0,0 +1,666 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = include
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = ModemManager-version.h
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(includedir)"
+HEADERS = $(include_HEADERS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(srcdir)/ModemManager-version.h.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@/ModemManager
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+XSLTPROC = xsltproc --xinclude --nonet
+XMLS = $(wildcard $(top_srcdir)/introspection/*.xml)
+include_HEADERS = \
+ ModemManager-names.h \
+ ModemManager-enums.h \
+ ModemManager-errors.h \
+ ModemManager-compat.h \
+ ModemManager-version.h \
+ ModemManager.h
+
+CLEANFILES = \
+ ModemManager-names.h
+
+EXTRA_DIST = \
+ ModemManager-tags.h \
+ ModemManager-version.h.in
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu include/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+ModemManager-version.h: $(top_builddir)/config.status $(srcdir)/ModemManager-version.h.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-includeHEADERS: $(include_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
+ done
+
+uninstall-includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(HEADERS)
+installdirs:
+ for dir in "$(DESTDIR)$(includedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-includeHEADERS
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-includeHEADERS
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
+ clean-libtool cscopelist-am ctags ctags-am distclean \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-includeHEADERS install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am \
+ uninstall-includeHEADERS
+
+.PRECIOUS: Makefile
+
+
+ModemManager-names.h: $(XMLS) $(top_srcdir)/build-aux/header-generator.xsl
+ $(AM_V_GEN) $(XSLTPROC) $(top_srcdir)/build-aux/header-generator.xsl $(top_srcdir)/introspection/all.xml > $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/include/ModemManager-names.h b/include/ModemManager-names.h
new file mode 100644
index 00000000..0e8c15b1
--- /dev/null
+++ b/include/ModemManager-names.h
@@ -0,0 +1,313 @@
+
+/* Generated Header file do not edit */
+
+/*
+ * ModemManager Interface Specification
+ * Version 0.6
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA.
+ *
+ * Copyright (C) 2008 - 2009 Novell, Inc.
+ * Copyright (C) 2009 - 2012 Red Hat, Inc.
+ * Copyright (C) 2011 - 2012 Google, Inc.
+ * Copyright (C) 2015 - Riccardo Vangelisti riccardo.vangelisti@sadel.it
+ * Copyright (C) 2015 - Marco Bascetta marco.bascetta@sadel.it
+ */
+
+#ifndef _MODEM_MANAGER_NAMES_H_
+#define _MODEM_MANAGER_NAMES_H_
+
+#define MM_DBUS_PATH "/org/freedesktop/ModemManager1"
+#define MM_DBUS_SERVICE "org.freedesktop.ModemManager1"
+
+/* Prefix for object paths */
+#define MM_DBUS_MODEM_PREFIX MM_DBUS_PATH "/Modem"
+#define MM_DBUS_BEARER_PREFIX MM_DBUS_PATH "/Bearer"
+#define MM_DBUS_SIM_PREFIX MM_DBUS_PATH "/SIM"
+#define MM_DBUS_SMS_PREFIX MM_DBUS_PATH "/SMS"
+#define MM_DBUS_CALL_PREFIX MM_DBUS_PATH "/Call"
+
+/* Prefix for DBus errors */
+#define MM_DBUS_ERROR_PREFIX "org.freedesktop.ModemManager1.Error"
+
+/**************
+ * Interfaces *
+ **************/
+
+#define MM_DBUS_INTERFACE "org.freedesktop.ModemManager1"
+#define MM_DBUS_INTERFACE_SIM "org.freedesktop.ModemManager1.Sim"
+#define MM_DBUS_INTERFACE_BEARER "org.freedesktop.ModemManager1.Bearer"
+#define MM_DBUS_INTERFACE_SMS "org.freedesktop.ModemManager1.Sms"
+#define MM_DBUS_INTERFACE_CALL "org.freedesktop.ModemManager1.Call"
+#define MM_DBUS_INTERFACE_MODEM "org.freedesktop.ModemManager1.Modem"
+#define MM_DBUS_INTERFACE_MODEM_VOICE "org.freedesktop.ModemManager1.Modem.Voice"
+#define MM_DBUS_INTERFACE_MODEM_MODEM3GPP "org.freedesktop.ModemManager1.Modem.Modem3gpp"
+#define MM_DBUS_INTERFACE_MODEM_MODEM3GPP_USSD "org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd"
+#define MM_DBUS_INTERFACE_MODEM_MODEMCDMA "org.freedesktop.ModemManager1.Modem.ModemCdma"
+#define MM_DBUS_INTERFACE_MODEM_MESSAGING "org.freedesktop.ModemManager1.Modem.Messaging"
+#define MM_DBUS_INTERFACE_MODEM_LOCATION "org.freedesktop.ModemManager1.Modem.Location"
+#define MM_DBUS_INTERFACE_MODEM_TIME "org.freedesktop.ModemManager1.Modem.Time"
+#define MM_DBUS_INTERFACE_MODEM_FIRMWARE "org.freedesktop.ModemManager1.Modem.Firmware"
+#define MM_DBUS_INTERFACE_MODEM_SIGNAL "org.freedesktop.ModemManager1.Modem.Signal"
+#define MM_DBUS_INTERFACE_MODEM_OMA "org.freedesktop.ModemManager1.Modem.Oma"
+
+/******************************
+ * Methods/Signals/Properties *
+ ******************************/
+
+/*
+ * Interface 'org.freedesktop.ModemManager1'
+ */
+
+#define MM_MANAGER_METHOD_SCANDEVICES "ScanDevices"
+#define MM_MANAGER_METHOD_SETLOGGING "SetLogging"
+#define MM_MANAGER_METHOD_REPORTKERNELEVENT "ReportKernelEvent"
+#define MM_MANAGER_METHOD_INHIBITDEVICE "InhibitDevice"
+#define MM_MANAGER_PROPERTY_VERSION "Version"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Sim'
+ */
+
+#define MM_SIM_METHOD_SENDPIN "SendPin"
+#define MM_SIM_METHOD_SENDPUK "SendPuk"
+#define MM_SIM_METHOD_ENABLEPIN "EnablePin"
+#define MM_SIM_METHOD_CHANGEPIN "ChangePin"
+#define MM_SIM_PROPERTY_SIMIDENTIFIER "SimIdentifier"
+#define MM_SIM_PROPERTY_IMSI "Imsi"
+#define MM_SIM_PROPERTY_OPERATORIDENTIFIER "OperatorIdentifier"
+#define MM_SIM_PROPERTY_OPERATORNAME "OperatorName"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Bearer'
+ */
+
+#define MM_BEARER_METHOD_CONNECT "Connect"
+#define MM_BEARER_METHOD_DISCONNECT "Disconnect"
+#define MM_BEARER_PROPERTY_INTERFACE "Interface"
+#define MM_BEARER_PROPERTY_CONNECTED "Connected"
+#define MM_BEARER_PROPERTY_SUSPENDED "Suspended"
+#define MM_BEARER_PROPERTY_IP4CONFIG "Ip4Config"
+#define MM_BEARER_PROPERTY_IP6CONFIG "Ip6Config"
+#define MM_BEARER_PROPERTY_STATS "Stats"
+#define MM_BEARER_PROPERTY_IPTIMEOUT "IpTimeout"
+#define MM_BEARER_PROPERTY_BEARERTYPE "BearerType"
+#define MM_BEARER_PROPERTY_PROPERTIES "Properties"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Sms'
+ */
+
+#define MM_SMS_METHOD_SEND "Send"
+#define MM_SMS_METHOD_STORE "Store"
+#define MM_SMS_PROPERTY_STATE "State"
+#define MM_SMS_PROPERTY_PDUTYPE "PduType"
+#define MM_SMS_PROPERTY_NUMBER "Number"
+#define MM_SMS_PROPERTY_TEXT "Text"
+#define MM_SMS_PROPERTY_DATA "Data"
+#define MM_SMS_PROPERTY_SMSC "SMSC"
+#define MM_SMS_PROPERTY_VALIDITY "Validity"
+#define MM_SMS_PROPERTY_CLASS "Class"
+#define MM_SMS_PROPERTY_TELESERVICEID "TeleserviceId"
+#define MM_SMS_PROPERTY_SERVICECATEGORY "ServiceCategory"
+#define MM_SMS_PROPERTY_DELIVERYREPORTREQUEST "DeliveryReportRequest"
+#define MM_SMS_PROPERTY_MESSAGEREFERENCE "MessageReference"
+#define MM_SMS_PROPERTY_TIMESTAMP "Timestamp"
+#define MM_SMS_PROPERTY_DISCHARGETIMESTAMP "DischargeTimestamp"
+#define MM_SMS_PROPERTY_DELIVERYSTATE "DeliveryState"
+#define MM_SMS_PROPERTY_STORAGE "Storage"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Call'
+ */
+
+#define MM_CALL_METHOD_START "Start"
+#define MM_CALL_METHOD_ACCEPT "Accept"
+#define MM_CALL_METHOD_HANGUP "Hangup"
+#define MM_CALL_METHOD_SENDDTMF "SendDtmf"
+#define MM_CALL_SIGNAL_DTMFRECEIVED "DtmfReceived"
+#define MM_CALL_SIGNAL_STATECHANGED "StateChanged"
+#define MM_CALL_PROPERTY_STATE "State"
+#define MM_CALL_PROPERTY_STATEREASON "StateReason"
+#define MM_CALL_PROPERTY_DIRECTION "Direction"
+#define MM_CALL_PROPERTY_NUMBER "Number"
+#define MM_CALL_PROPERTY_AUDIOPORT "AudioPort"
+#define MM_CALL_PROPERTY_AUDIOFORMAT "AudioFormat"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem'
+ */
+
+#define MM_MODEM_METHOD_ENABLE "Enable"
+#define MM_MODEM_METHOD_LISTBEARERS "ListBearers"
+#define MM_MODEM_METHOD_CREATEBEARER "CreateBearer"
+#define MM_MODEM_METHOD_DELETEBEARER "DeleteBearer"
+#define MM_MODEM_METHOD_RESET "Reset"
+#define MM_MODEM_METHOD_FACTORYRESET "FactoryReset"
+#define MM_MODEM_METHOD_SETPOWERSTATE "SetPowerState"
+#define MM_MODEM_METHOD_SETCURRENTCAPABILITIES "SetCurrentCapabilities"
+#define MM_MODEM_METHOD_SETCURRENTMODES "SetCurrentModes"
+#define MM_MODEM_METHOD_SETCURRENTBANDS "SetCurrentBands"
+#define MM_MODEM_METHOD_COMMAND "Command"
+#define MM_MODEM_SIGNAL_STATECHANGED "StateChanged"
+#define MM_MODEM_PROPERTY_SIM "Sim"
+#define MM_MODEM_PROPERTY_BEARERS "Bearers"
+#define MM_MODEM_PROPERTY_SUPPORTEDCAPABILITIES "SupportedCapabilities"
+#define MM_MODEM_PROPERTY_CURRENTCAPABILITIES "CurrentCapabilities"
+#define MM_MODEM_PROPERTY_MAXBEARERS "MaxBearers"
+#define MM_MODEM_PROPERTY_MAXACTIVEBEARERS "MaxActiveBearers"
+#define MM_MODEM_PROPERTY_MANUFACTURER "Manufacturer"
+#define MM_MODEM_PROPERTY_MODEL "Model"
+#define MM_MODEM_PROPERTY_REVISION "Revision"
+#define MM_MODEM_PROPERTY_HARDWAREREVISION "HardwareRevision"
+#define MM_MODEM_PROPERTY_DEVICEIDENTIFIER "DeviceIdentifier"
+#define MM_MODEM_PROPERTY_DEVICE "Device"
+#define MM_MODEM_PROPERTY_DRIVERS "Drivers"
+#define MM_MODEM_PROPERTY_PLUGIN "Plugin"
+#define MM_MODEM_PROPERTY_PRIMARYPORT "PrimaryPort"
+#define MM_MODEM_PROPERTY_PORTS "Ports"
+#define MM_MODEM_PROPERTY_EQUIPMENTIDENTIFIER "EquipmentIdentifier"
+#define MM_MODEM_PROPERTY_UNLOCKREQUIRED "UnlockRequired"
+#define MM_MODEM_PROPERTY_UNLOCKRETRIES "UnlockRetries"
+#define MM_MODEM_PROPERTY_STATE "State"
+#define MM_MODEM_PROPERTY_STATEFAILEDREASON "StateFailedReason"
+#define MM_MODEM_PROPERTY_ACCESSTECHNOLOGIES "AccessTechnologies"
+#define MM_MODEM_PROPERTY_SIGNALQUALITY "SignalQuality"
+#define MM_MODEM_PROPERTY_OWNNUMBERS "OwnNumbers"
+#define MM_MODEM_PROPERTY_POWERSTATE "PowerState"
+#define MM_MODEM_PROPERTY_SUPPORTEDMODES "SupportedModes"
+#define MM_MODEM_PROPERTY_CURRENTMODES "CurrentModes"
+#define MM_MODEM_PROPERTY_SUPPORTEDBANDS "SupportedBands"
+#define MM_MODEM_PROPERTY_CURRENTBANDS "CurrentBands"
+#define MM_MODEM_PROPERTY_SUPPORTEDIPFAMILIES "SupportedIpFamilies"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.Voice'
+ */
+
+#define MM_MODEM_VOICE_METHOD_LISTCALLS "ListCalls"
+#define MM_MODEM_VOICE_METHOD_DELETECALL "DeleteCall"
+#define MM_MODEM_VOICE_METHOD_CREATECALL "CreateCall"
+#define MM_MODEM_VOICE_SIGNAL_CALLADDED "CallAdded"
+#define MM_MODEM_VOICE_SIGNAL_CALLDELETED "CallDeleted"
+#define MM_MODEM_VOICE_PROPERTY_CALLS "Calls"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.Modem3gpp'
+ */
+
+#define MM_MODEM_MODEM3GPP_METHOD_REGISTER "Register"
+#define MM_MODEM_MODEM3GPP_METHOD_SCAN "Scan"
+#define MM_MODEM_MODEM3GPP_METHOD_SETEPSUEMODEOPERATION "SetEpsUeModeOperation"
+#define MM_MODEM_MODEM3GPP_METHOD_SETINITIALEPSBEARERSETTINGS "SetInitialEpsBearerSettings"
+#define MM_MODEM_MODEM3GPP_PROPERTY_IMEI "Imei"
+#define MM_MODEM_MODEM3GPP_PROPERTY_REGISTRATIONSTATE "RegistrationState"
+#define MM_MODEM_MODEM3GPP_PROPERTY_OPERATORCODE "OperatorCode"
+#define MM_MODEM_MODEM3GPP_PROPERTY_OPERATORNAME "OperatorName"
+#define MM_MODEM_MODEM3GPP_PROPERTY_ENABLEDFACILITYLOCKS "EnabledFacilityLocks"
+#define MM_MODEM_MODEM3GPP_PROPERTY_SUBSCRIPTIONSTATE "SubscriptionState"
+#define MM_MODEM_MODEM3GPP_PROPERTY_EPSUEMODEOPERATION "EpsUeModeOperation"
+#define MM_MODEM_MODEM3GPP_PROPERTY_PCO "Pco"
+#define MM_MODEM_MODEM3GPP_PROPERTY_INITIALEPSBEARER "InitialEpsBearer"
+#define MM_MODEM_MODEM3GPP_PROPERTY_INITIALEPSBEARERSETTINGS "InitialEpsBearerSettings"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd'
+ */
+
+#define MM_MODEM_MODEM3GPP_USSD_METHOD_INITIATE "Initiate"
+#define MM_MODEM_MODEM3GPP_USSD_METHOD_RESPOND "Respond"
+#define MM_MODEM_MODEM3GPP_USSD_METHOD_CANCEL "Cancel"
+#define MM_MODEM_MODEM3GPP_USSD_PROPERTY_STATE "State"
+#define MM_MODEM_MODEM3GPP_USSD_PROPERTY_NETWORKNOTIFICATION "NetworkNotification"
+#define MM_MODEM_MODEM3GPP_USSD_PROPERTY_NETWORKREQUEST "NetworkRequest"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.ModemCdma'
+ */
+
+#define MM_MODEM_MODEMCDMA_METHOD_ACTIVATE "Activate"
+#define MM_MODEM_MODEMCDMA_METHOD_ACTIVATEMANUAL "ActivateManual"
+#define MM_MODEM_MODEMCDMA_SIGNAL_ACTIVATIONSTATECHANGED "ActivationStateChanged"
+#define MM_MODEM_MODEMCDMA_PROPERTY_ACTIVATIONSTATE "ActivationState"
+#define MM_MODEM_MODEMCDMA_PROPERTY_MEID "Meid"
+#define MM_MODEM_MODEMCDMA_PROPERTY_ESN "Esn"
+#define MM_MODEM_MODEMCDMA_PROPERTY_SID "Sid"
+#define MM_MODEM_MODEMCDMA_PROPERTY_NID "Nid"
+#define MM_MODEM_MODEMCDMA_PROPERTY_CDMA1XREGISTRATIONSTATE "Cdma1xRegistrationState"
+#define MM_MODEM_MODEMCDMA_PROPERTY_EVDOREGISTRATIONSTATE "EvdoRegistrationState"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.Messaging'
+ */
+
+#define MM_MODEM_MESSAGING_METHOD_LIST "List"
+#define MM_MODEM_MESSAGING_METHOD_DELETE "Delete"
+#define MM_MODEM_MESSAGING_METHOD_CREATE "Create"
+#define MM_MODEM_MESSAGING_SIGNAL_ADDED "Added"
+#define MM_MODEM_MESSAGING_SIGNAL_DELETED "Deleted"
+#define MM_MODEM_MESSAGING_PROPERTY_MESSAGES "Messages"
+#define MM_MODEM_MESSAGING_PROPERTY_SUPPORTEDSTORAGES "SupportedStorages"
+#define MM_MODEM_MESSAGING_PROPERTY_DEFAULTSTORAGE "DefaultStorage"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.Location'
+ */
+
+#define MM_MODEM_LOCATION_METHOD_SETUP "Setup"
+#define MM_MODEM_LOCATION_METHOD_GETLOCATION "GetLocation"
+#define MM_MODEM_LOCATION_METHOD_SETSUPLSERVER "SetSuplServer"
+#define MM_MODEM_LOCATION_METHOD_INJECTASSISTANCEDATA "InjectAssistanceData"
+#define MM_MODEM_LOCATION_METHOD_SETGPSREFRESHRATE "SetGpsRefreshRate"
+#define MM_MODEM_LOCATION_PROPERTY_CAPABILITIES "Capabilities"
+#define MM_MODEM_LOCATION_PROPERTY_SUPPORTEDASSISTANCEDATA "SupportedAssistanceData"
+#define MM_MODEM_LOCATION_PROPERTY_ENABLED "Enabled"
+#define MM_MODEM_LOCATION_PROPERTY_SIGNALSLOCATION "SignalsLocation"
+#define MM_MODEM_LOCATION_PROPERTY_LOCATION "Location"
+#define MM_MODEM_LOCATION_PROPERTY_SUPLSERVER "SuplServer"
+#define MM_MODEM_LOCATION_PROPERTY_ASSISTANCEDATASERVERS "AssistanceDataServers"
+#define MM_MODEM_LOCATION_PROPERTY_GPSREFRESHRATE "GpsRefreshRate"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.Time'
+ */
+
+#define MM_MODEM_TIME_METHOD_GETNETWORKTIME "GetNetworkTime"
+#define MM_MODEM_TIME_SIGNAL_NETWORKTIMECHANGED "NetworkTimeChanged"
+#define MM_MODEM_TIME_PROPERTY_NETWORKTIMEZONE "NetworkTimezone"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.Firmware'
+ */
+
+#define MM_MODEM_FIRMWARE_METHOD_LIST "List"
+#define MM_MODEM_FIRMWARE_METHOD_SELECT "Select"
+#define MM_MODEM_FIRMWARE_PROPERTY_UPDATESETTINGS "UpdateSettings"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.Signal'
+ */
+
+#define MM_MODEM_SIGNAL_METHOD_SETUP "Setup"
+#define MM_MODEM_SIGNAL_PROPERTY_RATE "Rate"
+#define MM_MODEM_SIGNAL_PROPERTY_CDMA "Cdma"
+#define MM_MODEM_SIGNAL_PROPERTY_EVDO "Evdo"
+#define MM_MODEM_SIGNAL_PROPERTY_GSM "Gsm"
+#define MM_MODEM_SIGNAL_PROPERTY_UMTS "Umts"
+#define MM_MODEM_SIGNAL_PROPERTY_LTE "Lte"
+/*
+ * Interface 'org.freedesktop.ModemManager1.Modem.Oma'
+ */
+
+#define MM_MODEM_OMA_METHOD_SETUP "Setup"
+#define MM_MODEM_OMA_METHOD_STARTCLIENTINITIATEDSESSION "StartClientInitiatedSession"
+#define MM_MODEM_OMA_METHOD_ACCEPTNETWORKINITIATEDSESSION "AcceptNetworkInitiatedSession"
+#define MM_MODEM_OMA_METHOD_CANCELSESSION "CancelSession"
+#define MM_MODEM_OMA_SIGNAL_SESSIONSTATECHANGED "SessionStateChanged"
+#define MM_MODEM_OMA_PROPERTY_FEATURES "Features"
+#define MM_MODEM_OMA_PROPERTY_PENDINGNETWORKINITIATEDSESSIONS "PendingNetworkInitiatedSessions"
+#define MM_MODEM_OMA_PROPERTY_SESSIONTYPE "SessionType"
+#define MM_MODEM_OMA_PROPERTY_SESSIONSTATE "SessionState"
+
+#endif /* _MODEM_MANAGER_NAMES_H_ */
+
+
diff --git a/include/ModemManager-version.h b/include/ModemManager-version.h
new file mode 100644
index 00000000..8e50c257
--- /dev/null
+++ b/include/ModemManager-version.h
@@ -0,0 +1,69 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
+/*
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA.
+ *
+ * Copyright (C) 2013 Lanedo GmbH
+ */
+
+#ifndef _MM_VERSION_H_
+#define _MM_VERSION_H_
+
+/**
+ * SECTION:mm-version
+ * @short_description: Version information in the API.
+ *
+ * This section defines types that are used to identify the ModemManager version.
+ **/
+
+/**
+ * MM_MAJOR_VERSION:
+ *
+ * Evaluates to the major version number of ModemManager which this source
+ * is compiled against.
+ */
+#define MM_MAJOR_VERSION (1)
+
+/**
+ * MM_MINOR_VERSION:
+ *
+ * Evaluates to the minor version number of ModemManager which this source
+ * is compiled against.
+ */
+#define MM_MINOR_VERSION (10)
+
+/**
+ * MM_MICRO_VERSION:
+ *
+ * Evaluates to the micro version number of ModemManager which this source
+ * compiled against.
+ */
+#define MM_MICRO_VERSION (0)
+
+/**
+ * MM_CHECK_VERSION:
+ * @major: major version (e.g. 1 for version 1.2.5)
+ * @minor: minor version (e.g. 2 for version 1.2.5)
+ * @micro: micro version (e.g. 5 for version 1.2.5)
+ *
+ * Returns: %TRUE if the version of the ModemManager header files
+ * is the same as or newer than the passed-in version.
+ */
+#define MM_CHECK_VERSION(major,minor,micro) \
+ (MM_MAJOR_VERSION > (major) || \
+ (MM_MAJOR_VERSION == (major) && MM_MINOR_VERSION > (minor)) || \
+ (MM_MAJOR_VERSION == (major) && MM_MINOR_VERSION == (minor) && MM_MICRO_VERSION >= (micro)))
+
+#endif /* _MM_VERSION_H_ */
diff --git a/install-sh b/install-sh
new file mode 100755
index 00000000..8175c640
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,518 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2018-03-11.20; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# 'make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+tab=' '
+nl='
+'
+IFS=" $tab$nl"
+
+# Set DOITPROG to "echo" to test this script.
+
+doit=${DOITPROG-}
+doit_exec=${doit:-exec}
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+is_target_a_directory=possibly
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t)
+ is_target_a_directory=always
+ dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
+
+ -T) is_target_a_directory=never;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+ if test -n "$dst_arg"; then
+ echo "$0: target directory not allowed when installing a directory." >&2
+ exit 1
+ fi
+fi
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call 'install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ if test $# -gt 1 || test "$is_target_a_directory" = always; then
+ if test ! -d "$dst_arg"; then
+ echo "$0: $dst_arg: Is not a directory." >&2
+ exit 1
+ fi
+ fi
+fi
+
+if test -z "$dir_arg"; then
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names problematic for 'test' and other utilities.
+ case $src in
+ -* | [=\(\)!]) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+ dst=$dst_arg
+
+ # If destination is a directory, append the input filename.
+ if test -d "$dst"; then
+ if test "$is_target_a_directory" = never; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dstbase=`basename "$src"`
+ case $dst in
+ */) dst=$dst$dstbase;;
+ *) dst=$dst/$dstbase;;
+ esac
+ dstdir_status=0
+ else
+ dstdir=`dirname "$dst"`
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ case $dstdir in
+ */) dstdirslash=$dstdir;;
+ *) dstdirslash=$dstdir/;;
+ esac
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ # Note that $RANDOM variable is not portable (e.g. dash); Use it
+ # here however when possible just to lower collision chance.
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+
+ trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ # Because "mkdir -p" follows existing symlinks and we likely work
+ # directly in world-writeable /tmp, make sure that the '$tmpdir'
+ # directory is successfully created first before we actually test
+ # 'mkdir -p' feature.
+ if (umask $mkdir_umask &&
+ $mkdirprog $mkdir_mode "$tmpdir" &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ test_tmpdir="$tmpdir/a"
+ ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ oIFS=$IFS
+ IFS=/
+ set -f
+ set fnord $dstdir
+ shift
+ set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=${dstdirslash}_inst.$$_
+ rmtmp=${dstdirslash}_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ set +f &&
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/introspection/Makefile.in b/introspection/Makefile.in
new file mode 100644
index 00000000..3c44b558
--- /dev/null
+++ b/introspection/Makefile.in
@@ -0,0 +1,785 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = introspection
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(xmldir)"
+DATA = $(xml_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = . tests
+
+# DBus Introspection files
+xmldir = $(datadir)/dbus-1/interfaces
+xml_DATA = \
+ org.freedesktop.ModemManager1.xml \
+ org.freedesktop.ModemManager1.Modem.xml \
+ org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
+ org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
+ org.freedesktop.ModemManager1.Modem.Simple.xml \
+ org.freedesktop.ModemManager1.Sim.xml \
+ org.freedesktop.ModemManager1.Bearer.xml \
+ org.freedesktop.ModemManager1.Modem.Location.xml \
+ org.freedesktop.ModemManager1.Modem.Messaging.xml \
+ org.freedesktop.ModemManager1.Sms.xml \
+ org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
+ org.freedesktop.ModemManager1.Modem.Firmware.xml \
+ org.freedesktop.ModemManager1.Modem.Oma.xml \
+ org.freedesktop.ModemManager1.Modem.Signal.xml \
+ org.freedesktop.ModemManager1.Modem.Time.xml \
+ org.freedesktop.ModemManager1.Modem.Voice.xml \
+ org.freedesktop.ModemManager1.Call.xml \
+ $(NULL)
+
+EXTRA_DIST = \
+ $(xml_DATA) \
+ all.xml \
+ $(NULL)
+
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu introspection/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu introspection/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-xmlDATA: $(xml_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(xml_DATA)'; test -n "$(xmldir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(xmldir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(xmldir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(xmldir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(xmldir)" || exit $$?; \
+ done
+
+uninstall-xmlDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(xml_DATA)'; test -n "$(xmldir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(xmldir)'; $(am__uninstall_files_from_dir)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(xmldir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-xmlDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-xmlDATA
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-xmlDATA installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-xmlDATA
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/introspection/tests/Makefile.in b/introspection/tests/Makefile.in
new file mode 100644
index 00000000..75dc3238
--- /dev/null
+++ b/introspection/tests/Makefile.in
@@ -0,0 +1,524 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = introspection/tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# DBus Introspection files
+EXTRA_DIST = org.freedesktop.ModemManager1.Test.xml
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu introspection/tests/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu introspection/tests/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml b/introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml
deleted file mode 100644
index 5c0b931c..00000000
--- a/introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 1.0 Interface Specification
-
- Copyright (C) 2008 Novell, Inc.
- Copyright (C) 2008-2013 Red Hat, Inc.
- Copyright (C) 2011-2013 Google, Inc.
- Copyright (C) 2011-2013 Lanedo GmbH
--->
-
-<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
-
- <!--
- org.freedesktop.ModemManager1.Modem.Contacts:
- @short_description: The ModemManager Contacts interface.
-
- This interface provides access to contacts stored in various locations,
- including SIM cards, device storage, and other locations. Operations
- generally operate on all contacts regardless of their actual storage
- location.
-
- Contacts are referred to by index numbers, which are internal to
- ModemManager and do not represent indexes of SIM cards or the device.
- Indexes may not be contiguous.
- -->
- <interface name="org.freedesktop.ModemManager1.Modem.Contacts">
-
- <!--
- Add:
- @properties: Dictionary of properties describing the contact.
- @index: The index number of the new contact
-
- Add a new contact.
-
- If any of the property in @properties exceeds the modem's size limit,
- that property will be truncated to fit.
-
- Known properties are:
- <variablelist>
- <varlistentry><term><literal>"name"</literal></term>
- <listitem>
- Full name of the contact, given as a string value
- (signature <literal>"s"</literal>).
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>"number"</literal></term>
- <listitem>
- Telephone number, given as a string value
- (signature <literal>"s"</literal>).
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>"email"</literal></term>
- <listitem>
- Email address, given as a string value
- (signature <literal>"s"</literal>).
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>"group"</literal></term>
- <listitem>
- Group this contact belongs to, given as a string value
- (signature <literal>"s"</literal>).
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>"name2"</literal></term>
- <listitem>
- Additional contact name, given as a string value
- (signature <literal>"s"</literal>).
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>"number2"</literal></term>
- <listitem>
- Additional contact telephone number, given as a string value
- (signature <literal>"s"</literal>).
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>"hidden"</literal></term>
- <listitem>
- Boolean flag to specify whether this entry is hidden or not,
- (signature <literal>"b"</literal>).
- </listitem>
- </varlistentry>
- <varlistentry><term><literal>"storage"</literal></term>
- <listitem>
- Phonebook in which the contact is stored, given as a
- <link linkend="MMModemContactsStorage">MMModemContactsStorage</link>,
- (signature <literal>"u"</literal>).
- </listitem>
- </varlistentry>
- </variablelist>
-
- The @index number is an internal private number to ModemManager and does
- not correspond to the index of the contact in the modem or SIM itself.
- -->
- <method name="Add">
- <arg name="properties" type="a{sv}" direction="in" />
- <arg name="index" type="u" direction="out" />
- </method>
-
- <!--
- Delete:
- @index: The index of the contact to delete.
-
- Delete a contact.
- -->
- <method name="Delete">
- <arg name="index" type="u" direction="in" />
- </method>
-
- <!--
- Get:
- @index: The index of the contact.
- @properties: The properties of the contact.
-
- Retrieve a contact.
- -->
- <method name="Get">
- <arg name="index" type="u" direction="in" />
- <arg name="properties" type="a{sv}" direction="out" />
- </method>
-
- <!--
- List:
- @results: An array of dictionaries, each dictionary representing a contact.
-
- List all contacts.
- -->
- <method name="List">
- <arg name="results" type="aa{sv}" direction="out" />
- </method>
-
- <!--
- Find:
- @pattern: The pattern to search for.
- @results: An array of dictionaries, each dictionary representing a contact.
-
- Find a contact.
- -->
- <method name="Find">
- <arg name="pattern" type="s" direction="in" />
- <arg name="results" type="aa{sv}" direction="out" />
- </method>
-
- <!--
- GetCount:
- @count: The number of contacts.
-
- Get the number of contacts.
- -->
- <method name="GetCount">
- <arg name="count" type="u" direction="out" />
- </method>
-
- <!--
- Added:
- @index: The index number of the new contact.
- @properties: The properties of the contact.
-
- Emitted when a new contact is added.
- -->
- <signal name="Added">
- <arg name="index" type="u" />
- <arg name="properties" type="a{sv}" />
- </signal>
-
- <!--
- Deleted:
- @index: The index number of the now deleted contact.
-
- Emitted when a new contact has been deleted.
- -->
- <signal name="Deleted">
- <arg name="index" type="u" />
- </signal>
-
- </interface>
-</node>
diff --git a/libmm-glib/Makefile.in b/libmm-glib/Makefile.in
new file mode 100644
index 00000000..c90dcb33
--- /dev/null
+++ b/libmm-glib/Makefile.in
@@ -0,0 +1,1625 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@HAVE_INTROSPECTION_TRUE@am__append_1 = $(nodist_gir_DATA) $(nodist_typelib_DATA)
+subdir = libmm-glib
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(girdir)" \
+ "$(DESTDIR)$(typelibdir)" "$(DESTDIR)$(includedir)"
+LTLIBRARIES = $(lib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libmm_glib_la_DEPENDENCIES = \
+ ${top_builddir}/libmm-glib/generated/libmm-generated.la \
+ $(am__DEPENDENCIES_1)
+am_libmm_glib_la_OBJECTS = libmm_glib_la-mm-helper-types.lo \
+ libmm_glib_la-mm-manager.lo libmm_glib_la-mm-object.lo \
+ libmm_glib_la-mm-modem.lo libmm_glib_la-mm-modem-3gpp.lo \
+ libmm_glib_la-mm-modem-3gpp-ussd.lo \
+ libmm_glib_la-mm-modem-cdma.lo \
+ libmm_glib_la-mm-modem-simple.lo \
+ libmm_glib_la-mm-modem-location.lo \
+ libmm_glib_la-mm-modem-time.lo \
+ libmm_glib_la-mm-modem-firmware.lo \
+ libmm_glib_la-mm-modem-signal.lo libmm_glib_la-mm-modem-oma.lo \
+ libmm_glib_la-mm-sim.lo libmm_glib_la-mm-sms.lo \
+ libmm_glib_la-mm-modem-messaging.lo \
+ libmm_glib_la-mm-modem-voice.lo libmm_glib_la-mm-call.lo \
+ libmm_glib_la-mm-bearer.lo libmm_glib_la-mm-common-helpers.lo \
+ libmm_glib_la-mm-simple-status.lo \
+ libmm_glib_la-mm-simple-connect-properties.lo \
+ libmm_glib_la-mm-bearer-properties.lo \
+ libmm_glib_la-mm-sms-properties.lo \
+ libmm_glib_la-mm-call-properties.lo \
+ libmm_glib_la-mm-bearer-ip-config.lo \
+ libmm_glib_la-mm-bearer-stats.lo \
+ libmm_glib_la-mm-location-3gpp.lo \
+ libmm_glib_la-mm-location-gps-raw.lo \
+ libmm_glib_la-mm-location-gps-nmea.lo \
+ libmm_glib_la-mm-location-cdma-bs.lo \
+ libmm_glib_la-mm-unlock-retries.lo \
+ libmm_glib_la-mm-network-timezone.lo \
+ libmm_glib_la-mm-firmware-properties.lo \
+ libmm_glib_la-mm-firmware-update-settings.lo \
+ libmm_glib_la-mm-cdma-manual-activation-properties.lo \
+ libmm_glib_la-mm-signal.lo \
+ libmm_glib_la-mm-kernel-event-properties.lo \
+ libmm_glib_la-mm-pco.lo libmm_glib_la-mm-call-audio-format.lo
+libmm_glib_la_OBJECTS = $(am_libmm_glib_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libmm_glib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libmm_glib_la_CFLAGS) \
+ $(CFLAGS) $(libmm_glib_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = \
+ ./$(DEPDIR)/libmm_glib_la-mm-bearer-ip-config.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-bearer-properties.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-bearer-stats.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-bearer.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-call-audio-format.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-call-properties.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-call.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-cdma-manual-activation-properties.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-common-helpers.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-firmware-properties.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-firmware-update-settings.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-helper-types.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-kernel-event-properties.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-location-3gpp.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-location-cdma-bs.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-location-gps-nmea.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-location-gps-raw.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-manager.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-3gpp-ussd.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-3gpp.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-cdma.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-firmware.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-location.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-messaging.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-oma.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-signal.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-simple.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-time.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem-voice.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-modem.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-network-timezone.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-object.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-pco.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-signal.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-sim.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-simple-connect-properties.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-simple-status.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-sms-properties.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-sms.Plo \
+ ./$(DEPDIR)/libmm_glib_la-mm-unlock-retries.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libmm_glib_la_SOURCES)
+DIST_SOURCES = $(libmm_glib_la_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(nodist_gir_DATA) $(nodist_typelib_DATA)
+HEADERS = $(include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@/libmm-glib
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = generated . tests
+AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+lib_LTLIBRARIES = libmm-glib.la
+libmm_glib_la_SOURCES = \
+ libmm-glib.h \
+ mm-helpers.h \
+ mm-helper-types.h \
+ mm-helper-types.c \
+ mm-manager.h \
+ mm-manager.c \
+ mm-object.h \
+ mm-object.c \
+ mm-modem.h \
+ mm-modem.c \
+ mm-modem-3gpp.h \
+ mm-modem-3gpp.c \
+ mm-modem-3gpp-ussd.h \
+ mm-modem-3gpp-ussd.c \
+ mm-modem-cdma.h \
+ mm-modem-cdma.c \
+ mm-modem-simple.h \
+ mm-modem-simple.c \
+ mm-modem-location.h \
+ mm-modem-location.c \
+ mm-modem-time.h \
+ mm-modem-time.c \
+ mm-modem-firmware.h \
+ mm-modem-firmware.c \
+ mm-modem-signal.h \
+ mm-modem-signal.c \
+ mm-modem-oma.h \
+ mm-modem-oma.c \
+ mm-sim.h \
+ mm-sim.c \
+ mm-sms.h \
+ mm-sms.c \
+ mm-modem-messaging.h \
+ mm-modem-messaging.c \
+ mm-modem-voice.h \
+ mm-modem-voice.c \
+ mm-call.h \
+ mm-call.c \
+ mm-bearer.h \
+ mm-bearer.c \
+ mm-common-helpers.h \
+ mm-common-helpers.c \
+ mm-simple-status.h \
+ mm-simple-status.c \
+ mm-simple-connect-properties.h \
+ mm-simple-connect-properties.c \
+ mm-bearer-properties.h \
+ mm-bearer-properties.c \
+ mm-sms-properties.h \
+ mm-sms-properties.c \
+ mm-call-properties.h \
+ mm-call-properties.c \
+ mm-bearer-ip-config.h \
+ mm-bearer-ip-config.c \
+ mm-bearer-stats.h \
+ mm-bearer-stats.c \
+ mm-location-common.h \
+ mm-location-3gpp.h \
+ mm-location-3gpp.c \
+ mm-location-gps-raw.h \
+ mm-location-gps-raw.c \
+ mm-location-gps-nmea.h \
+ mm-location-gps-nmea.c \
+ mm-location-cdma-bs.h \
+ mm-location-cdma-bs.c \
+ mm-unlock-retries.h \
+ mm-unlock-retries.c \
+ mm-network-timezone.h \
+ mm-network-timezone.c \
+ mm-firmware-properties.h \
+ mm-firmware-properties.c \
+ mm-firmware-update-settings.h \
+ mm-firmware-update-settings.c \
+ mm-cdma-manual-activation-properties.h \
+ mm-cdma-manual-activation-properties.c \
+ mm-signal.h \
+ mm-signal.c \
+ mm-kernel-event-properties.h \
+ mm-kernel-event-properties.c \
+ mm-pco.h \
+ mm-pco.c \
+ mm-call-audio-format.h \
+ mm-call-audio-format.c \
+ $(NULL)
+
+libmm_glib_la_CPPFLAGS = \
+ -I$(srcdir) \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
+ -I${top_srcdir}/libmm-glib/generated \
+ -I${top_builddir}/libmm-glib/generated \
+ -DLIBMM_GLIB_COMPILATION \
+ $(AM_CPPFLAGS) \
+ $(NULL)
+
+libmm_glib_la_CFLAGS = \
+ $(LIBMM_GLIB_CFLAGS) \
+ $(AM_CFLAGS) \
+ $(NULL)
+
+libmm_glib_la_LIBADD = \
+ ${top_builddir}/libmm-glib/generated/libmm-generated.la \
+ $(LIBMM_GLIB_LIBS) \
+ $(NULL)
+
+libmm_glib_la_LDFLAGS = \
+ -version-info $(MM_GLIB_LT_CURRENT):$(MM_GLIB_LT_REVISION):$(MM_GLIB_LT_AGE) \
+ $(AM_LDFLAGS) \
+ $(NULL)
+
+include_HEADERS = \
+ libmm-glib.h \
+ mm-helper-types.h \
+ mm-manager.h \
+ mm-object.h \
+ mm-modem.h \
+ mm-modem-3gpp.h \
+ mm-modem-3gpp-ussd.h \
+ mm-modem-cdma.h \
+ mm-modem-messaging.h \
+ mm-modem-location.h \
+ mm-modem-time.h \
+ mm-modem-firmware.h \
+ mm-modem-signal.h \
+ mm-modem-oma.h \
+ mm-modem-simple.h \
+ mm-sim.h \
+ mm-sms.h \
+ mm-modem-voice.h \
+ mm-call.h \
+ mm-bearer.h \
+ mm-simple-status.h \
+ mm-simple-connect-properties.h \
+ mm-bearer-properties.h \
+ mm-sms-properties.h \
+ mm-call-properties.h \
+ mm-bearer-ip-config.h \
+ mm-bearer-stats.h \
+ mm-location-common.h \
+ mm-location-3gpp.h \
+ mm-location-gps-nmea.h \
+ mm-location-gps-raw.h \
+ mm-location-cdma-bs.h \
+ mm-unlock-retries.h \
+ mm-network-timezone.h \
+ mm-firmware-properties.h \
+ mm-firmware-update-settings.h \
+ mm-cdma-manual-activation-properties.h \
+ mm-signal.h \
+ mm-kernel-event-properties.h \
+ mm-pco.h \
+ mm-call-audio-format.h \
+ $(NULL)
+
+CLEANFILES = $(am__append_1)
+
+# Introspection
+@HAVE_INTROSPECTION_TRUE@GENERATED_H = \
+@HAVE_INTROSPECTION_TRUE@ mm-enums-types.h \
+@HAVE_INTROSPECTION_TRUE@ mm-errors-types.h \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-manager.h \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-sim.h \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-sms.h \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-bearer.h \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-modem.h \
+@HAVE_INTROSPECTION_TRUE@ $(NULL)
+
+@HAVE_INTROSPECTION_TRUE@GENERATED_C = \
+@HAVE_INTROSPECTION_TRUE@ mm-enums-types.c \
+@HAVE_INTROSPECTION_TRUE@ mm-errors-types.c \
+@HAVE_INTROSPECTION_TRUE@ mm-errors-quarks.c \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-manager.c \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-sim.c \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-sms.c \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-bearer.c \
+@HAVE_INTROSPECTION_TRUE@ mm-gdbus-modem.c \
+@HAVE_INTROSPECTION_TRUE@ $(NULL)
+
+@HAVE_INTROSPECTION_TRUE@PUBLIC_H = \
+@HAVE_INTROSPECTION_TRUE@ ModemManager-names.h \
+@HAVE_INTROSPECTION_TRUE@ ModemManager-version.h
+
+@HAVE_INTROSPECTION_TRUE@INTROSPECTION_GIRS = ModemManager-1.0.gir
+@HAVE_INTROSPECTION_TRUE@INTROSPECTION_SCANNER_ARGS = --warn-all
+@HAVE_INTROSPECTION_TRUE@INTROSPECTION_COMPILER_ARGS =
+@HAVE_INTROSPECTION_TRUE@ModemManager_1_0_gir_INCLUDES = GLib-2.0 GObject-2.0 Gio-2.0
+@HAVE_INTROSPECTION_TRUE@ModemManager_1_0_gir_CFLAGS = $(libmm_glib_la_CPPFLAGS)
+@HAVE_INTROSPECTION_TRUE@ModemManager_1_0_gir_LIBS = libmm-glib.la
+@HAVE_INTROSPECTION_TRUE@ModemManager_1_0_gir_EXPORT_PACKAGES = libmm-glib
+@HAVE_INTROSPECTION_TRUE@ModemManager_1_0_gir_SCANNERFLAGS = \
+@HAVE_INTROSPECTION_TRUE@ --c-include "libmm-glib.h" \
+@HAVE_INTROSPECTION_TRUE@ --identifier-prefix=MM \
+@HAVE_INTROSPECTION_TRUE@ --identifier-prefix=Mm \
+@HAVE_INTROSPECTION_TRUE@ --symbol-prefix=mm \
+@HAVE_INTROSPECTION_TRUE@ $(NULL)
+
+@HAVE_INTROSPECTION_TRUE@ModemManager_1_0_gir_FILES = \
+@HAVE_INTROSPECTION_TRUE@ $(include_HEADERS) \
+@HAVE_INTROSPECTION_TRUE@ $(filter-out %.h,$(libmm_glib_la_SOURCES)) \
+@HAVE_INTROSPECTION_TRUE@ $(filter %.c,$(libmm_glib_la_SOURCES)) \
+@HAVE_INTROSPECTION_TRUE@ $(addprefix generated/,$(GENERATED_H)) \
+@HAVE_INTROSPECTION_TRUE@ $(addprefix generated/,$(GENERATED_C)) \
+@HAVE_INTROSPECTION_TRUE@ $(addprefix ../include/,$(PUBLIC_H)) \
+@HAVE_INTROSPECTION_TRUE@ $(NULL)
+
+@HAVE_INTROSPECTION_TRUE@girdir = $(datadir)/gir-1.0
+@HAVE_INTROSPECTION_TRUE@nodist_gir_DATA = $(INTROSPECTION_GIRS)
+@HAVE_INTROSPECTION_TRUE@typelibdir = $(libdir)/girepository-1.0
+@HAVE_INTROSPECTION_TRUE@nodist_typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libmm-glib/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libmm-glib/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+ }
+
+uninstall-libLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+ done
+
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libmm-glib.la: $(libmm_glib_la_OBJECTS) $(libmm_glib_la_DEPENDENCIES) $(EXTRA_libmm_glib_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_glib_la_LINK) -rpath $(libdir) $(libmm_glib_la_OBJECTS) $(libmm_glib_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-bearer-ip-config.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-bearer-properties.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-bearer-stats.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-bearer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-call-audio-format.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-call-properties.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-call.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-cdma-manual-activation-properties.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-common-helpers.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-firmware-properties.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-firmware-update-settings.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-helper-types.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-kernel-event-properties.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-location-3gpp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-location-cdma-bs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-location-gps-nmea.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-location-gps-raw.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-manager.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-3gpp-ussd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-3gpp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-cdma.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-firmware.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-location.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-messaging.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-oma.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-signal.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-simple.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-time.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem-voice.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-modem.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-network-timezone.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-object.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-pco.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-signal.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-sim.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-simple-connect-properties.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-simple-status.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-sms-properties.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-sms.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_glib_la-mm-unlock-retries.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libmm_glib_la-mm-helper-types.lo: mm-helper-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-helper-types.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-helper-types.Tpo -c -o libmm_glib_la-mm-helper-types.lo `test -f 'mm-helper-types.c' || echo '$(srcdir)/'`mm-helper-types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-helper-types.Tpo $(DEPDIR)/libmm_glib_la-mm-helper-types.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-helper-types.c' object='libmm_glib_la-mm-helper-types.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-helper-types.lo `test -f 'mm-helper-types.c' || echo '$(srcdir)/'`mm-helper-types.c
+
+libmm_glib_la-mm-manager.lo: mm-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-manager.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-manager.Tpo -c -o libmm_glib_la-mm-manager.lo `test -f 'mm-manager.c' || echo '$(srcdir)/'`mm-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-manager.Tpo $(DEPDIR)/libmm_glib_la-mm-manager.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-manager.c' object='libmm_glib_la-mm-manager.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-manager.lo `test -f 'mm-manager.c' || echo '$(srcdir)/'`mm-manager.c
+
+libmm_glib_la-mm-object.lo: mm-object.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-object.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-object.Tpo -c -o libmm_glib_la-mm-object.lo `test -f 'mm-object.c' || echo '$(srcdir)/'`mm-object.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-object.Tpo $(DEPDIR)/libmm_glib_la-mm-object.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-object.c' object='libmm_glib_la-mm-object.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-object.lo `test -f 'mm-object.c' || echo '$(srcdir)/'`mm-object.c
+
+libmm_glib_la-mm-modem.lo: mm-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem.Tpo -c -o libmm_glib_la-mm-modem.lo `test -f 'mm-modem.c' || echo '$(srcdir)/'`mm-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem.Tpo $(DEPDIR)/libmm_glib_la-mm-modem.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem.c' object='libmm_glib_la-mm-modem.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem.lo `test -f 'mm-modem.c' || echo '$(srcdir)/'`mm-modem.c
+
+libmm_glib_la-mm-modem-3gpp.lo: mm-modem-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-3gpp.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-3gpp.Tpo -c -o libmm_glib_la-mm-modem-3gpp.lo `test -f 'mm-modem-3gpp.c' || echo '$(srcdir)/'`mm-modem-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-3gpp.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-3gpp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-3gpp.c' object='libmm_glib_la-mm-modem-3gpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-3gpp.lo `test -f 'mm-modem-3gpp.c' || echo '$(srcdir)/'`mm-modem-3gpp.c
+
+libmm_glib_la-mm-modem-3gpp-ussd.lo: mm-modem-3gpp-ussd.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-3gpp-ussd.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-3gpp-ussd.Tpo -c -o libmm_glib_la-mm-modem-3gpp-ussd.lo `test -f 'mm-modem-3gpp-ussd.c' || echo '$(srcdir)/'`mm-modem-3gpp-ussd.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-3gpp-ussd.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-3gpp-ussd.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-3gpp-ussd.c' object='libmm_glib_la-mm-modem-3gpp-ussd.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-3gpp-ussd.lo `test -f 'mm-modem-3gpp-ussd.c' || echo '$(srcdir)/'`mm-modem-3gpp-ussd.c
+
+libmm_glib_la-mm-modem-cdma.lo: mm-modem-cdma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-cdma.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-cdma.Tpo -c -o libmm_glib_la-mm-modem-cdma.lo `test -f 'mm-modem-cdma.c' || echo '$(srcdir)/'`mm-modem-cdma.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-cdma.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-cdma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-cdma.c' object='libmm_glib_la-mm-modem-cdma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-cdma.lo `test -f 'mm-modem-cdma.c' || echo '$(srcdir)/'`mm-modem-cdma.c
+
+libmm_glib_la-mm-modem-simple.lo: mm-modem-simple.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-simple.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-simple.Tpo -c -o libmm_glib_la-mm-modem-simple.lo `test -f 'mm-modem-simple.c' || echo '$(srcdir)/'`mm-modem-simple.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-simple.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-simple.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-simple.c' object='libmm_glib_la-mm-modem-simple.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-simple.lo `test -f 'mm-modem-simple.c' || echo '$(srcdir)/'`mm-modem-simple.c
+
+libmm_glib_la-mm-modem-location.lo: mm-modem-location.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-location.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-location.Tpo -c -o libmm_glib_la-mm-modem-location.lo `test -f 'mm-modem-location.c' || echo '$(srcdir)/'`mm-modem-location.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-location.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-location.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-location.c' object='libmm_glib_la-mm-modem-location.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-location.lo `test -f 'mm-modem-location.c' || echo '$(srcdir)/'`mm-modem-location.c
+
+libmm_glib_la-mm-modem-time.lo: mm-modem-time.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-time.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-time.Tpo -c -o libmm_glib_la-mm-modem-time.lo `test -f 'mm-modem-time.c' || echo '$(srcdir)/'`mm-modem-time.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-time.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-time.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-time.c' object='libmm_glib_la-mm-modem-time.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-time.lo `test -f 'mm-modem-time.c' || echo '$(srcdir)/'`mm-modem-time.c
+
+libmm_glib_la-mm-modem-firmware.lo: mm-modem-firmware.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-firmware.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-firmware.Tpo -c -o libmm_glib_la-mm-modem-firmware.lo `test -f 'mm-modem-firmware.c' || echo '$(srcdir)/'`mm-modem-firmware.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-firmware.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-firmware.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-firmware.c' object='libmm_glib_la-mm-modem-firmware.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-firmware.lo `test -f 'mm-modem-firmware.c' || echo '$(srcdir)/'`mm-modem-firmware.c
+
+libmm_glib_la-mm-modem-signal.lo: mm-modem-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-signal.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-signal.Tpo -c -o libmm_glib_la-mm-modem-signal.lo `test -f 'mm-modem-signal.c' || echo '$(srcdir)/'`mm-modem-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-signal.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-signal.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-signal.c' object='libmm_glib_la-mm-modem-signal.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-signal.lo `test -f 'mm-modem-signal.c' || echo '$(srcdir)/'`mm-modem-signal.c
+
+libmm_glib_la-mm-modem-oma.lo: mm-modem-oma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-oma.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-oma.Tpo -c -o libmm_glib_la-mm-modem-oma.lo `test -f 'mm-modem-oma.c' || echo '$(srcdir)/'`mm-modem-oma.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-oma.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-oma.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-oma.c' object='libmm_glib_la-mm-modem-oma.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-oma.lo `test -f 'mm-modem-oma.c' || echo '$(srcdir)/'`mm-modem-oma.c
+
+libmm_glib_la-mm-sim.lo: mm-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-sim.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-sim.Tpo -c -o libmm_glib_la-mm-sim.lo `test -f 'mm-sim.c' || echo '$(srcdir)/'`mm-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-sim.Tpo $(DEPDIR)/libmm_glib_la-mm-sim.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sim.c' object='libmm_glib_la-mm-sim.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-sim.lo `test -f 'mm-sim.c' || echo '$(srcdir)/'`mm-sim.c
+
+libmm_glib_la-mm-sms.lo: mm-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-sms.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-sms.Tpo -c -o libmm_glib_la-mm-sms.lo `test -f 'mm-sms.c' || echo '$(srcdir)/'`mm-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-sms.Tpo $(DEPDIR)/libmm_glib_la-mm-sms.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sms.c' object='libmm_glib_la-mm-sms.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-sms.lo `test -f 'mm-sms.c' || echo '$(srcdir)/'`mm-sms.c
+
+libmm_glib_la-mm-modem-messaging.lo: mm-modem-messaging.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-messaging.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-messaging.Tpo -c -o libmm_glib_la-mm-modem-messaging.lo `test -f 'mm-modem-messaging.c' || echo '$(srcdir)/'`mm-modem-messaging.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-messaging.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-messaging.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-messaging.c' object='libmm_glib_la-mm-modem-messaging.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-messaging.lo `test -f 'mm-modem-messaging.c' || echo '$(srcdir)/'`mm-modem-messaging.c
+
+libmm_glib_la-mm-modem-voice.lo: mm-modem-voice.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-modem-voice.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-modem-voice.Tpo -c -o libmm_glib_la-mm-modem-voice.lo `test -f 'mm-modem-voice.c' || echo '$(srcdir)/'`mm-modem-voice.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-modem-voice.Tpo $(DEPDIR)/libmm_glib_la-mm-modem-voice.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-modem-voice.c' object='libmm_glib_la-mm-modem-voice.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-modem-voice.lo `test -f 'mm-modem-voice.c' || echo '$(srcdir)/'`mm-modem-voice.c
+
+libmm_glib_la-mm-call.lo: mm-call.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-call.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-call.Tpo -c -o libmm_glib_la-mm-call.lo `test -f 'mm-call.c' || echo '$(srcdir)/'`mm-call.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-call.Tpo $(DEPDIR)/libmm_glib_la-mm-call.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-call.c' object='libmm_glib_la-mm-call.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-call.lo `test -f 'mm-call.c' || echo '$(srcdir)/'`mm-call.c
+
+libmm_glib_la-mm-bearer.lo: mm-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-bearer.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-bearer.Tpo -c -o libmm_glib_la-mm-bearer.lo `test -f 'mm-bearer.c' || echo '$(srcdir)/'`mm-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-bearer.Tpo $(DEPDIR)/libmm_glib_la-mm-bearer.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer.c' object='libmm_glib_la-mm-bearer.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-bearer.lo `test -f 'mm-bearer.c' || echo '$(srcdir)/'`mm-bearer.c
+
+libmm_glib_la-mm-common-helpers.lo: mm-common-helpers.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-common-helpers.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-common-helpers.Tpo -c -o libmm_glib_la-mm-common-helpers.lo `test -f 'mm-common-helpers.c' || echo '$(srcdir)/'`mm-common-helpers.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-common-helpers.Tpo $(DEPDIR)/libmm_glib_la-mm-common-helpers.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-common-helpers.c' object='libmm_glib_la-mm-common-helpers.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-common-helpers.lo `test -f 'mm-common-helpers.c' || echo '$(srcdir)/'`mm-common-helpers.c
+
+libmm_glib_la-mm-simple-status.lo: mm-simple-status.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-simple-status.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-simple-status.Tpo -c -o libmm_glib_la-mm-simple-status.lo `test -f 'mm-simple-status.c' || echo '$(srcdir)/'`mm-simple-status.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-simple-status.Tpo $(DEPDIR)/libmm_glib_la-mm-simple-status.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-simple-status.c' object='libmm_glib_la-mm-simple-status.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-simple-status.lo `test -f 'mm-simple-status.c' || echo '$(srcdir)/'`mm-simple-status.c
+
+libmm_glib_la-mm-simple-connect-properties.lo: mm-simple-connect-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-simple-connect-properties.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-simple-connect-properties.Tpo -c -o libmm_glib_la-mm-simple-connect-properties.lo `test -f 'mm-simple-connect-properties.c' || echo '$(srcdir)/'`mm-simple-connect-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-simple-connect-properties.Tpo $(DEPDIR)/libmm_glib_la-mm-simple-connect-properties.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-simple-connect-properties.c' object='libmm_glib_la-mm-simple-connect-properties.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-simple-connect-properties.lo `test -f 'mm-simple-connect-properties.c' || echo '$(srcdir)/'`mm-simple-connect-properties.c
+
+libmm_glib_la-mm-bearer-properties.lo: mm-bearer-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-bearer-properties.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-bearer-properties.Tpo -c -o libmm_glib_la-mm-bearer-properties.lo `test -f 'mm-bearer-properties.c' || echo '$(srcdir)/'`mm-bearer-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-bearer-properties.Tpo $(DEPDIR)/libmm_glib_la-mm-bearer-properties.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer-properties.c' object='libmm_glib_la-mm-bearer-properties.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-bearer-properties.lo `test -f 'mm-bearer-properties.c' || echo '$(srcdir)/'`mm-bearer-properties.c
+
+libmm_glib_la-mm-sms-properties.lo: mm-sms-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-sms-properties.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-sms-properties.Tpo -c -o libmm_glib_la-mm-sms-properties.lo `test -f 'mm-sms-properties.c' || echo '$(srcdir)/'`mm-sms-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-sms-properties.Tpo $(DEPDIR)/libmm_glib_la-mm-sms-properties.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sms-properties.c' object='libmm_glib_la-mm-sms-properties.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-sms-properties.lo `test -f 'mm-sms-properties.c' || echo '$(srcdir)/'`mm-sms-properties.c
+
+libmm_glib_la-mm-call-properties.lo: mm-call-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-call-properties.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-call-properties.Tpo -c -o libmm_glib_la-mm-call-properties.lo `test -f 'mm-call-properties.c' || echo '$(srcdir)/'`mm-call-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-call-properties.Tpo $(DEPDIR)/libmm_glib_la-mm-call-properties.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-call-properties.c' object='libmm_glib_la-mm-call-properties.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-call-properties.lo `test -f 'mm-call-properties.c' || echo '$(srcdir)/'`mm-call-properties.c
+
+libmm_glib_la-mm-bearer-ip-config.lo: mm-bearer-ip-config.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-bearer-ip-config.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-bearer-ip-config.Tpo -c -o libmm_glib_la-mm-bearer-ip-config.lo `test -f 'mm-bearer-ip-config.c' || echo '$(srcdir)/'`mm-bearer-ip-config.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-bearer-ip-config.Tpo $(DEPDIR)/libmm_glib_la-mm-bearer-ip-config.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer-ip-config.c' object='libmm_glib_la-mm-bearer-ip-config.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-bearer-ip-config.lo `test -f 'mm-bearer-ip-config.c' || echo '$(srcdir)/'`mm-bearer-ip-config.c
+
+libmm_glib_la-mm-bearer-stats.lo: mm-bearer-stats.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-bearer-stats.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-bearer-stats.Tpo -c -o libmm_glib_la-mm-bearer-stats.lo `test -f 'mm-bearer-stats.c' || echo '$(srcdir)/'`mm-bearer-stats.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-bearer-stats.Tpo $(DEPDIR)/libmm_glib_la-mm-bearer-stats.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer-stats.c' object='libmm_glib_la-mm-bearer-stats.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-bearer-stats.lo `test -f 'mm-bearer-stats.c' || echo '$(srcdir)/'`mm-bearer-stats.c
+
+libmm_glib_la-mm-location-3gpp.lo: mm-location-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-location-3gpp.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-location-3gpp.Tpo -c -o libmm_glib_la-mm-location-3gpp.lo `test -f 'mm-location-3gpp.c' || echo '$(srcdir)/'`mm-location-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-location-3gpp.Tpo $(DEPDIR)/libmm_glib_la-mm-location-3gpp.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-location-3gpp.c' object='libmm_glib_la-mm-location-3gpp.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-location-3gpp.lo `test -f 'mm-location-3gpp.c' || echo '$(srcdir)/'`mm-location-3gpp.c
+
+libmm_glib_la-mm-location-gps-raw.lo: mm-location-gps-raw.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-location-gps-raw.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-location-gps-raw.Tpo -c -o libmm_glib_la-mm-location-gps-raw.lo `test -f 'mm-location-gps-raw.c' || echo '$(srcdir)/'`mm-location-gps-raw.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-location-gps-raw.Tpo $(DEPDIR)/libmm_glib_la-mm-location-gps-raw.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-location-gps-raw.c' object='libmm_glib_la-mm-location-gps-raw.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-location-gps-raw.lo `test -f 'mm-location-gps-raw.c' || echo '$(srcdir)/'`mm-location-gps-raw.c
+
+libmm_glib_la-mm-location-gps-nmea.lo: mm-location-gps-nmea.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-location-gps-nmea.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-location-gps-nmea.Tpo -c -o libmm_glib_la-mm-location-gps-nmea.lo `test -f 'mm-location-gps-nmea.c' || echo '$(srcdir)/'`mm-location-gps-nmea.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-location-gps-nmea.Tpo $(DEPDIR)/libmm_glib_la-mm-location-gps-nmea.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-location-gps-nmea.c' object='libmm_glib_la-mm-location-gps-nmea.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-location-gps-nmea.lo `test -f 'mm-location-gps-nmea.c' || echo '$(srcdir)/'`mm-location-gps-nmea.c
+
+libmm_glib_la-mm-location-cdma-bs.lo: mm-location-cdma-bs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-location-cdma-bs.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-location-cdma-bs.Tpo -c -o libmm_glib_la-mm-location-cdma-bs.lo `test -f 'mm-location-cdma-bs.c' || echo '$(srcdir)/'`mm-location-cdma-bs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-location-cdma-bs.Tpo $(DEPDIR)/libmm_glib_la-mm-location-cdma-bs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-location-cdma-bs.c' object='libmm_glib_la-mm-location-cdma-bs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-location-cdma-bs.lo `test -f 'mm-location-cdma-bs.c' || echo '$(srcdir)/'`mm-location-cdma-bs.c
+
+libmm_glib_la-mm-unlock-retries.lo: mm-unlock-retries.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-unlock-retries.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-unlock-retries.Tpo -c -o libmm_glib_la-mm-unlock-retries.lo `test -f 'mm-unlock-retries.c' || echo '$(srcdir)/'`mm-unlock-retries.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-unlock-retries.Tpo $(DEPDIR)/libmm_glib_la-mm-unlock-retries.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-unlock-retries.c' object='libmm_glib_la-mm-unlock-retries.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-unlock-retries.lo `test -f 'mm-unlock-retries.c' || echo '$(srcdir)/'`mm-unlock-retries.c
+
+libmm_glib_la-mm-network-timezone.lo: mm-network-timezone.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-network-timezone.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-network-timezone.Tpo -c -o libmm_glib_la-mm-network-timezone.lo `test -f 'mm-network-timezone.c' || echo '$(srcdir)/'`mm-network-timezone.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-network-timezone.Tpo $(DEPDIR)/libmm_glib_la-mm-network-timezone.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-network-timezone.c' object='libmm_glib_la-mm-network-timezone.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-network-timezone.lo `test -f 'mm-network-timezone.c' || echo '$(srcdir)/'`mm-network-timezone.c
+
+libmm_glib_la-mm-firmware-properties.lo: mm-firmware-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-firmware-properties.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-firmware-properties.Tpo -c -o libmm_glib_la-mm-firmware-properties.lo `test -f 'mm-firmware-properties.c' || echo '$(srcdir)/'`mm-firmware-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-firmware-properties.Tpo $(DEPDIR)/libmm_glib_la-mm-firmware-properties.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-firmware-properties.c' object='libmm_glib_la-mm-firmware-properties.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-firmware-properties.lo `test -f 'mm-firmware-properties.c' || echo '$(srcdir)/'`mm-firmware-properties.c
+
+libmm_glib_la-mm-firmware-update-settings.lo: mm-firmware-update-settings.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-firmware-update-settings.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-firmware-update-settings.Tpo -c -o libmm_glib_la-mm-firmware-update-settings.lo `test -f 'mm-firmware-update-settings.c' || echo '$(srcdir)/'`mm-firmware-update-settings.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-firmware-update-settings.Tpo $(DEPDIR)/libmm_glib_la-mm-firmware-update-settings.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-firmware-update-settings.c' object='libmm_glib_la-mm-firmware-update-settings.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-firmware-update-settings.lo `test -f 'mm-firmware-update-settings.c' || echo '$(srcdir)/'`mm-firmware-update-settings.c
+
+libmm_glib_la-mm-cdma-manual-activation-properties.lo: mm-cdma-manual-activation-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-cdma-manual-activation-properties.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-cdma-manual-activation-properties.Tpo -c -o libmm_glib_la-mm-cdma-manual-activation-properties.lo `test -f 'mm-cdma-manual-activation-properties.c' || echo '$(srcdir)/'`mm-cdma-manual-activation-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-cdma-manual-activation-properties.Tpo $(DEPDIR)/libmm_glib_la-mm-cdma-manual-activation-properties.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-cdma-manual-activation-properties.c' object='libmm_glib_la-mm-cdma-manual-activation-properties.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-cdma-manual-activation-properties.lo `test -f 'mm-cdma-manual-activation-properties.c' || echo '$(srcdir)/'`mm-cdma-manual-activation-properties.c
+
+libmm_glib_la-mm-signal.lo: mm-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-signal.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-signal.Tpo -c -o libmm_glib_la-mm-signal.lo `test -f 'mm-signal.c' || echo '$(srcdir)/'`mm-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-signal.Tpo $(DEPDIR)/libmm_glib_la-mm-signal.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-signal.c' object='libmm_glib_la-mm-signal.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-signal.lo `test -f 'mm-signal.c' || echo '$(srcdir)/'`mm-signal.c
+
+libmm_glib_la-mm-kernel-event-properties.lo: mm-kernel-event-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-kernel-event-properties.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-kernel-event-properties.Tpo -c -o libmm_glib_la-mm-kernel-event-properties.lo `test -f 'mm-kernel-event-properties.c' || echo '$(srcdir)/'`mm-kernel-event-properties.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-kernel-event-properties.Tpo $(DEPDIR)/libmm_glib_la-mm-kernel-event-properties.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-kernel-event-properties.c' object='libmm_glib_la-mm-kernel-event-properties.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-kernel-event-properties.lo `test -f 'mm-kernel-event-properties.c' || echo '$(srcdir)/'`mm-kernel-event-properties.c
+
+libmm_glib_la-mm-pco.lo: mm-pco.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-pco.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-pco.Tpo -c -o libmm_glib_la-mm-pco.lo `test -f 'mm-pco.c' || echo '$(srcdir)/'`mm-pco.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-pco.Tpo $(DEPDIR)/libmm_glib_la-mm-pco.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-pco.c' object='libmm_glib_la-mm-pco.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-pco.lo `test -f 'mm-pco.c' || echo '$(srcdir)/'`mm-pco.c
+
+libmm_glib_la-mm-call-audio-format.lo: mm-call-audio-format.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -MT libmm_glib_la-mm-call-audio-format.lo -MD -MP -MF $(DEPDIR)/libmm_glib_la-mm-call-audio-format.Tpo -c -o libmm_glib_la-mm-call-audio-format.lo `test -f 'mm-call-audio-format.c' || echo '$(srcdir)/'`mm-call-audio-format.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_glib_la-mm-call-audio-format.Tpo $(DEPDIR)/libmm_glib_la-mm-call-audio-format.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-call-audio-format.c' object='libmm_glib_la-mm-call-audio-format.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_glib_la_CPPFLAGS) $(CPPFLAGS) $(libmm_glib_la_CFLAGS) $(CFLAGS) -c -o libmm_glib_la-mm-call-audio-format.lo `test -f 'mm-call-audio-format.c' || echo '$(srcdir)/'`mm-call-audio-format.c
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-nodist_girDATA: $(nodist_gir_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(nodist_gir_DATA)'; test -n "$(girdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(girdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(girdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(girdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(girdir)" || exit $$?; \
+ done
+
+uninstall-nodist_girDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_gir_DATA)'; test -n "$(girdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(girdir)'; $(am__uninstall_files_from_dir)
+install-nodist_typelibDATA: $(nodist_typelib_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(nodist_typelib_DATA)'; test -n "$(typelibdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(typelibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(typelibdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(typelibdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(typelibdir)" || exit $$?; \
+ done
+
+uninstall-nodist_typelibDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_typelib_DATA)'; test -n "$(typelibdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(typelibdir)'; $(am__uninstall_files_from_dir)
+install-includeHEADERS: $(include_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
+ done
+
+uninstall-includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(typelibdir)" "$(DESTDIR)$(includedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
+ mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-bearer-ip-config.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-bearer-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-bearer-stats.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-bearer.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-call-audio-format.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-call-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-call.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-cdma-manual-activation-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-common-helpers.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-firmware-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-firmware-update-settings.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-helper-types.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-kernel-event-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-location-3gpp.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-location-cdma-bs.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-location-gps-nmea.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-location-gps-raw.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-manager.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-3gpp-ussd.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-3gpp.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-cdma.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-firmware.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-location.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-messaging.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-oma.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-signal.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-simple.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-time.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-voice.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-network-timezone.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-object.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-pco.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-signal.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-sim.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-simple-connect-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-simple-status.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-sms-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-sms.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-unlock-retries.Plo
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-includeHEADERS install-nodist_girDATA \
+ install-nodist_typelibDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-libLTLIBRARIES
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-bearer-ip-config.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-bearer-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-bearer-stats.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-bearer.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-call-audio-format.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-call-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-call.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-cdma-manual-activation-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-common-helpers.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-firmware-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-firmware-update-settings.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-helper-types.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-kernel-event-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-location-3gpp.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-location-cdma-bs.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-location-gps-nmea.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-location-gps-raw.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-manager.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-3gpp-ussd.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-3gpp.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-cdma.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-firmware.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-location.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-messaging.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-oma.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-signal.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-simple.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-time.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem-voice.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-modem.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-network-timezone.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-object.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-pco.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-signal.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-sim.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-simple-connect-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-simple-status.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-sms-properties.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-sms.Plo
+ -rm -f ./$(DEPDIR)/libmm_glib_la-mm-unlock-retries.Plo
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
+ uninstall-nodist_girDATA uninstall-nodist_typelibDATA
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--depfiles check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am \
+ install-includeHEADERS install-info install-info-am \
+ install-libLTLIBRARIES install-man install-nodist_girDATA \
+ install-nodist_typelibDATA install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am uninstall-includeHEADERS \
+ uninstall-libLTLIBRARIES uninstall-nodist_girDATA \
+ uninstall-nodist_typelibDATA
+
+.PRECIOUS: Makefile
+
+@HAVE_INTROSPECTION_TRUE@ ModemManager-enums.h \
+@HAVE_INTROSPECTION_TRUE@ ModemManager-errors.h \
+@HAVE_INTROSPECTION_TRUE@ ModemManager-compat.h \
+@HAVE_INTROSPECTION_TRUE@ ModemManager.h \
+@HAVE_INTROSPECTION_TRUE@ $(NULL)
+
+@HAVE_INTROSPECTION_TRUE@ModemManager-1.0.gir: libmm-glib.la
+
+-include $(INTROSPECTION_MAKEFILE)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libmm-glib/generated/Makefile.in b/libmm-glib/generated/Makefile.in
new file mode 100644
index 00000000..913d29b3
--- /dev/null
+++ b/libmm-glib/generated/Makefile.in
@@ -0,0 +1,1216 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libmm-glib/generated
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libmm_generated_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__objects_1 =
+am__objects_2 = libmm_generated_la-mm-enums-types.lo \
+ libmm_generated_la-mm-errors-types.lo \
+ libmm_generated_la-mm-errors-quarks.lo \
+ libmm_generated_la-mm-gdbus-manager.lo \
+ libmm_generated_la-mm-gdbus-sim.lo \
+ libmm_generated_la-mm-gdbus-sms.lo \
+ libmm_generated_la-mm-gdbus-call.lo \
+ libmm_generated_la-mm-gdbus-bearer.lo \
+ libmm_generated_la-mm-gdbus-modem.lo
+nodist_libmm_generated_la_OBJECTS = $(am__objects_1) $(am__objects_2)
+libmm_generated_la_OBJECTS = $(nodist_libmm_generated_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = \
+ ./$(DEPDIR)/libmm_generated_la-mm-enums-types.Plo \
+ ./$(DEPDIR)/libmm_generated_la-mm-errors-quarks.Plo \
+ ./$(DEPDIR)/libmm_generated_la-mm-errors-types.Plo \
+ ./$(DEPDIR)/libmm_generated_la-mm-gdbus-bearer.Plo \
+ ./$(DEPDIR)/libmm_generated_la-mm-gdbus-call.Plo \
+ ./$(DEPDIR)/libmm_generated_la-mm-gdbus-manager.Plo \
+ ./$(DEPDIR)/libmm_generated_la-mm-gdbus-modem.Plo \
+ ./$(DEPDIR)/libmm_generated_la-mm-gdbus-sim.Plo \
+ ./$(DEPDIR)/libmm_generated_la-mm-gdbus-sms.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(nodist_libmm_generated_la_SOURCES)
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(includedir)"
+HEADERS = $(nodist_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@/libmm-glib
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = . tests
+AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+noinst_LTLIBRARIES = libmm-generated.la
+GENERATED_H = \
+ mm-enums-types.h \
+ mm-errors-types.h \
+ mm-gdbus-manager.h \
+ mm-gdbus-sim.h \
+ mm-gdbus-sms.h \
+ mm-gdbus-call.h \
+ mm-gdbus-bearer.h \
+ mm-gdbus-modem.h \
+ $(NULL)
+
+GENERATED_C = \
+ mm-enums-types.c \
+ mm-errors-types.c \
+ mm-errors-quarks.c \
+ mm-gdbus-manager.c \
+ mm-gdbus-sim.c \
+ mm-gdbus-sms.c \
+ mm-gdbus-call.c \
+ mm-gdbus-bearer.c \
+ mm-gdbus-modem.c \
+ $(NULL)
+
+GENERATED_DOC = \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Sim.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Sms.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Call.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Bearer.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Messaging.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Voice.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Oma.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml \
+ $(NULL)
+
+BUILT_SOURCES = $(GENERATED_H) $(GENERATED_C) $(GENERATED_DOC)
+
+# Manager interface
+mm_gdbus_manager_generated = \
+ mm-gdbus-manager.h \
+ mm-gdbus-manager.c \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.xml \
+ $(NULL)
+
+mm_gdbus_manager_deps = \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.xml \
+ $(NULL)
+
+
+# Modem interfaces
+mm_gdbus_modem_generated = \
+ mm-gdbus-modem.h \
+ mm-gdbus-modem.c \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Messaging.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Voice.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Oma.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml \
+ $(NULL)
+
+mm_gdbus_modem_deps = \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Voice.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Location.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Time.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Oma.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Modem.Signal.xml \
+ $(NULL)
+
+
+# SIM interface
+mm_gdbus_sim_generated = \
+ mm-gdbus-sim.h \
+ mm-gdbus-sim.c \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Sim.xml \
+ $(NULL)
+
+mm_gdbus_sim_deps = \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Sim.xml \
+ $(NULL)
+
+
+# Bearer interface
+mm_gdbus_bearer_generated = \
+ mm-gdbus-bearer.h \
+ mm-gdbus-bearer.c \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Bearer.xml \
+ $(NULL)
+
+mm_gdbus_bearer_deps = \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Bearer.xml \
+ $(NULL)
+
+
+# SMS interface
+mm_gdbus_sms_generated = \
+ mm-gdbus-sms.h \
+ mm-gdbus-sms.c \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Sms.xml \
+ $(NULL)
+
+mm_gdbus_sms_deps = \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Sms.xml \
+ $(NULL)
+
+
+# Call interface
+mm_gdbus_call_generated = \
+ mm-gdbus-call.h \
+ mm-gdbus-call.c \
+ mm-gdbus-doc-org.freedesktop.ModemManager1.Call.xml \
+ $(NULL)
+
+mm_gdbus_call_deps = \
+ $(top_srcdir)/introspection/org.freedesktop.ModemManager1.Call.xml \
+ $(NULL)
+
+nodist_libmm_generated_la_SOURCES = $(GENERATED_H) $(GENERATED_C)
+libmm_generated_la_CPPFLAGS = \
+ $(LIBMM_GLIB_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
+ -Wno-unused-function \
+ -Wno-float-equal \
+ -Wno-shadow \
+ $(NULL)
+
+libmm_generated_la_LIBADD = $(LIBMM_GLIB_LIBS)
+nodist_include_HEADERS = $(GENERATED_H)
+CLEANFILES = $(GENERATED_H) $(GENERATED_C) $(GENERATED_DOC)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libmm-glib/generated/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libmm-glib/generated/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libmm-generated.la: $(libmm_generated_la_OBJECTS) $(libmm_generated_la_DEPENDENCIES) $(EXTRA_libmm_generated_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_generated_la_OBJECTS) $(libmm_generated_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_generated_la-mm-enums-types.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_generated_la-mm-errors-quarks.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_generated_la-mm-errors-types.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_generated_la-mm-gdbus-bearer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_generated_la-mm-gdbus-call.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_generated_la-mm-gdbus-manager.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_generated_la-mm-gdbus-modem.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_generated_la-mm-gdbus-sim.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_generated_la-mm-gdbus-sms.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libmm_generated_la-mm-enums-types.lo: mm-enums-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_generated_la-mm-enums-types.lo -MD -MP -MF $(DEPDIR)/libmm_generated_la-mm-enums-types.Tpo -c -o libmm_generated_la-mm-enums-types.lo `test -f 'mm-enums-types.c' || echo '$(srcdir)/'`mm-enums-types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_generated_la-mm-enums-types.Tpo $(DEPDIR)/libmm_generated_la-mm-enums-types.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-enums-types.c' object='libmm_generated_la-mm-enums-types.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_generated_la-mm-enums-types.lo `test -f 'mm-enums-types.c' || echo '$(srcdir)/'`mm-enums-types.c
+
+libmm_generated_la-mm-errors-types.lo: mm-errors-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_generated_la-mm-errors-types.lo -MD -MP -MF $(DEPDIR)/libmm_generated_la-mm-errors-types.Tpo -c -o libmm_generated_la-mm-errors-types.lo `test -f 'mm-errors-types.c' || echo '$(srcdir)/'`mm-errors-types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_generated_la-mm-errors-types.Tpo $(DEPDIR)/libmm_generated_la-mm-errors-types.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-errors-types.c' object='libmm_generated_la-mm-errors-types.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_generated_la-mm-errors-types.lo `test -f 'mm-errors-types.c' || echo '$(srcdir)/'`mm-errors-types.c
+
+libmm_generated_la-mm-errors-quarks.lo: mm-errors-quarks.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_generated_la-mm-errors-quarks.lo -MD -MP -MF $(DEPDIR)/libmm_generated_la-mm-errors-quarks.Tpo -c -o libmm_generated_la-mm-errors-quarks.lo `test -f 'mm-errors-quarks.c' || echo '$(srcdir)/'`mm-errors-quarks.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_generated_la-mm-errors-quarks.Tpo $(DEPDIR)/libmm_generated_la-mm-errors-quarks.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-errors-quarks.c' object='libmm_generated_la-mm-errors-quarks.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_generated_la-mm-errors-quarks.lo `test -f 'mm-errors-quarks.c' || echo '$(srcdir)/'`mm-errors-quarks.c
+
+libmm_generated_la-mm-gdbus-manager.lo: mm-gdbus-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_generated_la-mm-gdbus-manager.lo -MD -MP -MF $(DEPDIR)/libmm_generated_la-mm-gdbus-manager.Tpo -c -o libmm_generated_la-mm-gdbus-manager.lo `test -f 'mm-gdbus-manager.c' || echo '$(srcdir)/'`mm-gdbus-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_generated_la-mm-gdbus-manager.Tpo $(DEPDIR)/libmm_generated_la-mm-gdbus-manager.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-gdbus-manager.c' object='libmm_generated_la-mm-gdbus-manager.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_generated_la-mm-gdbus-manager.lo `test -f 'mm-gdbus-manager.c' || echo '$(srcdir)/'`mm-gdbus-manager.c
+
+libmm_generated_la-mm-gdbus-sim.lo: mm-gdbus-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_generated_la-mm-gdbus-sim.lo -MD -MP -MF $(DEPDIR)/libmm_generated_la-mm-gdbus-sim.Tpo -c -o libmm_generated_la-mm-gdbus-sim.lo `test -f 'mm-gdbus-sim.c' || echo '$(srcdir)/'`mm-gdbus-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_generated_la-mm-gdbus-sim.Tpo $(DEPDIR)/libmm_generated_la-mm-gdbus-sim.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-gdbus-sim.c' object='libmm_generated_la-mm-gdbus-sim.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_generated_la-mm-gdbus-sim.lo `test -f 'mm-gdbus-sim.c' || echo '$(srcdir)/'`mm-gdbus-sim.c
+
+libmm_generated_la-mm-gdbus-sms.lo: mm-gdbus-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_generated_la-mm-gdbus-sms.lo -MD -MP -MF $(DEPDIR)/libmm_generated_la-mm-gdbus-sms.Tpo -c -o libmm_generated_la-mm-gdbus-sms.lo `test -f 'mm-gdbus-sms.c' || echo '$(srcdir)/'`mm-gdbus-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_generated_la-mm-gdbus-sms.Tpo $(DEPDIR)/libmm_generated_la-mm-gdbus-sms.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-gdbus-sms.c' object='libmm_generated_la-mm-gdbus-sms.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_generated_la-mm-gdbus-sms.lo `test -f 'mm-gdbus-sms.c' || echo '$(srcdir)/'`mm-gdbus-sms.c
+
+libmm_generated_la-mm-gdbus-call.lo: mm-gdbus-call.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_generated_la-mm-gdbus-call.lo -MD -MP -MF $(DEPDIR)/libmm_generated_la-mm-gdbus-call.Tpo -c -o libmm_generated_la-mm-gdbus-call.lo `test -f 'mm-gdbus-call.c' || echo '$(srcdir)/'`mm-gdbus-call.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_generated_la-mm-gdbus-call.Tpo $(DEPDIR)/libmm_generated_la-mm-gdbus-call.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-gdbus-call.c' object='libmm_generated_la-mm-gdbus-call.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_generated_la-mm-gdbus-call.lo `test -f 'mm-gdbus-call.c' || echo '$(srcdir)/'`mm-gdbus-call.c
+
+libmm_generated_la-mm-gdbus-bearer.lo: mm-gdbus-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_generated_la-mm-gdbus-bearer.lo -MD -MP -MF $(DEPDIR)/libmm_generated_la-mm-gdbus-bearer.Tpo -c -o libmm_generated_la-mm-gdbus-bearer.lo `test -f 'mm-gdbus-bearer.c' || echo '$(srcdir)/'`mm-gdbus-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_generated_la-mm-gdbus-bearer.Tpo $(DEPDIR)/libmm_generated_la-mm-gdbus-bearer.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-gdbus-bearer.c' object='libmm_generated_la-mm-gdbus-bearer.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_generated_la-mm-gdbus-bearer.lo `test -f 'mm-gdbus-bearer.c' || echo '$(srcdir)/'`mm-gdbus-bearer.c
+
+libmm_generated_la-mm-gdbus-modem.lo: mm-gdbus-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_generated_la-mm-gdbus-modem.lo -MD -MP -MF $(DEPDIR)/libmm_generated_la-mm-gdbus-modem.Tpo -c -o libmm_generated_la-mm-gdbus-modem.lo `test -f 'mm-gdbus-modem.c' || echo '$(srcdir)/'`mm-gdbus-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_generated_la-mm-gdbus-modem.Tpo $(DEPDIR)/libmm_generated_la-mm-gdbus-modem.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-gdbus-modem.c' object='libmm_generated_la-mm-gdbus-modem.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_generated_la-mm-gdbus-modem.lo `test -f 'mm-gdbus-modem.c' || echo '$(srcdir)/'`mm-gdbus-modem.c
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-nodist_includeHEADERS: $(nodist_include_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
+ done
+
+uninstall-nodist_includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(includedir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-enums-types.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-errors-quarks.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-errors-types.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-bearer.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-call.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-manager.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-modem.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-sim.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-sms.Plo
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-nodist_includeHEADERS
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-enums-types.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-errors-quarks.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-errors-types.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-bearer.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-call.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-manager.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-modem.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-sim.Plo
+ -rm -f ./$(DEPDIR)/libmm_generated_la-mm-gdbus-sms.Plo
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-nodist_includeHEADERS
+
+.MAKE: $(am__recursive_targets) all check install install-am \
+ install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--depfiles check check-am clean clean-generic clean-libtool \
+ clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-nodist_includeHEADERS install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am \
+ uninstall-nodist_includeHEADERS
+
+.PRECIOUS: Makefile
+
+
+# Enum types
+mm-enums-types.h: Makefile.am $(top_srcdir)/include/ModemManager-enums.h $(top_srcdir)/build-aux/mm-enums-template.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include <ModemManager.h>\n#ifndef __MM_ENUMS_TYPES_H__\n#define __MM_ENUMS_TYPES_H__\n" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.h \
+ --ftail "#endif /* __MM_ENUMS_TYPES_H__ */\n" \
+ $(top_srcdir)/include/ModemManager-enums.h > $@
+
+mm-enums-types.c: Makefile.am $(top_srcdir)/include/ModemManager-enums.h $(top_srcdir)/build-aux/mm-enums-template.c mm-enums-types.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-enums-types.h\"\n" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.c \
+ $(top_srcdir)/include/ModemManager-enums.h > $@
+
+# Error types & quarks
+mm-errors-types.h: Makefile.am $(top_srcdir)/include/ModemManager-errors.h $(top_srcdir)/build-aux/mm-errors-template.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#ifndef __MM_ERRORS_TYPES_H__\n#define __MM_ERRORS_TYPES_H__\n" \
+ --template $(top_srcdir)/build-aux/mm-errors-template.h \
+ --ftail "#endif /* __MM_ERRORS_TYPES_H__ */\n" \
+ $(top_srcdir)/include/ModemManager-errors.h > $@
+
+mm-errors-types.c: Makefile.am $(top_srcdir)/include/ModemManager-errors.h $(top_srcdir)/build-aux/mm-errors-template.c mm-errors-types.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include <ModemManager.h>\n#include \"mm-errors-types.h\"\n" \
+ --template $(top_srcdir)/build-aux/mm-errors-template.c \
+ $(top_srcdir)/include/ModemManager-errors.h > $@
+
+mm-errors-quarks.c: Makefile.am $(top_srcdir)/include/ModemManager-errors.h $(top_srcdir)/build-aux/mm-errors-quarks-template.c $(top_builddir)/include/ModemManager-names.h mm-errors-types.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include <ModemManager.h>\n#include \"mm-errors-types.h\"\n" \
+ --template $(top_srcdir)/build-aux/mm-errors-quarks-template.c \
+ $(top_srcdir)/include/ModemManager-errors.h > $@
+mm-gdbus-manager.c: $(mm_gdbus_manager_deps)
+ $(AM_V_GEN) $(GDBUS_CODEGEN) \
+ --interface-prefix org.freedesktop.ModemManager1. \
+ --c-namespace=MmGdbus \
+ --generate-docbook mm-gdbus-doc \
+ --generate-c-code mm-gdbus-manager \
+ $< \
+ $(NULL)
+$(filter-out mm-gdbus-manager.c, $(mm_gdbus_manager_generated)): $(mm_gdbus_manager_deps) mm-gdbus-manager.c
+ @: # nothing to do, generated as a side-effect of the .c
+mm-gdbus-modem.c: $(mm_gdbus_modem_deps)
+ $(AM_V_GEN) $(GDBUS_CODEGEN) \
+ --interface-prefix org.freedesktop.ModemManager1. \
+ --c-namespace=MmGdbus \
+ --generate-docbook mm-gdbus-doc \
+ --generate-c-code mm-gdbus-modem \
+ --c-generate-object-manager \
+ --annotate "org.freedesktop.ModemManager1.Modem.ModemCdma" org.gtk.GDBus.C.Name ModemCdma \
+ --annotate "org.freedesktop.ModemManager1.Modem.Modem3gpp" org.gtk.GDBus.C.Name Modem3gpp \
+ --annotate "org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd" org.gtk.GDBus.C.Name Modem3gppUssd \
+ $^ \
+ $(NULL)
+$(filter-out mm-gdbus-modem.c, $(mm_gdbus_modem_generated)): $(mm_gdbus_modem_deps) mm-gdbus-modem.c
+ @: # nothing to do, generated as a side-effect of the .c
+mm-gdbus-sim.c: $(mm_gdbus_sim_deps)
+ $(AM_V_GEN) $(GDBUS_CODEGEN) \
+ --interface-prefix org.freedesktop.ModemManager1. \
+ --c-namespace=MmGdbus \
+ --generate-docbook mm-gdbus-doc \
+ --generate-c-code mm-gdbus-sim \
+ $< \
+ $(NULL)
+$(filter-out mm-gdbus-sim.c, $(mm_gdbus_sim_generated)): $(mm_gdbus_sim_deps) mm-gdbus-sim.c
+ @: # nothing to do, generated as a side-effect of the .c
+mm-gdbus-bearer.c: $(mm_gdbus_bearer_deps)
+ $(AM_V_GEN) $(GDBUS_CODEGEN) \
+ --interface-prefix org.freedesktop.ModemManager1. \
+ --c-namespace=MmGdbus \
+ --generate-docbook mm-gdbus-doc \
+ --generate-c-code mm-gdbus-bearer \
+ $< \
+ $(NULL)
+$(filter-out mm-gdbus-bearer.c, $(mm_gdbus_bearer_generated)): $(mm_gdbus_bearer_deps) mm-gdbus-bearer.c
+ @: # nothing to do, generated as a side-effect of the .c
+mm-gdbus-sms.c: $(mm_gdbus_sms_deps)
+ $(AM_V_GEN) $(GDBUS_CODEGEN) \
+ --interface-prefix org.freedesktop.ModemManager1. \
+ --c-namespace=MmGdbus \
+ --generate-docbook mm-gdbus-doc \
+ --generate-c-code mm-gdbus-sms \
+ --annotate "org.freedesktop.ModemManager1.Sms:Data" org.gtk.GDBus.C.ForceGVariant True \
+ $< \
+ $(NULL)
+$(filter-out mm-gdbus-sms.c, $(mm_gdbus_sms_generated)): $(mm_gdbus_sms_deps) mm-gdbus-sms.c
+ @: # nothing to do, generated as a side-effect of the .c
+mm-gdbus-call.c: $(mm_gdbus_call_deps)
+ $(AM_V_GEN) $(GDBUS_CODEGEN) \
+ --interface-prefix org.freedesktop.ModemManager1. \
+ --c-namespace=MmGdbus \
+ --generate-docbook mm-gdbus-doc \
+ --generate-c-code mm-gdbus-call \
+ $< \
+ $(NULL)
+$(filter-out mm-gdbus-call.c, $(mm_gdbus_call_generated)): $(mm_gdbus_call_deps) mm-gdbus-call.c
+ @: # nothing to do, generated as a side-effect of the .c
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Bearer.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Bearer.xml
new file mode 100644
index 00000000..076af109
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Bearer.xml
@@ -0,0 +1,311 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Bearer">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Bearer.top_of_page">org.freedesktop.ModemManager1.Bearer</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Bearer.top_of_page"><primary sortas="Bearer">org.freedesktop.ModemManager1.Bearer</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Bearer</refname> <refpurpose>The ModemManager Bearer interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect">Connect</link> ();
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect">Disconnect</link> ();
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface">Interface</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Connected">Connected</link> readable b
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Suspended">Suspended</link> readable b
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config">Ip4Config</link> readable a{sv}
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config">Ip6Config</link> readable a{sv}
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats">Stats</link> readable a{sv}
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.IpTimeout">IpTimeout</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.BearerType">BearerType</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties">Properties</link> readable a{sv}
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Bearer">
+ <title role="desc.title">Description</title>
+ <para> This interface provides access to specific actions that may be performed
+ on available bearers.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Bearer">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect">
+ <title>The Connect() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Bearer.Connect"><primary sortas="Bearer.Connect">org.freedesktop.ModemManager1.Bearer.Connect()</primary></indexterm>
+<programlisting>
+Connect ();
+</programlisting>
+<para> Requests activation of a packet data connection with the network using
+ this bearer's properties. Upon successful activation, the modem can
+ send and receive packet data and, depending on the addressing
+ capability of the modem, a connection manager may need to start PPP,
+ perform DHCP, or assign the IP address returned by the modem to the
+ data interface. Upon successful return, the
+ <link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config">"Ip4Config"</link>
+ and/or
+ <link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config">"Ip6Config"</link>
+ properties become valid and may contain IP configuration information for
+ the data interface associated with this bearer.
+</para>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect">
+ <title>The Disconnect() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Bearer.Disconnect"><primary sortas="Bearer.Disconnect">org.freedesktop.ModemManager1.Bearer.Disconnect()</primary></indexterm>
+<programlisting>
+Disconnect ();
+</programlisting>
+<para> Disconnect and deactivate this packet data connection.
+</para><para> Any ongoing data session will be terminated and IP addresses become
+ invalid when this method is called.
+</para>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Bearer">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface">
+ <title>The "Interface" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Bearer.Interface"><primary sortas="Bearer:Interface">org.freedesktop.ModemManager1.Bearer:Interface</primary></indexterm>
+<programlisting>
+Interface readable s
+</programlisting>
+<para> The operating system name for the network data interface that provides
+ packet data using this bearer.
+</para><para> Connection managers must configure this interface depending on the IP
+ <literal>"method"</literal> given by the
+ <link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config">"Ip4Config"</link>
+ or
+ <link linkend="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config">"Ip6Config"</link>
+ properties set by bearer activation.
+</para><para> If <link linkend="MM-BEARER-IP-METHOD-STATIC:CAPS">MM_BEARER_IP_METHOD_STATIC</link>
+ or
+ <link linkend="MM-BEARER-IP-METHOD-DHCP:CAPS">MM_BEARER_IP_METHOD_DHCP</link>
+ methods are given, the interface
+ will be an ethernet-style interface suitable for DHCP or setting static
+ IP configuration on, while if the
+ <link linkend="MM-BEARER-IP-METHOD-PPP:CAPS">MM_BEARER_IP_METHOD_PPP</link>
+ method is given, the interface
+ will be a serial TTY which must then have PPP run over it.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Bearer.Connected">
+ <title>The "Connected" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Bearer.Connected"><primary sortas="Bearer:Connected">org.freedesktop.ModemManager1.Bearer:Connected</primary></indexterm>
+<programlisting>
+Connected readable b
+</programlisting>
+<para> Indicates whether or not the bearer is connected and thus whether
+ packet data communication using this bearer is possible.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Bearer.Suspended">
+ <title>The "Suspended" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Bearer.Suspended"><primary sortas="Bearer:Suspended">org.freedesktop.ModemManager1.Bearer:Suspended</primary></indexterm>
+<programlisting>
+Suspended readable b
+</programlisting>
+<para> In some devices, packet data service will be suspended while the device
+ is handling other communication, like a voice call. If packet data
+ service is suspended (but not deactivated) this property will be <constant>TRUE</constant>.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config">
+ <title>The "Ip4Config" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip4Config"><primary sortas="Bearer:Ip4Config">org.freedesktop.ModemManager1.Bearer:Ip4Config</primary></indexterm>
+<programlisting>
+Ip4Config readable a{sv}
+</programlisting>
+<para> If the bearer was configured for IPv4 addressing, upon activation this
+ property contains the addressing details for assignment to the data
+ interface.
+</para><para> Mandatory items include:
+ <variablelist>
+ <varlistentry><term><literal>"method"</literal></term>
+ <listitem>
+ A <link linkend="MMBearerIpMethod">MMBearerIpMethod</link>,
+ given as an unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para><para> If the bearer specifies configuration via PPP or DHCP, only the
+ <literal>"method"</literal> item will be present.
+</para><para> Additional items which are only applicable when using the
+ <link linkend="MM-BEARER-IP-METHOD-STATIC:CAPS">MM_BEARER_IP_METHOD_STATIC</link>
+ method are:
+ <variablelist>
+ <varlistentry><term><literal>"address"</literal></term>
+ <listitem>
+ IP address, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"prefix"</literal></term>
+ <listitem>
+ Numeric CIDR network prefix (ie, 24, 32, etc), given as an unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"dns1"</literal></term>
+ <listitem>
+ IP address of the first DNS server, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"dns2"</literal></term>
+ <listitem>
+ IP address of the second DNS server, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"dns3"</literal></term>
+ <listitem>
+ IP address of the third DNS server, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"gateway"</literal></term>
+ <listitem>
+ IP address of the default gateway, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para><para> This property may also include the following items when such information is available:
+ <variablelist>
+ <varlistentry><term><literal>"mtu"</literal></term>
+ <listitem>
+ Maximum transmission unit (MTU), given as an unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config">
+ <title>The "Ip6Config" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Bearer.Ip6Config"><primary sortas="Bearer:Ip6Config">org.freedesktop.ModemManager1.Bearer:Ip6Config</primary></indexterm>
+<programlisting>
+Ip6Config readable a{sv}
+</programlisting>
+<para> If the bearer was configured for IPv6 addressing, upon activation this
+ property contains the addressing details for assignment to the data
+ interface.
+</para><para> Mandatory items include:
+ <variablelist>
+ <varlistentry><term><literal>"method"</literal></term>
+ <listitem>
+ A <link linkend="MMBearerIpMethod">MMBearerIpMethod</link>,
+ given as an unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para><para> If the bearer specifies configuration via PPP or DHCP, often only the
+ <literal>"method"</literal> item will be present. IPv6 SLAAC should
+ be used to retrieve correct addressing and DNS information via Router
+ Advertisements and DHCPv6. In some cases an IPv6 Link-Local
+ <literal>"address"</literal> item will be present, which should be
+ assigned to the data port before performing SLAAC, as the mobile network
+ may expect SLAAC setup to use this address.
+</para><para> Additional items which are usually only applicable when using the
+ <link linkend="MM-BEARER-IP-METHOD-STATIC:CAPS">MM_BEARER_IP_METHOD_STATIC</link>
+ method are:
+ <variablelist>
+ <varlistentry><term><literal>"address"</literal></term>
+ <listitem>
+ IP address, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"prefix"</literal></term>
+ <listitem>
+ Numeric CIDR network prefix (ie, 24, 32, etc), given as an unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"dns1"</literal></term>
+ <listitem>
+ IP address of the first DNS server, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"dns2"</literal></term>
+ <listitem>
+ IP address of the second DNS server, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"dns3"</literal></term>
+ <listitem>
+ IP address of the third DNS server, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"gateway"</literal></term>
+ <listitem>
+ IP address of the default gateway, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para><para> This property may also include the following items when such information is available:
+ <variablelist>
+ <varlistentry><term><literal>"mtu"</literal></term>
+ <listitem>
+ Maximum transmission unit (MTU), given as an unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats">
+ <title>The "Stats" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Bearer.Stats"><primary sortas="Bearer:Stats">org.freedesktop.ModemManager1.Bearer:Stats</primary></indexterm>
+<programlisting>
+Stats readable a{sv}
+</programlisting>
+<para> If the modem supports it, this property will show statistics of the
+ ongoing connection.
+</para><para> When the connection is disconnected automatically or explicitly by the
+ user, the values in this property will show the last values cached.
+ The statistics are reset
+</para><para> The following items may appear in the list of statistics:
+ <variablelist>
+ <varlistentry><term><literal>"rx-bytes"</literal></term>
+ <listitem>
+ Number of bytes received without error, given as an unsigned 64-bit integer value (signature <literal>"t"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"tx-bytes"</literal></term>
+ <listitem>
+ Number bytes transmitted without error, given as an unsigned 64-bit integer value (signature <literal>"t"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"duration"</literal></term>
+ <listitem>
+ Duration of the connection, in seconds, given as an unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Bearer.IpTimeout">
+ <title>The "IpTimeout" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Bearer.IpTimeout"><primary sortas="Bearer:IpTimeout">org.freedesktop.ModemManager1.Bearer:IpTimeout</primary></indexterm>
+<programlisting>
+IpTimeout readable u
+</programlisting>
+<para> Maximum time to wait for a successful IP establishment, when PPP is used.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Bearer.BearerType">
+ <title>The "BearerType" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Bearer.BearerType"><primary sortas="Bearer:BearerType">org.freedesktop.ModemManager1.Bearer:BearerType</primary></indexterm>
+<programlisting>
+BearerType readable u
+</programlisting>
+<para> A <link linkend="MMBearerType">MMBearerType</link>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties">
+ <title>The "Properties" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Bearer.Properties"><primary sortas="Bearer:Properties">org.freedesktop.ModemManager1.Bearer:Properties</primary></indexterm>
+<programlisting>
+Properties readable a{sv}
+</programlisting>
+<para> List of properties used when creating the bearer.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml
new file mode 100644
index 00000000..b52ea177
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Firmware.xml
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.Firmware">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Firmware.top_of_page">org.freedesktop.ModemManager1.Modem.Firmware</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-Firmware.top_of_page"><primary sortas="Modem.Firmware">org.freedesktop.ModemManager1.Modem.Firmware</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.Firmware</refname> <refpurpose>The ModemManager Firmware interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List">List</link> (OUT s selected,
+ OUT aa{sv} installed);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select">Select</link> (IN s uniqueid);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings">UpdateSettings</link> readable (ua{sv})
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Firmware">
+ <title role="desc.title">Description</title>
+ <para> This interface provides access to perform different firmware-related operations
+ in the modem, including listing the available firmware images in the module and
+ selecting which of them to use.
+</para><para> This interface does not provide direct access to perform firmware updates in
+ the device. Instead, it exposes information about the expected firmware update
+ method as well as method-specific details required for the upgrade to happen.
+ The actual firmware upgrade may be performed via the Linux Vendor Firmware Service
+ and the <ulink url="https://fwupd.org">fwupd</ulink> daemon.
+</para><para> This interface will always be available as long a the modem is considered
+ valid.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.Firmware">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List">
+ <title>The List() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List"><primary sortas="Modem.Firmware.List">org.freedesktop.ModemManager1.Modem.Firmware.List()</primary></indexterm>
+<programlisting>
+List (OUT s selected,
+ OUT aa{sv} installed);
+</programlisting>
+<para> List installed firmware images.
+</para><para> Firmware slots and firmware images are identified by arbitrary opaque
+ strings.
+</para><para> Firmware images are represented as dictionaries of properties.
+ Certain properties are pre-defined, and some are required:
+</para><para> <variablelist>
+ <varlistentry><term><literal>"image-type"</literal></term>
+ <listitem>
+ (Required) Type of the firmware image, given as a
+ <link linkend="MMFirmwareImageType">MMFirmwareImageType</link> value
+ (signature <literal>"u"</literal>). Firmware images of type
+ <link linkend="MM-FIRMWARE-IMAGE-TYPE-GENERIC:CAPS">MM_FIRMWARE_IMAGE_TYPE_GENERIC</link>
+ will only expose only the mandatory properties.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"unique-id"</literal></term>
+ <listitem>
+ (Required) A user-readable unique ID for the firmware image, given as a
+ string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"gobi-pri-version"</literal></term>
+ <listitem>
+ (Optional) The version of the PRI firmware image, in images of type
+ <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>,
+ given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"gobi-pri-info"</literal></term>
+ <listitem>
+ (Optional) Additional information of the PRI image, in images of type
+ <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>,
+ given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"gobi-boot-version"</literal></term>
+ <listitem>
+ (Optional) The boot version of the PRI firmware image, in images of type
+ <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>,
+ given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"gobi-pri-unique-id"</literal></term>
+ <listitem>
+ (Optional) The unique ID of the PRI firmware image, in images of type
+ <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>,
+ given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"gobi-modem-unique-id"</literal></term>
+ <listitem>
+ (Optional) The unique ID of the Modem firmware image, in images of type
+ <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>,
+ given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>OUT s <parameter>selected</parameter></literal>:</term>
+ <listitem><para>The unique name of the selected firmware image, or the empty string if no image is selected.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>OUT aa{sv} <parameter>installed</parameter></literal>:</term>
+ <listitem><para>An array of dictionaries containing the properties of the installed firmware images.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select">
+ <title>The Select() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.Select"><primary sortas="Modem.Firmware.Select">org.freedesktop.ModemManager1.Modem.Firmware.Select()</primary></indexterm>
+<programlisting>
+Select (IN s uniqueid);
+</programlisting>
+<para> Selects a different firmware image to use, and immediately resets the
+ modem so that it begins using the new firmware image.
+</para><para> The method will fail if the identifier does not match any of the names
+ returned by
+ <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List">List()</link>,
+ or if the image could not be selected for some reason.
+</para><para> Installed images can be selected non-destructively.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>uniqueid</parameter></literal>:</term>
+ <listitem><para>The unique ID of the firmware image to select.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem.Firmware">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings">
+ <title>The "UpdateSettings" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Firmware.UpdateSettings"><primary sortas="Modem.Firmware:UpdateSettings">org.freedesktop.ModemManager1.Modem.Firmware:UpdateSettings</primary></indexterm>
+<programlisting>
+UpdateSettings readable (ua{sv})
+</programlisting>
+<para> Detailed settings that provide information about how the module should be
+ updated.
+</para><para> The settings are given as a bitmask of <link linkend="MMModemFirmwareUpdateMethod">MMModemFirmwareUpdateMethod</link>
+ values specifying the type of firmware update procedures expected followed by a
+ dictionary that includes other parameters applicable to the specific methods reported.
+</para><para> <variablelist>
+ <varlistentry>
+ <listitem>
+ <para>
+ The following settings are mandatory as long as the reported update method is not
+ <term><link linkend="MM-MODEM-FIRMWARE-UPDATE-METHOD-NONE:CAPS">MM_MODEM_FIRMWARE_UPDATE_METHOD_NONE</link></term>.
+ </para>
+ <variablelist>
+ <varlistentry><term><literal>"device-ids"</literal></term>
+ <listitem>
+ (Required) This property exposes the list of device IDs associated to a given
+ device, from most specific to least specific. (signature <literal>'as'</literal>).
+ E.g. a list containing: <literal>"USB\VID_413C&amp;PID_81D7&amp;REV_0001"</literal>,
+ <literal>"USB\VID_413C&amp;PID_81D7"</literal> and <literal>"USB\VID_413C"</literal>.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"version"</literal></term>
+ <listitem>
+ (Required) This property exposes the current firmware version string of the module.
+ If the module uses separate version numbers for firmware version and carrier configuration,
+ this version string will be a combination of both, and so it may be different to the
+ version string showed in the <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Revision">"Revision"</link> property.
+ (signature <literal>'s'</literal>)
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para><para> <variablelist>
+ <varlistentry><term><link linkend="MM-MODEM-FIRMWARE-UPDATE-METHOD-FASTBOOT:CAPS">MM_MODEM_FIRMWARE_UPDATE_METHOD_FASTBOOT</link></term>
+ <listitem>
+ <para>
+ Devices supporting the fastboot firmware update method require exposing the
+ following additional settings:
+ </para>
+ <variablelist>
+ <varlistentry><term><literal>"fastboot-at"</literal></term>
+ <listitem>
+ (Required) This property exposes the AT command that should be sent to the
+ module to trigger a reset into fastboot mode (signature <literal>'s'</literal>)
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml
new file mode 100644
index 00000000..408c4e81
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Location.xml
@@ -0,0 +1,413 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.Location">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Location.top_of_page">org.freedesktop.ModemManager1.Modem.Location</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-Location.top_of_page"><primary sortas="Modem.Location">org.freedesktop.ModemManager1.Modem.Location</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.Location</refname> <refpurpose>The ModemManager Location interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup">Setup</link> (IN u sources,
+ IN b signal_location);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation">GetLocation</link> (OUT a{uv} Location);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer">SetSuplServer</link> (IN s supl);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData">InjectAssistanceData</link> (IN ay data);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate">SetGpsRefreshRate</link> (IN u rate);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Capabilities">Capabilities</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SupportedAssistanceData">SupportedAssistanceData</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Enabled">Enabled</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SignalsLocation">SignalsLocation</link> readable b
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location">Location</link> readable a{uv}
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer">SuplServer</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers">AssistanceDataServers</link> readable as
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.GpsRefreshRate">GpsRefreshRate</link> readable u
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Location">
+ <title role="desc.title">Description</title>
+ <para> The Location interface allows devices to provide location information to
+ client applications. Not all devices can provide this information, or even
+ if they do, they may not be able to provide it while a data session is
+ active.
+</para><para> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used (including GNSS module management).
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.Location">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup">
+ <title>The Setup() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup"><primary sortas="Modem.Location.Setup">org.freedesktop.ModemManager1.Modem.Location.Setup()</primary></indexterm>
+<programlisting>
+Setup (IN u sources,
+ IN b signal_location);
+</programlisting>
+<para> Configure the location sources to use when gathering location
+ information. Also enable or disable location information gathering.
+ This method may require the client to authenticate itself.
+</para><para> When signals are emitted, any client application (including malicious
+ ones!) can listen for location updates unless D-Bus permissions restrict
+ these signals from certain users. If further security is desired, the
+ <parameter>signal_location</parameter> argument can be set to <constant>FALSE</constant> to disable location
+ updates via D-Bus signals and require applications to call
+ authenticated APIs (like
+ <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation">GetLocation()</link>
+ ) to get
+ location information.
+</para><para> The optional
+ <link linkend="MM-MODEM-LOCATION-SOURCE-AGPS:CAPS">MM_MODEM_LOCATION_SOURCE_AGPS</link>
+ allows to request A-GPS operation, and it must be given along with either
+ <link linkend="MM-MODEM-LOCATION-SOURCE-GPS-RAW:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_RAW</link>
+ or
+ <link linkend="MM-MODEM-LOCATION-SOURCE-GPS-NMEA:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_NMEA</link>.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>sources</parameter></literal>:</term>
+ <listitem><para>Bitmask of <link linkend="MMModemLocationSource">MMModemLocationSource</link> flags, specifying which sources should get enabled or disabled. <link linkend="MM-MODEM-LOCATION-SOURCE-NONE:CAPS">MM_MODEM_LOCATION_SOURCE_NONE</link> will disable all location gathering.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>IN b <parameter>signal_location</parameter></literal>:</term>
+ <listitem><para>Flag to control whether the device emits signals with the new location information. This argument is ignored when disabling location information gathering.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation">
+ <title>The GetLocation() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation"><primary sortas="Modem.Location.GetLocation">org.freedesktop.ModemManager1.Modem.Location.GetLocation()</primary></indexterm>
+<programlisting>
+GetLocation (OUT a{uv} Location);
+</programlisting>
+<para> Return current location information, if any. If the modem supports
+ multiple location types it may return more than one. See the
+ <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location">"Location"</link> property
+ for more information on the dictionary returned at <parameter>location</parameter>.
+</para><para> This method may require the client to authenticate itself.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>OUT a{uv} <parameter>Location</parameter></literal>:</term>
+ <listitem><para></para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer">
+ <title>The SetSuplServer() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetSuplServer"><primary sortas="Modem.Location.SetSuplServer">org.freedesktop.ModemManager1.Modem.Location.SetSuplServer()</primary></indexterm>
+<programlisting>
+SetSuplServer (IN s supl);
+</programlisting>
+<para> Configure the SUPL server for A-GPS.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>supl</parameter></literal>:</term>
+ <listitem><para>SUPL server configuration, given either as IP:PORT or as FQDN:PORT.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData">
+ <title>The InjectAssistanceData() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData"><primary sortas="Modem.Location.InjectAssistanceData">org.freedesktop.ModemManager1.Modem.Location.InjectAssistanceData()</primary></indexterm>
+<programlisting>
+InjectAssistanceData (IN ay data);
+</programlisting>
+<para> Inject assistance data to the GNSS module.
+ The data files should be downloaded using external means from the URLs specified in
+ the <link linkend="AssistanceDataServers">AssistanceDataServers</link> property.
+</para><para> The user does not need to specify the assistance data type being given.
+</para><para> There is no maximum <parameter>data</parameter> size limit specified, default DBus system bus limits apply.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN ay <parameter>data</parameter></literal>:</term>
+ <listitem><para>assistance data to be injected to the GNSS module.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate">
+ <title>The SetGpsRefreshRate() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.SetGpsRefreshRate"><primary sortas="Modem.Location.SetGpsRefreshRate">org.freedesktop.ModemManager1.Modem.Location.SetGpsRefreshRate()</primary></indexterm>
+<programlisting>
+SetGpsRefreshRate (IN u rate);
+</programlisting>
+<para> Set the refresh rate of the GPS information in the API. If not explicitly
+ set, a default of 30s will be used.
+</para><para> The refresh rate can be set to 0 to disable it, so that every update reported by
+ the modem is published in the interface.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>rate</parameter></literal>:</term>
+ <listitem><para>Rate, in seconds.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem.Location">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Capabilities">
+ <title>The "Capabilities" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Capabilities"><primary sortas="Modem.Location:Capabilities">org.freedesktop.ModemManager1.Modem.Location:Capabilities</primary></indexterm>
+<programlisting>
+Capabilities readable u
+</programlisting>
+<para> Bitmask of <link linkend="MMModemLocationSource">MMModemLocationSource</link>
+ values, specifying the supported location sources.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SupportedAssistanceData">
+ <title>The "SupportedAssistanceData" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SupportedAssistanceData"><primary sortas="Modem.Location:SupportedAssistanceData">org.freedesktop.ModemManager1.Modem.Location:SupportedAssistanceData</primary></indexterm>
+<programlisting>
+SupportedAssistanceData readable u
+</programlisting>
+<para> Bitmask of <link linkend="MMModemLocationAssistanceDataType">MMModemLocationAssistanceDataType</link>
+ values, specifying the supported types of assistance data.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Enabled">
+ <title>The "Enabled" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Enabled"><primary sortas="Modem.Location:Enabled">org.freedesktop.ModemManager1.Modem.Location:Enabled</primary></indexterm>
+<programlisting>
+Enabled readable u
+</programlisting>
+<para> Bitmask specifying which of the supported
+ <link linkend="MMModemLocationSource">MMModemLocationSource</link>
+ location sources is currently enabled in the device.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SignalsLocation">
+ <title>The "SignalsLocation" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SignalsLocation"><primary sortas="Modem.Location:SignalsLocation">org.freedesktop.ModemManager1.Modem.Location:SignalsLocation</primary></indexterm>
+<programlisting>
+SignalsLocation readable b
+</programlisting>
+<para> <constant>TRUE</constant> if location updates will be emitted via D-Bus signals, <constant>FALSE</constant> if
+ location updates will not be emitted.
+</para><para> See the
+ <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup">Setup()</link>
+ method for more information.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location">
+ <title>The "Location" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location"><primary sortas="Modem.Location:Location">org.freedesktop.ModemManager1.Modem.Location:Location</primary></indexterm>
+<programlisting>
+Location readable a{uv}
+</programlisting>
+<para> Dictionary of available location information when location information
+ gathering is enabled. If the modem supports multiple location types it
+ may return more than one here.
+</para><para> Note that if the device was told not to emit updated location
+ information when location information gathering was initially enabled,
+ this property may not return any location information for security reasons.
+</para><para> This dictionary is composed of a
+ <link linkend="MMModemLocationSource">MMModemLocationSource</link>
+ key, with an associated data which contains type-specific location
+ information:
+</para><para> <variablelist>
+ <varlistentry><term><link linkend="MM-MODEM-LOCATION-SOURCE-3GPP-LAC-CI:CAPS">MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI</link></term>
+ <listitem>
+ <para>
+ Devices supporting this
+ capability return a string in the format <literal>"MCC,MNC,LAC,CI,TAC"</literal> (without the
+ quotes of course) where the following applies:
+ </para>
+ <variablelist>
+ <varlistentry><term><literal>MCC</literal></term>
+ <listitem>
+ This is the three-digit ITU E.212 Mobile Country Code of the
+ network provider to which the mobile is currently registered.
+ e.g. <literal>"310"</literal>.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>MNC</literal></term>
+ <listitem>
+ This is the two- or three-digit GSM Mobile Network Code of the
+ network provider to which the mobile is currently registered.
+ e.g. <literal>"26"</literal> or <literal>"260"</literal>.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>LAC</literal></term>
+ <listitem>
+ This is the two-byte Location Area Code of the GSM/UMTS base
+ station with which the mobile is registered, in upper-case
+ hexadecimal format without leading zeros, as specified in
+ 3GPP TS 27.007. E.g. <literal>"84CD"</literal>.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>CI</literal></term>
+ <listitem>
+ This is the two- or four-byte Cell Identifier with which the mobile
+ is registered, in upper-case hexadecimal format without leading
+ zeros, as specified in 3GPP TS 27.007.
+ e.g. <literal>"2BAF"</literal> or <literal>"D30156"</literal>.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>TAC</literal></term>
+ <listitem>
+ This is the two-byte Location Area Code of the LTE base
+ station with which the mobile is registered, in upper-case
+ hexadecimal format without leading zeros, as specified in
+ 3GPP TS 27.007. E.g. <literal>"6FFE"</literal>.
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ The entire string may only be composed of the ASCII digits <literal>[0-9]</literal>,
+ the alphabetical characters <literal>[A-F]</literal>, and the comma (<literal>,</literal>) character.
+ No other characters are allowed. For example: <literal>"310,260,8BE3,2BAF"</literal> or
+ <literal>"250,40,CE00,1CEAD8F0"</literal>.
+ </para>
+ <para>
+ If any of these four items (<literal>MCC</literal>, <literal>MNC</literal>,
+ <literal>LAC</literal>, <literal>CI</literal>) is unknown or the
+ mobile is not registered with a network, then the
+ <link linkend="MM-MODEM-LOCATION-SOURCE-3GPP-LAC-CI:CAPS">MM_MODEM_LOCATION_SOURCE_3GPP_LAC_CI</link>
+ location
+ information item should not be provided as a returned value from the
+ <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.GetLocation">GetLocation()</link>
+ method or in the <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.Location">"Location"</link> property.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><link linkend="MM-MODEM-LOCATION-SOURCE-GPS-RAW:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_RAW</link></term>
+ <listitem>
+ <para>
+ Devices supporting this
+ capability return a D-Bus dictionary (signature <literal>"a{sv}"</literal>) mapping well-known
+ keys to values with defined formats.
+ </para>
+ <para>
+ The allowed key/value pairs and their formats are:
+ </para>
+ <variablelist>
+ <varlistentry><term><literal>"utc-time"</literal></term>
+ <listitem>
+ (Required) UTC time in ISO 8601 format, given as a string value (signature <literal>"s"</literal>). e.g. <literal>203015</literal>.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"latitude"</literal></term>
+ <listitem>
+ (Required) Latitude in Decimal Degrees (positive numbers mean N quadrasphere, negative mean S quadrasphere), given as a double value (signature <literal>"d"</literal>). e.g. <literal>38.889722</literal>, meaning 38d 53' 22" N.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"longitude"</literal></term>
+ <listitem>
+ (Required) Longitude in Decimal Degrees (positive numbers mean E quadrasphere, negative mean W quadrasphere), given as a double value (signature <literal>"d"</literal>). e.g. <literal>-77.008889</literal>, meaning 77d 0' 32" W.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"altitude"</literal></term>
+ <listitem>
+ (Optional) Altitude above sea level in meters, given as a double value (signature <literal>"d"</literal>). e.g. <literal>33.5</literal>.
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><link linkend="MM-MODEM-LOCATION-SOURCE-GPS-NMEA:CAPS">MM_MODEM_LOCATION_SOURCE_GPS_NMEA</link></term>
+ <listitem>
+ <para>
+ Devices supporting this capability return
+ a string containing one or more NMEA sentences (D-Bus signature <literal>'s'</literal>).
+ The manager will cache the most recent NMEA sentence of each type for
+ a period of time not less than 30 seconds. When reporting multiple
+ NMEA sentences, sentences shall be separated by an ASCII Carriage
+ Return and Line Feed (<literal>&lt;CR&gt;&lt;LF&gt;</literal>) sequence.
+ </para>
+ <para>
+ For example, if the device sends a <literal>$GPRMC</literal> sentence immediately
+ followed by a <literal>$GPGGA</literal> sentence, the reported location string would be
+ (where of course the <literal>&lt;CR&gt;&lt;LF&gt;</literal> is replaced with the actual
+ ASCII <literal>CR</literal> (0x0D) and <literal>LF</literal> (0x0A) control characters):
+ <para><literal>
+ $GPRMC,134523.92,V,,,,,,,030136,,,N*73&lt;CR&gt;&lt;LF&gt;$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45
+ </literal></para>
+ If the device sends a new <literal>$GPRMC</literal> three seconds later, the new <literal>$GPRMC</literal>
+ replaces the previously received <literal>$GPRMC</literal> sentence, and the updated
+ string would be:
+ <para><literal>
+ $GPRMC,134526.92,V,,,,,,,030136,,,N*76&lt;CR&gt;&lt;LF&gt;$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45
+ </literal></para>
+ If the device then sends a <literal>$GPGSA</literal> sentence about 5 seconds later, the
+ <literal>$GPGSA</literal> sentence is added to the string (since no <literal>$GPGSA</literal> sentence was
+ obviously received in this session), the updated string would be:
+ <para><literal>
+ $GPRMC,134526.92,V,,,,,,,030136,,,N*76&lt;CR&gt;&lt;LF&gt;$GPGGA,,,,,,0,00,0.5,,M,0.0001999,M,0.0000099,0000*45&lt;CR&gt;&lt;LF&gt;$GPGSA,A,1,,,,,,,,,,,,,1.1,0.5,1.0*34
+ </literal></para>
+ The manager may discard any cached sentences older than 30 seconds.
+ </para>
+ <para>
+ This allows clients to read the latest positioning data as soon as
+ possible after they start, even if the device is not providing
+ frequent location data updates.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><link linkend="MM-MODEM-LOCATION-SOURCE-CDMA-BS:CAPS">MM_MODEM_LOCATION_SOURCE_CDMA_BS</link></term>
+ <listitem>
+ <para>
+ Devices supporting this
+ capability return a D-Bus dictionary (signature <literal>"a{sv}"</literal>) mapping well-known
+ keys to values with defined formats.
+ </para>
+ <para>
+ The allowed key/value pairs and their formats are:
+ </para>
+ <variablelist>
+ <varlistentry><term><literal>"latitude"</literal></term>
+ <listitem>
+ (Required) Latitude in Decimal Degrees (positive numbers mean N quadrasphere, negative mean S quadrasphere), given as a double value (signature <literal>"d"</literal>). e.g. <literal>38.889722</literal>, meaning 38d 53' 22" N.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"longitude"</literal></term>
+ <listitem>
+ (Required) Longitude in Decimal Degrees (positive numbers mean E quadrasphere, negative mean W quadrasphere), given as a double value (signature <literal>"d"</literal>). e.g. <literal>-77.008889</literal>, meaning 77d 0' 32" W.
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer">
+ <title>The "SuplServer" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.SuplServer"><primary sortas="Modem.Location:SuplServer">org.freedesktop.ModemManager1.Modem.Location:SuplServer</primary></indexterm>
+<programlisting>
+SuplServer readable s
+</programlisting>
+<para> SUPL server configuration for A-GPS, given either as IP:PORT or FQDN:PORT.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers">
+ <title>The "AssistanceDataServers" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.AssistanceDataServers"><primary sortas="Modem.Location:AssistanceDataServers">org.freedesktop.ModemManager1.Modem.Location:AssistanceDataServers</primary></indexterm>
+<programlisting>
+AssistanceDataServers readable as
+</programlisting>
+<para> URLs from where the user can download assistance data files to inject with
+ <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.InjectAssistanceData">InjectAssistanceData()</link>.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.GpsRefreshRate">
+ <title>The "GpsRefreshRate" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Location.GpsRefreshRate"><primary sortas="Modem.Location:GpsRefreshRate">org.freedesktop.ModemManager1.Modem.Location:GpsRefreshRate</primary></indexterm>
+<programlisting>
+GpsRefreshRate readable u
+</programlisting>
+<para> Rate of refresh of the GPS information in the interface.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Messaging.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Messaging.xml
new file mode 100644
index 00000000..60a29f2b
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Messaging.xml
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.Messaging">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Messaging.top_of_page">org.freedesktop.ModemManager1.Modem.Messaging</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-Messaging.top_of_page"><primary sortas="Modem.Messaging">org.freedesktop.ModemManager1.Modem.Messaging</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.Messaging</refname> <refpurpose>The ModemManager Messaging interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List">List</link> (OUT ao result);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete">Delete</link> (IN o path);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create">Create</link> (IN a{sv} properties,
+ OUT o path);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis>
+<link linkend="gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added">Added</link> (o path,
+ b received);
+<link linkend="gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Deleted">Deleted</link> (o path);
+</synopsis>
+ </refsect1>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages">Messages</link> readable ao
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages">SupportedStorages</link> readable au
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.DefaultStorage">DefaultStorage</link> readable u
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Messaging">
+ <title role="desc.title">Description</title>
+ <para> The Messaging interface handles sending SMS messages and notification of new
+ incoming messages.
+</para><para> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used (including listing stored messages).
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.Messaging">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List">
+ <title>The List() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.List"><primary sortas="Modem.Messaging.List">org.freedesktop.ModemManager1.Modem.Messaging.List()</primary></indexterm>
+<programlisting>
+List (OUT ao result);
+</programlisting>
+<para> Retrieve all SMS messages.
+</para><para> This method should only be used once and subsequent information
+ retrieved either by listening for the
+ <link linkend="gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added">"Added"</link> signal,
+ or by querying the specific SMS object of interest.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>OUT ao <parameter>result</parameter></literal>:</term>
+ <listitem><para>The list of SMS object paths.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete">
+ <title>The Delete() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Delete"><primary sortas="Modem.Messaging.Delete">org.freedesktop.ModemManager1.Modem.Messaging.Delete()</primary></indexterm>
+<programlisting>
+Delete (IN o path);
+</programlisting>
+<para> Delete an SMS message.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN o <parameter>path</parameter></literal>:</term>
+ <listitem><para>The object path of the SMS to delete.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create">
+ <title>The Create() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Messaging.Create"><primary sortas="Modem.Messaging.Create">org.freedesktop.ModemManager1.Modem.Messaging.Create()</primary></indexterm>
+<programlisting>
+Create (IN a{sv} properties,
+ OUT o path);
+</programlisting>
+<para> Creates a new message object.
+</para><para> The '<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Number">Number</link>'
+ and
+ either '<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Text">Text</link>' or
+ '<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Data">Data</link>'
+ properties are mandatory, others are optional.
+</para><para> If the SMSC is not specified and one is required, the default SMSC is
+ used.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN a{sv} <parameter>properties</parameter></literal>:</term>
+ <listitem><para>Message properties from the <link linkend="gdbus-org.freedesktop.ModemManager1.Sms">SMS D-Bus interface</link>.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>OUT o <parameter>path</parameter></literal>:</term>
+ <listitem><para>The object path of the new message object.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-signals-org.freedesktop.ModemManager1.Modem.Messaging">
+ <title role="details.title">Signal Details</title>
+<refsect2 role="signal" id="gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added">
+ <title>The "Added" signal</title>
+ <indexterm zone="gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Added"><primary sortas="Modem.Messaging::Added">org.freedesktop.ModemManager1.Modem.Messaging::Added</primary></indexterm>
+<programlisting>
+Added (o path,
+ b received);
+</programlisting>
+<para> Emitted when any part of a new SMS has been received or added (but not
+ for subsequent parts, if any). For messages received from the network,
+ not all parts may have been received and the message may not be
+ complete.
+</para><para> Check the
+ '<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.State">State</link>'
+ property to determine if the message is complete.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>o <parameter>path</parameter></literal>:</term>
+ <listitem><para>Object path of the new SMS.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>b <parameter>received</parameter></literal>:</term>
+ <listitem><para><constant>TRUE</constant> if the message was received from the network, as opposed to being added locally.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="signal" id="gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Deleted">
+ <title>The "Deleted" signal</title>
+ <indexterm zone="gdbus-signal-org-freedesktop-ModemManager1-Modem-Messaging.Deleted"><primary sortas="Modem.Messaging::Deleted">org.freedesktop.ModemManager1.Modem.Messaging::Deleted</primary></indexterm>
+<programlisting>
+Deleted (o path);
+</programlisting>
+<para> Emitted when a message has been deleted.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>o <parameter>path</parameter></literal>:</term>
+ <listitem><para>Object path of the now deleted SMS.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem.Messaging">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages">
+ <title>The "Messages" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.Messages"><primary sortas="Modem.Messaging:Messages">org.freedesktop.ModemManager1.Modem.Messaging:Messages</primary></indexterm>
+<programlisting>
+Messages readable ao
+</programlisting>
+<para> The list of SMS object paths.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages">
+ <title>The "SupportedStorages" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.SupportedStorages"><primary sortas="Modem.Messaging:SupportedStorages">org.freedesktop.ModemManager1.Modem.Messaging:SupportedStorages</primary></indexterm>
+<programlisting>
+SupportedStorages readable au
+</programlisting>
+<para> A list of <link linkend="MMSmsStorage">MMSmsStorage</link> values,
+ specifying the storages supported by this modem for storing and
+ receiving SMS.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.DefaultStorage">
+ <title>The "DefaultStorage" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Messaging.DefaultStorage"><primary sortas="Modem.Messaging:DefaultStorage">org.freedesktop.ModemManager1.Modem.Messaging:DefaultStorage</primary></indexterm>
+<programlisting>
+DefaultStorage readable u
+</programlisting>
+<para> A <link linkend="MMSmsStorage">MMSmsStorage</link> value,
+ specifying the storage to be used when receiving or storing SMS.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml
new file mode 100644
index 00000000..648ab509
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.top_of_page">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.top_of_page"><primary sortas="Modem3gppUssd">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd</refname> <refpurpose>The ModemManager 3GPP USSD interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate">Initiate</link> (IN s command,
+ OUT s reply);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond">Respond</link> (IN s response,
+ OUT s reply);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel">Cancel</link> ();
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.State">State</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification">NetworkNotification</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest">NetworkRequest</link> readable s
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd">
+ <title role="desc.title">Description</title>
+ <para> This interface provides access to actions based on the USSD protocol.
+</para><para> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate">
+ <title>The Initiate() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate"><primary sortas="Modem3gppUssd.Initiate">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.Initiate()</primary></indexterm>
+<programlisting>
+Initiate (IN s command,
+ OUT s reply);
+</programlisting>
+<para> Sends a USSD command string to the network initiating a USSD session.
+</para><para> When the request is handled by the network, the method returns the
+ response or an appropriate error. The network may be awaiting further
+ response from the ME after returning from this method and no new command
+ can be initiated until this one is cancelled or ended.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>command</parameter></literal>:</term>
+ <listitem><para>The command to start the USSD session with.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>OUT s <parameter>reply</parameter></literal>:</term>
+ <listitem><para>The network response to the command which started the USSD session.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond">
+ <title>The Respond() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond"><primary sortas="Modem3gppUssd.Respond">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.Respond()</primary></indexterm>
+<programlisting>
+Respond (IN s response,
+ OUT s reply);
+</programlisting>
+<para> Respond to a USSD request that is either initiated by the mobile network,
+ or that is awaiting further input after
+ <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Initiate">Initiate()</link>
+ was called.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>response</parameter></literal>:</term>
+ <listitem><para>The response to network-initiated USSD command, or a response to a request for further input.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>OUT s <parameter>reply</parameter></literal>:</term>
+ <listitem><para>The network reply to this response to the network-initiated USSD command. The reply may require further responses.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel">
+ <title>The Cancel() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Cancel"><primary sortas="Modem3gppUssd.Cancel">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.Cancel()</primary></indexterm>
+<programlisting>
+Cancel ();
+</programlisting>
+<para> Cancel an ongoing USSD session, either mobile or network initiated.
+</para>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.State">
+ <title>The "State" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.State"><primary sortas="Modem3gppUssd:State">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd:State</primary></indexterm>
+<programlisting>
+State readable u
+</programlisting>
+<para> A <link linkend="MMModem3gppUssdSessionState">MMModem3gppUssdSessionState</link> value,
+ indicating the state of any ongoing USSD session.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification">
+ <title>The "NetworkNotification" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkNotification"><primary sortas="Modem3gppUssd:NetworkNotification">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd:NetworkNotification</primary></indexterm>
+<programlisting>
+NetworkNotification readable s
+</programlisting>
+<para> Contains any network-initiated request to which no USSD response is
+ required.
+</para><para> When no USSD session is active, or when there is no network-
+ initiated request, this property will be a zero-length string.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest">
+ <title>The "NetworkRequest" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.NetworkRequest"><primary sortas="Modem3gppUssd:NetworkRequest">org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd:NetworkRequest</primary></indexterm>
+<programlisting>
+NetworkRequest readable s
+</programlisting>
+<para> Contains any pending network-initiated request for a response. Client
+ should call
+ <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp-Ussd.Respond">Respond()</link>
+ with the appropriate response to this request.
+</para><para> When no USSD session is active, or when there is no pending
+ network-initiated request, this property will be a zero-length string.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
new file mode 100644
index 00000000..7c3975d0
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
@@ -0,0 +1,284 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp.top_of_page">org.freedesktop.ModemManager1.Modem.Modem3gpp</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp.top_of_page"><primary sortas="Modem3gpp">org.freedesktop.ModemManager1.Modem.Modem3gpp</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.Modem3gpp</refname> <refpurpose>The ModemManager 3GPP interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register">Register</link> (IN s operator_id);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan">Scan</link> (OUT aa{sv} results);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation">SetEpsUeModeOperation</link> (IN u mode);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings">SetInitialEpsBearerSettings</link> (IN a{sv} settings);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei">Imei</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.RegistrationState">RegistrationState</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode">OperatorCode</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName">OperatorName</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EnabledFacilityLocks">EnabledFacilityLocks</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.SubscriptionState">SubscriptionState</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EpsUeModeOperation">EpsUeModeOperation</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco">Pco</link> readable a(ubay)
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer">InitialEpsBearer</link> readable o
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings">InitialEpsBearerSettings</link> readable a{sv}
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp">
+ <title role="desc.title">Description</title>
+ <para> This interface provides access to specific actions that may be performed
+ in modems with 3GPP capabilities.
+</para><para> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.Modem3gpp">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register">
+ <title>The Register() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Register"><primary sortas="Modem3gpp.Register">org.freedesktop.ModemManager1.Modem.Modem3gpp.Register()</primary></indexterm>
+<programlisting>
+Register (IN s operator_id);
+</programlisting>
+<para> Request registration with a given mobile network.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>operator_id</parameter></literal>:</term>
+ <listitem><para>The operator ID (ie, <literal>"MCCMNC"</literal>, like <literal>"310260"</literal>) to register. An empty string can be used to register to the home network.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan">
+ <title>The Scan() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.Scan"><primary sortas="Modem3gpp.Scan">org.freedesktop.ModemManager1.Modem.Modem3gpp.Scan()</primary></indexterm>
+<programlisting>
+Scan (OUT aa{sv} results);
+</programlisting>
+<para> Scan for available networks.
+</para><para> <parameter>results</parameter> is an array of dictionaries with each array element describing
+ a mobile network found in the scan. Each dictionary may include one or
+ more of the following keys:
+ <variablelist>
+ <varlistentry><term><literal>"status"</literal></term>
+ <listitem>
+ A <link linkend="MMModem3gppNetworkAvailability">MMModem3gppNetworkAvailability</link>
+ value representing network availability status, given as an
+ unsigned integer (signature <literal>"u"</literal>). This key will
+ always be present.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"operator-long"</literal></term>
+ <listitem>
+ Long-format name of operator, given as a string value (signature
+ <literal>"s"</literal>). If the name is unknown, this field
+ should not be present.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"operator-short"</literal></term>
+ <listitem>
+ Short-format name of operator, given as a string value (signature
+ <literal>"s"</literal>). If the name is unknown, this field
+ should not be present.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"operator-code"</literal></term>
+ <listitem>
+ Mobile code of the operator, given as a string value (signature
+ <literal>"s"</literal>). Returned in the format
+ <literal>"MCCMNC"</literal>, where <literal>MCC</literal> is the
+ three-digit ITU E.212 Mobile Country Code and <literal>MNC</literal>
+ is the two- or three-digit GSM Mobile Network Code. e.g.
+ <literal>"31026"</literal> or <literal>"310260"</literal>.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"access-technology"</literal></term>
+ <listitem>
+ A <link linkend="MMModemAccessTechnology">MMModemAccessTechnology</link> value
+ representing the generic access technology used by this mobile network,
+ given as an unsigned integer (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>OUT aa{sv} <parameter>results</parameter></literal>:</term>
+ <listitem><para>Array of dictionaries with the found networks.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation">
+ <title>The SetEpsUeModeOperation() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetEpsUeModeOperation"><primary sortas="Modem3gpp.SetEpsUeModeOperation">org.freedesktop.ModemManager1.Modem.Modem3gpp.SetEpsUeModeOperation()</primary></indexterm>
+<programlisting>
+SetEpsUeModeOperation (IN u mode);
+</programlisting>
+<para> Sets the UE mode of operation for EPS.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>mode</parameter></literal>:</term>
+ <listitem><para>a <link linkend="MMModem3gppEpsUeModeOperation">MMModem3gppEpsUeModeOperation</link>.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings">
+ <title>The SetInitialEpsBearerSettings() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings"><primary sortas="Modem3gpp.SetInitialEpsBearerSettings">org.freedesktop.ModemManager1.Modem.Modem3gpp.SetInitialEpsBearerSettings()</primary></indexterm>
+<programlisting>
+SetInitialEpsBearerSettings (IN a{sv} settings);
+</programlisting>
+<para> Updates the default settings to be used in the initial default EPS bearer when registering to the LTE network.
+</para><para> Allowed properties are:
+ <variablelist>
+ <varlistentry><term><literal>"apn"</literal></term>
+ <listitem><para>Access Point Name, given as a string value (signature <literal>"s"</literal>).</para></listitem></varlistentry>
+ <varlistentry><term><literal>"ip-type"</literal></term>
+ <listitem><para>Addressing type, given as a <link linkend="MMBearerIpFamily">MMBearerIpFamily</link> value (signature <literal>"u"</literal>).</para></listitem></varlistentry>
+ <varlistentry><term><literal>"allowed-auth"</literal></term>
+ <listitem><para>The authentication method to use, given as a <link linkend="MMBearerAllowedAuth">MMBearerAllowedAuth</link> value (signature <literal>"u"</literal>).</para></listitem></varlistentry>
+ <varlistentry><term><literal>"user"</literal></term>
+ <listitem><para>User name (if any) required by the network, given as a string value (signature <literal>"s"</literal>).</para></listitem></varlistentry>
+ <varlistentry><term><literal>"password"</literal></term>
+ <listitem><para>Password (if any) required by the network, given as a string value (signature <literal>"s"</literal>).</para></listitem></varlistentry>
+ </variablelist>
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN a{sv} <parameter>settings</parameter></literal>:</term>
+ <listitem><para>List of properties to use when requesting the LTE attach procedure.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem.Modem3gpp">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei">
+ <title>The "Imei" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Imei"><primary sortas="Modem3gpp:Imei">org.freedesktop.ModemManager1.Modem.Modem3gpp:Imei</primary></indexterm>
+<programlisting>
+Imei readable s
+</programlisting>
+<para> The <ulink url="http://en.wikipedia.org/wiki/Imei">IMEI</ulink> of the device.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.RegistrationState">
+ <title>The "RegistrationState" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.RegistrationState"><primary sortas="Modem3gpp:RegistrationState">org.freedesktop.ModemManager1.Modem.Modem3gpp:RegistrationState</primary></indexterm>
+<programlisting>
+RegistrationState readable u
+</programlisting>
+<para> A <link linkend="MMModem3gppRegistrationState">MMModem3gppRegistrationState</link>
+ value specifying the mobile registration status as defined in 3GPP TS 27.007
+ section 10.1.19.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode">
+ <title>The "OperatorCode" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorCode"><primary sortas="Modem3gpp:OperatorCode">org.freedesktop.ModemManager1.Modem.Modem3gpp:OperatorCode</primary></indexterm>
+<programlisting>
+OperatorCode readable s
+</programlisting>
+<para> Code of the operator to which the mobile is currently registered.
+</para><para> Returned in the format <literal>"MCCMNC"</literal>, where
+ <literal>MCC</literal> is the three-digit ITU E.212 Mobile Country Code
+ and <literal>MNC</literal> is the two- or three-digit GSM Mobile Network
+ Code. e.g. e<literal>"31026"</literal> or <literal>"310260"</literal>.
+</para><para> If the <literal>MCC</literal> and <literal>MNC</literal> are not known
+ or the mobile is not registered to a mobile network, this property will
+ be a zero-length (blank) string.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName">
+ <title>The "OperatorName" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.OperatorName"><primary sortas="Modem3gpp:OperatorName">org.freedesktop.ModemManager1.Modem.Modem3gpp:OperatorName</primary></indexterm>
+<programlisting>
+OperatorName readable s
+</programlisting>
+<para> Name of the operator to which the mobile is currently registered.
+</para><para> If the operator name is not known or the mobile is not
+ registered to a mobile network, this property will be a zero-length
+ (blank) string.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EnabledFacilityLocks">
+ <title>The "EnabledFacilityLocks" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EnabledFacilityLocks"><primary sortas="Modem3gpp:EnabledFacilityLocks">org.freedesktop.ModemManager1.Modem.Modem3gpp:EnabledFacilityLocks</primary></indexterm>
+<programlisting>
+EnabledFacilityLocks readable u
+</programlisting>
+<para> Bitmask of <link linkend="MMModem3gppFacility">MMModem3gppFacility</link> values
+ for which PIN locking is enabled.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.SubscriptionState">
+ <title>The "SubscriptionState" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.SubscriptionState"><primary sortas="Modem3gpp:SubscriptionState">org.freedesktop.ModemManager1.Modem.Modem3gpp:SubscriptionState</primary></indexterm>
+<programlisting>
+SubscriptionState readable u
+</programlisting>
+<para> A <link linkend="MMModem3gppSubscriptionState">MMModem3gppSubscriptionState</link>
+ value representing the subscription status of the account and whether there
+ is any data remaining, given as an unsigned integer (signature <literal>"u"</literal>).
+</para><para> Deprecated: 1.10.0. The value of this property can only be obtained with operator
+ specific logic (e.g. processing specific PCO info), and therefore it doesn't make sense
+ to expose it in the ModemManager interface.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EpsUeModeOperation">
+ <title>The "EpsUeModeOperation" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.EpsUeModeOperation"><primary sortas="Modem3gpp:EpsUeModeOperation">org.freedesktop.ModemManager1.Modem.Modem3gpp:EpsUeModeOperation</primary></indexterm>
+<programlisting>
+EpsUeModeOperation readable u
+</programlisting>
+<para> A <link linkend="MMModem3gppEpsUeModeOperation">MMModem3gppEpsUeModeOperation</link>
+ value representing the UE mode of operation for EPS, given as an unsigned integer
+ (signature <literal>"u"</literal>).
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco">
+ <title>The "Pco" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.Pco"><primary sortas="Modem3gpp:Pco">org.freedesktop.ModemManager1.Modem.Modem3gpp:Pco</primary></indexterm>
+<programlisting>
+Pco readable a(ubay)
+</programlisting>
+<para> The raw PCOs received from the network.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer">
+ <title>The "InitialEpsBearer" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer"><primary sortas="Modem3gpp:InitialEpsBearer">org.freedesktop.ModemManager1.Modem.Modem3gpp:InitialEpsBearer</primary></indexterm>
+<programlisting>
+InitialEpsBearer readable o
+</programlisting>
+<para> The object path for the initial default EPS bearer.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings">
+ <title>The "InitialEpsBearerSettings" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearerSettings"><primary sortas="Modem3gpp:InitialEpsBearerSettings">org.freedesktop.ModemManager1.Modem.Modem3gpp:InitialEpsBearerSettings</primary></indexterm>
+<programlisting>
+InitialEpsBearerSettings readable a{sv}
+</programlisting>
+<para> List of properties requested by the device for the initial EPS bearer during
+ LTE network attach procedure.
+</para><para> The network may decide to use different settings during the actual device attach
+ procedure, e.g. if the device is roaming or no explicit settings were requested,
+ so the properties shown in the <link linkend="gdbus-interface-org-freedesktop-ModemManager1-Modem-Modem3gpp.top_of_page">org.freedesktop.ModemManager1.Modem.Modem3gpp</link>.InitialEpsBearer:InitialEpsBearer
+ may be totally different.
+</para><para> This is a read-only property, updating these settings should be done using the
+ <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Modem3gpp.SetInitialEpsBearerSettings">SetInitialEpsBearerSettings()</link>
+ method.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml
new file mode 100644
index 00000000..0413c3a9
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.ModemCdma.xml
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-ModemCdma.top_of_page">org.freedesktop.ModemManager1.Modem.ModemCdma</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-ModemCdma.top_of_page"><primary sortas="ModemCdma">org.freedesktop.ModemManager1.Modem.ModemCdma</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.ModemCdma</refname> <refpurpose>The ModemManager CDMA interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate">Activate</link> (IN s carrier_code);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual">ActivateManual</link> (IN a{sv} properties);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis>
+<link linkend="gdbus-signal-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationStateChanged">ActivationStateChanged</link> (u activation_state,
+ u activation_error,
+ a{sv} status_changes);
+</synopsis>
+ </refsect1>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationState">ActivationState</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid">Meid</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn">Esn</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Sid">Sid</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Nid">Nid</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Cdma1xRegistrationState">Cdma1xRegistrationState</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.EvdoRegistrationState">EvdoRegistrationState</link> readable u
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-ModemCdma">
+ <title role="desc.title">Description</title>
+ <para> This interface provides access to specific actions that may be performed
+ in modems with CDMA capabilities.
+</para><para> This interface will only be available once the modem is ready to be
+ registered in the cellular network. Mixed 3GPP+3GPP2 devices will require
+ a valid unlocked SIM card before any of the features in the interface can
+ be used.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.ModemCdma">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate">
+ <title>The Activate() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.Activate"><primary sortas="ModemCdma.Activate">org.freedesktop.ModemManager1.Modem.ModemCdma.Activate()</primary></indexterm>
+<programlisting>
+Activate (IN s carrier_code);
+</programlisting>
+<para> Provisions the modem for use with a given carrier using the modem's
+ <ulink url="http://en.wikipedia.org/wiki/Over-the-air_programming">Over-The-Air (OTA)</ulink>
+ activation functionality, if any.
+</para><para> Some modems will reboot after this call is made.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>carrier_code</parameter></literal>:</term>
+ <listitem><para>Name of carrier, or carrier-specific code.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual">
+ <title>The ActivateManual() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivateManual"><primary sortas="ModemCdma.ActivateManual">org.freedesktop.ModemManager1.Modem.ModemCdma.ActivateManual()</primary></indexterm>
+<programlisting>
+ActivateManual (IN a{sv} properties);
+</programlisting>
+<para> Sets the modem provisioning data directly, without contacting the
+ carrier over the air.
+</para><para> Some modems will reboot after this call is made.
+</para><para> This dictionary is composed of a string identifier key
+ with an associated data which contains type-specific location
+ information:
+</para><para> <variablelist>
+ <varlistentry><term>"spc"</term>
+ <listitem>
+ <para>
+ The Service Programming Code, given as a string of exactly 6 digit characters. Mandatory parameter.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>"sid"</term>
+ <listitem>
+ <para>
+ The System Identification Number, given as a 16-bit unsigned integer (signature <literal>"q"</literal>). Mandatory parameter.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>"mdn"</term>
+ <listitem>
+ <para>
+ The Mobile Directory Number, given as a string of maximum 15 characters. Mandatory parameter.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>"min"</term>
+ <listitem>
+ <para>
+ The Mobile Identification Number, given as a string of maximum 15 characters. Mandatory parameter.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>"mn-ha-key"</term>
+ <listitem>
+ <para>
+ The MN-HA key, given as a string of maximum 16 characters.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>"mn-aaa-key"</term>
+ <listitem>
+ <para>
+ The MN-AAA key, given as a string of maximum 16 characters.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term>"prl"</term>
+ <listitem>
+ <para>
+ The Preferred Roaming List, given as an array of maximum 16384 bytes.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN a{sv} <parameter>properties</parameter></literal>:</term>
+ <listitem><para>A dictionary of properties to set on the modem.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-signals-org.freedesktop.ModemManager1.Modem.ModemCdma">
+ <title role="details.title">Signal Details</title>
+<refsect2 role="signal" id="gdbus-signal-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationStateChanged">
+ <title>The "ActivationStateChanged" signal</title>
+ <indexterm zone="gdbus-signal-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationStateChanged"><primary sortas="ModemCdma::ActivationStateChanged">org.freedesktop.ModemManager1.Modem.ModemCdma::ActivationStateChanged</primary></indexterm>
+<programlisting>
+ActivationStateChanged (u activation_state,
+ u activation_error,
+ a{sv} status_changes);
+</programlisting>
+<para> The device activation state changed.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>u <parameter>activation_state</parameter></literal>:</term>
+ <listitem><para>Current activation state, given as a <link linkend="MMModemCdmaActivationState">MMModemCdmaActivationState</link>.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>u <parameter>activation_error</parameter></literal>:</term>
+ <listitem><para>Carrier-specific error code, given as a <link linkend="MMCdmaActivationError">MMCdmaActivationError</link>.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>a{sv} <parameter>status_changes</parameter></literal>:</term>
+ <listitem><para>Properties that have changed as a result of this activation state chage, including <literal>"mdn"</literal> and <literal>"min"</literal>. The dictionary may be empty if the changed properties are unknown.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem.ModemCdma">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationState">
+ <title>The "ActivationState" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.ActivationState"><primary sortas="ModemCdma:ActivationState">org.freedesktop.ModemManager1.Modem.ModemCdma:ActivationState</primary></indexterm>
+<programlisting>
+ActivationState readable u
+</programlisting>
+<para> A <link linkend="MMModemCdmaActivationState">MMModemCdmaActivationState</link>
+ value specifying the state of the activation in the 3GPP2 network.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid">
+ <title>The "Meid" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Meid"><primary sortas="ModemCdma:Meid">org.freedesktop.ModemManager1.Modem.ModemCdma:Meid</primary></indexterm>
+<programlisting>
+Meid readable s
+</programlisting>
+<para> The modem's <ulink url="http://en.wikipedia.org/wiki/MEID">Mobile Equipment Identifier</ulink>.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn">
+ <title>The "Esn" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Esn"><primary sortas="ModemCdma:Esn">org.freedesktop.ModemManager1.Modem.ModemCdma:Esn</primary></indexterm>
+<programlisting>
+Esn readable s
+</programlisting>
+<para> The modem's
+ <ulink url="http://en.wikipedia.org/wiki/Electronic_serial_number">Electronic Serial Number</ulink>
+ (superceded by MEID but still used by older devices).
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Sid">
+ <title>The "Sid" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Sid"><primary sortas="ModemCdma:Sid">org.freedesktop.ModemManager1.Modem.ModemCdma:Sid</primary></indexterm>
+<programlisting>
+Sid readable u
+</programlisting>
+<para> The
+ <ulink url="http://en.wikipedia.org/wiki/System_Identification_Number">System Identifier</ulink>
+ of the serving CDMA 1x network, if known, and
+ if the modem is registered with a CDMA 1x network.
+</para><para> See <ulink url="http://ifast.org">ifast.org</ulink> or the mobile
+ broadband provider database for mappings of SIDs to network providers.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Nid">
+ <title>The "Nid" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Nid"><primary sortas="ModemCdma:Nid">org.freedesktop.ModemManager1.Modem.ModemCdma:Nid</primary></indexterm>
+<programlisting>
+Nid readable u
+</programlisting>
+<para> The
+ <ulink url="http://en.wikipedia.org/wiki/Network_Identification_Number">Network Identifier</ulink>
+ of the serving CDMA 1x network, if known, and
+ if the modem is registered with a CDMA 1x network.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Cdma1xRegistrationState">
+ <title>The "Cdma1xRegistrationState" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.Cdma1xRegistrationState"><primary sortas="ModemCdma:Cdma1xRegistrationState">org.freedesktop.ModemManager1.Modem.ModemCdma:Cdma1xRegistrationState</primary></indexterm>
+<programlisting>
+Cdma1xRegistrationState readable u
+</programlisting>
+<para> A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link>
+ value specifying the CDMA 1x registration state.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.EvdoRegistrationState">
+ <title>The "EvdoRegistrationState" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-ModemCdma.EvdoRegistrationState"><primary sortas="ModemCdma:EvdoRegistrationState">org.freedesktop.ModemManager1.Modem.ModemCdma:EvdoRegistrationState</primary></indexterm>
+<programlisting>
+EvdoRegistrationState readable u
+</programlisting>
+<para> A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link>
+ value specifying the EVDO registration state.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Oma.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Oma.xml
new file mode 100644
index 00000000..bd5d5e1c
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Oma.xml
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.Oma">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Oma.top_of_page">org.freedesktop.ModemManager1.Modem.Oma</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-Oma.top_of_page"><primary sortas="Modem.Oma">org.freedesktop.ModemManager1.Modem.Oma</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.Oma</refname> <refpurpose>The ModemManager Open Mobile Alliance interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup">Setup</link> (IN u features);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession">StartClientInitiatedSession</link> (IN u session_type);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession">AcceptNetworkInitiatedSession</link> (IN u session_id,
+ IN b accept);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession">CancelSession</link> ();
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis>
+<link linkend="gdbus-signal-org-freedesktop-ModemManager1-Modem-Oma.SessionStateChanged">SessionStateChanged</link> (i old_session_state,
+ i new_session_state,
+ u session_state_failed_reason);
+</synopsis>
+ </refsect1>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.Features">Features</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions">PendingNetworkInitiatedSessions</link> readable a(uu)
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionType">SessionType</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionState">SessionState</link> readable i
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Oma">
+ <title role="desc.title">Description</title>
+ <para> This interface allows clients to handle device management operations as
+ specified by the Open Mobile Alliance (OMA).
+</para><para> Device management sessions are either on-demand (client-initiated), or
+ automatically initiated by either the device itself or the network.
+</para><para> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.Oma">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup">
+ <title>The Setup() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.Setup"><primary sortas="Modem.Oma.Setup">org.freedesktop.ModemManager1.Modem.Oma.Setup()</primary></indexterm>
+<programlisting>
+Setup (IN u features);
+</programlisting>
+<para> Configures which OMA device management features should be enabled.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>features</parameter></literal>:</term>
+ <listitem><para>Bitmask of <link linkend="MMModemOmaFeature">MMModemOmaFeature</link> flags, specifying which device management features should get enabled or disabled. <link linkend="MM-OMA-FEATURE-NONE:CAPS">MM_OMA_FEATURE_NONE</link> will disable all features.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession">
+ <title>The StartClientInitiatedSession() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.StartClientInitiatedSession"><primary sortas="Modem.Oma.StartClientInitiatedSession">org.freedesktop.ModemManager1.Modem.Oma.StartClientInitiatedSession()</primary></indexterm>
+<programlisting>
+StartClientInitiatedSession (IN u session_type);
+</programlisting>
+<para> Starts a client-initiated device management session.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>session_type</parameter></literal>:</term>
+ <listitem><para>Type of client-initiated device management session,given as a <link linkend="MMModemOmaSessionType">MMModemOmaSessionType</link></para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession">
+ <title>The AcceptNetworkInitiatedSession() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.AcceptNetworkInitiatedSession"><primary sortas="Modem.Oma.AcceptNetworkInitiatedSession">org.freedesktop.ModemManager1.Modem.Oma.AcceptNetworkInitiatedSession()</primary></indexterm>
+<programlisting>
+AcceptNetworkInitiatedSession (IN u session_id,
+ IN b accept);
+</programlisting>
+<para> Accepts or rejects a network-initiated device management session.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>session_id</parameter></literal>:</term>
+ <listitem><para>Unique ID of the network-initiated device management session.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>IN b <parameter>accept</parameter></literal>:</term>
+ <listitem><para>Boolean specifying whether the session is accepted or rejected.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession">
+ <title>The CancelSession() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Oma.CancelSession"><primary sortas="Modem.Oma.CancelSession">org.freedesktop.ModemManager1.Modem.Oma.CancelSession()</primary></indexterm>
+<programlisting>
+CancelSession ();
+</programlisting>
+<para> Cancels the current on-going device management session.
+</para>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-signals-org.freedesktop.ModemManager1.Modem.Oma">
+ <title role="details.title">Signal Details</title>
+<refsect2 role="signal" id="gdbus-signal-org-freedesktop-ModemManager1-Modem-Oma.SessionStateChanged">
+ <title>The "SessionStateChanged" signal</title>
+ <indexterm zone="gdbus-signal-org-freedesktop-ModemManager1-Modem-Oma.SessionStateChanged"><primary sortas="Modem.Oma::SessionStateChanged">org.freedesktop.ModemManager1.Modem.Oma::SessionStateChanged</primary></indexterm>
+<programlisting>
+SessionStateChanged (i old_session_state,
+ i new_session_state,
+ u session_state_failed_reason);
+</programlisting>
+<para> The session state changed.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>i <parameter>old_session_state</parameter></literal>:</term>
+ <listitem><para>Previous session state, given as a <link linkend="MMOmaSessionState">MMOmaSessionState</link>.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>i <parameter>new_session_state</parameter></literal>:</term>
+ <listitem><para>Current session state, given as a <link linkend="MMOmaSessionState">MMOmaSessionState</link>.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>u <parameter>session_state_failed_reason</parameter></literal>:</term>
+ <listitem><para>Reason of failure, given as a <link linkend="MMOmaSessionStateFailedReason">MMOmaSessionStateFailedReason</link>, if <parameter>session_state</parameter> is <link linkend="MM-OMA-SESSION-STATE-FAILED:CAPS">MM_OMA_SESSION_STATE_FAILED</link>.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem.Oma">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.Features">
+ <title>The "Features" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.Features"><primary sortas="Modem.Oma:Features">org.freedesktop.ModemManager1.Modem.Oma:Features</primary></indexterm>
+<programlisting>
+Features readable u
+</programlisting>
+<para> Bitmask of <link linkend="MMModemOmaFeature">MMModemOmaFeature</link>
+ flags, specifying which device management features are enabled or
+ disabled.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions">
+ <title>The "PendingNetworkInitiatedSessions" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.PendingNetworkInitiatedSessions"><primary sortas="Modem.Oma:PendingNetworkInitiatedSessions">org.freedesktop.ModemManager1.Modem.Oma:PendingNetworkInitiatedSessions</primary></indexterm>
+<programlisting>
+PendingNetworkInitiatedSessions readable a(uu)
+</programlisting>
+<para> List of network-initiated sessions which are waiting to be accepted or
+ rejected, given as an array of unsigned integer pairs, where:
+</para><para> <variablelist>
+ <varlistentry>
+ <listitem>
+ The first integer is a <link linkend="MMOmaSessionType">MMOmaSessionType</link>.
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <listitem>
+ The second integer is the unique session ID.
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionType">
+ <title>The "SessionType" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionType"><primary sortas="Modem.Oma:SessionType">org.freedesktop.ModemManager1.Modem.Oma:SessionType</primary></indexterm>
+<programlisting>
+SessionType readable u
+</programlisting>
+<para> Type of the current on-going device management session, given as a
+ <link linkend="MMOmaSessionType">MMOmaSessionType</link>.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionState">
+ <title>The "SessionState" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Oma.SessionState"><primary sortas="Modem.Oma:SessionState">org.freedesktop.ModemManager1.Modem.Oma:SessionState</primary></indexterm>
+<programlisting>
+SessionState readable i
+</programlisting>
+<para> State of the current on-going device management session, given as a
+ <link linkend="MMOmaSessionState">MMOmaSessionState</link>.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml
new file mode 100644
index 00000000..8e617606
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Signal.xml
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.Signal">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Signal.top_of_page">org.freedesktop.ModemManager1.Modem.Signal</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-Signal.top_of_page"><primary sortas="Modem.Signal">org.freedesktop.ModemManager1.Modem.Signal</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.Signal</refname> <refpurpose>The ModemManager Signal interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup">Setup</link> (IN u rate);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Rate">Rate</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma">Cdma</link> readable a{sv}
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo">Evdo</link> readable a{sv}
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm">Gsm</link> readable a{sv}
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts">Umts</link> readable a{sv}
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte">Lte</link> readable a{sv}
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Signal">
+ <title role="desc.title">Description</title>
+ <para> This interface provides access to extended signal quality information.
+</para><para> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.Signal">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup">
+ <title>The Setup() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Signal.Setup"><primary sortas="Modem.Signal.Setup">org.freedesktop.ModemManager1.Modem.Signal.Setup()</primary></indexterm>
+<programlisting>
+Setup (IN u rate);
+</programlisting>
+<para> Setup extended signal quality information retrieval.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>rate</parameter></literal>:</term>
+ <listitem><para>refresh rate to set, in seconds. 0 to disable retrieval.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem.Signal">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Rate">
+ <title>The "Rate" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Rate"><primary sortas="Modem.Signal:Rate">org.freedesktop.ModemManager1.Modem.Signal:Rate</primary></indexterm>
+<programlisting>
+Rate readable u
+</programlisting>
+<para> Refresh rate for the extended signal quality information updates,
+ in seconds. A value of 0 disables the retrieval of the values.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma">
+ <title>The "Cdma" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Cdma"><primary sortas="Modem.Signal:Cdma">org.freedesktop.ModemManager1.Modem.Signal:Cdma</primary></indexterm>
+<programlisting>
+Cdma readable a{sv}
+</programlisting>
+<para> Dictionary of available signal information for the CDMA1x access
+ technology.
+</para><para> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</para><para> <variablelist>
+ <varlistentry><term><literal>"rssi"</literal></term>
+ <listitem>
+ <para>
+ The CDMA1x RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"ecio"</literal></term>
+ <listitem>
+ <para>
+ The CDMA1x Ec/Io, in dBm, given as a floating point value
+ (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo">
+ <title>The "Evdo" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Evdo"><primary sortas="Modem.Signal:Evdo">org.freedesktop.ModemManager1.Modem.Signal:Evdo</primary></indexterm>
+<programlisting>
+Evdo readable a{sv}
+</programlisting>
+<para> Dictionary of available signal information for the CDMA EV-DO access
+ technology.
+</para><para> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</para><para> <variablelist>
+ <varlistentry><term><literal>"rssi"</literal></term>
+ <listitem>
+ <para>
+ The CDMA EV-DO RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"ecio"</literal></term>
+ <listitem>
+ <para>
+ The CDMA EV-DO Ec/Io, in dBm, given as a floating point value
+ (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"sinr"</literal></term>
+ <listitem>
+ <para>
+ CDMA EV-DO SINR level, in dB, given as a floating point value
+ (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"io"</literal></term>
+ <listitem>
+ <para>
+ The CDMA EV-DO Io, in dBm, given as a floating point value
+ (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm">
+ <title>The "Gsm" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Gsm"><primary sortas="Modem.Signal:Gsm">org.freedesktop.ModemManager1.Modem.Signal:Gsm</primary></indexterm>
+<programlisting>
+Gsm readable a{sv}
+</programlisting>
+<para> Dictionary of available signal information for the GSM/GPRS access
+ technology.
+</para><para> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</para><para> <variablelist>
+ <varlistentry><term><literal>"rssi"</literal></term>
+ <listitem>
+ <para>
+ The GSM RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts">
+ <title>The "Umts" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Umts"><primary sortas="Modem.Signal:Umts">org.freedesktop.ModemManager1.Modem.Signal:Umts</primary></indexterm>
+<programlisting>
+Umts readable a{sv}
+</programlisting>
+<para> Dictionary of available signal information for the UMTS (WCDMA) access
+ technology.
+</para><para> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</para><para> <variablelist>
+ <varlistentry><term><literal>"rssi"</literal></term>
+ <listitem>
+ <para>
+ The UMTS RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"rscp"</literal></term>
+ <listitem>
+ <para>
+ The UMTS RSCP (Received Signal Code Power), in dBm, given as a
+ floating point value (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"ecio"</literal></term>
+ <listitem>
+ <para>
+ The UMTS Ec/Io, in dB, given as a floating point value
+ (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte">
+ <title>The "Lte" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Signal.Lte"><primary sortas="Modem.Signal:Lte">org.freedesktop.ModemManager1.Modem.Signal:Lte</primary></indexterm>
+<programlisting>
+Lte readable a{sv}
+</programlisting>
+<para> Dictionary of available signal information for the LTE access
+ technology.
+</para><para> This dictionary is composed of a string key, with an associated data
+ which contains type-specific information.
+</para><para> <variablelist>
+ <varlistentry><term><literal>"rssi"</literal></term>
+ <listitem>
+ <para>
+ The LTE RSSI (Received Signal Strength Indication), in dBm,
+ given as a floating point value (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"rsrq"</literal></term>
+ <listitem>
+ <para>
+ The LTE RSRQ (Reference Signal Received Quality), in dB, given as
+ a floating point value (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"rsrp"</literal></term>
+ <listitem>
+ <para>
+ The LTE RSRP (Reference Signal Received Power), in dBm, given as
+ a floating point value (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"snr"</literal></term>
+ <listitem>
+ <para>
+ The LTE S/R ratio, in dB, given as
+ a floating point value (signature <literal>"d"</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml
new file mode 100644
index 00000000..75be25a6
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Simple.xml
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.Simple">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Simple.top_of_page">org.freedesktop.ModemManager1.Modem.Simple</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-Simple.top_of_page"><primary sortas="Modem.Simple">org.freedesktop.ModemManager1.Modem.Simple</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.Simple</refname> <refpurpose>The ModemManager Simple interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect">Connect</link> (IN a{sv} properties,
+ OUT o bearer);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect">Disconnect</link> (IN o bearer);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus">GetStatus</link> (OUT a{sv} properties);
+</synopsis>
+ </refsynopsisdiv>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Simple">
+ <title role="desc.title">Description</title>
+ <para> The Simple interface allows controlling and querying the status of Modems.
+</para><para> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.Simple">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect">
+ <title>The Connect() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect"><primary sortas="Modem.Simple.Connect">org.freedesktop.ModemManager1.Modem.Simple.Connect()</primary></indexterm>
+<programlisting>
+Connect (IN a{sv} properties,
+ OUT o bearer);
+</programlisting>
+<para> Do everything needed to connect the modem using the given properties.
+</para><para> This method will attempt to find a matching packet data bearer and
+ activate it if necessary, returning the bearer's IP details. If no
+ matching bearer is found, a new bearer will be created and activated,
+ but this operation may fail if no resources are available to complete
+ this connection attempt (ie, if a conflicting bearer is already active).
+</para><para> This call may make a large number of changes to modem configuration
+ based on properties passed in. For example, given a PIN-locked, disabled
+ GSM/UMTS modem, this call may unlock the SIM PIN, alter the access
+ technology preference, wait for network registration (or force
+ registration to a specific provider), create a new packet data bearer
+ using the given "apn", and connect that bearer.
+</para><para> Allowed key/value pairs in <parameter>properties</parameter> are:
+ <variablelist>
+ <varlistentry><term><literal>"pin"</literal></term>
+ <listitem>
+ SIM-PIN unlock code, given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"operator-id"</literal></term>
+ <listitem>
+ ETSI MCC-MNC of a network to force registration with,
+ given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"apn"</literal></term>
+ <listitem>
+ For GSM/UMTS and LTE devices the APN to use,
+ given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"ip-type"</literal></term>
+ <listitem>
+ For GSM/UMTS and LTE devices the IP addressing type to use,
+ given as a <link linkend="MMBearerIpFamily">MMBearerIpFamily</link>
+ value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"allowed-auth"</literal></term>
+ <listitem>
+ The authentication method to use, given as a
+ <link linkend="MMBearerAllowedAuth">MMBearerAllowedAuth</link>
+ value (signature <literal>"u"</literal>). Optional in 3GPP.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"user"</literal></term>
+ <listitem>
+ User name (if any) required by the network, given as a string
+ value (signature <literal>"s"</literal>). Optional in 3GPP.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"password"</literal></term>
+ <listitem>
+ Password (if any) required by the network, given as a string value
+ (signature <literal>"s"</literal>). Optional in 3GPP.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"number"</literal></term>
+ <listitem>
+ For POTS devices the number to dial,,
+ given as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"allow-roaming"</literal></term>
+ <listitem>
+ <constant>FALSE</constant> to allow only connections to home networks,
+ given as a boolean value (signature <literal>"b"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"rm-protocol"</literal></term>
+ <listitem>
+ For CDMA devices, the protocol of the Rm interface, given as a
+ <link linkend="MMModemCdmaRmProtocol">MMModemCdmaRmProtocol</link>
+ value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN a{sv} <parameter>properties</parameter></literal>:</term>
+ <listitem><para>Dictionary of properties needed to get the modem connected.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>OUT o <parameter>bearer</parameter></literal>:</term>
+ <listitem><para>On successful connect, returns the object path of the connected packet data bearer used for the connection attempt.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect">
+ <title>The Disconnect() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Disconnect"><primary sortas="Modem.Simple.Disconnect">org.freedesktop.ModemManager1.Modem.Simple.Disconnect()</primary></indexterm>
+<programlisting>
+Disconnect (IN o bearer);
+</programlisting>
+<para> data bearer, while if "/" (ie, no object given) this method will
+ disconnect all active packet data bearers.
+</para><para> Disconnect an active packet data connection.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN o <parameter>bearer</parameter></literal>:</term>
+ <listitem><para>If given this method will disconnect the referenced packet</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus">
+ <title>The GetStatus() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.GetStatus"><primary sortas="Modem.Simple.GetStatus">org.freedesktop.ModemManager1.Modem.Simple.GetStatus()</primary></indexterm>
+<programlisting>
+GetStatus (OUT a{sv} properties);
+</programlisting>
+<para> Get the general modem status.
+</para><para> The predefined common properties returned are:
+ <variablelist>
+ <varlistentry><term><literal>"state"</literal></term>
+ <listitem>
+ A <link linkend="MMModemState">MMModemState</link> value
+ specifying the overall state of the modem, given as an
+ unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"signal-quality"</literal></term>
+ <listitem>
+ Signal quality value, given only when registered,
+ as an unsigned integer value
+ (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"current-bands"</literal></term>
+ <listitem>
+ List of <link linkend="MMModemBand">MMModemBand</link> values,
+ given only when registered, as a list of
+ unsigned integer values (signature <literal>"au"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"access-technology"</literal></term>
+ <listitem>
+ A <link linkend="MMModemAccessTechnology">MMModemAccessTechnology</link> value,
+ given only when registered, as an unsigned integer value
+ (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"m3gpp-registration-state"</literal></term>
+ <listitem>
+ A <link linkend="MMModem3gppRegistrationState">MMModem3gppRegistrationState</link> value
+ specifying the state of the registration, given only when registered
+ in a 3GPP network, as an unsigned integer value (signature
+ <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"m3gpp-operator-code"</literal></term>
+ <listitem>
+ Operator <literal>MCC-MNC</literal>, given only when registered
+ in a 3GPP network, as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"m3gpp-operator-name"</literal></term>
+ <listitem>
+ Operator name, given only when registered in a 3GPP network,
+ as a string value (signature <literal>"s"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"cdma-cdma1x-registration-state"</literal></term>
+ <listitem>
+ A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link> value
+ specifying the state of the registration, given only when registered
+ in a CDMA1x network, as an unsigned integer value (signature
+ <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"cdma-evdo-registration-state"</literal></term>
+ <listitem>
+ A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link> value
+ specifying the state of the registration, given only when registered
+ in a EV-DO network, as an unsigned integer value (signature
+ <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"cdma-sid"</literal></term>
+ <listitem>
+ The System Identifier of the serving network, if registered in a CDMA1x network and if known.
+ Given as an unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"cdma-nid"</literal></term>
+ <listitem>
+ The Network Identifier of the serving network, if registered in a CDMA1x network and if known.
+ Given as an unsigned integer value (signature <literal>"u"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>OUT a{sv} <parameter>properties</parameter></literal>:</term>
+ <listitem><para>Dictionary of properties.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml
new file mode 100644
index 00000000..0ac2019c
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.Time.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem.Time">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Time.top_of_page">org.freedesktop.ModemManager1.Modem.Time</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem-Time.top_of_page"><primary sortas="Modem.Time">org.freedesktop.ModemManager1.Modem.Time</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem.Time</refname> <refpurpose>The ModemManager Time interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime">GetNetworkTime</link> (OUT s time);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis>
+<link linkend="gdbus-signal-org-freedesktop-ModemManager1-Modem-Time.NetworkTimeChanged">NetworkTimeChanged</link> (s time);
+</synopsis>
+ </refsect1>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone">NetworkTimezone</link> readable a{sv}
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem-Time">
+ <title role="desc.title">Description</title>
+ <para> This interface allows clients to receive network time and timezone
+ updates broadcast by mobile networks.
+</para><para> This interface will only be available once the modem is ready to be
+ registered in the cellular network. 3GPP devices will require a valid
+ unlocked SIM card before any of the features in the interface can be
+ used.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem.Time">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime">
+ <title>The GetNetworkTime() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem-Time.GetNetworkTime"><primary sortas="Modem.Time.GetNetworkTime">org.freedesktop.ModemManager1.Modem.Time.GetNetworkTime()</primary></indexterm>
+<programlisting>
+GetNetworkTime (OUT s time);
+</programlisting>
+<para> time, and (if available) UTC offset in ISO 8601 format. If the network
+ time is unknown, the empty string.
+</para><para> Gets the current network time in local time.
+</para><para> This method will only work if the modem tracks, or can request, the
+ current network time; it will not attempt to use previously-received
+ network time updates on the host to guess the current network time.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>OUT s <parameter>time</parameter></literal>:</term>
+ <listitem><para>If the network time is known, a string containing local date,</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-signals-org.freedesktop.ModemManager1.Modem.Time">
+ <title role="details.title">Signal Details</title>
+<refsect2 role="signal" id="gdbus-signal-org-freedesktop-ModemManager1-Modem-Time.NetworkTimeChanged">
+ <title>The "NetworkTimeChanged" signal</title>
+ <indexterm zone="gdbus-signal-org-freedesktop-ModemManager1-Modem-Time.NetworkTimeChanged"><primary sortas="Modem.Time::NetworkTimeChanged">org.freedesktop.ModemManager1.Modem.Time::NetworkTimeChanged</primary></indexterm>
+<programlisting>
+NetworkTimeChanged (s time);
+</programlisting>
+<para> Sent when the network time is updated.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>s <parameter>time</parameter></literal>:</term>
+ <listitem><para>A string containing date and time in ISO 8601 format.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem.Time">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone">
+ <title>The "NetworkTimezone" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem-Time.NetworkTimezone"><primary sortas="Modem.Time:NetworkTimezone">org.freedesktop.ModemManager1.Modem.Time:NetworkTimezone</primary></indexterm>
+<programlisting>
+NetworkTimezone readable a{sv}
+</programlisting>
+<para> The timezone data provided by the network. It may include one or more
+ of the following fields:
+</para><para> <variablelist>
+ <varlistentry><term><literal>"offset"</literal></term>
+ <listitem>
+ Offset of the timezone from UTC, in minutes (including DST, if applicable),
+ given as a signed integer value (signature <literal>"i"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"dst-offset"</literal></term>
+ <listitem>
+ Amount of offset that is due to DST (daylight saving time),
+ given as a signed integer value (signature <literal>"i"</literal>).
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>"leap-seconds"</literal></term>
+ <listitem>
+ Number of leap seconds included in the network time,
+ given as a signed integer value (signature <literal>"i"</literal>).
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.xml
new file mode 100644
index 00000000..31e55603
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Modem.xml
@@ -0,0 +1,691 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Modem">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Modem.top_of_page">org.freedesktop.ModemManager1.Modem</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Modem.top_of_page"><primary sortas="Modem">org.freedesktop.ModemManager1.Modem</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Modem</refname> <refpurpose>The ModemManager Modem interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.Enable">Enable</link> (IN b enable);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers">ListBearers</link> (OUT ao bearers);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer">CreateBearer</link> (IN a{sv} properties,
+ OUT o path);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer">DeleteBearer</link> (IN o bearer);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.Reset">Reset</link> ();
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset">FactoryReset</link> (IN s code);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState">SetPowerState</link> (IN u state);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities">SetCurrentCapabilities</link> (IN u capabilities);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes">SetCurrentModes</link> (IN (uu) modes);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands">SetCurrentBands</link> (IN au bands);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem.Command">Command</link> (IN s cmd,
+ IN u timeout,
+ OUT s response);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="signal_proto">
+ <title role="signal_proto.title">Signals</title>
+ <synopsis>
+<link linkend="gdbus-signal-org-freedesktop-ModemManager1-Modem.StateChanged">StateChanged</link> (i old,
+ i new,
+ u reason);
+</synopsis>
+ </refsect1>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Sim">Sim</link> readable o
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers">Bearers</link> readable ao
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities">SupportedCapabilities</link> readable au
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentCapabilities">CurrentCapabilities</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.MaxBearers">MaxBearers</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.MaxActiveBearers">MaxActiveBearers</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer">Manufacturer</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Model">Model</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Revision">Revision</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision">HardwareRevision</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier">DeviceIdentifier</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Device">Device</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers">Drivers</link> readable as
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin">Plugin</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort">PrimaryPort</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Ports">Ports</link> readable a(su)
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier">EquipmentIdentifier</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRequired">UnlockRequired</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries">UnlockRetries</link> readable a{uu}
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.State">State</link> readable i
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason">StateFailedReason</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.AccessTechnologies">AccessTechnologies</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality">SignalQuality</link> readable (ub)
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers">OwnNumbers</link> readable as
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.PowerState">PowerState</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes">SupportedModes</link> readable a(uu)
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes">CurrentModes</link> readable (uu)
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands">SupportedBands</link> readable au
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands">CurrentBands</link> readable au
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedIpFamilies">SupportedIpFamilies</link> readable u
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Modem">
+ <title role="desc.title">Description</title>
+ <para> The Modem interface controls the status and actions in a given modem
+ object.
+</para><para> This interface will always be available as long a the modem is considered
+ valid.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Modem">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.Enable">
+ <title>The Enable() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.Enable"><primary sortas="Modem.Enable">org.freedesktop.ModemManager1.Modem.Enable()</primary></indexterm>
+<programlisting>
+Enable (IN b enable);
+</programlisting>
+<para> Enable or disable the modem.
+</para><para> When enabled, the modem's radio is powered on and data sessions, voice
+ calls, location services, and Short Message Service may be available.
+</para><para> When disabled, the modem enters low-power state and no network-related
+ operations are available.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN b <parameter>enable</parameter></literal>:</term>
+ <listitem><para><constant>TRUE</constant> to enable the modem and <constant>FALSE</constant> to disable it.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers">
+ <title>The ListBearers() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.ListBearers"><primary sortas="Modem.ListBearers">org.freedesktop.ModemManager1.Modem.ListBearers()</primary></indexterm>
+<programlisting>
+ListBearers (OUT ao bearers);
+</programlisting>
+<para> List configured packet data bearers (EPS Bearers, PDP Contexts, or
+ CDMA2000 Packet Data Sessions).
+</para><para> Deprecated: 1.10.0. Use <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers">"Bearers"</link>
+ property instead.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>OUT ao <parameter>bearers</parameter></literal>:</term>
+ <listitem><para>The list of bearer object paths.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer">
+ <title>The CreateBearer() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer"><primary sortas="Modem.CreateBearer">org.freedesktop.ModemManager1.Modem.CreateBearer()</primary></indexterm>
+<programlisting>
+CreateBearer (IN a{sv} properties,
+ OUT o path);
+</programlisting>
+<para> Create a new packet data bearer using the given characteristics.
+</para><para> This request may fail if the modem does not support additional bearers,
+ if too many bearers are already defined, or if properties are invalid.
+</para><para> Allowed properties are:
+ <variablelist>
+ <varlistentry><term><literal>"apn"</literal></term>
+ <listitem><para>Access Point Name, given as a string value (signature <literal>"s"</literal>). Required in 3GPP.</para></listitem></varlistentry>
+ <varlistentry><term><literal>"ip-type"</literal></term>
+ <listitem><para>Addressing type, given as a <link linkend="MMBearerIpFamily">MMBearerIpFamily</link> value (signature <literal>"u"</literal>). Optional in 3GPP and CDMA.</para></listitem></varlistentry>
+ <varlistentry><term><literal>"allowed-auth"</literal></term>
+ <listitem><para>The authentication method to use, given as a <link linkend="MMBearerAllowedAuth">MMBearerAllowedAuth</link> value (signature <literal>"u"</literal>). Optional in 3GPP.</para></listitem></varlistentry>
+ <varlistentry><term><literal>"user"</literal></term>
+ <listitem><para>User name (if any) required by the network, given as a string value (signature <literal>"s"</literal>). Optional in 3GPP.</para></listitem></varlistentry>
+ <varlistentry><term><literal>"password"</literal></term>
+ <listitem><para>Password (if any) required by the network, given as a string value (signature <literal>"s"</literal>). Optional in 3GPP.</para></listitem></varlistentry>
+ <varlistentry><term><literal>"allow-roaming"</literal></term>
+ <listitem><para>Flag to tell whether connection is allowed during roaming, given as a boolean value (signature <literal>"b"</literal>). Optional in 3GPP.</para></listitem></varlistentry>
+ <varlistentry><term><literal>"rm-protocol"</literal></term>
+ <listitem><para>Protocol of the Rm interface, given as a <link linkend="MMModemCdmaRmProtocol">MMModemCdmaRmProtocol</link> value (signature <literal>"u"</literal>). Optional in CDMA.</para></listitem></varlistentry>
+ <varlistentry><term><literal>"number"</literal></term>
+ <listitem><para>Telephone number to dial, given as a string value (signature <literal>"s"</literal>). Required in POTS.</para></listitem></varlistentry>
+ </variablelist>
+</para><para> Some properties are only applicable to a bearer of certain access
+ technologies, for example the <literal>"apn"</literal> property is not
+ applicable to CDMA2000 Packet Data Session bearers.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN a{sv} <parameter>properties</parameter></literal>:</term>
+ <listitem><para>List of properties to assign to the bearer after creating it.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>OUT o <parameter>path</parameter></literal>:</term>
+ <listitem><para>On success, the object path of the newly created bearer.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer">
+ <title>The DeleteBearer() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.DeleteBearer"><primary sortas="Modem.DeleteBearer">org.freedesktop.ModemManager1.Modem.DeleteBearer()</primary></indexterm>
+<programlisting>
+DeleteBearer (IN o bearer);
+</programlisting>
+<para> Delete an existing packet data bearer.
+</para><para> If the bearer is currently active and providing packet data server, it
+ will be disconnected and that packet data service will terminate.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN o <parameter>bearer</parameter></literal>:</term>
+ <listitem><para>Object path of the bearer to delete.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.Reset">
+ <title>The Reset() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.Reset"><primary sortas="Modem.Reset">org.freedesktop.ModemManager1.Modem.Reset()</primary></indexterm>
+<programlisting>
+Reset ();
+</programlisting>
+<para> Clear non-persistent configuration and state, and return the device to
+ a newly-powered-on state.
+</para><para> This command may power-cycle the device.
+</para>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset">
+ <title>The FactoryReset() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.FactoryReset"><primary sortas="Modem.FactoryReset">org.freedesktop.ModemManager1.Modem.FactoryReset()</primary></indexterm>
+<programlisting>
+FactoryReset (IN s code);
+</programlisting>
+<para> Clear the modem's configuration (including persistent configuration and
+ state), and return the device to a factory-default state.
+</para><para> If not required by the modem, <parameter>code</parameter> may be ignored.
+</para><para> This command may or may not power-cycle the device.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>code</parameter></literal>:</term>
+ <listitem><para>Carrier-supplied code required to reset the modem.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState">
+ <title>The SetPowerState() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.SetPowerState"><primary sortas="Modem.SetPowerState">org.freedesktop.ModemManager1.Modem.SetPowerState()</primary></indexterm>
+<programlisting>
+SetPowerState (IN u state);
+</programlisting>
+<para> Set the power state of the modem. This action can only be run when the
+ modem is in <link linkend="MM-MODEM-STATE-DISABLED:CAPS"><constant>MM_MODEM_STATE_DISABLED</constant></link>
+ state.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>state</parameter></literal>:</term>
+ <listitem><para>A <link linkend="MMModemPowerState">MMModemPowerState</link> value, to specify the desired power state.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities">
+ <title>The SetCurrentCapabilities() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentCapabilities"><primary sortas="Modem.SetCurrentCapabilities">org.freedesktop.ModemManager1.Modem.SetCurrentCapabilities()</primary></indexterm>
+<programlisting>
+SetCurrentCapabilities (IN u capabilities);
+</programlisting>
+<para> Set the capabilities of the device. A restart of the modem may be required.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>capabilities</parameter></literal>:</term>
+ <listitem><para>Bitmask of <link linkend="MMModemCapability">MMModemCapability</link> values, to specify the capabilities to use.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes">
+ <title>The SetCurrentModes() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentModes"><primary sortas="Modem.SetCurrentModes">org.freedesktop.ModemManager1.Modem.SetCurrentModes()</primary></indexterm>
+<programlisting>
+SetCurrentModes (IN (uu) modes);
+</programlisting>
+<para> Set the access technologies (e.g. 2G/3G/4G preference) the device is
+ currently allowed to use when connecting to a network.
+</para><para> The given combination should be supported by the modem, as specified in the
+ <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes">"SupportedModes"</link> property.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN (uu) <parameter>modes</parameter></literal>:</term>
+ <listitem><para>A pair of <link linkend="MMModemMode">MMModemMode</link> values, where the first one is a bitmask of allowed modes, and the second one the preferred mode, if any.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands">
+ <title>The SetCurrentBands() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.SetCurrentBands"><primary sortas="Modem.SetCurrentBands">org.freedesktop.ModemManager1.Modem.SetCurrentBands()</primary></indexterm>
+<programlisting>
+SetCurrentBands (IN au bands);
+</programlisting>
+<para> Set the radio frequency and technology bands the device is currently
+ allowed to use when connecting to a network.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN au <parameter>bands</parameter></literal>:</term>
+ <listitem><para>List of <link linkend="MMModemBand">MMModemBand</link> values, to specify the bands to be used.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Modem.Command">
+ <title>The Command() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Modem.Command"><primary sortas="Modem.Command">org.freedesktop.ModemManager1.Modem.Command()</primary></indexterm>
+<programlisting>
+Command (IN s cmd,
+ IN u timeout,
+ OUT s response);
+</programlisting>
+<para></para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>cmd</parameter></literal>:</term>
+ <listitem><para></para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>IN u <parameter>timeout</parameter></literal>:</term>
+ <listitem><para></para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>OUT s <parameter>response</parameter></literal>:</term>
+ <listitem><para></para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-signals-org.freedesktop.ModemManager1.Modem">
+ <title role="details.title">Signal Details</title>
+<refsect2 role="signal" id="gdbus-signal-org-freedesktop-ModemManager1-Modem.StateChanged">
+ <title>The "StateChanged" signal</title>
+ <indexterm zone="gdbus-signal-org-freedesktop-ModemManager1-Modem.StateChanged"><primary sortas="Modem::StateChanged">org.freedesktop.ModemManager1.Modem::StateChanged</primary></indexterm>
+<programlisting>
+StateChanged (i old,
+ i new,
+ u reason);
+</programlisting>
+<para> The modem's state (see <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.State">"State"</link>) changed.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>i <parameter>old</parameter></literal>:</term>
+ <listitem><para>A <link linkend="MMModemState">MMModemState</link> value, specifying the new state.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>i <parameter>new</parameter></literal>:</term>
+ <listitem><para>A <link linkend="MMModemState">MMModemState</link> value, specifying the new state.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>u <parameter>reason</parameter></literal>:</term>
+ <listitem><para>A <link linkend="MMModemStateChangeReason">MMModemStateChangeReason</link> value, specifying the reason for this state change.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Modem">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.Sim">
+ <title>The "Sim" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.Sim"><primary sortas="Modem:Sim">org.freedesktop.ModemManager1.Modem:Sim</primary></indexterm>
+<programlisting>
+Sim readable o
+</programlisting>
+<para> The path of the SIM object available in this device, if any.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers">
+ <title>The "Bearers" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.Bearers"><primary sortas="Modem:Bearers">org.freedesktop.ModemManager1.Modem:Bearers</primary></indexterm>
+<programlisting>
+Bearers readable ao
+</programlisting>
+<para> The list of bearer object paths (EPS Bearers, PDP Contexts, or
+ CDMA2000 Packet Data Sessions) as requested by the user.
+</para><para> This list does not include the initial EPS bearer details (see
+ <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem-Modem3gpp.InitialEpsBearer">"InitialEpsBearer"</link>).
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities">
+ <title>The "SupportedCapabilities" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedCapabilities"><primary sortas="Modem:SupportedCapabilities">org.freedesktop.ModemManager1.Modem:SupportedCapabilities</primary></indexterm>
+<programlisting>
+SupportedCapabilities readable au
+</programlisting>
+<para> List of <link linkend="MMModemCapability">MMModemCapability</link>
+ values, specifying the combinations of generic family of access
+ technologies the modem supports.
+</para><para> If the modem doesn't allow changing the current capabilities, a single entry with
+ <link linkend="MM-MODEM-CAPABILITY-ANY:CAPS"><constant>MM_MODEM_CAPABILITY_ANY</constant></link>
+ will be given.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentCapabilities">
+ <title>The "CurrentCapabilities" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentCapabilities"><primary sortas="Modem:CurrentCapabilities">org.freedesktop.ModemManager1.Modem:CurrentCapabilities</primary></indexterm>
+<programlisting>
+CurrentCapabilities readable u
+</programlisting>
+<para> Bitmask of <link linkend="MMModemCapability">MMModemCapability</link>
+ values, specifying the generic family of access technologies the modem
+ currently supports without a firmware reload or reinitialization.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.MaxBearers">
+ <title>The "MaxBearers" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.MaxBearers"><primary sortas="Modem:MaxBearers">org.freedesktop.ModemManager1.Modem:MaxBearers</primary></indexterm>
+<programlisting>
+MaxBearers readable u
+</programlisting>
+<para> The maximum number of defined packet data bearers the modem supports.
+</para><para> This is not the number of active/connected bearers the modem supports,
+ but simply the number of bearers that may be defined at any given time.
+ For example, POTS and CDMA2000-only devices support only one bearer,
+ while GSM/UMTS devices typically support three or more, and any
+ LTE-capable device (whether LTE-only, GSM/UMTS-capable, and/or
+ CDMA2000-capable) also typically support three or more.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.MaxActiveBearers">
+ <title>The "MaxActiveBearers" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.MaxActiveBearers"><primary sortas="Modem:MaxActiveBearers">org.freedesktop.ModemManager1.Modem:MaxActiveBearers</primary></indexterm>
+<programlisting>
+MaxActiveBearers readable u
+</programlisting>
+<para> The maximum number of active
+ <link linkend="MM-BEARER-TYPE-DEFAULT:CAPS"><constant>MM_BEARER_TYPE_DEFAULT</constant></link>
+ bearers that may be explicitly enabled by the user.
+</para><para> POTS and CDMA2000-only devices support one active bearer, while GSM/UMTS
+ and LTE-capable devices (including LTE/CDMA devices) typically support
+ at least two active bearers.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer">
+ <title>The "Manufacturer" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.Manufacturer"><primary sortas="Modem:Manufacturer">org.freedesktop.ModemManager1.Modem:Manufacturer</primary></indexterm>
+<programlisting>
+Manufacturer readable s
+</programlisting>
+<para> The equipment manufacturer, as reported by the modem.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.Model">
+ <title>The "Model" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.Model"><primary sortas="Modem:Model">org.freedesktop.ModemManager1.Modem:Model</primary></indexterm>
+<programlisting>
+Model readable s
+</programlisting>
+<para> The equipment model, as reported by the modem.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.Revision">
+ <title>The "Revision" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.Revision"><primary sortas="Modem:Revision">org.freedesktop.ModemManager1.Modem:Revision</primary></indexterm>
+<programlisting>
+Revision readable s
+</programlisting>
+<para> The revision identification of the software, as reported by the modem.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision">
+ <title>The "HardwareRevision" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.HardwareRevision"><primary sortas="Modem:HardwareRevision">org.freedesktop.ModemManager1.Modem:HardwareRevision</primary></indexterm>
+<programlisting>
+HardwareRevision readable s
+</programlisting>
+<para> The revision identification of the hardware, as reported by the modem.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier">
+ <title>The "DeviceIdentifier" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.DeviceIdentifier"><primary sortas="Modem:DeviceIdentifier">org.freedesktop.ModemManager1.Modem:DeviceIdentifier</primary></indexterm>
+<programlisting>
+DeviceIdentifier readable s
+</programlisting>
+<para> A best-effort device identifier based on various device information like
+ model name, firmware revision, USB/PCI/PCMCIA IDs, and other properties.
+</para><para> This ID is not guaranteed to be unique and may be shared between
+ identical devices with the same firmware, but is intended to be "unique
+ enough" for use as a casual device identifier for various user
+ experience operations.
+</para><para> This is not the device's IMEI or ESN since those may not be available
+ before unlocking the device via a PIN.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.Device">
+ <title>The "Device" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.Device"><primary sortas="Modem:Device">org.freedesktop.ModemManager1.Modem:Device</primary></indexterm>
+<programlisting>
+Device readable s
+</programlisting>
+<para> The physical modem device reference (ie, USB, PCI, PCMCIA device), which
+ may be dependent upon the operating system.
+</para><para> In Linux for example, this points to a sysfs path of the usb_device
+ object.
+</para><para> This value may also be set by the user using the MM_ID_PHYSDEV_UID udev
+ tag (e.g. binding the tag to a specific sysfs path).
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers">
+ <title>The "Drivers" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.Drivers"><primary sortas="Modem:Drivers">org.freedesktop.ModemManager1.Modem:Drivers</primary></indexterm>
+<programlisting>
+Drivers readable as
+</programlisting>
+<para> The Operating System device drivers handling communication with the modem
+ hardware.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin">
+ <title>The "Plugin" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.Plugin"><primary sortas="Modem:Plugin">org.freedesktop.ModemManager1.Modem:Plugin</primary></indexterm>
+<programlisting>
+Plugin readable s
+</programlisting>
+<para> The name of the plugin handling this modem.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort">
+ <title>The "PrimaryPort" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.PrimaryPort"><primary sortas="Modem:PrimaryPort">org.freedesktop.ModemManager1.Modem:PrimaryPort</primary></indexterm>
+<programlisting>
+PrimaryPort readable s
+</programlisting>
+<para> The name of the primary port using to control the modem.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.Ports">
+ <title>The "Ports" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.Ports"><primary sortas="Modem:Ports">org.freedesktop.ModemManager1.Modem:Ports</primary></indexterm>
+<programlisting>
+Ports readable a(su)
+</programlisting>
+<para> The list of ports in the modem, given as an array of string and unsigned
+ integer pairs. The string is the port name or path, and the integer is
+ the port type given as a
+ <link linkend="MMModemPortType">MMModemPortType</link> value.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier">
+ <title>The "EquipmentIdentifier" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.EquipmentIdentifier"><primary sortas="Modem:EquipmentIdentifier">org.freedesktop.ModemManager1.Modem:EquipmentIdentifier</primary></indexterm>
+<programlisting>
+EquipmentIdentifier readable s
+</programlisting>
+<para> The identity of the device.
+</para><para> This will be the IMEI number for GSM devices and the hex-format ESN/MEID
+ for CDMA devices.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRequired">
+ <title>The "UnlockRequired" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRequired"><primary sortas="Modem:UnlockRequired">org.freedesktop.ModemManager1.Modem:UnlockRequired</primary></indexterm>
+<programlisting>
+UnlockRequired readable u
+</programlisting>
+<para> Current lock state of the device, given as a
+ <link linkend="MMModemLock">MMModemLock</link> value.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries">
+ <title>The "UnlockRetries" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.UnlockRetries"><primary sortas="Modem:UnlockRetries">org.freedesktop.ModemManager1.Modem:UnlockRetries</primary></indexterm>
+<programlisting>
+UnlockRetries readable a{uu}
+</programlisting>
+<para> A dictionary in which the keys are <link linkend="MMModemLock">MMModemLock</link>
+ flags, and the values are integers giving the number of PIN tries remaining
+ before the code becomes blocked (requiring a PUK) or permanently blocked. Dictionary
+ entries exist only for the codes for which the modem is able to report retry
+ counts.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.State">
+ <title>The "State" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.State"><primary sortas="Modem:State">org.freedesktop.ModemManager1.Modem:State</primary></indexterm>
+<programlisting>
+State readable i
+</programlisting>
+<para> Overall state of the modem, given as a
+ <link linkend="MMModemState">MMModemState</link> value.
+</para><para> If the device's state cannot be determined,
+ <link linkend="MM-MODEM-STATE-UNKNOWN:CAPS"><constant>MM_MODEM_STATE_UNKNOWN</constant></link>
+ will be reported.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason">
+ <title>The "StateFailedReason" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.StateFailedReason"><primary sortas="Modem:StateFailedReason">org.freedesktop.ModemManager1.Modem:StateFailedReason</primary></indexterm>
+<programlisting>
+StateFailedReason readable u
+</programlisting>
+<para> Error specifying why the modem is in
+ <link linkend="MM-MODEM-STATE-FAILED:CAPS"><constant>MM_MODEM_STATE_FAILED</constant></link>
+ state, given as a
+ <link linkend="MMModemStateFailedReason">MMModemStateFailedReason</link> value.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.AccessTechnologies">
+ <title>The "AccessTechnologies" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.AccessTechnologies"><primary sortas="Modem:AccessTechnologies">org.freedesktop.ModemManager1.Modem:AccessTechnologies</primary></indexterm>
+<programlisting>
+AccessTechnologies readable u
+</programlisting>
+<para> Bitmask of <link linkend="MMModemAccessTechnology">MMModemAccessTechnology</link> values,
+ specifying the current network access technologies used by the device to communicate
+ with the network.
+</para><para> If the device's access technology cannot be determined,
+ <link linkend="MM-MODEM-ACCESS-TECHNOLOGY-UNKNOWN:CAPS"><constant>MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN</constant></link>
+ will be reported.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality">
+ <title>The "SignalQuality" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.SignalQuality"><primary sortas="Modem:SignalQuality">org.freedesktop.ModemManager1.Modem:SignalQuality</primary></indexterm>
+<programlisting>
+SignalQuality readable (ub)
+</programlisting>
+<para> Signal quality in percent (0 - 100) of the dominant access technology
+ the device is using to communicate with the network. Always 0 for POTS
+ devices.
+</para><para> The additional boolean value indicates if the quality value given was
+ recently taken.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers">
+ <title>The "OwnNumbers" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.OwnNumbers"><primary sortas="Modem:OwnNumbers">org.freedesktop.ModemManager1.Modem:OwnNumbers</primary></indexterm>
+<programlisting>
+OwnNumbers readable as
+</programlisting>
+<para> List of numbers (e.g. MSISDN in 3GPP) being currently handled by this
+ modem.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.PowerState">
+ <title>The "PowerState" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.PowerState"><primary sortas="Modem:PowerState">org.freedesktop.ModemManager1.Modem:PowerState</primary></indexterm>
+<programlisting>
+PowerState readable u
+</programlisting>
+<para> A <link linkend="MMModemPowerState">MMModemPowerState</link> value
+ specifying the current power state of the modem.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes">
+ <title>The "SupportedModes" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes"><primary sortas="Modem:SupportedModes">org.freedesktop.ModemManager1.Modem:SupportedModes</primary></indexterm>
+<programlisting>
+SupportedModes readable a(uu)
+</programlisting>
+<para> This property exposes the supported mode combinations, given as an array of unsigned
+ integer pairs, where:
+</para><para> <variablelist>
+ <varlistentry>
+ <listitem>
+ The first integer is a bitmask of <link linkend="MMModemMode">MMModemMode</link> values,
+ specifying the allowed modes.
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <listitem>
+ The second integer is a single <link linkend="MMModemMode">MMModemMode</link>, which
+ specifies the preferred access technology, among the ones defined in the allowed modes.
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes">
+ <title>The "CurrentModes" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentModes"><primary sortas="Modem:CurrentModes">org.freedesktop.ModemManager1.Modem:CurrentModes</primary></indexterm>
+<programlisting>
+CurrentModes readable (uu)
+</programlisting>
+<para> A pair of <link linkend="MMModemMode">MMModemMode</link> values, where the first one
+ is a bitmask specifying the access technologies (eg 2G/3G/4G) the device
+ is currently allowed to use when connecting to a network, and the second one is the
+ preferred mode of those specified as allowed.
+</para><para> The pair must be one of those specified in
+ <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedModes">"SupportedModes"</link>.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands">
+ <title>The "SupportedBands" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands"><primary sortas="Modem:SupportedBands">org.freedesktop.ModemManager1.Modem:SupportedBands</primary></indexterm>
+<programlisting>
+SupportedBands readable au
+</programlisting>
+<para> List of <link linkend="MMModemBand">MMModemBand</link> values,
+ specifying the radio frequency and technology bands supported by the
+ device.
+</para><para> For POTS devices, only the
+ <link linkend="MM-MODEM-BAND-ANY:CAPS"><constant>MM_MODEM_BAND_ANY</constant></link>
+ mode will be returned.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands">
+ <title>The "CurrentBands" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.CurrentBands"><primary sortas="Modem:CurrentBands">org.freedesktop.ModemManager1.Modem:CurrentBands</primary></indexterm>
+<programlisting>
+CurrentBands readable au
+</programlisting>
+<para> List of <link linkend="MMModemBand">MMModemBand</link> values,
+ specifying the radio frequency and technology bands the device is
+ currently using when connecting to a network.
+</para><para> It must be a subset of <link linkend="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedBands">"SupportedBands"</link>.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedIpFamilies">
+ <title>The "SupportedIpFamilies" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Modem.SupportedIpFamilies"><primary sortas="Modem:SupportedIpFamilies">org.freedesktop.ModemManager1.Modem:SupportedIpFamilies</primary></indexterm>
+<programlisting>
+SupportedIpFamilies readable u
+</programlisting>
+<para> Bitmask of <link linkend="MMBearerIpFamily">MMBearerIpFamily</link> values,
+ specifying the IP families supported by the device.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sim.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sim.xml
new file mode 100644
index 00000000..6525e89b
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sim.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Sim">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Sim.top_of_page">org.freedesktop.ModemManager1.Sim</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Sim.top_of_page"><primary sortas="Sim">org.freedesktop.ModemManager1.Sim</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Sim</refname> <refpurpose>The ModemManager SIM interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin">SendPin</link> (IN s pin);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk">SendPuk</link> (IN s puk,
+ IN s pin);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin">EnablePin</link> (IN s pin,
+ IN b enabled);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin">ChangePin</link> (IN s old_pin,
+ IN s new_pin);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier">SimIdentifier</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi">Imsi</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier">OperatorIdentifier</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName">OperatorName</link> readable s
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Sim">
+ <title role="desc.title">Description</title>
+ <para> The SIM interface handles communication with SIM, USIM, and RUIM (CDMA
+ SIM) cards.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Sim">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin">
+ <title>The SendPin() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Sim.SendPin"><primary sortas="Sim.SendPin">org.freedesktop.ModemManager1.Sim.SendPin()</primary></indexterm>
+<programlisting>
+SendPin (IN s pin);
+</programlisting>
+<para> Send the PIN to unlock the SIM card.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>pin</parameter></literal>:</term>
+ <listitem><para>A string containing the PIN code.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk">
+ <title>The SendPuk() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Sim.SendPuk"><primary sortas="Sim.SendPuk">org.freedesktop.ModemManager1.Sim.SendPuk()</primary></indexterm>
+<programlisting>
+SendPuk (IN s puk,
+ IN s pin);
+</programlisting>
+<para> Send the PUK and a new PIN to unlock the SIM card.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>puk</parameter></literal>:</term>
+ <listitem><para>A string containing the PUK code.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>IN s <parameter>pin</parameter></literal>:</term>
+ <listitem><para>A string containing the PIN code.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin">
+ <title>The EnablePin() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Sim.EnablePin"><primary sortas="Sim.EnablePin">org.freedesktop.ModemManager1.Sim.EnablePin()</primary></indexterm>
+<programlisting>
+EnablePin (IN s pin,
+ IN b enabled);
+</programlisting>
+<para> Enable or disable the PIN checking.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>pin</parameter></literal>:</term>
+ <listitem><para>A string containing the PIN code.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>IN b <parameter>enabled</parameter></literal>:</term>
+ <listitem><para><constant>TRUE</constant> to enable PIN checking, <constant>FALSE</constant> otherwise.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin">
+ <title>The ChangePin() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Sim.ChangePin"><primary sortas="Sim.ChangePin">org.freedesktop.ModemManager1.Sim.ChangePin()</primary></indexterm>
+<programlisting>
+ChangePin (IN s old_pin,
+ IN s new_pin);
+</programlisting>
+<para> Change the PIN code.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>old_pin</parameter></literal>:</term>
+ <listitem><para>A string containing the current PIN code.</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>IN s <parameter>new_pin</parameter></literal>:</term>
+ <listitem><para>A string containing the new PIN code.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Sim">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier">
+ <title>The "SimIdentifier" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sim.SimIdentifier"><primary sortas="Sim:SimIdentifier">org.freedesktop.ModemManager1.Sim:SimIdentifier</primary></indexterm>
+<programlisting>
+SimIdentifier readable s
+</programlisting>
+<para> The ICCID of the SIM card.
+</para><para> This may be available before the PIN has been entered depending
+ on the device itself.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi">
+ <title>The "Imsi" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sim.Imsi"><primary sortas="Sim:Imsi">org.freedesktop.ModemManager1.Sim:Imsi</primary></indexterm>
+<programlisting>
+Imsi readable s
+</programlisting>
+<para> The IMSI of the SIM card, if any.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier">
+ <title>The "OperatorIdentifier" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorIdentifier"><primary sortas="Sim:OperatorIdentifier">org.freedesktop.ModemManager1.Sim:OperatorIdentifier</primary></indexterm>
+<programlisting>
+OperatorIdentifier readable s
+</programlisting>
+<para></para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName">
+ <title>The "OperatorName" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sim.OperatorName"><primary sortas="Sim:OperatorName">org.freedesktop.ModemManager1.Sim:OperatorName</primary></indexterm>
+<programlisting>
+OperatorName readable s
+</programlisting>
+<para> The name of the network operator, as given by the SIM card, if known.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sms.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sms.xml
new file mode 100644
index 00000000..497f9969
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.Sms.xml
@@ -0,0 +1,264 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1.Sms">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1-Sms.top_of_page">org.freedesktop.ModemManager1.Sms</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1-Sms.top_of_page"><primary sortas="Sms">org.freedesktop.ModemManager1.Sms</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1.Sms</refname> <refpurpose>The ModemManager SMS interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Sms.Send">Send</link> ();
+<link linkend="gdbus-method-org-freedesktop-ModemManager1-Sms.Store">Store</link> (IN u storage);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.State">State</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.PduType">PduType</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Number">Number</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Text">Text</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Data">Data</link> readable ay
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC">SMSC</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Validity">Validity</link> readable (uv)
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Class">Class</link> readable i
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.TeleserviceId">TeleserviceId</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.ServiceCategory">ServiceCategory</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryReportRequest">DeliveryReportRequest</link> readable b
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.MessageReference">MessageReference</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp">Timestamp</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp">DischargeTimestamp</link> readable s
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryState">DeliveryState</link> readable u
+<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.Storage">Storage</link> readable u
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1-Sms">
+ <title role="desc.title">Description</title>
+ <para> The SMS interface Defines operations and properties of a single SMS message.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1.Sms">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Sms.Send">
+ <title>The Send() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Sms.Send"><primary sortas="Sms.Send">org.freedesktop.ModemManager1.Sms.Send()</primary></indexterm>
+<programlisting>
+Send ();
+</programlisting>
+<para> If the message has not yet been sent, queue it for delivery.
+</para>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1-Sms.Store">
+ <title>The Store() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1-Sms.Store"><primary sortas="Sms.Store">org.freedesktop.ModemManager1.Sms.Store()</primary></indexterm>
+<programlisting>
+Store (IN u storage);
+</programlisting>
+<para> Store the message in the device if not already done.
+</para><para> This method requires a <link linkend="MMSmsStorage">MMSmsStorage</link>
+ value, describing the storage where this message is to be kept; or
+ <link linkend="MM-SMS-STORAGE-UNKNOWN:CAPS"><constant>MM_SMS_STORAGE_UNKNOWN</constant></link>
+ if the default storage should be used.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN u <parameter>storage</parameter></literal>:</term>
+ <listitem><para></para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1.Sms">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.State">
+ <title>The "State" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.State"><primary sortas="Sms:State">org.freedesktop.ModemManager1.Sms:State</primary></indexterm>
+<programlisting>
+State readable u
+</programlisting>
+<para> A <link linkend="MMSmsState">MMSmsState</link> value,
+ describing the state of the message.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.PduType">
+ <title>The "PduType" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.PduType"><primary sortas="Sms:PduType">org.freedesktop.ModemManager1.Sms:PduType</primary></indexterm>
+<programlisting>
+PduType readable u
+</programlisting>
+<para> A <link linkend="MMSmsPduType">MMSmsPduType</link> value,
+ describing the type of PDUs used in the SMS message.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.Number">
+ <title>The "Number" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.Number"><primary sortas="Sms:Number">org.freedesktop.ModemManager1.Sms:Number</primary></indexterm>
+<programlisting>
+Number readable s
+</programlisting>
+<para> Number to which the message is addressed.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.Text">
+ <title>The "Text" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.Text"><primary sortas="Sms:Text">org.freedesktop.ModemManager1.Sms:Text</primary></indexterm>
+<programlisting>
+Text readable s
+</programlisting>
+<para> Message text, in UTF-8.
+</para><para> When sending, if the text is larger than the limit of the technology or
+ modem, the message will be broken into multiple parts or messages.
+</para><para> Note that Text and Data are never given at the same time.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.Data">
+ <title>The "Data" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.Data"><primary sortas="Sms:Data">org.freedesktop.ModemManager1.Sms:Data</primary></indexterm>
+<programlisting>
+Data readable ay
+</programlisting>
+<para> Message data.
+</para><para> When sending, if the data is larger than the limit of the technology or
+ modem, the message will be broken into multiple parts or messages.
+</para><para> Note that Text and Data are never given at the same time.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC">
+ <title>The "SMSC" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.SMSC"><primary sortas="Sms:SMSC">org.freedesktop.ModemManager1.Sms:SMSC</primary></indexterm>
+<programlisting>
+SMSC readable s
+</programlisting>
+<para> Indicates the SMS service center number.
+</para><para> Always empty for 3GPP2/CDMA.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.Validity">
+ <title>The "Validity" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.Validity"><primary sortas="Sms:Validity">org.freedesktop.ModemManager1.Sms:Validity</primary></indexterm>
+<programlisting>
+Validity readable (uv)
+</programlisting>
+<para> Indicates when the SMS expires in the SMSC.
+</para><para> This value is composed of a
+ <link linkend="MMSmsValidityType">MMSmsValidityType</link>
+ key, with an associated data which contains type-specific validity
+ information:
+</para><para> <variablelist>
+ <varlistentry><term><link linkend="MM-SMS-VALIDITY-TYPE-RELATIVE:CAPS">MM_SMS_VALIDITY_TYPE_RELATIVE</link></term>
+ <listitem>
+ <para>
+ The value is the length of the validity period in minutes, given
+ as an unsigned integer (D-Bus signature <literal>'u'</literal>).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.Class">
+ <title>The "Class" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.Class"><primary sortas="Sms:Class">org.freedesktop.ModemManager1.Sms:Class</primary></indexterm>
+<programlisting>
+Class readable i
+</programlisting>
+<para> 3GPP message class (-1..3). -1 means class is not available or
+ is not used for this message, otherwise the 3GPP SMS message class.
+</para><para> Always -1 for 3GPP2/CDMA.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.TeleserviceId">
+ <title>The "TeleserviceId" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.TeleserviceId"><primary sortas="Sms:TeleserviceId">org.freedesktop.ModemManager1.Sms:TeleserviceId</primary></indexterm>
+<programlisting>
+TeleserviceId readable u
+</programlisting>
+<para> A <link linkend="MMSmsCdmaTeleserviceId">MMSmsCdmaTeleserviceId</link> value.
+</para><para> Always <link linkend="MM-SMS-CDMA-TELESERVICE-ID-UNKNOWN:CAPS">MM_SMS_CDMA_TELESERVICE_ID_UNKNOWN</link> for 3GPP.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.ServiceCategory">
+ <title>The "ServiceCategory" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.ServiceCategory"><primary sortas="Sms:ServiceCategory">org.freedesktop.ModemManager1.Sms:ServiceCategory</primary></indexterm>
+<programlisting>
+ServiceCategory readable u
+</programlisting>
+<para> A <link linkend="MMSmsCdmaServiceCategory">MMSmsCdmaServiceCategory</link> value.
+</para><para> Always <link linkend="MM-SMS-CDMA-SERVICE-CATEGORY-UNKNOWN:CAPS">MM_SMS_CDMA_SERVICE_CATEGORY_UNKNOWN</link> for 3GPP.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryReportRequest">
+ <title>The "DeliveryReportRequest" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryReportRequest"><primary sortas="Sms:DeliveryReportRequest">org.freedesktop.ModemManager1.Sms:DeliveryReportRequest</primary></indexterm>
+<programlisting>
+DeliveryReportRequest readable b
+</programlisting>
+<para> #TRUE if delivery report request is required, #FALSE otherwise.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.MessageReference">
+ <title>The "MessageReference" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.MessageReference"><primary sortas="Sms:MessageReference">org.freedesktop.ModemManager1.Sms:MessageReference</primary></indexterm>
+<programlisting>
+MessageReference readable u
+</programlisting>
+<para> Message Reference of the last PDU sent/received within this SMS.
+</para><para> If the PDU type is
+ <link linkend="MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><constant>MM_SMS_PDU_TYPE_STATUS_REPORT</constant></link>,
+ this field identifies the Message Reference of the PDU associated to the status report.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp">
+ <title>The "Timestamp" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.Timestamp"><primary sortas="Sms:Timestamp">org.freedesktop.ModemManager1.Sms:Timestamp</primary></indexterm>
+<programlisting>
+Timestamp readable s
+</programlisting>
+<para> Time when the first PDU of the SMS message arrived the SMSC, in
+ <ulink url="http://en.wikipedia.org/wiki/ISO_8601">ISO8601</ulink>
+ format.
+ This field is only applicable if the PDU type is
+ <link linkend="MM-SMS-PDU-TYPE-DELIVER:CAPS"><constant>MM_SMS_PDU_TYPE_DELIVER</constant></link>.
+ or
+ <link linkend="MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><constant>MM_SMS_PDU_TYPE_STATUS_REPORT</constant></link>.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp">
+ <title>The "DischargeTimestamp" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.DischargeTimestamp"><primary sortas="Sms:DischargeTimestamp">org.freedesktop.ModemManager1.Sms:DischargeTimestamp</primary></indexterm>
+<programlisting>
+DischargeTimestamp readable s
+</programlisting>
+<para> Time when the first PDU of the SMS message left the SMSC, in
+ <ulink url="http://en.wikipedia.org/wiki/ISO_8601">ISO8601</ulink>
+ format.
+</para><para> This field is only applicable if the PDU type is
+ <link linkend="MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><constant>MM_SMS_PDU_TYPE_STATUS_REPORT</constant></link>.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryState">
+ <title>The "DeliveryState" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.DeliveryState"><primary sortas="Sms:DeliveryState">org.freedesktop.ModemManager1.Sms:DeliveryState</primary></indexterm>
+<programlisting>
+DeliveryState readable u
+</programlisting>
+<para> A <link linkend="MMSmsDeliveryState">MMSmsDeliveryState</link> value,
+ describing the state of the delivery reported in the Status Report message.
+</para><para> This field is only applicable if the PDU type is
+ <link linkend="MM-SMS-PDU-TYPE-STATUS-REPORT:CAPS"><constant>MM_SMS_PDU_TYPE_STATUS_REPORT</constant></link>.
+</para>
+</refsect2>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1-Sms.Storage">
+ <title>The "Storage" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1-Sms.Storage"><primary sortas="Sms:Storage">org.freedesktop.ModemManager1.Sms:Storage</primary></indexterm>
+<programlisting>
+Storage readable u
+</programlisting>
+<para> A <link linkend="MMSmsStorage">MMSmsStorage</link> value,
+ describing the storage where this message is kept.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml
new file mode 100644
index 00000000..96297f30
--- /dev/null
+++ b/libmm-glib/generated/mm-gdbus-doc-org.freedesktop.ModemManager1.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+]>
+<refentry id="gdbus-org.freedesktop.ModemManager1">
+ <refmeta> <refentrytitle role="top_of_page" id="gdbus-interface-org-freedesktop-ModemManager1.top_of_page">org.freedesktop.ModemManager1</refentrytitle>
+ <indexterm zone="gdbus-interface-org-freedesktop-ModemManager1.top_of_page"><primary sortas="org.freedesktop.ModemManager1">org.freedesktop.ModemManager1</primary></indexterm>
+ </refmeta> <refnamediv> <refname>org.freedesktop.ModemManager1</refname> <refpurpose>The ModemManager Manager interface.</refpurpose> </refnamediv> <refsynopsisdiv role="synopsis">
+ <title role="synopsis.title">Methods</title>
+ <synopsis>
+<link linkend="gdbus-method-org-freedesktop-ModemManager1.ScanDevices">ScanDevices</link> ();
+<link linkend="gdbus-method-org-freedesktop-ModemManager1.SetLogging">SetLogging</link> (IN s level);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent">ReportKernelEvent</link> (IN a{sv} properties);
+<link linkend="gdbus-method-org-freedesktop-ModemManager1.InhibitDevice">InhibitDevice</link> (IN s uid,
+ IN b inhibit);
+</synopsis>
+ </refsynopsisdiv>
+ <refsect1 role="properties">
+ <title role="properties.title">Properties</title>
+ <synopsis>
+<link linkend="gdbus-property-org-freedesktop-ModemManager1.Version">Version</link> readable s
+</synopsis>
+ </refsect1>
+<refsect1 role="desc" id="gdbus-interface-org-freedesktop-ModemManager1">
+ <title role="desc.title">Description</title>
+ <para> The Manager interface allows controlling and querying the status of the
+ ModemManager daemon.
+</para>
+</refsect1>
+<refsect1 role="details" id="gdbus-methods-org.freedesktop.ModemManager1">
+ <title role="details.title">Method Details</title>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1.ScanDevices">
+ <title>The ScanDevices() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1.ScanDevices"><primary sortas="org.freedesktop.ModemManager1.ScanDevices">org.freedesktop.ModemManager1.ScanDevices()</primary></indexterm>
+<programlisting>
+ScanDevices ();
+</programlisting>
+<para> Start a new scan for connected modem devices.
+</para>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1.SetLogging">
+ <title>The SetLogging() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1.SetLogging"><primary sortas="org.freedesktop.ModemManager1.SetLogging">org.freedesktop.ModemManager1.SetLogging()</primary></indexterm>
+<programlisting>
+SetLogging (IN s level);
+</programlisting>
+<para> Set logging verbosity.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>level</parameter></literal>:</term>
+ <listitem><para>One of <literal>"ERR"</literal>, <literal>"WARN"</literal>, <literal>"INFO"</literal>, <literal>"DEBUG"</literal>.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent">
+ <title>The ReportKernelEvent() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1.ReportKernelEvent"><primary sortas="org.freedesktop.ModemManager1.ReportKernelEvent">org.freedesktop.ModemManager1.ReportKernelEvent()</primary></indexterm>
+<programlisting>
+ReportKernelEvent (IN a{sv} properties);
+</programlisting>
+<para> Reports a kernel event to ModemManager.
+</para><para> This method is only available if udev is not being used to report kernel
+ events.
+</para><para> The <parameter>properties</parameter> dictionary is composed of key/value string pairs. The
+ possible keys are:
+</para><para> <variablelist>
+ <varlistentry><term><literal>action</literal></term>
+ <listitem>
+ <para>
+ The type of action, given as a string value (signature
+ <literal>"s"</literal>).
+ This parameter is MANDATORY.
+ </para>
+ <variablelist>
+ <varlistentry><term><literal>add</literal></term>
+ <listitem>
+ A new kernel device has been added.
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>remove</literal></term>
+ <listitem>
+ An existing kernel device has been removed.
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>name</literal></term>
+ <listitem>
+ <para>
+ The device name, given as a string value (signature
+ <literal>"s"</literal>).
+ This parameter is MANDATORY.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>subsystem</literal></term>
+ <listitem>
+ <para>
+ The device subsystem, given as a string value (signature
+ <literal>"s"</literal>).
+ This parameter is MANDATORY.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term><literal>uid</literal></term>
+ <listitem>
+ <para>
+ The unique ID of the physical device, given as a string value
+ (signature <literal>"s"</literal>).
+ This parameter is OPTIONAL, if not given the sysfs path of the
+ physical device will be used. This parameter must be the same
+ for all devices exposed by the same physical device.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN a{sv} <parameter>properties</parameter></literal>:</term>
+ <listitem><para>event properties.</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+<refsect2 role="method" id="gdbus-method-org-freedesktop-ModemManager1.InhibitDevice">
+ <title>The InhibitDevice() method</title>
+ <indexterm zone="gdbus-method-org-freedesktop-ModemManager1.InhibitDevice"><primary sortas="org.freedesktop.ModemManager1.InhibitDevice">org.freedesktop.ModemManager1.InhibitDevice()</primary></indexterm>
+<programlisting>
+InhibitDevice (IN s uid,
+ IN b inhibit);
+</programlisting>
+<para> <link linkend="gdbus-interface-org-freedesktop-ModemManager1.top_of_page">org.freedesktop.ModemManager1</link>.Modem:Device property.
+ <parameter>inhibit</parameter>: <constant>TRUE</constant> to inhibit the modem and <constant>FALSE</constant> to uninhibit it.
+</para><para> Inhibit or uninhibit the device.
+</para><para> When the modem is inhibited ModemManager will close all its ports and
+ unexport it from the bus, so that users of the interface are no longer
+ able to operate with it.
+</para><para> This operation binds the inhibition request to the existence of the
+ caller in the DBus bus. If the caller disappears from the bus, the
+ inhibition will automatically removed.
+</para>
+<variablelist role="params">
+<varlistentry>
+ <term><literal>IN s <parameter>uid</parameter></literal>:</term>
+ <listitem><para>the unique ID of the physical device, given in the</para></listitem>
+</varlistentry>
+<varlistentry>
+ <term><literal>IN b <parameter>inhibit</parameter></literal>:</term>
+ <listitem><para></para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+<refsect1 role="details" id="gdbus-properties-org.freedesktop.ModemManager1">
+ <title role="details.title">Property Details</title>
+<refsect2 role="property" id="gdbus-property-org-freedesktop-ModemManager1.Version">
+ <title>The "Version" property</title>
+ <indexterm zone="gdbus-property-org-freedesktop-ModemManager1.Version"><primary sortas="org.freedesktop.ModemManager1:Version">org.freedesktop.ModemManager1:Version</primary></indexterm>
+<programlisting>
+Version readable s
+</programlisting>
+<para> The runtime version of the ModemManager daemon.
+</para>
+</refsect2>
+</refsect1>
+</refentry>
+
diff --git a/libmm-glib/generated/tests/Makefile.in b/libmm-glib/generated/tests/Makefile.in
new file mode 100644
index 00000000..da7d808f
--- /dev/null
+++ b/libmm-glib/generated/tests/Makefile.in
@@ -0,0 +1,731 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libmm-glib/generated/tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libmm_test_generated_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am__objects_1 =
+am__objects_2 = libmm_test_generated_la-mm-gdbus-test.lo
+nodist_libmm_test_generated_la_OBJECTS = $(am__objects_1) \
+ $(am__objects_2)
+libmm_test_generated_la_OBJECTS = \
+ $(nodist_libmm_test_generated_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = \
+ ./$(DEPDIR)/libmm_test_generated_la-mm-gdbus-test.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(nodist_libmm_test_generated_la_SOURCES)
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+noinst_LTLIBRARIES = libmm-test-generated.la
+GENERATED_H = mm-gdbus-test.h
+GENERATED_C = mm-gdbus-test.c
+BUILT_SOURCES = $(GENERATED_H) $(GENERATED_C)
+
+# Test interface
+mm_gdbus_test_generated = \
+ mm-gdbus-test.h \
+ mm-gdbus-test.c
+
+nodist_libmm_test_generated_la_SOURCES = \
+ $(GENERATED_H) \
+ $(GENERATED_C)
+
+libmm_test_generated_la_CPPFLAGS = \
+ $(LIBMM_GLIB_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
+ -Wno-unused-function \
+ -Wno-float-equal \
+ -Wno-shadow
+
+libmm_test_generated_la_LIBADD = \
+ $(LIBMM_GLIB_LIBS)
+
+CLEANFILES = $(GENERATED_H) $(GENERATED_C)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libmm-glib/generated/tests/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libmm-glib/generated/tests/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libmm-test-generated.la: $(libmm_test_generated_la_OBJECTS) $(libmm_test_generated_la_DEPENDENCIES) $(EXTRA_libmm_test_generated_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_test_generated_la_OBJECTS) $(libmm_test_generated_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmm_test_generated_la-mm-gdbus-test.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libmm_test_generated_la-mm-gdbus-test.lo: mm-gdbus-test.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_test_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmm_test_generated_la-mm-gdbus-test.lo -MD -MP -MF $(DEPDIR)/libmm_test_generated_la-mm-gdbus-test.Tpo -c -o libmm_test_generated_la-mm-gdbus-test.lo `test -f 'mm-gdbus-test.c' || echo '$(srcdir)/'`mm-gdbus-test.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmm_test_generated_la-mm-gdbus-test.Tpo $(DEPDIR)/libmm_test_generated_la-mm-gdbus-test.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-gdbus-test.c' object='libmm_test_generated_la-mm-gdbus-test.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_test_generated_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmm_test_generated_la-mm-gdbus-test.lo `test -f 'mm-gdbus-test.c' || echo '$(srcdir)/'`mm-gdbus-test.c
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/libmm_test_generated_la-mm-gdbus-test.Plo
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/libmm_test_generated_la-mm-gdbus-test.Plo
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: all check install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+$(mm_gdbus_test_generated): $(top_srcdir)/introspection/tests/org.freedesktop.ModemManager1.Test.xml
+ $(AM_V_GEN) $(GDBUS_CODEGEN) \
+ --interface-prefix org.freedesktop.ModemManager1. \
+ --c-namespace=MmGdbus \
+ --generate-c-code mm-gdbus-test \
+ $< \
+ $(NULL)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libmm-glib/tests/Makefile.in b/libmm-glib/tests/Makefile.in
new file mode 100644
index 00000000..704cbfd2
--- /dev/null
+++ b/libmm-glib/tests/Makefile.in
@@ -0,0 +1,817 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = test-common-helpers$(EXEEXT) test-pco$(EXEEXT)
+subdir = libmm-glib/tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_common_helpers_OBJECTS = \
+ test_common_helpers-test-common-helpers.$(OBJEXT)
+test_common_helpers_OBJECTS = $(am_test_common_helpers_OBJECTS)
+am__DEPENDENCIES_1 =
+am__DEPENDENCIES_2 = $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(am__DEPENDENCIES_1)
+test_common_helpers_DEPENDENCIES = $(am__DEPENDENCIES_2)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+am_test_pco_OBJECTS = test_pco-test-pco.$(OBJEXT)
+test_pco_OBJECTS = $(am_test_pco_OBJECTS)
+test_pco_DEPENDENCIES = $(am__DEPENDENCIES_2)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = \
+ ./$(DEPDIR)/test_common_helpers-test-common-helpers.Po \
+ ./$(DEPDIR)/test_pco-test-pco.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(test_common_helpers_SOURCES) $(test_pco_SOURCES)
+DIST_SOURCES = $(test_common_helpers_SOURCES) $(test_pco_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
+ $(top_srcdir)/gtester.make
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+GTESTER = gtester
+GTESTER_REPORT = gtester-report
+
+# initialize variables for unconditional += appending
+EXTRA_DIST =
+TEST_PROGS = $(noinst_PROGRAMS)
+AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+LIBMM_GLIB_TESTS_COMMON_CPPFLAGS = \
+ $(MM_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
+ -I$(top_srcdir)/libmm-glib \
+ -I$(top_builddir)/libmm-glib \
+ -I${top_srcdir}/libmm-glib/generated \
+ -I${top_builddir}/libmm-glib/generated \
+ -DLIBMM_GLIB_COMPILATION
+
+LIBMM_GLIB_TESTS_COMMON_LDADD = \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(MM_LIBS)
+
+test_common_helpers_SOURCES = test-common-helpers.c
+test_common_helpers_CPPFLAGS = $(LIBMM_GLIB_TESTS_COMMON_CPPFLAGS)
+test_common_helpers_LDADD = $(LIBMM_GLIB_TESTS_COMMON_LDADD)
+test_pco_SOURCES = test-pco.c
+test_pco_CPPFLAGS = $(LIBMM_GLIB_TESTS_COMMON_CPPFLAGS)
+test_pco_LDADD = $(LIBMM_GLIB_TESTS_COMMON_LDADD)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtester.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libmm-glib/tests/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libmm-glib/tests/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+$(top_srcdir)/gtester.make $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test-common-helpers$(EXEEXT): $(test_common_helpers_OBJECTS) $(test_common_helpers_DEPENDENCIES) $(EXTRA_test_common_helpers_DEPENDENCIES)
+ @rm -f test-common-helpers$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_common_helpers_OBJECTS) $(test_common_helpers_LDADD) $(LIBS)
+
+test-pco$(EXEEXT): $(test_pco_OBJECTS) $(test_pco_DEPENDENCIES) $(EXTRA_test_pco_DEPENDENCIES)
+ @rm -f test-pco$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_pco_OBJECTS) $(test_pco_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_common_helpers-test-common-helpers.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_pco-test-pco.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+test_common_helpers-test-common-helpers.o: test-common-helpers.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_common_helpers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_common_helpers-test-common-helpers.o -MD -MP -MF $(DEPDIR)/test_common_helpers-test-common-helpers.Tpo -c -o test_common_helpers-test-common-helpers.o `test -f 'test-common-helpers.c' || echo '$(srcdir)/'`test-common-helpers.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_common_helpers-test-common-helpers.Tpo $(DEPDIR)/test_common_helpers-test-common-helpers.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-common-helpers.c' object='test_common_helpers-test-common-helpers.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_common_helpers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_common_helpers-test-common-helpers.o `test -f 'test-common-helpers.c' || echo '$(srcdir)/'`test-common-helpers.c
+
+test_common_helpers-test-common-helpers.obj: test-common-helpers.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_common_helpers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_common_helpers-test-common-helpers.obj -MD -MP -MF $(DEPDIR)/test_common_helpers-test-common-helpers.Tpo -c -o test_common_helpers-test-common-helpers.obj `if test -f 'test-common-helpers.c'; then $(CYGPATH_W) 'test-common-helpers.c'; else $(CYGPATH_W) '$(srcdir)/test-common-helpers.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_common_helpers-test-common-helpers.Tpo $(DEPDIR)/test_common_helpers-test-common-helpers.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-common-helpers.c' object='test_common_helpers-test-common-helpers.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_common_helpers_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_common_helpers-test-common-helpers.obj `if test -f 'test-common-helpers.c'; then $(CYGPATH_W) 'test-common-helpers.c'; else $(CYGPATH_W) '$(srcdir)/test-common-helpers.c'; fi`
+
+test_pco-test-pco.o: test-pco.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pco_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_pco-test-pco.o -MD -MP -MF $(DEPDIR)/test_pco-test-pco.Tpo -c -o test_pco-test-pco.o `test -f 'test-pco.c' || echo '$(srcdir)/'`test-pco.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_pco-test-pco.Tpo $(DEPDIR)/test_pco-test-pco.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-pco.c' object='test_pco-test-pco.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pco_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_pco-test-pco.o `test -f 'test-pco.c' || echo '$(srcdir)/'`test-pco.c
+
+test_pco-test-pco.obj: test-pco.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pco_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_pco-test-pco.obj -MD -MP -MF $(DEPDIR)/test_pco-test-pco.Tpo -c -o test_pco-test-pco.obj `if test -f 'test-pco.c'; then $(CYGPATH_W) 'test-pco.c'; else $(CYGPATH_W) '$(srcdir)/test-pco.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_pco-test-pco.Tpo $(DEPDIR)/test_pco-test-pco.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-pco.c' object='test_pco-test-pco.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_pco_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_pco-test-pco.obj `if test -f 'test-pco.c'; then $(CYGPATH_W) 'test-pco.c'; else $(CYGPATH_W) '$(srcdir)/test-pco.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/test_common_helpers-test-common-helpers.Po
+ -rm -f ./$(DEPDIR)/test_pco-test-pco.Po
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/test_common_helpers-test-common-helpers.Po
+ -rm -f ./$(DEPDIR)/test_pco-test-pco.Po
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
+ check-local clean clean-generic clean-libtool \
+ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+### testing rules
+
+# test: run all tests in cwd and subdirs
+test: test-nonrecursive
+ @ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done
+
+# test-nonrecursive: run tests only in cwd
+test-nonrecursive: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS}
+
+# test-report: run tests in subdirs and generate report
+# perf-report: run tests in subdirs with -m perf and generate report
+# full-report: like test-report: with -m perf and -m slow
+test-report perf-report full-report: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || { \
+ case $@ in \
+ test-report) test_options="-k";; \
+ perf-report) test_options="-k -m=perf";; \
+ full-report) test_options="-k -m=perf -m=slow";; \
+ esac ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
+ elif test -n "${TEST_PROGS}" ; then \
+ ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
+ fi ; \
+ }
+ @ ignore_logdir=true ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
+ ignore_logdir=false ; \
+ fi ; \
+ if test -d "$(top_srcdir)/.git" ; then \
+ REVISION=`git describe` ; \
+ else \
+ REVISION=$(VERSION) ; \
+ fi ; \
+ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done ; \
+ $$ignore_logdir || { \
+ echo '<?xml version="1.0"?>' > $@.xml ; \
+ echo '<report-collection>' >> $@.xml ; \
+ echo '<info>' >> $@.xml ; \
+ echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
+ echo ' <version>$(VERSION)</version>' >> $@.xml ; \
+ echo " <revision>$$REVISION</revision>" >> $@.xml ; \
+ echo '</info>' >> $@.xml ; \
+ for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
+ sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
+ done ; \
+ echo >> $@.xml ; \
+ echo '</report-collection>' >> $@.xml ; \
+ rm -rf "$$GTESTER_LOGDIR"/ ; \
+ ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
+ }
+.PHONY: test test-report perf-report full-report test-nonrecursive
+
+# run tests in cwd as part of make check
+check-local: test-nonrecursive
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libqcdm/Makefile.in b/libqcdm/Makefile.in
new file mode 100644
index 00000000..6795ff89
--- /dev/null
+++ b/libqcdm/Makefile.in
@@ -0,0 +1,702 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libqcdm
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS ChangeLog NEWS README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src tests
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libqcdm/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libqcdm/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libqcdm/autogen.sh b/libqcdm/autogen.sh
deleted file mode 100755
index e3b537ce..00000000
--- a/libqcdm/autogen.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-# NOTE
-# This autogen.sh is only used when building libqcdm separately from ModemManager
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-REQUIRED_AUTOMAKE_VERSION=1.7
-PKG_NAME=libqcdm
-
-(test -f $srcdir/configure.ac \
- && test -f $srcdir/src/com.c) || {
- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
- echo " top-level $PKG_NAME directory"
- exit 1
-}
-
-(cd $srcdir;
- autoreconf --install --symlink &&
- autoreconf &&
- ./configure --enable-maintainer-mode $@
-)
diff --git a/libqcdm/configure.ac b/libqcdm/configure.ac
deleted file mode 100644
index cc9acee3..00000000
--- a/libqcdm/configure.ac
+++ /dev/null
@@ -1,48 +0,0 @@
-# NOTE
-# This configure.ac is only used when building libqcdm separately from
-# ModemManager.
-#
-
-AC_PREREQ(2.52)
-
-AC_INIT(libqcdm, 0.1, dcbw@redhat.com, libqcdm)
-AM_INIT_AUTOMAKE([1.9 subdir-objects tar-ustar no-dist-gzip dist-bzip2])
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-AM_MAINTAINER_MODE
-
-AC_CONFIG_MACRO_DIR([m4])
-
-AC_CONFIG_HEADERS(config.h)
-
-dnl Define _GNU_SOURCE for various things like strcasestr()
-AC_GNU_SOURCE
-
-dnl Required programs
-AC_PROG_CC
-AM_PROG_CC_C_O
-AC_PROG_INSTALL
-AC_PROG_LIBTOOL
-
-dnl
-dnl Tests
-dnl
-AC_ARG_WITH(tests, AS_HELP_STRING([--with-tests], [Build libqcdm tests]))
-AM_CONDITIONAL(WITH_TESTS, test "x$with_tests" = "xyes")
-case $with_tests in
- yes)
- PKG_CHECK_MODULES(MM, glib-2.0 >= 2.18)
- AC_SUBST(MM_CFLAGS)
- AC_SUBST(MM_LIBS)
- ;;
- *) ;;
-esac
-
-AM_CONDITIONAL(QCDM_STANDALONE, test "yes" = "yes")
-
-AC_CONFIG_FILES([
-Makefile
-src/Makefile
-tests/Makefile
-])
-AC_OUTPUT
-
diff --git a/libqcdm/src/Makefile.in b/libqcdm/src/Makefile.in
new file mode 100644
index 00000000..016736ce
--- /dev/null
+++ b/libqcdm/src/Makefile.in
@@ -0,0 +1,800 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libqcdm/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libqcdm_test_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_libqcdm_test_la_OBJECTS = libqcdm_test_la-utils.lo
+libqcdm_test_la_OBJECTS = $(am_libqcdm_test_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libqcdm_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_libqcdm_la_OBJECTS = libqcdm_la-com.lo libqcdm_la-commands.lo \
+ libqcdm_la-errors.lo libqcdm_la-logs.lo libqcdm_la-result.lo \
+ libqcdm_la-utils.lo
+libqcdm_la_OBJECTS = $(am_libqcdm_la_OBJECTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/libqcdm_la-com.Plo \
+ ./$(DEPDIR)/libqcdm_la-commands.Plo \
+ ./$(DEPDIR)/libqcdm_la-errors.Plo \
+ ./$(DEPDIR)/libqcdm_la-logs.Plo \
+ ./$(DEPDIR)/libqcdm_la-result.Plo \
+ ./$(DEPDIR)/libqcdm_la-utils.Plo \
+ ./$(DEPDIR)/libqcdm_test_la-utils.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libqcdm_test_la_SOURCES) $(libqcdm_la_SOURCES)
+DIST_SOURCES = $(libqcdm_test_la_SOURCES) $(libqcdm_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+noinst_LTLIBRARIES = libqcdm.la libqcdm-test.la
+libqcdm_la_CPPFLAGS = \
+ $(MM_CFLAGS)
+
+libqcdm_la_SOURCES = \
+ dm-commands.h \
+ nv-items.h \
+ log-items.h \
+ com.c \
+ com.h \
+ commands.c \
+ commands.h \
+ errors.c \
+ errors.h \
+ logs.c \
+ logs.h \
+ result.c \
+ result.h \
+ result-private.h \
+ utils.c \
+ utils.h
+
+libqcdm_la_LIBADD = \
+ $(MM_LIBS)
+
+
+###########################################
+# Test library without symbol versioning
+###########################################
+libqcdm_test_la_CPPFLAGS = \
+ $(MM_CFLAGS)
+
+libqcdm_test_la_SOURCES = \
+ utils.c \
+ utils.h
+
+libqcdm_test_la_LIBADD = \
+ $(MM_LIBS)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libqcdm/src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libqcdm/src/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libqcdm-test.la: $(libqcdm_test_la_OBJECTS) $(libqcdm_test_la_DEPENDENCIES) $(EXTRA_libqcdm_test_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libqcdm_test_la_OBJECTS) $(libqcdm_test_la_LIBADD) $(LIBS)
+
+libqcdm.la: $(libqcdm_la_OBJECTS) $(libqcdm_la_DEPENDENCIES) $(EXTRA_libqcdm_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libqcdm_la_OBJECTS) $(libqcdm_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqcdm_la-com.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqcdm_la-commands.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqcdm_la-errors.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqcdm_la-logs.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqcdm_la-result.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqcdm_la-utils.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqcdm_test_la-utils.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libqcdm_test_la-utils.lo: utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_test_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqcdm_test_la-utils.lo -MD -MP -MF $(DEPDIR)/libqcdm_test_la-utils.Tpo -c -o libqcdm_test_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libqcdm_test_la-utils.Tpo $(DEPDIR)/libqcdm_test_la-utils.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils.c' object='libqcdm_test_la-utils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_test_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqcdm_test_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
+
+libqcdm_la-com.lo: com.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqcdm_la-com.lo -MD -MP -MF $(DEPDIR)/libqcdm_la-com.Tpo -c -o libqcdm_la-com.lo `test -f 'com.c' || echo '$(srcdir)/'`com.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libqcdm_la-com.Tpo $(DEPDIR)/libqcdm_la-com.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='com.c' object='libqcdm_la-com.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqcdm_la-com.lo `test -f 'com.c' || echo '$(srcdir)/'`com.c
+
+libqcdm_la-commands.lo: commands.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqcdm_la-commands.lo -MD -MP -MF $(DEPDIR)/libqcdm_la-commands.Tpo -c -o libqcdm_la-commands.lo `test -f 'commands.c' || echo '$(srcdir)/'`commands.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libqcdm_la-commands.Tpo $(DEPDIR)/libqcdm_la-commands.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='commands.c' object='libqcdm_la-commands.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqcdm_la-commands.lo `test -f 'commands.c' || echo '$(srcdir)/'`commands.c
+
+libqcdm_la-errors.lo: errors.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqcdm_la-errors.lo -MD -MP -MF $(DEPDIR)/libqcdm_la-errors.Tpo -c -o libqcdm_la-errors.lo `test -f 'errors.c' || echo '$(srcdir)/'`errors.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libqcdm_la-errors.Tpo $(DEPDIR)/libqcdm_la-errors.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='errors.c' object='libqcdm_la-errors.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqcdm_la-errors.lo `test -f 'errors.c' || echo '$(srcdir)/'`errors.c
+
+libqcdm_la-logs.lo: logs.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqcdm_la-logs.lo -MD -MP -MF $(DEPDIR)/libqcdm_la-logs.Tpo -c -o libqcdm_la-logs.lo `test -f 'logs.c' || echo '$(srcdir)/'`logs.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libqcdm_la-logs.Tpo $(DEPDIR)/libqcdm_la-logs.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='logs.c' object='libqcdm_la-logs.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqcdm_la-logs.lo `test -f 'logs.c' || echo '$(srcdir)/'`logs.c
+
+libqcdm_la-result.lo: result.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqcdm_la-result.lo -MD -MP -MF $(DEPDIR)/libqcdm_la-result.Tpo -c -o libqcdm_la-result.lo `test -f 'result.c' || echo '$(srcdir)/'`result.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libqcdm_la-result.Tpo $(DEPDIR)/libqcdm_la-result.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='result.c' object='libqcdm_la-result.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqcdm_la-result.lo `test -f 'result.c' || echo '$(srcdir)/'`result.c
+
+libqcdm_la-utils.lo: utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqcdm_la-utils.lo -MD -MP -MF $(DEPDIR)/libqcdm_la-utils.Tpo -c -o libqcdm_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libqcdm_la-utils.Tpo $(DEPDIR)/libqcdm_la-utils.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils.c' object='libqcdm_la-utils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqcdm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqcdm_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/libqcdm_la-com.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-commands.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-errors.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-logs.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-result.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-utils.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_test_la-utils.Plo
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/libqcdm_la-com.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-commands.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-errors.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-logs.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-result.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_la-utils.Plo
+ -rm -f ./$(DEPDIR)/libqcdm_test_la-utils.Plo
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libqcdm/tests/Makefile.in b/libqcdm/tests/Makefile.in
new file mode 100644
index 00000000..ebae72c8
--- /dev/null
+++ b/libqcdm/tests/Makefile.in
@@ -0,0 +1,991 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = test-qcdm$(EXEEXT) modepref$(EXEEXT) \
+ ipv6pref$(EXEEXT) reset$(EXEEXT)
+@QCDM_STANDALONE_TRUE@am__append_1 = $(top_builddir)/src/libqcdm.la
+@QCDM_STANDALONE_TRUE@am__append_2 = $(top_builddir)/src/libqcdm.la
+@QCDM_STANDALONE_TRUE@am__append_3 = $(top_builddir)/src/libqcdm.la
+@QCDM_STANDALONE_TRUE@am__append_4 = $(top_builddir)/src/libqcdm.la
+@QCDM_STANDALONE_FALSE@am__append_5 = $(top_builddir)/libqcdm/src/libqcdm.la
+@QCDM_STANDALONE_FALSE@am__append_6 = $(top_builddir)/libqcdm/src/libqcdm.la
+@QCDM_STANDALONE_FALSE@am__append_7 = $(top_builddir)/libqcdm/src/libqcdm.la
+@QCDM_STANDALONE_FALSE@am__append_8 = $(top_builddir)/libqcdm/src/libqcdm.la
+subdir = libqcdm/tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_ipv6pref_OBJECTS = ipv6pref-ipv6pref.$(OBJEXT)
+ipv6pref_OBJECTS = $(am_ipv6pref_OBJECTS)
+am__DEPENDENCIES_1 =
+ipv6pref_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__append_3) \
+ $(am__append_7)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+am_modepref_OBJECTS = modepref-modepref.$(OBJEXT)
+modepref_OBJECTS = $(am_modepref_OBJECTS)
+modepref_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__append_2) \
+ $(am__append_6)
+am_reset_OBJECTS = reset-reset.$(OBJEXT)
+reset_OBJECTS = $(am_reset_OBJECTS)
+reset_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__append_4) \
+ $(am__append_8)
+am_test_qcdm_OBJECTS = test_qcdm-test-qcdm-crc.$(OBJEXT) \
+ test_qcdm-test-qcdm-escaping.$(OBJEXT) \
+ test_qcdm-test-qcdm-utils.$(OBJEXT) \
+ test_qcdm-test-qcdm-com.$(OBJEXT) \
+ test_qcdm-test-qcdm-result.$(OBJEXT) \
+ test_qcdm-test-qcdm.$(OBJEXT)
+test_qcdm_OBJECTS = $(am_test_qcdm_OBJECTS)
+test_qcdm_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__append_1) \
+ $(am__append_5)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/ipv6pref-ipv6pref.Po \
+ ./$(DEPDIR)/modepref-modepref.Po ./$(DEPDIR)/reset-reset.Po \
+ ./$(DEPDIR)/test_qcdm-test-qcdm-com.Po \
+ ./$(DEPDIR)/test_qcdm-test-qcdm-crc.Po \
+ ./$(DEPDIR)/test_qcdm-test-qcdm-escaping.Po \
+ ./$(DEPDIR)/test_qcdm-test-qcdm-result.Po \
+ ./$(DEPDIR)/test_qcdm-test-qcdm-utils.Po \
+ ./$(DEPDIR)/test_qcdm-test-qcdm.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(ipv6pref_SOURCES) $(modepref_SOURCES) $(reset_SOURCES) \
+ $(test_qcdm_SOURCES)
+DIST_SOURCES = $(ipv6pref_SOURCES) $(modepref_SOURCES) \
+ $(reset_SOURCES) $(test_qcdm_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
+ $(top_srcdir)/gtester.make
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+GTESTER = gtester
+GTESTER_REPORT = gtester-report
+
+# initialize variables for unconditional += appending
+EXTRA_DIST =
+TEST_PROGS = test-qcdm
+AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+test_qcdm_SOURCES = \
+ test-qcdm-crc.c \
+ test-qcdm-crc.h \
+ test-qcdm-escaping.c \
+ test-qcdm-escaping.h \
+ test-qcdm-utils.c \
+ test-qcdm-utils.h \
+ test-qcdm-com.c \
+ test-qcdm-com.h \
+ test-qcdm-result.c \
+ test-qcdm-result.h \
+ test-qcdm.c
+
+test_qcdm_CPPFLAGS = \
+ $(MM_CFLAGS) \
+ -I$(top_srcdir)/libqcdm/src \
+ -I$(top_srcdir)/src
+
+test_qcdm_LDADD = $(MM_LIBS) $(am__append_1) $(am__append_5)
+modepref_SOURCES = modepref.c
+modepref_CPPFLAGS = \
+ $(MM_CFLAGS) \
+ -I$(top_srcdir)/libqcdm/src \
+ -I$(top_srcdir)/src
+
+modepref_LDADD = $(MM_LIBS) $(am__append_2) $(am__append_6)
+ipv6pref_SOURCES = ipv6pref.c
+ipv6pref_CPPFLAGS = \
+ $(MM_CFLAGS) \
+ -I$(top_srcdir)/libqcdm/src \
+ -I$(top_srcdir)/src
+
+ipv6pref_LDADD = $(MM_LIBS) $(am__append_3) $(am__append_7)
+reset_SOURCES = reset.c
+reset_CPPFLAGS = \
+ $(MM_CFLAGS) \
+ -I$(top_srcdir)/libqcdm/src \
+ -I$(top_srcdir)/src
+
+reset_LDADD = $(MM_LIBS) $(am__append_4) $(am__append_8)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtester.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libqcdm/tests/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libqcdm/tests/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+$(top_srcdir)/gtester.make $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+ipv6pref$(EXEEXT): $(ipv6pref_OBJECTS) $(ipv6pref_DEPENDENCIES) $(EXTRA_ipv6pref_DEPENDENCIES)
+ @rm -f ipv6pref$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ipv6pref_OBJECTS) $(ipv6pref_LDADD) $(LIBS)
+
+modepref$(EXEEXT): $(modepref_OBJECTS) $(modepref_DEPENDENCIES) $(EXTRA_modepref_DEPENDENCIES)
+ @rm -f modepref$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(modepref_OBJECTS) $(modepref_LDADD) $(LIBS)
+
+reset$(EXEEXT): $(reset_OBJECTS) $(reset_DEPENDENCIES) $(EXTRA_reset_DEPENDENCIES)
+ @rm -f reset$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(reset_OBJECTS) $(reset_LDADD) $(LIBS)
+
+test-qcdm$(EXEEXT): $(test_qcdm_OBJECTS) $(test_qcdm_DEPENDENCIES) $(EXTRA_test_qcdm_DEPENDENCIES)
+ @rm -f test-qcdm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_qcdm_OBJECTS) $(test_qcdm_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ipv6pref-ipv6pref.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modepref-modepref.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reset-reset.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_qcdm-test-qcdm-com.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_qcdm-test-qcdm-crc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_qcdm-test-qcdm-escaping.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_qcdm-test-qcdm-result.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_qcdm-test-qcdm-utils.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_qcdm-test-qcdm.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+ipv6pref-ipv6pref.o: ipv6pref.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ipv6pref_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ipv6pref-ipv6pref.o -MD -MP -MF $(DEPDIR)/ipv6pref-ipv6pref.Tpo -c -o ipv6pref-ipv6pref.o `test -f 'ipv6pref.c' || echo '$(srcdir)/'`ipv6pref.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ipv6pref-ipv6pref.Tpo $(DEPDIR)/ipv6pref-ipv6pref.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ipv6pref.c' object='ipv6pref-ipv6pref.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ipv6pref_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ipv6pref-ipv6pref.o `test -f 'ipv6pref.c' || echo '$(srcdir)/'`ipv6pref.c
+
+ipv6pref-ipv6pref.obj: ipv6pref.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ipv6pref_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ipv6pref-ipv6pref.obj -MD -MP -MF $(DEPDIR)/ipv6pref-ipv6pref.Tpo -c -o ipv6pref-ipv6pref.obj `if test -f 'ipv6pref.c'; then $(CYGPATH_W) 'ipv6pref.c'; else $(CYGPATH_W) '$(srcdir)/ipv6pref.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ipv6pref-ipv6pref.Tpo $(DEPDIR)/ipv6pref-ipv6pref.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ipv6pref.c' object='ipv6pref-ipv6pref.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ipv6pref_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ipv6pref-ipv6pref.obj `if test -f 'ipv6pref.c'; then $(CYGPATH_W) 'ipv6pref.c'; else $(CYGPATH_W) '$(srcdir)/ipv6pref.c'; fi`
+
+modepref-modepref.o: modepref.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(modepref_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT modepref-modepref.o -MD -MP -MF $(DEPDIR)/modepref-modepref.Tpo -c -o modepref-modepref.o `test -f 'modepref.c' || echo '$(srcdir)/'`modepref.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/modepref-modepref.Tpo $(DEPDIR)/modepref-modepref.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='modepref.c' object='modepref-modepref.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(modepref_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o modepref-modepref.o `test -f 'modepref.c' || echo '$(srcdir)/'`modepref.c
+
+modepref-modepref.obj: modepref.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(modepref_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT modepref-modepref.obj -MD -MP -MF $(DEPDIR)/modepref-modepref.Tpo -c -o modepref-modepref.obj `if test -f 'modepref.c'; then $(CYGPATH_W) 'modepref.c'; else $(CYGPATH_W) '$(srcdir)/modepref.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/modepref-modepref.Tpo $(DEPDIR)/modepref-modepref.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='modepref.c' object='modepref-modepref.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(modepref_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o modepref-modepref.obj `if test -f 'modepref.c'; then $(CYGPATH_W) 'modepref.c'; else $(CYGPATH_W) '$(srcdir)/modepref.c'; fi`
+
+reset-reset.o: reset.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(reset_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT reset-reset.o -MD -MP -MF $(DEPDIR)/reset-reset.Tpo -c -o reset-reset.o `test -f 'reset.c' || echo '$(srcdir)/'`reset.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/reset-reset.Tpo $(DEPDIR)/reset-reset.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='reset.c' object='reset-reset.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(reset_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o reset-reset.o `test -f 'reset.c' || echo '$(srcdir)/'`reset.c
+
+reset-reset.obj: reset.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(reset_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT reset-reset.obj -MD -MP -MF $(DEPDIR)/reset-reset.Tpo -c -o reset-reset.obj `if test -f 'reset.c'; then $(CYGPATH_W) 'reset.c'; else $(CYGPATH_W) '$(srcdir)/reset.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/reset-reset.Tpo $(DEPDIR)/reset-reset.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='reset.c' object='reset-reset.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(reset_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o reset-reset.obj `if test -f 'reset.c'; then $(CYGPATH_W) 'reset.c'; else $(CYGPATH_W) '$(srcdir)/reset.c'; fi`
+
+test_qcdm-test-qcdm-crc.o: test-qcdm-crc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-crc.o -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-crc.Tpo -c -o test_qcdm-test-qcdm-crc.o `test -f 'test-qcdm-crc.c' || echo '$(srcdir)/'`test-qcdm-crc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-crc.Tpo $(DEPDIR)/test_qcdm-test-qcdm-crc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-crc.c' object='test_qcdm-test-qcdm-crc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-crc.o `test -f 'test-qcdm-crc.c' || echo '$(srcdir)/'`test-qcdm-crc.c
+
+test_qcdm-test-qcdm-crc.obj: test-qcdm-crc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-crc.obj -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-crc.Tpo -c -o test_qcdm-test-qcdm-crc.obj `if test -f 'test-qcdm-crc.c'; then $(CYGPATH_W) 'test-qcdm-crc.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-crc.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-crc.Tpo $(DEPDIR)/test_qcdm-test-qcdm-crc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-crc.c' object='test_qcdm-test-qcdm-crc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-crc.obj `if test -f 'test-qcdm-crc.c'; then $(CYGPATH_W) 'test-qcdm-crc.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-crc.c'; fi`
+
+test_qcdm-test-qcdm-escaping.o: test-qcdm-escaping.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-escaping.o -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-escaping.Tpo -c -o test_qcdm-test-qcdm-escaping.o `test -f 'test-qcdm-escaping.c' || echo '$(srcdir)/'`test-qcdm-escaping.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-escaping.Tpo $(DEPDIR)/test_qcdm-test-qcdm-escaping.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-escaping.c' object='test_qcdm-test-qcdm-escaping.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-escaping.o `test -f 'test-qcdm-escaping.c' || echo '$(srcdir)/'`test-qcdm-escaping.c
+
+test_qcdm-test-qcdm-escaping.obj: test-qcdm-escaping.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-escaping.obj -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-escaping.Tpo -c -o test_qcdm-test-qcdm-escaping.obj `if test -f 'test-qcdm-escaping.c'; then $(CYGPATH_W) 'test-qcdm-escaping.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-escaping.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-escaping.Tpo $(DEPDIR)/test_qcdm-test-qcdm-escaping.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-escaping.c' object='test_qcdm-test-qcdm-escaping.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-escaping.obj `if test -f 'test-qcdm-escaping.c'; then $(CYGPATH_W) 'test-qcdm-escaping.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-escaping.c'; fi`
+
+test_qcdm-test-qcdm-utils.o: test-qcdm-utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-utils.o -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-utils.Tpo -c -o test_qcdm-test-qcdm-utils.o `test -f 'test-qcdm-utils.c' || echo '$(srcdir)/'`test-qcdm-utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-utils.Tpo $(DEPDIR)/test_qcdm-test-qcdm-utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-utils.c' object='test_qcdm-test-qcdm-utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-utils.o `test -f 'test-qcdm-utils.c' || echo '$(srcdir)/'`test-qcdm-utils.c
+
+test_qcdm-test-qcdm-utils.obj: test-qcdm-utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-utils.obj -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-utils.Tpo -c -o test_qcdm-test-qcdm-utils.obj `if test -f 'test-qcdm-utils.c'; then $(CYGPATH_W) 'test-qcdm-utils.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-utils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-utils.Tpo $(DEPDIR)/test_qcdm-test-qcdm-utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-utils.c' object='test_qcdm-test-qcdm-utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-utils.obj `if test -f 'test-qcdm-utils.c'; then $(CYGPATH_W) 'test-qcdm-utils.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-utils.c'; fi`
+
+test_qcdm-test-qcdm-com.o: test-qcdm-com.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-com.o -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-com.Tpo -c -o test_qcdm-test-qcdm-com.o `test -f 'test-qcdm-com.c' || echo '$(srcdir)/'`test-qcdm-com.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-com.Tpo $(DEPDIR)/test_qcdm-test-qcdm-com.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-com.c' object='test_qcdm-test-qcdm-com.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-com.o `test -f 'test-qcdm-com.c' || echo '$(srcdir)/'`test-qcdm-com.c
+
+test_qcdm-test-qcdm-com.obj: test-qcdm-com.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-com.obj -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-com.Tpo -c -o test_qcdm-test-qcdm-com.obj `if test -f 'test-qcdm-com.c'; then $(CYGPATH_W) 'test-qcdm-com.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-com.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-com.Tpo $(DEPDIR)/test_qcdm-test-qcdm-com.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-com.c' object='test_qcdm-test-qcdm-com.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-com.obj `if test -f 'test-qcdm-com.c'; then $(CYGPATH_W) 'test-qcdm-com.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-com.c'; fi`
+
+test_qcdm-test-qcdm-result.o: test-qcdm-result.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-result.o -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-result.Tpo -c -o test_qcdm-test-qcdm-result.o `test -f 'test-qcdm-result.c' || echo '$(srcdir)/'`test-qcdm-result.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-result.Tpo $(DEPDIR)/test_qcdm-test-qcdm-result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-result.c' object='test_qcdm-test-qcdm-result.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-result.o `test -f 'test-qcdm-result.c' || echo '$(srcdir)/'`test-qcdm-result.c
+
+test_qcdm-test-qcdm-result.obj: test-qcdm-result.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm-result.obj -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm-result.Tpo -c -o test_qcdm-test-qcdm-result.obj `if test -f 'test-qcdm-result.c'; then $(CYGPATH_W) 'test-qcdm-result.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-result.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm-result.Tpo $(DEPDIR)/test_qcdm-test-qcdm-result.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm-result.c' object='test_qcdm-test-qcdm-result.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm-result.obj `if test -f 'test-qcdm-result.c'; then $(CYGPATH_W) 'test-qcdm-result.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm-result.c'; fi`
+
+test_qcdm-test-qcdm.o: test-qcdm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm.o -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm.Tpo -c -o test_qcdm-test-qcdm.o `test -f 'test-qcdm.c' || echo '$(srcdir)/'`test-qcdm.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm.Tpo $(DEPDIR)/test_qcdm-test-qcdm.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm.c' object='test_qcdm-test-qcdm.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm.o `test -f 'test-qcdm.c' || echo '$(srcdir)/'`test-qcdm.c
+
+test_qcdm-test-qcdm.obj: test-qcdm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_qcdm-test-qcdm.obj -MD -MP -MF $(DEPDIR)/test_qcdm-test-qcdm.Tpo -c -o test_qcdm-test-qcdm.obj `if test -f 'test-qcdm.c'; then $(CYGPATH_W) 'test-qcdm.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_qcdm-test-qcdm.Tpo $(DEPDIR)/test_qcdm-test-qcdm.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-qcdm.c' object='test_qcdm-test-qcdm.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_qcdm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_qcdm-test-qcdm.obj `if test -f 'test-qcdm.c'; then $(CYGPATH_W) 'test-qcdm.c'; else $(CYGPATH_W) '$(srcdir)/test-qcdm.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/ipv6pref-ipv6pref.Po
+ -rm -f ./$(DEPDIR)/modepref-modepref.Po
+ -rm -f ./$(DEPDIR)/reset-reset.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-com.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-crc.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-escaping.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-result.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-utils.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm.Po
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/ipv6pref-ipv6pref.Po
+ -rm -f ./$(DEPDIR)/modepref-modepref.Po
+ -rm -f ./$(DEPDIR)/reset-reset.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-com.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-crc.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-escaping.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-result.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm-utils.Po
+ -rm -f ./$(DEPDIR)/test_qcdm-test-qcdm.Po
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
+ check-local clean clean-generic clean-libtool \
+ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+### testing rules
+
+# test: run all tests in cwd and subdirs
+test: test-nonrecursive
+ @ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done
+
+# test-nonrecursive: run tests only in cwd
+test-nonrecursive: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS}
+
+# test-report: run tests in subdirs and generate report
+# perf-report: run tests in subdirs with -m perf and generate report
+# full-report: like test-report: with -m perf and -m slow
+test-report perf-report full-report: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || { \
+ case $@ in \
+ test-report) test_options="-k";; \
+ perf-report) test_options="-k -m=perf";; \
+ full-report) test_options="-k -m=perf -m=slow";; \
+ esac ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
+ elif test -n "${TEST_PROGS}" ; then \
+ ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
+ fi ; \
+ }
+ @ ignore_logdir=true ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
+ ignore_logdir=false ; \
+ fi ; \
+ if test -d "$(top_srcdir)/.git" ; then \
+ REVISION=`git describe` ; \
+ else \
+ REVISION=$(VERSION) ; \
+ fi ; \
+ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done ; \
+ $$ignore_logdir || { \
+ echo '<?xml version="1.0"?>' > $@.xml ; \
+ echo '<report-collection>' >> $@.xml ; \
+ echo '<info>' >> $@.xml ; \
+ echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
+ echo ' <version>$(VERSION)</version>' >> $@.xml ; \
+ echo " <revision>$$REVISION</revision>" >> $@.xml ; \
+ echo '</info>' >> $@.xml ; \
+ for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
+ sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
+ done ; \
+ echo >> $@.xml ; \
+ echo '</report-collection>' >> $@.xml ; \
+ rm -rf "$$GTESTER_LOGDIR"/ ; \
+ ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
+ }
+.PHONY: test test-report perf-report full-report test-nonrecursive
+
+# run tests in cwd as part of make check
+check-local: test-nonrecursive
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libwmc/Makefile.in b/libwmc/Makefile.in
new file mode 100644
index 00000000..78ca36c6
--- /dev/null
+++ b/libwmc/Makefile.in
@@ -0,0 +1,702 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libwmc
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS ChangeLog NEWS README
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = src tests
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libwmc/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libwmc/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool cscopelist-am ctags \
+ ctags-am distclean distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libwmc/autogen.sh b/libwmc/autogen.sh
deleted file mode 100755
index df15fcec..00000000
--- a/libwmc/autogen.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-# NOTE
-# This autogen.sh is only used when building libwmc separately from ModemManager
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-REQUIRED_AUTOMAKE_VERSION=1.7
-PKG_NAME=libwmc
-
-(test -f $srcdir/configure.ac \
- && test -f $srcdir/src/com.c) || {
- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
- echo " top-level $PKG_NAME directory"
- exit 1
-}
-
-(cd $srcdir;
- autoreconf --install --symlink &&
- autoreconf &&
- ./configure --enable-maintainer-mode $@
-)
diff --git a/libwmc/configure.ac b/libwmc/configure.ac
deleted file mode 100644
index 4d2b90c6..00000000
--- a/libwmc/configure.ac
+++ /dev/null
@@ -1,48 +0,0 @@
-# NOTE
-# This configure.ac is only used when building libqcdm separately from
-# ModemManager.
-#
-
-AC_PREREQ(2.52)
-
-AC_INIT(libwmc, 0.1, dcbw@redhat.com, libwmc)
-AM_INIT_AUTOMAKE([1.9 subdir-objects tar-ustar no-dist-gzip dist-bzip2])
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-AM_MAINTAINER_MODE
-
-AC_CONFIG_MACRO_DIR([m4])
-
-AC_CONFIG_HEADERS(config.h)
-
-dnl Define _GNU_SOURCE for various things like strcasestr()
-AC_GNU_SOURCE
-
-dnl Required programs
-AC_PROG_CC
-AM_PROG_CC_C_O
-AC_PROG_INSTALL
-AC_PROG_LIBTOOL
-
-dnl
-dnl Tests
-dnl
-AC_ARG_WITH(tests, AS_HELP_STRING([--with-tests], [Build libwmc tests]))
-AM_CONDITIONAL(WITH_TESTS, test "x$with_tests" = "xyes")
-case $with_tests in
- yes)
- PKG_CHECK_MODULES(MM, glib-2.0 >= 2.20)
- AC_SUBST(MM_CFLAGS)
- AC_SUBST(MM_LIBS)
- ;;
- *) ;;
-esac
-
-AM_CONDITIONAL(WMC_STANDALONE, test "yes" = "yes")
-
-AC_CONFIG_FILES([
-Makefile
-src/Makefile
-tests/Makefile
-])
-AC_OUTPUT
-
diff --git a/libwmc/src/Makefile.in b/libwmc/src/Makefile.in
new file mode 100644
index 00000000..b144cdd4
--- /dev/null
+++ b/libwmc/src/Makefile.in
@@ -0,0 +1,753 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = libwmc/src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libwmc_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_libwmc_la_OBJECTS = libwmc_la-errors.lo libwmc_la-utils.lo \
+ libwmc_la-result.lo libwmc_la-com.lo libwmc_la-commands.lo
+libwmc_la_OBJECTS = $(am_libwmc_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/libwmc_la-com.Plo \
+ ./$(DEPDIR)/libwmc_la-commands.Plo \
+ ./$(DEPDIR)/libwmc_la-errors.Plo \
+ ./$(DEPDIR)/libwmc_la-result.Plo \
+ ./$(DEPDIR)/libwmc_la-utils.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libwmc_la_SOURCES)
+DIST_SOURCES = $(libwmc_la_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+noinst_LTLIBRARIES = libwmc.la
+libwmc_la_CPPFLAGS = \
+ $(MM_CFLAGS)
+
+libwmc_la_SOURCES = \
+ protocol.h \
+ result-private.h \
+ errors.c \
+ errors.h \
+ utils.c \
+ utils.h \
+ result.c \
+ result.h \
+ com.c \
+ com.h \
+ commands.c \
+ commands.h
+
+libwmc_la_LIBADD = \
+ $(MM_LIBS)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libwmc/src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libwmc/src/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libwmc.la: $(libwmc_la_OBJECTS) $(libwmc_la_DEPENDENCIES) $(EXTRA_libwmc_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libwmc_la_OBJECTS) $(libwmc_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwmc_la-com.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwmc_la-commands.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwmc_la-errors.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwmc_la-result.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libwmc_la-utils.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libwmc_la-errors.lo: errors.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwmc_la-errors.lo -MD -MP -MF $(DEPDIR)/libwmc_la-errors.Tpo -c -o libwmc_la-errors.lo `test -f 'errors.c' || echo '$(srcdir)/'`errors.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libwmc_la-errors.Tpo $(DEPDIR)/libwmc_la-errors.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='errors.c' object='libwmc_la-errors.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwmc_la-errors.lo `test -f 'errors.c' || echo '$(srcdir)/'`errors.c
+
+libwmc_la-utils.lo: utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwmc_la-utils.lo -MD -MP -MF $(DEPDIR)/libwmc_la-utils.Tpo -c -o libwmc_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libwmc_la-utils.Tpo $(DEPDIR)/libwmc_la-utils.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils.c' object='libwmc_la-utils.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwmc_la-utils.lo `test -f 'utils.c' || echo '$(srcdir)/'`utils.c
+
+libwmc_la-result.lo: result.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwmc_la-result.lo -MD -MP -MF $(DEPDIR)/libwmc_la-result.Tpo -c -o libwmc_la-result.lo `test -f 'result.c' || echo '$(srcdir)/'`result.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libwmc_la-result.Tpo $(DEPDIR)/libwmc_la-result.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='result.c' object='libwmc_la-result.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwmc_la-result.lo `test -f 'result.c' || echo '$(srcdir)/'`result.c
+
+libwmc_la-com.lo: com.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwmc_la-com.lo -MD -MP -MF $(DEPDIR)/libwmc_la-com.Tpo -c -o libwmc_la-com.lo `test -f 'com.c' || echo '$(srcdir)/'`com.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libwmc_la-com.Tpo $(DEPDIR)/libwmc_la-com.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='com.c' object='libwmc_la-com.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwmc_la-com.lo `test -f 'com.c' || echo '$(srcdir)/'`com.c
+
+libwmc_la-commands.lo: commands.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libwmc_la-commands.lo -MD -MP -MF $(DEPDIR)/libwmc_la-commands.Tpo -c -o libwmc_la-commands.lo `test -f 'commands.c' || echo '$(srcdir)/'`commands.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libwmc_la-commands.Tpo $(DEPDIR)/libwmc_la-commands.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='commands.c' object='libwmc_la-commands.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libwmc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libwmc_la-commands.lo `test -f 'commands.c' || echo '$(srcdir)/'`commands.c
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/libwmc_la-com.Plo
+ -rm -f ./$(DEPDIR)/libwmc_la-commands.Plo
+ -rm -f ./$(DEPDIR)/libwmc_la-errors.Plo
+ -rm -f ./$(DEPDIR)/libwmc_la-result.Plo
+ -rm -f ./$(DEPDIR)/libwmc_la-utils.Plo
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/libwmc_la-com.Plo
+ -rm -f ./$(DEPDIR)/libwmc_la-commands.Plo
+ -rm -f ./$(DEPDIR)/libwmc_la-errors.Plo
+ -rm -f ./$(DEPDIR)/libwmc_la-result.Plo
+ -rm -f ./$(DEPDIR)/libwmc_la-utils.Plo
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libwmc/tests/Makefile.in b/libwmc/tests/Makefile.in
new file mode 100644
index 00000000..47a1097a
--- /dev/null
+++ b/libwmc/tests/Makefile.in
@@ -0,0 +1,862 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = test-wmc$(EXEEXT)
+@WMC_STANDALONE_TRUE@am__append_1 = $(top_builddir)/src/libwmc.la
+@WMC_STANDALONE_FALSE@am__append_2 = $(top_builddir)/libwmc/src/libwmc.la
+subdir = libwmc/tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_test_wmc_OBJECTS = test_wmc-test-wmc-crc.$(OBJEXT) \
+ test_wmc-test-wmc-escaping.$(OBJEXT) \
+ test_wmc-test-wmc-utils.$(OBJEXT) \
+ test_wmc-test-wmc-com.$(OBJEXT) test_wmc-test-wmc.$(OBJEXT)
+test_wmc_OBJECTS = $(am_test_wmc_OBJECTS)
+am__DEPENDENCIES_1 =
+test_wmc_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__append_1) \
+ $(am__append_2)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/test_wmc-test-wmc-com.Po \
+ ./$(DEPDIR)/test_wmc-test-wmc-crc.Po \
+ ./$(DEPDIR)/test_wmc-test-wmc-escaping.Po \
+ ./$(DEPDIR)/test_wmc-test-wmc-utils.Po \
+ ./$(DEPDIR)/test_wmc-test-wmc.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(test_wmc_SOURCES)
+DIST_SOURCES = $(test_wmc_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
+ $(top_srcdir)/gtester.make
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+GTESTER = gtester
+GTESTER_REPORT = gtester-report
+
+# initialize variables for unconditional += appending
+EXTRA_DIST =
+TEST_PROGS = $(noinst_PROGRAMS)
+AM_CFLAGS = $(CODE_COVERAGE_CFLAGS)
+AM_LDFLAGS = $(CODE_COVERAGE_LDFLAGS)
+test_wmc_SOURCES = \
+ test-wmc-crc.c \
+ test-wmc-crc.h \
+ test-wmc-escaping.c \
+ test-wmc-escaping.h \
+ test-wmc-utils.c \
+ test-wmc-utils.h \
+ test-wmc-com.c \
+ test-wmc-com.h \
+ test-wmc.c
+
+test_wmc_CPPFLAGS = \
+ $(MM_CFLAGS) \
+ -I$(top_srcdir)/libwmc/src \
+ -I$(top_srcdir)/src
+
+test_wmc_LDADD = $(MM_LIBS) $(am__append_1) $(am__append_2)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtester.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libwmc/tests/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu libwmc/tests/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+$(top_srcdir)/gtester.make $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test-wmc$(EXEEXT): $(test_wmc_OBJECTS) $(test_wmc_DEPENDENCIES) $(EXTRA_test_wmc_DEPENDENCIES)
+ @rm -f test-wmc$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_wmc_OBJECTS) $(test_wmc_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_wmc-test-wmc-com.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_wmc-test-wmc-crc.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_wmc-test-wmc-escaping.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_wmc-test-wmc-utils.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_wmc-test-wmc.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+test_wmc-test-wmc-crc.o: test-wmc-crc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc-crc.o -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc-crc.Tpo -c -o test_wmc-test-wmc-crc.o `test -f 'test-wmc-crc.c' || echo '$(srcdir)/'`test-wmc-crc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc-crc.Tpo $(DEPDIR)/test_wmc-test-wmc-crc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc-crc.c' object='test_wmc-test-wmc-crc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc-crc.o `test -f 'test-wmc-crc.c' || echo '$(srcdir)/'`test-wmc-crc.c
+
+test_wmc-test-wmc-crc.obj: test-wmc-crc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc-crc.obj -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc-crc.Tpo -c -o test_wmc-test-wmc-crc.obj `if test -f 'test-wmc-crc.c'; then $(CYGPATH_W) 'test-wmc-crc.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc-crc.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc-crc.Tpo $(DEPDIR)/test_wmc-test-wmc-crc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc-crc.c' object='test_wmc-test-wmc-crc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc-crc.obj `if test -f 'test-wmc-crc.c'; then $(CYGPATH_W) 'test-wmc-crc.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc-crc.c'; fi`
+
+test_wmc-test-wmc-escaping.o: test-wmc-escaping.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc-escaping.o -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc-escaping.Tpo -c -o test_wmc-test-wmc-escaping.o `test -f 'test-wmc-escaping.c' || echo '$(srcdir)/'`test-wmc-escaping.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc-escaping.Tpo $(DEPDIR)/test_wmc-test-wmc-escaping.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc-escaping.c' object='test_wmc-test-wmc-escaping.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc-escaping.o `test -f 'test-wmc-escaping.c' || echo '$(srcdir)/'`test-wmc-escaping.c
+
+test_wmc-test-wmc-escaping.obj: test-wmc-escaping.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc-escaping.obj -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc-escaping.Tpo -c -o test_wmc-test-wmc-escaping.obj `if test -f 'test-wmc-escaping.c'; then $(CYGPATH_W) 'test-wmc-escaping.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc-escaping.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc-escaping.Tpo $(DEPDIR)/test_wmc-test-wmc-escaping.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc-escaping.c' object='test_wmc-test-wmc-escaping.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc-escaping.obj `if test -f 'test-wmc-escaping.c'; then $(CYGPATH_W) 'test-wmc-escaping.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc-escaping.c'; fi`
+
+test_wmc-test-wmc-utils.o: test-wmc-utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc-utils.o -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc-utils.Tpo -c -o test_wmc-test-wmc-utils.o `test -f 'test-wmc-utils.c' || echo '$(srcdir)/'`test-wmc-utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc-utils.Tpo $(DEPDIR)/test_wmc-test-wmc-utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc-utils.c' object='test_wmc-test-wmc-utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc-utils.o `test -f 'test-wmc-utils.c' || echo '$(srcdir)/'`test-wmc-utils.c
+
+test_wmc-test-wmc-utils.obj: test-wmc-utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc-utils.obj -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc-utils.Tpo -c -o test_wmc-test-wmc-utils.obj `if test -f 'test-wmc-utils.c'; then $(CYGPATH_W) 'test-wmc-utils.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc-utils.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc-utils.Tpo $(DEPDIR)/test_wmc-test-wmc-utils.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc-utils.c' object='test_wmc-test-wmc-utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc-utils.obj `if test -f 'test-wmc-utils.c'; then $(CYGPATH_W) 'test-wmc-utils.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc-utils.c'; fi`
+
+test_wmc-test-wmc-com.o: test-wmc-com.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc-com.o -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc-com.Tpo -c -o test_wmc-test-wmc-com.o `test -f 'test-wmc-com.c' || echo '$(srcdir)/'`test-wmc-com.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc-com.Tpo $(DEPDIR)/test_wmc-test-wmc-com.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc-com.c' object='test_wmc-test-wmc-com.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc-com.o `test -f 'test-wmc-com.c' || echo '$(srcdir)/'`test-wmc-com.c
+
+test_wmc-test-wmc-com.obj: test-wmc-com.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc-com.obj -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc-com.Tpo -c -o test_wmc-test-wmc-com.obj `if test -f 'test-wmc-com.c'; then $(CYGPATH_W) 'test-wmc-com.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc-com.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc-com.Tpo $(DEPDIR)/test_wmc-test-wmc-com.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc-com.c' object='test_wmc-test-wmc-com.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc-com.obj `if test -f 'test-wmc-com.c'; then $(CYGPATH_W) 'test-wmc-com.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc-com.c'; fi`
+
+test_wmc-test-wmc.o: test-wmc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc.o -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc.Tpo -c -o test_wmc-test-wmc.o `test -f 'test-wmc.c' || echo '$(srcdir)/'`test-wmc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc.Tpo $(DEPDIR)/test_wmc-test-wmc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc.c' object='test_wmc-test-wmc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc.o `test -f 'test-wmc.c' || echo '$(srcdir)/'`test-wmc.c
+
+test_wmc-test-wmc.obj: test-wmc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test_wmc-test-wmc.obj -MD -MP -MF $(DEPDIR)/test_wmc-test-wmc.Tpo -c -o test_wmc-test-wmc.obj `if test -f 'test-wmc.c'; then $(CYGPATH_W) 'test-wmc.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_wmc-test-wmc.Tpo $(DEPDIR)/test_wmc-test-wmc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test-wmc.c' object='test_wmc-test-wmc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_wmc_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test_wmc-test-wmc.obj `if test -f 'test-wmc.c'; then $(CYGPATH_W) 'test-wmc.c'; else $(CYGPATH_W) '$(srcdir)/test-wmc.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc-com.Po
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc-crc.Po
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc-escaping.Po
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc-utils.Po
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc.Po
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc-com.Po
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc-crc.Po
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc-escaping.Po
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc-utils.Po
+ -rm -f ./$(DEPDIR)/test_wmc-test-wmc.Po
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
+ check-local clean clean-generic clean-libtool \
+ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+### testing rules
+
+# test: run all tests in cwd and subdirs
+test: test-nonrecursive
+ @ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done
+
+# test-nonrecursive: run tests only in cwd
+test-nonrecursive: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS}
+
+# test-report: run tests in subdirs and generate report
+# perf-report: run tests in subdirs with -m perf and generate report
+# full-report: like test-report: with -m perf and -m slow
+test-report perf-report full-report: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || { \
+ case $@ in \
+ test-report) test_options="-k";; \
+ perf-report) test_options="-k -m=perf";; \
+ full-report) test_options="-k -m=perf -m=slow";; \
+ esac ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
+ elif test -n "${TEST_PROGS}" ; then \
+ ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
+ fi ; \
+ }
+ @ ignore_logdir=true ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
+ ignore_logdir=false ; \
+ fi ; \
+ if test -d "$(top_srcdir)/.git" ; then \
+ REVISION=`git describe` ; \
+ else \
+ REVISION=$(VERSION) ; \
+ fi ; \
+ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done ; \
+ $$ignore_logdir || { \
+ echo '<?xml version="1.0"?>' > $@.xml ; \
+ echo '<report-collection>' >> $@.xml ; \
+ echo '<info>' >> $@.xml ; \
+ echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
+ echo ' <version>$(VERSION)</version>' >> $@.xml ; \
+ echo " <revision>$$REVISION</revision>" >> $@.xml ; \
+ echo '</info>' >> $@.xml ; \
+ for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
+ sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
+ done ; \
+ echo >> $@.xml ; \
+ echo '</report-collection>' >> $@.xml ; \
+ rm -rf "$$GTESTER_LOGDIR"/ ; \
+ ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
+ }
+.PHONY: test test-report perf-report full-report test-nonrecursive
+
+# run tests in cwd as part of make check
+check-local: test-nonrecursive
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libwmc/uml290.txt b/libwmc/uml290.txt
deleted file mode 100644
index 5a6113a6..00000000
--- a/libwmc/uml290.txt
+++ /dev/null
@@ -1,206 +0,0 @@
-This document describes information about the Pantech UML290 and the WMC
-protocol observed through USB packet capture and other investigation.
-
-
-Pantech UML290 Notes
---------------------------------------
-
-This device exposes 4 USB interfaces. They are, in no particular order, a
-CDC-ACM compatible AT command port, a QCDM/Diag port, an WMC port, and a
-raw IP network port. The modem's native command interface is the WMC port
-which the Windows driver uses for all normal communication.
-
-
-CDC-ACM AT Port
-----------------
-
-The modem's +GCAP response reports:
-
-+GCAP: +CIS707-A, CIS-856, CIS-856-A, +CGSM, +CLTE1
-
-and with recent firmware updates (L0290VWB333F.230 [Mar 15 2011 15:03:20] or
-later) the device does, in fact, appear to support common IS-707-A and ETSI
-27.007 GSM and LTE AT commands. This interface does support PPP data but when
-PPP is used the device does not support handoffs between LTE and EVDO.
-
-To support seamless operation of devices between LTE and EVDO Verizon has
-upgraded their network to support the eHRPD protocol. Older, non-LTE capable
-devices usually do not include support for eHRPD and use the standard HRPD
-protocols. LTE-capable devices support both eHRPD and standard HRPD, but at
-least with the UML290, connections to the 3G EVDO network using direct PPP over
-the AT modem port do not use eHRPD. Thus to successfully connect to the 3G
-EVDO network, the modem must be switched into standard HRPD mode by changing
-the value of the NV_HDRSCP_FORCE_AT_CONFIG_I NVRAM item using the the QCDM/Diag
-port and the DIAG protocol. Use of HRPD only prevents connections to the LTE
-network. It is possible that connections initiated using the WMC port and
-utilizing the "raw IP" network interface do not have this problem.
-
-
-QCDM/Diag Port
-----------------
-
-This port is a normal QCDM/Diag port and responds to DIAG commands.
-
-
-Raw IP Network Port
--------------------
-
-This USB interface is the normal network interface port the device uses in
-Windows for network communication. It appears to operate in a "raw IP" mode
-where raw IP packets are sent and received over USB with no additional framing
-or encapsulation. The IPv4 and IPv6 addresses for the interface are determined
-using WMC commands on the WMC port, not through the AT command port. The AT
-command port only supports PPP-based communication. More information about the
-"raw IP" mode may be available in the Qualcomm CodeAurora SMD/QMI drivers which
-implement a "raw IP" network communication mode for various MSM7xxx chipsets
-used in Android devices.
-
-
-WMC Port
------------
-
-This port accepts and responds to WMC protocol requests. Instead of using plain
-WMC however, requests are prefixed with the string "AT*WMC=" and terminated with
-a newline (0x0D) character instead of the normal WMC frame termination
-character (0x7E). The data in between is normal binary WMC data, except that
-all bytes less than 0x20 are escaped using normal HDLC/PPP escaping while a
-normal WMC request would only escape the special HDLC/PPP characters of 0x7E and
-0x7D. Thus a UML290 request looks like this in hexadecimal:
-
-41542a574d433dc87d2a87b80d
-
-This "AT"-style framing has not been observed on other devices.
-
-
-
-WMC Protocol Framing
---------------------
-
-The protocol is a request/response style protocol though unsolicited responses
-are sometimes sent from the modem to the host. There does not appear to be any
-sequence numbering in either the request or response packets. WMC packets
-always begin with the frame start marker (0xC8). The second byte is the command
-number, followed by the frame's data. The frame ends with a three-byte trailer
-including a CRC-16 and a frame termination marker which differs between devices.
-Most older devices use the standard HDLC/PPP frame termination marker (0x7E),
-while some others (UML290) use a different termination marker as described
-below. Thus a normal WMC packet looks like this:
-
-0xC8 <command number> <data> <CRC-16> 0x7E
-
-The entire frame (exclusive of the termination marker) is escaped using standard
-HDLC/PPP escaping mechanisms to ensure that the bytes 0x7E and 0x7D never appear
-in the packet. Some devices (UML290) escape more than the standard HDLC escape
-characters.
-
-Frames can span multiple USB packets. This behavior has been observed with the
-PC5740 in various responses, in which case the frame is simply split up between
-USB packets. It has also been observed with some UML290 requests, where it
-appears that in addition to splitting the frame, each segment after the first
-is prefixed with 0x20.
-
-For example, a split response from a PC5740:
-
-* c8 06 0f 0f 0f 0f 0f 0f 0f 0f 0f 0f 00 00 00 00 ................
- ...
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
-
-* 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- ...
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
-
-* 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- ...
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
-
-* 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- ...
- 00 00 00 01 ....
-
-
-and an split request from a UML290:
-
-* c8 56 86 02 00 00 00 00 00 00 39 30 30 30 38 30 .V........900080
- ...
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..............
-
-* 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
- ...
- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
-
-* 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............
- ...
- 00 00 00 00 00 00 00 00 00 00 5b 1c 0d ..........[..
-
-
-
-Requests
----------------
-
-Requests are usually short, often only 4 or 5 bytes long, including the frame
-start marker (0xC8), the command number, the 16-bit CRC, and the frame termination
-marker. Requests almost always receive a response from the modem containing the
-same command number.
-
-The UML290 uses different "AT"-style framing of requests, prefixing the
-request with "AT*WMC=" and using a frame termination marker of 0x0D instead
-of the standard 0x7E. The UML290 also uses a different CRC-16 initial seed of
-0xAAFE instead of the standard 0xFFFF used on other devices and with HDLC
-framing in general. For added lolz the UML290 HDLC-escapes all control
-characters in the request in addition to the standard 0x7D and 0x7E characters
-escaped in HDLC.
-
-Thus a normal WMC request (from a PC5740) looks like this:
-
- c8 0a 77 a4 7e
-<frame start> <cmd no> <CRC-16> <terminator>
-
-while the same request from the UML290 looks like this:
-
-41542a574d433d c8 7d2a 87 b8 0d
- <AT*WMC=> <frame start> <cmd no> <CRC-16> <terminator>
-
-Thus after removing all framing and escaping, this WMC request is a single
-byte (0x0A) which indicates the command number of the request.
-
-
-WMC Responses and Unsolicited Messages
---------------------------------------
-
-Responses begin with the WMC frame start marker (0xC8) and end with the standard
-HDLC/PPP frame terminator (0x7E) in all observed cases, even on the UML290.
-The data in between is HDLC/PPP escaped and there is a CRC-16 before the frame
-terminator. Not all devices use the same CRC-16 calculation however; the
-UML290 always uses a CRC-16 of 0x3030, while the PC5740 includes a valid CRC-16
-using a standard polynomial of 0x8408 and an initial seed of 0xFFFF. Responses
-may span multiple USB packets if they are large enough, but the frame terminator
-provides a convenient mechanism for detecting when the frame is complete.
-
-A standard WMC response (from a UML290) looks like this:
-
-c80d0000000030307e
-
-which translates to:
-
-c8 0d 00 00 00 00
-
-
-WMC Command Numbers
--------------------
-
-These command numbers have been observed and minimally investigated:
-
-0x06: request device information, including manufacturer, model, firmware
- revision, hardware revision, MCC/MNC, serial number
-
-0x0A: request IP configuration when connected (IPv4 and IPv6) on the UML290; may
- include elapsed connected time or traffic byte counts too. Request has
- been observed on the PC5740 but is significantly shorter.
-
-0x0B: get status including operator name, RSSI dBm, and possibly registration
- status
-
-0x13: retrieve SMS messages
-
-0x4D: appears to request EPS bearer configuration; response includes the APN
-
diff --git a/ltmain.sh b/ltmain.sh
new file mode 100644
index 00000000..d3ab94d6
--- /dev/null
+++ b/ltmain.sh
@@ -0,0 +1,11369 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+## by inline-source v2018-07-24.06
+
+# libtool (GNU libtool) 2.4.6.42-b88ce
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+PROGRAM=libtool
+PACKAGE=libtool
+VERSION=2.4.6.42-b88ce
+package_revision=2.4.6.42
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2018-07-24.06; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# This is free software. There is NO warranty; not even for
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Copyright (C) 2004-2018 Bootstrap Authors
+#
+# This file is dual licensed under the terms of the MIT license
+# <https://opensource.org/license/MIT>, and GPL version 3 or later
+# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
+# these licenses when using or redistributing this software or any of
+# the files within it. See the URLs above, or the file `LICENSE`
+# included in the Bootstrap distribution for the full license texts.
+
+# Please report bugs or propose patches to:
+# <https://github.com/gnulib-modules/bootstrap/issues>
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
+fi
+
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test set = \"\${$_G_var+set}\"; then
+ save_$_G_var=\$$_G_var
+ $_G_var=C
+ export $_G_var
+ _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+ _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
+ fi"
+done
+
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp $nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# func_unset VAR
+# --------------
+# Portably unset VAR.
+# In some shells, an 'unset VAR' statement leaves a non-zero return
+# status if VAR is already unset, which might be problematic if the
+# statement is used at the end of a function (thus poisoning its return
+# value) or when 'set -e' is active (causing even a spurious abort of
+# the script in this case).
+func_unset ()
+{
+ { eval $1=; (eval unset $1) >/dev/null 2>&1 && eval unset $1 || : ; }
+}
+
+
+# Make sure CDPATH doesn't cause `cd` commands to output the target dir.
+func_unset CDPATH
+
+# Make sure ${,E,F}GREP behave sanely.
+func_unset GREP_OPTIONS
+
+
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+ _G_progs_list=$1
+ _G_check_func=$2
+ _G_PATH=${3-"$PATH"}
+
+ _G_path_prog_max=0
+ _G_path_prog_found=false
+ _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+ for _G_dir in $_G_PATH; do
+ IFS=$_G_save_IFS
+ test -z "$_G_dir" && _G_dir=.
+ for _G_prog_name in $_G_progs_list; do
+ for _exeext in '' .EXE; do
+ _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+ func_executable_p "$_G_path_prog" || continue
+ case `"$_G_path_prog" --version 2>&1` in
+ *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+ *) $_G_check_func $_G_path_prog
+ func_path_progs_result=$func_check_prog_result
+ ;;
+ esac
+ $_G_path_prog_found && break 3
+ done
+ done
+ done
+ IFS=$_G_save_IFS
+ test -z "$func_path_progs_result" && {
+ echo "no acceptable sed could be found in \$PATH" >&2
+ exit 1
+ }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+ _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for _G_i in 1 2 3 4 5 6 7; do
+ _G_sed_script=$_G_sed_script$nl$_G_sed_script
+ done
+ echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+ _G_sed_script=
+
+ func_check_prog_sed ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo '' >> conftest.nl
+ "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "sed gsed" func_check_prog_sed "$PATH:/usr/xpg4/bin"
+ rm -f conftest.sed
+ SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+ func_check_prog_grep ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ _G_path_prog_max=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo 'GREP' >> conftest.nl
+ "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "grep ggrep" func_check_prog_grep "$PATH:/usr/xpg4/bin"
+ GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables. These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
+
+: ${CP="cp -f"}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+
+
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
+
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
+
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same. If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion. Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+ s/$_G_bs4/&\\
+/g
+ s/^$_G_bs2$_G_dollar/$_G_bs&/
+ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+ s/\n//g"
+
+
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
+
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
+
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
+
+# By convention, finish your script with:
+#
+# exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath=$0
+
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
+
+# Make sure we have an absolute progpath for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
+ progdir=`cd "$progdir" && pwd`
+ progpath=$progdir/$progname
+ ;;
+ *)
+ _G_IFS=$IFS
+ IFS=${PATH_SEPARATOR-:}
+ for progdir in $PATH; do
+ IFS=$_G_IFS
+ test -x "$progdir/$progname" && break
+ done
+ IFS=$_G_IFS
+ test -n "$progdir" || progdir=`pwd`
+ progpath=$progdir/$progname
+ ;;
+esac
+
+
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
+
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
+
+opt_dry_run=false
+opt_quiet=false
+opt_verbose=false
+
+# Categories 'all' and 'none' are always available. Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
+
+# By default, display warnings according to 'opt_warning_types'. Set
+# 'warning_func' to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
+
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
+
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
+
+
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
+{
+ $debug_cmd
+
+ test -t 1 && {
+ # COLORTERM and USE_ANSI_COLORS environment variables take
+ # precedence, because most terminfo databases neglect to describe
+ # whether color sequences are supported.
+ test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+ if test 1 = "$USE_ANSI_COLORS"; then
+ # Standard ANSI escape sequences
+ tc_reset=''
+ tc_bold=''; tc_standout=''
+ tc_red=''; tc_green=''
+ tc_blue=''; tc_cyan=''
+ else
+ # Otherwise trust the terminfo database after all.
+ test -n "`tput sgr0 2>/dev/null`" && {
+ tc_reset=`tput sgr0`
+ test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+ tc_standout=$tc_bold
+ test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+ test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+ test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+ test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+ test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+ }
+ fi
+ }
+
+ require_term_colors=:
+}
+
+
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+ # We should try to minimise forks, especially on Windows where they are
+ # unreasonably slow, so skip the feature probes when bash or zsh are
+ # being used:
+ if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+ : ${_G_HAVE_ARITH_OP="yes"}
+ : ${_G_HAVE_XSI_OPS="yes"}
+ # The += operator was introduced in bash 3.1
+ case $BASH_VERSION in
+ [12].* | 3.0 | 3.0*) ;;
+ *)
+ : ${_G_HAVE_PLUSEQ_OP="yes"}
+ ;;
+ esac
+ fi
+
+ # _G_HAVE_PLUSEQ_OP
+ # Can be empty, in which case the shell is probed, "yes" if += is
+ # useable or anything else if it does not work.
+ test -z "$_G_HAVE_PLUSEQ_OP" \
+ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+ && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_append ()
+ {
+ $debug_cmd
+
+ eval "$1+=\$2"
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_append ()
+ {
+ $debug_cmd
+
+ eval "$1=\$$1\$2"
+ }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+ eval 'func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_arg pretty "$2"
+ eval "$1+=\\ \$func_quote_arg_result"
+ }'
+else
+ func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_arg pretty "$2"
+ eval "$1=\$$1\\ \$func_quote_arg_result"
+ }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE. For example:
+#
+# func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+ $debug_cmd
+
+ eval _G_current_value='`$ECHO $'$1'`'
+ _G_delim=`expr "$2" : '\(.\)'`
+
+ case $_G_delim$_G_current_value$_G_delim in
+ *"$2$_G_delim"*) ;;
+ *) func_append "$@" ;;
+ esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+ test -z "$_G_HAVE_ARITH_OP" \
+ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+ && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+ eval 'func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=$(( $* ))
+ }'
+else
+ func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=`expr "$@"`
+ }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ # If this shell supports suffix pattern removal, then use it to avoid
+ # forking. Hide the definitions single quotes in case the shell chokes
+ # on unsupported syntax...
+ _b='func_basename_result=${1##*/}'
+ _d='case $1 in
+ */*) func_dirname_result=${1%/*}$2 ;;
+ * ) func_dirname_result=$3 ;;
+ esac'
+
+else
+ # ...otherwise fall back to using sed.
+ _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+ _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`
+ if test "X$func_dirname_result" = "X$1"; then
+ func_dirname_result=$3
+ else
+ func_append func_dirname_result "$2"
+ fi'
+fi
+
+eval 'func_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+ $debug_cmd
+
+ '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+ '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ _G_infix=$1; shift
+ _G_indent=$_G_infix
+ _G_prefix="$progname: $_G_infix: "
+ _G_message=$*
+
+ # Strip color escape sequences before counting printable length
+ for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+ do
+ test -n "$_G_tc" && {
+ _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+ _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+ }
+ done
+ _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
+
+ func_echo_infix_1_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_infix_1_IFS
+ $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+ _G_prefix=$_G_indent
+ done
+ IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ $debug_cmd
+
+ func_error "$*"
+ exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $debug_cmd
+
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+ test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=${#1}
+ }'
+else
+ func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+ }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ $debug_cmd
+
+ _G_directory_path=$1
+ _G_dir_list=
+
+ if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
+
+ # Protect directory names starting with '-'
+ case $_G_directory_path in
+ -*) _G_directory_path=./$_G_directory_path ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$_G_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ _G_dir_list=$_G_directory_path:$_G_dir_list
+
+ # If the last portion added has no slash in it, the list is done
+ case $_G_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
+ done
+ _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
+
+ func_mkdir_p_IFS=$IFS; IFS=:
+ for _G_dir in $_G_dir_list; do
+ IFS=$func_mkdir_p_IFS
+ # mkdir can fail with a 'File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$_G_dir" 2>/dev/null || :
+ done
+ IFS=$func_mkdir_p_IFS
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$_G_directory_path" || \
+ func_fatal_error "Failed to create '$1'"
+ fi
+}
+
+
+# func_mktempdir [BASENAME]
+# -------------------------
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, BASENAME is the basename for that directory.
+func_mktempdir ()
+{
+ $debug_cmd
+
+ _G_template=${TMPDIR-/tmp}/${1-$progname}
+
+ if test : = "$opt_dry_run"; then
+ # Return a directory name, but don't create it in dry-run mode
+ _G_tmpdir=$_G_template-$$
+ else
+
+ # If mktemp works, use that first and foremost
+ _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$_G_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ _G_tmpdir=$_G_template-${RANDOM-0}$$
+
+ func_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$_G_tmpdir"
+ umask $func_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$_G_tmpdir" || \
+ func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
+ fi
+
+ $ECHO "$_G_tmpdir"
+}
+
+
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
+{
+ $debug_cmd
+
+ # These SED scripts presuppose an absolute path with a trailing slash.
+ _G_pathcar='s|^/\([^/]*\).*$|\1|'
+ _G_pathcdr='s|^/[^/]*||'
+ _G_removedotparts=':dotsl
+ s|/\./|/|g
+ t dotsl
+ s|/\.$|/|'
+ _G_collapseslashes='s|/\{1,\}|/|g'
+ _G_finalslash='s|/*$|/|'
+
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test / = "$func_normal_abspath_tpath"; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result"; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+ $debug_cmd
+
+ $opt_quiet || func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+ $debug_cmd
+
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=$func_dirname_result
+ if test -z "$func_relative_path_tlibdir"; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test -n "$func_stripname_result"; then
+ func_append func_relative_path_result "/$func_stripname_result"
+ fi
+
+ # Normalisation. If bindir is libdir, return '.' else relative path.
+ if test -n "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ fi
+
+ test -n "$func_relative_path_result" || func_relative_path_result=.
+
+ :
+}
+
+
+# func_quote_portable EVAL ARG
+# ----------------------------
+# Internal function to portably implement func_quote_arg. Note that we still
+# keep attention to performance here so we as much as possible try to avoid
+# calling sed binary (so far O(N) complexity as long as func_append is O(1)).
+func_quote_portable ()
+{
+ $debug_cmd
+
+ func_quote_portable_result=$2
+
+ # one-time-loop (easy break)
+ while true
+ do
+ if $1; then
+ func_quote_portable_result=`$ECHO "$2" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"`
+ break
+ fi
+
+ # Quote for eval.
+ case $func_quote_portable_result in
+ *[\\\`\"\$]*)
+ case $func_quote_portable_result in
+ *[\[\*\?]*)
+ func_quote_portable_result=`$ECHO "$func_quote_portable_result" \
+ | $SED "$sed_quote_subst"`
+ break
+ ;;
+ esac
+
+ func_quote_portable_old_IFS=$IFS
+ for _G_char in '\' '`' '"' '$'
+ do
+ # STATE($1) PREV($2) SEPARATOR($3)
+ set start "" ""
+ func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
+ IFS=$_G_char
+ for _G_part in $func_quote_portable_result
+ do
+ case $1 in
+ quote)
+ func_append func_quote_portable_result "$3$2"
+ set quote "$_G_part" "\\$_G_char"
+ ;;
+ start)
+ set first "" ""
+ func_quote_portable_result=
+ ;;
+ first)
+ set quote "$_G_part" ""
+ ;;
+ esac
+ done
+ done
+ IFS=$func_quote_portable_old_IFS
+ ;;
+ *) ;;
+ esac
+ break
+ done
+
+ func_quote_portable_unquoted_result=$func_quote_portable_result
+ case $func_quote_portable_result in
+ # double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # many bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ func_quote_portable_result=\"$func_quote_portable_result\"
+ ;;
+ esac
+}
+
+
+# func_quotefast_eval ARG
+# -----------------------
+# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG',
+# but optimized for speed. Result is stored in $func_quotefast_eval.
+if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
+ printf -v _GL_test_printf_tilde %q '~'
+ if test '\~' = "$_GL_test_printf_tilde"; then
+ func_quotefast_eval ()
+ {
+ printf -v func_quotefast_eval_result %q "$1"
+ }
+ else
+ # Broken older Bash implementations. Make those faster too if possible.
+ func_quotefast_eval ()
+ {
+ case $1 in
+ '~'*)
+ func_quote_portable false "$1"
+ func_quotefast_eval_result=$func_quote_portable_result
+ ;;
+ *)
+ printf -v func_quotefast_eval_result %q "$1"
+ ;;
+ esac
+ }
+ fi
+else
+ func_quotefast_eval ()
+ {
+ func_quote_portable false "$1"
+ func_quotefast_eval_result=$func_quote_portable_result
+ }
+fi
+
+
+# func_quote_arg MODEs ARG
+# ------------------------
+# Quote one ARG to be evaled later. MODEs argument may contain zero or more
+# specifiers listed below separated by ',' character. This function returns two
+# values:
+# i) func_quote_arg_result
+# double-quoted (when needed), suitable for a subsequent eval
+# ii) func_quote_arg_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified. Available only if 'unquoted' is specified.
+#
+# Available modes:
+# ----------------
+# 'eval' (default)
+# - escape shell special characters
+# 'expand'
+# - the same as 'eval'; but do not quote variable references
+# 'pretty'
+# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might
+# be used later in func_quote to get output like: 'echo "a b"' instead
+# of 'echo a\ b'. This is slower than default on some shells.
+# 'unquoted'
+# - produce also $func_quote_arg_unquoted_result which does not contain
+# wrapping double-quotes.
+#
+# Examples for 'func_quote_arg pretty,unquoted string':
+#
+# string | *_result | *_unquoted_result
+# ------------+-----------------------+-------------------
+# " | \" | \"
+# a b | "a b" | a b
+# "a b" | "\"a b\"" | \"a b\"
+# * | "*" | *
+# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\"
+#
+# Examples for 'func_quote_arg pretty,unquoted,expand string':
+#
+# string | *_result | *_unquoted_result
+# --------------+---------------------+--------------------
+# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\"
+func_quote_arg ()
+{
+ _G_quote_expand=false
+ case ,$1, in
+ *,expand,*)
+ _G_quote_expand=:
+ ;;
+ esac
+
+ case ,$1, in
+ *,pretty,*|*,expand,*|*,unquoted,*)
+ func_quote_portable $_G_quote_expand "$2"
+ func_quote_arg_result=$func_quote_portable_result
+ func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
+ ;;
+ *)
+ # Faster quote-for-eval for some shells.
+ func_quotefast_eval "$2"
+ func_quote_arg_result=$func_quotefast_eval_result
+ ;;
+ esac
+}
+
+
+# func_quote MODEs ARGs...
+# ------------------------
+# Quote all ARGs to be evaled later and join them into single command. See
+# func_quote_arg's description for more info.
+func_quote ()
+{
+ $debug_cmd
+ _G_func_quote_mode=$1 ; shift
+ func_quote_result=
+ while test 0 -lt $#; do
+ func_quote_arg "$_G_func_quote_mode" "$1"
+ if test -n "$func_quote_result"; then
+ func_append func_quote_result " $func_quote_arg_result"
+ else
+ func_append func_quote_result "$func_quote_arg_result"
+ fi
+ shift
+ done
+}
+
+
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_stripname ()
+ {
+ $debug_cmd
+
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary variable first.
+ func_stripname_result=$3
+ func_stripname_result=${func_stripname_result#"$1"}
+ func_stripname_result=${func_stripname_result%"$2"}
+ }'
+else
+ func_stripname ()
+ {
+ $debug_cmd
+
+ case $2 in
+ .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+ *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+ esac
+ }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ $debug_cmd
+
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ func_quote_arg pretty,expand "$_G_cmd"
+ eval "func_notquiet $func_quote_arg_result"
+
+ $opt_dry_run || {
+ eval "$_G_cmd"
+ _G_status=$?
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
+ fi
+ }
+}
+
+
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ $debug_cmd
+
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ $opt_quiet || {
+ func_quote_arg expand,pretty "$_G_cmd"
+ eval "func_echo $func_quote_arg_result"
+ }
+
+ $opt_dry_run || {
+ eval "$_G_user_locale
+ $_G_cmd"
+ _G_status=$?
+ eval "$_G_safe_locale"
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
+ fi
+ }
+}
+
+
+# func_tr_sh
+# ----------
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result. All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+ $debug_cmd
+
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
+}
+
+
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $debug_cmd
+
+ $opt_verbose && func_echo "$*"
+
+ :
+}
+
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+ $debug_cmd
+
+ # CATEGORY must be in the warning_categories list!
+ case " $warning_categories " in
+ *" $1 "*) ;;
+ *) func_internal_error "invalid warning category '$1'" ;;
+ esac
+
+ _G_category=$1
+ shift
+
+ case " $opt_warning_types " in
+ *" $_G_category "*) $warning_func ${1+"$@"} ;;
+ esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+ $debug_cmd
+
+ printf '%s\n%s\n' "$1" "$2" \
+ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false. Use it like this:
+#
+# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+ $debug_cmd
+
+ test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# This is free software. There is NO warranty; not even for
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Copyright (C) 2010-2018 Bootstrap Authors
+#
+# This file is dual licensed under the terms of the MIT license
+# <https://opensource.org/license/MIT>, and GPL version 3 or later
+# <http://www.gnu.org/licenses/gpl-2.0.html>. You must apply one of
+# these licenses when using or redistributing this software or any of
+# the files within it. See the URLs above, or the file `LICENSE`
+# included in the Bootstrap distribution for the full license texts.
+
+# Please report bugs or propose patches to:
+# <https://github.com/gnulib-modules/bootstrap/issues>
+
+# Set a version string for this script.
+scriptversion=2018-07-24.06; # UTC
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+# #!/bin/sh
+# . relative/path/to/funclib.sh
+# . relative/path/to/options-parser
+# scriptversion=1.0
+# func_options ${1+"$@"}
+# eval set dummy "$func_options_result"; shift
+# ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# Copyright'.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug in processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'. Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+ --debug enable verbose shell tracing
+ -W, --warnings=CATEGORY
+ report the warnings falling in CATEGORY [all]
+ -v, --verbose verbosely report processing
+ --version print version information and exit
+ -h, --help print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+ 'all' show all warnings
+ 'none' turn off all the warnings
+ 'error' warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# in the main code. A hook is just a list of function names that can be
+# run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+ $debug_cmd
+
+ func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not accept hook functions." ;;
+ esac
+
+ eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of hook functions to be called by
+# FUNC_NAME.
+func_remove_hook ()
+{
+ $debug_cmd
+
+ eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_propagate_result FUNC_NAME_A FUNC_NAME_B
+# ---------------------------------------------
+# If the *_result variable of FUNC_NAME_A _is set_, assign its value to
+# *_result variable of FUNC_NAME_B.
+func_propagate_result ()
+{
+ $debug_cmd
+
+ func_propagate_result_result=:
+ if eval "test \"\${${1}_result+set}\" = set"
+ then
+ eval "${2}_result=\$${1}_result"
+ else
+ func_propagate_result_result=false
+ fi
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It's assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not support hook functions." ;;
+ esac
+
+ eval _G_hook_fns=\$$1_hooks; shift
+
+ for _G_hook in $_G_hook_fns; do
+ func_unset "${_G_hook}_result"
+ eval $_G_hook '${1+"$@"}'
+ func_propagate_result $_G_hook func_run_hooks
+ if $func_propagate_result_result; then
+ eval set dummy "$func_run_hooks_result"; shift
+ fi
+ done
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list from your hook function. You may remove
+# or edit any options that you action, and then pass back the remaining
+# unprocessed options in '<hooked_function_name>_result', escaped
+# suitably for 'eval'.
+#
+# The '<hooked_function_name>_result' variable is automatically unset
+# before your hook gets called; for best performance, only set the
+# *_result variable when necessary (i.e. don't call the 'func_quote'
+# function unnecessarily because it can be an expensive operation on some
+# machines).
+#
+# Like this:
+#
+# my_options_prep ()
+# {
+# $debug_cmd
+#
+# # Extend the existing usage message.
+# usage_message=$usage_message'
+# -s, --silent don'\''t print informational messages
+# '
+# # No change in '$@' (ignored completely by this hook). Leave
+# # my_options_prep_result variable intact.
+# }
+# func_add_hook func_options_prep my_options_prep
+#
+#
+# my_silent_option ()
+# {
+# $debug_cmd
+#
+# args_changed=false
+#
+# # Note that, for efficiency, we parse as many options as we can
+# # recognise in a loop before passing the remainder back to the
+# # caller on the first unrecognised argument we encounter.
+# while test $# -gt 0; do
+# opt=$1; shift
+# case $opt in
+# --silent|-s) opt_silent=:
+# args_changed=:
+# ;;
+# # Separate non-argument short options:
+# -s*) func_split_short_opt "$_G_opt"
+# set dummy "$func_split_short_opt_name" \
+# "-$func_split_short_opt_arg" ${1+"$@"}
+# shift
+# args_changed=:
+# ;;
+# *) # Make sure the first unrecognised option "$_G_opt"
+# # is added back to "$@" in case we need it later,
+# # if $args_changed was set to 'true'.
+# set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+# esac
+# done
+#
+# # Only call 'func_quote' here if we processed at least one argument.
+# if $args_changed; then
+# func_quote eval ${1+"$@"}
+# my_silent_option_result=$func_quote_result
+# fi
+# }
+# func_add_hook func_parse_options my_silent_option
+#
+#
+# my_option_validation ()
+# {
+# $debug_cmd
+#
+# $opt_silent && $opt_verbose && func_fatal_help "\
+# '--silent' and '--verbose' options are mutually exclusive."
+# }
+# func_add_hook func_validate_options my_option_validation
+#
+# You'll also need to manually amend $usage_message to reflect the extra
+# options you parse. It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options_finish [ARG]...
+# ----------------------------
+# Finishing the option parse loop (call 'func_options' hooks ATM).
+func_options_finish ()
+{
+ $debug_cmd
+
+ func_run_hooks func_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_options_finish
+}
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+ $debug_cmd
+
+ _G_options_quoted=false
+
+ for my_func in options_prep parse_options validate_options options_finish
+ do
+ func_unset func_${my_func}_result
+ func_unset func_run_hooks_result
+ eval func_$my_func '${1+"$@"}'
+ func_propagate_result func_$my_func func_options
+ if $func_propagate_result_result; then
+ eval set dummy "$func_options_result"; shift
+ _G_options_quoted=:
+ fi
+ done
+
+ $_G_options_quoted || {
+ # As we (func_options) are top-level options-parser function and
+ # nobody quoted "$@" for us yet, we need to do it explicitly for
+ # caller.
+ func_quote eval ${1+"$@"}
+ func_options_result=$func_quote_result
+ }
+}
+
+
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters. If a hook function modifies that list, and
+# needs to propagate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before returning.
+func_hookable func_options_prep
+func_options_prep ()
+{
+ $debug_cmd
+
+ # Option defaults:
+ opt_verbose=false
+ opt_warning_types=
+
+ func_run_hooks func_options_prep ${1+"$@"}
+ func_propagate_result func_run_hooks func_options_prep
+}
+
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
+{
+ $debug_cmd
+
+ _G_parse_options_requote=false
+ # this just eases exit handling
+ while test $# -gt 0; do
+ # Defer to hook functions for initial option parsing, so they
+ # get priority in the event of reusing an option name.
+ func_run_hooks func_parse_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_parse_options
+ if $func_propagate_result_result; then
+ eval set dummy "$func_parse_options_result"; shift
+ # Even though we may have changed "$@", we passed the "$@" array
+ # down into the hook and it quoted it for us (because we are in
+ # this if-branch). No need to quote it again.
+ _G_parse_options_requote=false
+ fi
+
+ # Break out of the loop if we already parsed every option.
+ test $# -gt 0 || break
+
+ # We expect that one of the options parsed in this function matches
+ # and thus we remove _G_opt from "$@" and need to re-quote.
+ _G_match_parse_options=:
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --debug|-x) debug_cmd='set -x'
+ func_echo "enabling shell trace mode" >&2
+ $debug_cmd
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ set dummy --warnings none ${1+"$@"}
+ shift
+ ;;
+
+ --warnings|--warning|-W)
+ if test $# = 0 && func_missing_arg $_G_opt; then
+ _G_parse_options_requote=:
+ break
+ fi
+ case " $warning_categories $1" in
+ *" $1 "*)
+ # trailing space prevents matching last $1 above
+ func_append_uniq opt_warning_types " $1"
+ ;;
+ *all)
+ opt_warning_types=$warning_categories
+ ;;
+ *none)
+ opt_warning_types=none
+ warning_func=:
+ ;;
+ *error)
+ opt_warning_types=$warning_categories
+ warning_func=func_fatal_error
+ ;;
+ *)
+ func_fatal_error \
+ "unsupported warning category: '$1'"
+ ;;
+ esac
+ shift
+ ;;
+
+ --verbose|-v) opt_verbose=: ;;
+ --version) func_version ;;
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+
+ # Separate optargs to long options (plugins may need this):
+ --*=*) func_split_equals "$_G_opt"
+ set dummy "$func_split_equals_lhs" \
+ "$func_split_equals_rhs" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate optargs to short options:
+ -W*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-v*|-x*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) _G_parse_options_requote=: ; break ;;
+ -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift
+ _G_match_parse_options=false
+ break
+ ;;
+ esac
+
+ if $_G_match_parse_options; then
+ _G_parse_options_requote=:
+ fi
+ done
+
+ if $_G_parse_options_requote; then
+ # save modified positional parameters for caller
+ func_quote eval ${1+"$@"}
+ func_parse_options_result=$func_quote_result
+ fi
+}
+
+
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
+{
+ $debug_cmd
+
+ # Display all warnings if -W was not given.
+ test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+ func_run_hooks func_validate_options ${1+"$@"}
+ func_propagate_result func_run_hooks func_validate_options
+
+ # Bail if the options were screwed!
+ $exit_cmd $EXIT_FAILURE
+}
+
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ $debug_cmd
+
+ eval \$ECHO \""Usage: $usage"\"
+ eval \$ECHO \""$fatal_help"\"
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
+func_help ()
+{
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message"
+ exit 0
+}
+
+
+# func_missing_arg ARGNAME
+# ------------------------
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ $debug_cmd
+
+ func_error "Missing argument for '$1'."
+ exit_cmd=exit
+}
+
+
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables
+# after splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=${1%%=*}
+ func_split_equals_rhs=${1#*=}
+ if test "x$func_split_equals_lhs" = "x$1"; then
+ func_split_equals_rhs=
+ fi
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+ func_split_equals_rhs=
+ test "x$func_split_equals_lhs" = "x$1" \
+ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+ }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+ func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+ }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+ exit 0
+}
+
+
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
+{
+ $debug_cmd
+
+ eval \$ECHO \""Usage: $usage"\"
+ echo
+ $SED -n 's|^# ||
+ /^Written by/{
+ x;p;x
+ }
+ h
+ /^Written by/q' < "$progpath"
+ echo
+ eval \$ECHO \""$usage_message"\"
+}
+
+
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+# The version message is extracted from the calling file's header
+# comments, with leading '# ' stripped:
+# 1. First display the progname and version
+# 2. Followed by the header comment line matching /^# Written by /
+# 3. Then a blank line followed by the first following line matching
+# /^# Copyright /
+# 4. Immediately followed by any lines between the previous matches,
+# except lines preceding the intervening completely blank line.
+# For example, see the header comments of this file.
+func_version ()
+{
+ $debug_cmd
+
+ printf '%s\n' "$progname $scriptversion"
+ $SED -n '
+ /^# Written by /!b
+ s|^# ||; p; n
+
+ :fwd2blnk
+ /./ {
+ n
+ b fwd2blnk
+ }
+ p; n
+
+ :holdwrnt
+ s|^# ||
+ s|^# *$||
+ /^Copyright /!{
+ /./H
+ n
+ b holdwrnt
+ }
+
+ s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+ G
+ s|\(\n\)\n*|\1|g
+ p; q' < "$progpath"
+
+ exit $?
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "30/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6.42-b88ce'
+
+
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
+{
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
+
+
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
+{
+ $debug_cmd
+
+ $warning_func ${1+"$@"}
+}
+
+
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+ --config show all configuration variables
+ --debug enable verbose shell tracing
+ -n, --dry-run display commands without modifying any files
+ --features display basic configuration information and exit
+ --mode=MODE use operation mode MODE
+ --no-warnings equivalent to '-Wnone'
+ --preserve-dup-deps don't remove duplicate dependency libraries
+ --quiet, --silent don't print informational messages
+ --tag=TAG use configuration variables from tag TAG
+ -v, --verbose print more informational messages than default
+ --version print version information
+ -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]
+ -h, --help, --help-all print short, long, or detailed help message
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
+{
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message
+
+MODE must be one of the following:
+
+ clean remove files from the build directory
+ compile compile a source file into a libtool object
+ execute automatically set library path, then run a program
+ finish complete the installation of libtool libraries
+ install install libraries or executables
+ link create a library or an executable
+ uninstall remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE. When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+ host-triplet: $host
+ shell: $SHELL
+ compiler: $LTCC
+ compiler flags: $LTCFLAGS
+ linker: $LD (gnu? $with_gnu_ld)
+ version: $progname (GNU libtool) 2.4.6.42-b88ce
+ automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+ autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool@gnu.org>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+ exit 0
+}
+
+
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_lo2o ()
+ {
+ case $1 in
+ *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+ * ) func_lo2o_result=$1 ;;
+ esac
+ }'
+
+ # func_xform LIBOBJ-OR-SOURCE
+ # ---------------------------
+ # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+ # suffix to a '.lo' libtool-object suffix.
+ eval 'func_xform ()
+ {
+ func_xform_result=${1%.*}.lo
+ }'
+else
+ # ...otherwise fall back to using sed.
+ func_lo2o ()
+ {
+ func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+ }
+
+ func_xform ()
+ {
+ func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+ }
+fi
+
+
+# func_fatal_configuration ARG...
+# -------------------------------
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func_fatal_error ${1+"$@"} \
+ "See the $PACKAGE documentation for more information." \
+ "Fatal configuration error."
+}
+
+
+# func_config
+# -----------
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+ done
+
+ exit $?
+}
+
+
+# func_features
+# -------------
+# Display the features supported by this script.
+func_features ()
+{
+ echo "host: $host"
+ if test yes = "$build_libtool_libs"; then
+ echo "enable shared libraries"
+ else
+ echo "disable shared libraries"
+ fi
+ if test yes = "$build_old_libs"; then
+ echo "enable static libraries"
+ else
+ echo "disable static libraries"
+ fi
+
+ exit $?
+}
+
+
+# func_enable_tag TAGNAME
+# -----------------------
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname=$1
+
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf=/$re_begincf/,/$re_endcf/p
+
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
+
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+
+# func_check_version_match
+# ------------------------
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
+ fi
+}
+
+
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+ $debug_mode
+
+ # Option defaults:
+ opt_config=false
+ opt_dlopen=
+ opt_dry_run=false
+ opt_help=false
+ opt_mode=
+ opt_preserve_dup_deps=false
+ opt_quiet=false
+
+ nonopt=
+ preserve_args=
+
+ _G_rc_lt_options_prep=:
+
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+ *)
+ _G_rc_lt_options_prep=false
+ ;;
+ esac
+
+ if $_G_rc_lt_options_prep; then
+ # Pass back the list of options.
+ func_quote eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_result
+ fi
+}
+func_add_hook func_options_prep libtool_options_prep
+
+
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
+{
+ $debug_cmd
+
+ _G_rc_lt_parse_options=false
+
+ # Perform our own loop to consume as many options as possible in
+ # each iteration.
+ while test $# -gt 0; do
+ _G_match_lt_parse_options=:
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+
+ --config) func_config ;;
+
+ --dlopen|-dlopen)
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=: ;;
+
+ --features) func_features ;;
+
+ --finish) set dummy --mode finish ${1+"$@"}; shift ;;
+
+ --help) opt_help=: ;;
+
+ --help-all) opt_help=': help-all' ;;
+
+ --mode) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_mode=$1
+ case $1 in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $_G_opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+ shift
+ ;;
+
+ --no-silent|--no-quiet)
+ opt_quiet=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ opt_warning=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-verbose)
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --silent|--quiet)
+ opt_quiet=:
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --tag) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_tag=$1
+ func_append preserve_args " $_G_opt $1"
+ func_enable_tag "$1"
+ shift
+ ;;
+
+ --verbose|-v) opt_quiet=false
+ opt_verbose=:
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"} ; shift
+ _G_match_lt_parse_options=false
+ break
+ ;;
+ esac
+ $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
+ done
+
+ if $_G_rc_lt_parse_options; then
+ # save modified positional parameters for caller
+ func_quote eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_result
+ fi
+}
+func_add_hook func_parse_options libtool_parse_options
+
+
+
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+ # save first non-option argument
+ if test 0 -lt $#; then
+ nonopt=$1
+ shift
+ fi
+
+ # preserve --debug
+ test : = "$debug_cmd" || func_append preserve_args " --debug"
+
+ case $host in
+ # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+ # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+ *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
+
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ test yes != "$build_libtool_libs" \
+ && test yes != "$build_old_libs" \
+ && func_fatal_configuration "not configured to build any kind of library"
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+ func_error "unrecognized option '-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help=$help
+ help="Try '$progname --help --mode=$opt_mode' for more information."
+ }
+
+ # Pass back the unparsed argument list
+ func_quote eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_result
+}
+func_add_hook func_validate_options libtool_validate_options
+
+
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
+
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+ $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if 'file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case $lalib_p_line in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test yes = "$lalib_p"
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ test -f "$1" &&
+ $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $debug_cmd
+
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$sp$nl
+ eval cmd=\"$cmd\"
+ IFS=$save_ifs
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# 'FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $debug_cmd
+
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot. Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+ func_resolve_sysroot_result=$1
+ case $func_resolve_sysroot_result in
+ =*)
+ func_stripname '=' '' "$func_resolve_sysroot_result"
+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+ ;;
+ esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+ case $lt_sysroot:$1 in
+ ?*:"$lt_sysroot"*)
+ func_stripname "$lt_sysroot" '' "$1"
+ func_replace_sysroot_result='='$func_stripname_result
+ ;;
+ *)
+ # Including no sysroot.
+ func_replace_sysroot_result=$1
+ ;;
+ esac
+}
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $debug_cmd
+
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case "$@ " in
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with '--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=$1
+ if test yes = "$build_libtool_libs"; then
+ write_lobj=\'$2\'
+ else
+ write_lobj=none
+ fi
+
+ if test yes = "$build_old_libs"; then
+ write_oldobj=\'$3\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "$write_libobj"
+ }
+}
+
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+ $debug_cmd
+
+ func_convert_core_file_wine_to_w32_result=$1
+ if test -n "$1"; then
+ # Unfortunately, winepath does not exit with a non-zero error code, so we
+ # are forced to check the contents of stdout. On the other hand, if the
+ # command is not found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both error code of
+ # zero AND non-empty stdout, which explains the odd construction:
+ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
+ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+ $SED -e "$sed_naive_backslashify"`
+ else
+ func_convert_core_file_wine_to_w32_result=
+ fi
+ fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+ $debug_cmd
+
+ # unfortunately, winepath doesn't convert paths, only file names
+ func_convert_core_path_wine_to_w32_result=
+ if test -n "$1"; then
+ oldIFS=$IFS
+ IFS=:
+ for func_convert_core_path_wine_to_w32_f in $1; do
+ IFS=$oldIFS
+ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+ if test -n "$func_convert_core_file_wine_to_w32_result"; then
+ if test -z "$func_convert_core_path_wine_to_w32_result"; then
+ func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
+ else
+ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+ fi
+ fi
+ done
+ IFS=$oldIFS
+ fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+ $debug_cmd
+
+ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+ if test "$?" -ne 0; then
+ # on failure, ensure result is empty
+ func_cygpath_result=
+ fi
+ else
+ func_cygpath_result=
+ func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
+ fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format. Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+ $debug_cmd
+
+ # awkward: cmd appends spaces to result
+ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+ $debug_cmd
+
+ if test -z "$2" && test -n "$1"; then
+ func_error "Could not determine host file name corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_file_result=$1
+ fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+ $debug_cmd
+
+ if test -z "$4" && test -n "$3"; then
+ func_error "Could not determine the host path corresponding to"
+ func_error " '$3'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This is a deliberately simplistic "conversion" and
+ # should not be "improved". See libtool.info.
+ if test "x$1" != "x$2"; then
+ lt_replace_pathsep_chars="s|$1|$2|g"
+ func_to_host_path_result=`echo "$3" |
+ $SED -e "$lt_replace_pathsep_chars"`
+ else
+ func_to_host_path_result=$3
+ fi
+ fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+ $debug_cmd
+
+ case $4 in
+ $1 ) func_to_host_path_result=$3$func_to_host_path_result
+ ;;
+ esac
+ case $4 in
+ $2 ) func_append func_to_host_path_result "$3"
+ ;;
+ esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via '$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+ $debug_cmd
+
+ $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result. If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+ $debug_cmd
+
+ case ,$2, in
+ *,"$to_tool_file_cmd",*)
+ func_to_tool_file_result=$1
+ ;;
+ *)
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
+ ;;
+ esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+ func_to_host_file_result=$1
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_to_host_file_result=$func_convert_core_msys_to_w32_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+ # LT_CYGPATH in this case.
+ func_to_host_file_result=`cygpath -m "$1"`
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format. Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ func_convert_core_file_wine_to_w32 "$1"
+ func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result=$func_cygpath_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+ func_convert_core_file_wine_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result=$func_cygpath_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via '$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format. If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+# file name conversion function : func_convert_file_X_to_Y ()
+# path conversion function : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same. If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+ $debug_cmd
+
+ if test -z "$to_host_path_cmd"; then
+ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+ to_host_path_cmd=func_convert_path_$func_stripname_result
+ fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+ $debug_cmd
+
+ func_init_to_host_path_cmd
+ $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+ func_to_host_path_result=$1
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from ARG. MSYS
+ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+ # and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result=$func_convert_core_msys_to_w32_result
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format. Requires a wine environment and
+# a working winepath. Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result=$func_cygpath_result
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result=$func_cygpath_result
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_nix_to_cygwin
+
+
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+ $debug_cmd
+
+ func_dll_def_p_tmp=`$SED -n \
+ -e 's/^[ ]*//' \
+ -e '/^\(;.*\)*$/d' \
+ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \
+ -e q \
+ "$1"`
+ test DEF = "$func_dll_def_p_tmp"
+}
+
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $debug_cmd
+
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile=$nonopt # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+ pie_flag=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg=$arg
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj=$arg
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify '-o' more than once"
+ arg_mode=target
+ continue
+ ;;
+
+ -pie | -fpie | -fPIE)
+ func_append pie_flag " $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ func_append later " $arg"
+ continue
+ ;;
+
+ -no-suppress)
+ suppress_opt=no
+ continue
+ ;;
+
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ lastarg=
+ save_ifs=$IFS; IFS=,
+ for arg in $args; do
+ IFS=$save_ifs
+ func_append_quoted lastarg "$arg"
+ done
+ IFS=$save_ifs
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+ func_append base_compile " $lastarg"
+ continue
+ ;;
+
+ *)
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg=$srcfile
+ srcfile=$arg
+ ;;
+ esac # case $arg
+ ;;
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+ func_append_quoted base_compile "$lastarg"
+ done # for arg
+
+ case $arg_mode in
+ arg)
+ func_fatal_error "you must specify an argument for -Xcompile"
+ ;;
+ target)
+ func_fatal_error "you must specify a target with '-o'"
+ ;;
+ *)
+ # Get the name of the library object.
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj=$func_basename_result
+ }
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ case $libobj in
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+ esac
+
+ case $libobj in
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+ *)
+ func_fatal_error "cannot determine name of library object from '$libobj'"
+ ;;
+ esac
+
+ func_infer_tag $base_compile
+
+ for arg in $later; do
+ case $arg in
+ -shared)
+ test yes = "$build_libtool_libs" \
+ || func_fatal_configuration "cannot build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+ esac
+ done
+
+ func_quote_arg pretty "$libobj"
+ test "X$libobj" != "X$func_quote_arg_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name '$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname=$func_basename_result
+ xdir=$func_dirname_result
+ lobj=$xdir$objdir/$objname
+
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
+
+ # Delete any leftover library objects.
+ if test yes = "$build_old_libs"; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
+ pic_mode=default
+ ;;
+ esac
+ if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test no = "$compiler_c_o"; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+ lockfile=$output_obj.lock
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test yes = "$need_locks"; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test warn = "$need_locks"; then
+ if test -f "$lockfile"; then
+ $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+ func_append removelist " $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+ srcfile=$func_to_tool_file_result
+ func_quote_arg pretty "$srcfile"
+ qsrcfile=$func_quote_arg_result
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test yes = "$build_libtool_libs"; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test no != "$pic_mode"; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
+
+ func_mkdir_p "$xdir$objdir"
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ func_append command " -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+ if test warn = "$need_locks" &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+
+ # Allow error messages only from the first compilation.
+ if test yes = "$suppress_opt"; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test yes = "$build_old_libs"; then
+ if test yes != "$pic_mode"; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile$pie_flag"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test yes = "$compiler_c_o"; then
+ func_append command " -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ func_append command "$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+ if test warn = "$need_locks" &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test no != "$need_locks"; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+ test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to build PIC objects only
+ -prefer-non-pic try to build non-PIC objects only
+ -shared do not build a '.o' file suitable for static linking
+ -static only build a '.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to '-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the '--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the 'install' or 'cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -bindir BINDIR specify path to binaries directory (for systems where
+ libraries must be found in the PATH setting at runtime)
+ -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE use a list of object files found in FILE to specify objects
+ -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with '-') are ignored.
+
+Every other argument is treated as a filename. Files ending in '.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
+
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode '$opt_mode'"
+ ;;
+ esac
+
+ echo
+ $ECHO "Try '$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test : = "$opt_help"; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | $SED -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ $SED '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $debug_cmd
+
+ # The first argument is the command name.
+ cmd=$nonopt
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "'$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "'$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "'$file' was not linked with '-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir=$func_dirname_result
+
+ if test -f "$dir/$objdir/$dlname"; then
+ func_append dir "/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir=$func_dirname_result
+ ;;
+
+ *)
+ func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir=$absdir
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic=$magic
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -* | *.la | *.lo ) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file=$progdir/$program
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file=$progdir/$program
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_append_quoted args "$file"
+ done
+
+ if $opt_dry_run; then
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ else
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd=\$cmd$args
+ fi
+}
+
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $debug_cmd
+
+ libs=
+ libdirs=
+ admincmds=
+
+ for opt in "$nonopt" ${1+"$@"}
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
+
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
+ else
+ func_warning "'$opt' is not a valid libtool archive"
+ fi
+
+ else
+ func_fatal_error "invalid argument '$opt'"
+ fi
+ done
+
+ if test -n "$libs"; then
+ if test -n "$lt_sysroot"; then
+ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+ else
+ sysroot_cmd=
+ fi
+
+ # Remove sysroot references
+ if $opt_dry_run; then
+ for lib in $libs; do
+ echo "removing references to $lt_sysroot and '=' prefixes from $lib"
+ done
+ else
+ tmpdir=`func_mktempdir`
+ for lib in $libs; do
+ $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ > $tmpdir/tmp-la
+ mv -f $tmpdir/tmp-la $lib
+ done
+ ${RM}r "$tmpdir"
+ fi
+ fi
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || func_append admincmds "
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ $opt_quiet && exit $EXIT_SUCCESS
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the '-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the '$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the '$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $ECHO " - use the '$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
+ fi
+ echo
+
+ echo "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ echo "pages."
+ ;;
+ *)
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ echo "----------------------------------------------------------------------"
+ fi
+ exit $EXIT_SUCCESS
+}
+
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $debug_cmd
+
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
+ # Allow the use of GNU shtool's install command.
+ case $nonopt in *shtool*) :;; *) false;; esac
+ then
+ # Aesthetically quote it.
+ func_quote_arg pretty "$nonopt"
+ install_prog="$func_quote_arg_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_arg pretty "$arg"
+ func_append install_prog "$func_quote_arg_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+ *) install_cp=false ;;
+ esac
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=false
+ stripme=
+ no_mode=:
+ for arg
+ do
+ arg2=
+ if test -n "$dest"; then
+ func_append files " $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=: ;;
+ -f)
+ if $install_cp; then :; else
+ prev=$arg
+ fi
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ if test X-m = "X$prev" && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
+ fi
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_arg pretty "$arg"
+ func_append install_prog " $func_quote_arg_result"
+ if test -n "$arg2"; then
+ func_quote_arg pretty "$arg2"
+ fi
+ func_append install_shared_prog " $func_quote_arg_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the '$prev' option requires an argument"
+
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_arg pretty "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_arg_result"
+ fi
+ fi
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=:
+ if $isdir; then
+ destdir=$dest
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir=$func_dirname_result
+ destname=$func_basename_result
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "'$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "'$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic=$magic
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ func_append staticlibs " $file"
+ ;;
+
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "'$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append current_libdirs " $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append future_libdirs " $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir=$func_dirname_result
+ func_append dir "$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking '$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname=$1
+ shift
+
+ srcname=$realname
+ test -n "$relink_command" && srcname=${realname}T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme=$stripme
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=
+ ;;
+ esac
+ ;;
+ os2*)
+ case $realname in
+ *_dll.a)
+ tstripme=
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try 'ln -sf' first, because the 'ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib=$destdir/$realname
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name=$func_basename_result
+ instname=$dir/${name}i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile=$destdir/$destname
+ else
+ func_basename "$file"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest=$destfile
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to '$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test yes = "$build_old_libs"; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile=$destdir/$destname
+ else
+ func_basename "$file"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=.exe
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script '$wrapper'"
+
+ finalize=:
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "'$lib' has not been installed in '$libdir'"
+ finalize=false
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test no = "$fast_install" && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if $finalize; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file=$func_basename_result
+ outputname=$tmpdir/$file
+ # Replace the output file specification.
+ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_quiet || {
+ func_quote_arg expand,pretty "$relink_command"
+ eval "func_echo $func_quote_arg_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink '$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file=$outputname
+ else
+ func_warning "cannot relink '$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name=$func_basename_result
+
+ # Set up the ranlib parameters.
+ oldlib=$destdir/$name
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run '$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $debug_cmd
+
+ my_outputname=$1
+ my_originator=$2
+ my_pic_p=${3-false}
+ my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms=${my_outputname}S.c
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist=$output_objdir/$my_outputname.nm
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test yes = "$dlself"; then
+ func_verbose "generating symbol list for '$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+ func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
+ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols=$output_objdir/$outputname.exp
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from '$dlprefile'"
+ func_basename "$dlprefile"
+ name=$func_basename_result
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ # if an import library, we need to obtain dlname
+ if func_win32_import_lib_p "$dlprefile"; then
+ func_tr_sh "$dlprefile"
+ eval "curr_lafile=\$libfile_$func_tr_sh_result"
+ dlprefile_dlbasename=
+ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+ # Use subshell, to avoid clobbering current variable values
+ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+ if test -n "$dlprefile_dlname"; then
+ func_basename "$dlprefile_dlname"
+ dlprefile_dlbasename=$func_basename_result
+ else
+ # no lafile. user explicitly requested -dlpreopen <import library>.
+ $sharedlib_from_linklib_cmd "$dlprefile"
+ dlprefile_dlbasename=$sharedlib_from_linklib_result
+ fi
+ fi
+ $opt_dry_run || {
+ if test -n "$dlprefile_dlbasename"; then
+ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+ else
+ func_warning "Could not compute DLL name from $name"
+ eval '$ECHO ": $name " >> "$nlist"'
+ fi
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+ }
+ else # not an import lib
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ fi
+ ;;
+ *)
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ ;;
+ esac
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ func_show_eval '$RM "${nlist}I"'
+ if test -n "$global_symbol_to_import"; then
+ eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+ fi
+
+ echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+ LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+ for (; symbol->name; ++symbol)
+ {"
+ $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+ echo >> "$output_objdir/$my_dlsyms" "\
+ }
+}"
+ fi
+ echo >> "$output_objdir/$my_dlsyms" "\
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{ {\"$my_originator\", (void *) 0},"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {\"@INIT@\", (void *) &lt_syminit},"
+ fi
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ $my_pic_p && pic_flag_for_symtable=" $pic_flag"
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj=$output_objdir/${my_outputname}S.$objext
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for '$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+ $debug_cmd
+
+ win32_libid_type=unknown
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+ case $nm_interface in
+ "MS dumpbin")
+ if func_cygming_ms_implib_p "$1" ||
+ func_cygming_gnu_implib_p "$1"
+ then
+ win32_nmres=import
+ else
+ win32_nmres=
+ fi
+ ;;
+ *)
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s|.*|import|
+ p
+ q
+ }
+ }'`
+ ;;
+ esac
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+ $debug_cmd
+
+ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+ $debug_cmd
+
+ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+ $SED '/^Contents of section '"$match_literal"':/{
+ # Place marker at beginning of archive member dllname section
+ s/.*/====MARK====/
+ p
+ d
+ }
+ # These lines can sometimes be longer than 43 characters, but
+ # are always uninteresting
+ /:[ ]*file format pe[i]\{,1\}-/d
+ /^In archive [^:]*:/d
+ # Ensure marker is printed
+ /^====MARK====/p
+ # Remove all lines with less than 43 characters
+ /^.\{43\}/!d
+ # From remaining lines, remove first 43 characters
+ s/^.\{43\}//' |
+ $SED -n '
+ # Join marker and all lines until next marker into a single line
+ /^====MARK====/ b para
+ H
+ $ b para
+ b
+ :para
+ x
+ s/\n//g
+ # Remove the marker
+ s/^====MARK====//
+ # Remove trailing dots and whitespace
+ s/[\. \t]*$//
+ # Print
+ /./p' |
+ # we now have a list, one entry per line, of the stringified
+ # contents of the appropriate section of all members of the
+ # archive that possess that section. Heuristic: eliminate
+ # all those that have a first or second character that is
+ # a '.' (that is, objdump's representation of an unprintable
+ # character.) This should work for all archives with less than
+ # 0x302f exports -- but will fail for DLLs whose name actually
+ # begins with a literal '.' or a single character followed by
+ # a '.'.
+ #
+ # Of those that remain, print the first one.
+ $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+ $debug_cmd
+
+ if func_cygming_gnu_implib_p "$1"; then
+ # binutils import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+ elif func_cygming_ms_implib_p "$1"; then
+ # ms-generated import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+ else
+ # unknown
+ sharedlib_from_linklib_result=
+ fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $debug_cmd
+
+ f_ex_an_ar_dir=$1; shift
+ f_ex_an_ar_oldlib=$1
+ if test yes = "$lock_old_archive_extraction"; then
+ lockfile=$f_ex_an_ar_oldlib.lock
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ fi
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test yes = "$lock_old_archive_extraction"; then
+ $opt_dry_run || rm -f "$lockfile"
+ fi
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $debug_cmd
+
+ my_gentop=$1; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=
+ my_xlib=
+ my_xabs=
+ my_xdir=
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib=$func_basename_result
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir=$my_gentop/$my_xlib_u
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ func_basename "$darwin_archive"
+ darwin_base_archive=$func_basename_result
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches; do
+ func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+ $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+ cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+ func_extract_an_archive "`pwd`" "$darwin_base_archive"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result=$my_oldobjs
+}
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory where it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=${1-no}
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ file=\"\$0\""
+
+ func_quote_arg pretty "$ECHO"
+ qECHO=$func_quote_arg_result
+ $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+ ECHO=$qECHO
+ fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ that is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options that match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=\$0
+ shift
+ for lt_opt
+ do
+ case \"\$lt_opt\" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+ cat \"\$lt_dump_D/\$lt_dump_F\"
+ exit 0
+ ;;
+ --lt-*)
+ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+
+ # Print the debug banner immediately:
+ if test -n \"\$lt_option_debug\"; then
+ echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
+ fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+ done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ case \" \$* \" in
+ *\\ --lt-*)
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done ;;
+ esac
+ func_exec_program_core \${1+\"\$@\"}
+}
+
+ # Parse options
+ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+ done
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test yes = "$fast_install"; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ \$ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # fixup the dll searchpath if we need to.
+ #
+ # Fix the DLL searchpath if we need to. Do this before prepending
+ # to shlibpath, because on Windows, both are PATH and uninstalled
+ # libraries must come first.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ # Export our shlibpath_var if we have one.
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+ func_exec_program \${1+\"\$@\"}
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+*/
+EOF
+ cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* declarations of non-ANSI functions */
+#if defined __MINGW32__
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined __CYGWIN__
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined other_platform || defined ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined _MSC_VER
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+# define S_IXUSR _S_IEXEC
+#elif defined __MINGW32__
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+#elif defined __CYGWIN__
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined other platforms ... */
+#endif
+
+#if defined PATH_MAX
+# define LT_PATHMAX PATH_MAX
+#elif defined MAXPATHLEN
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+ defined __OS2__
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free (stale); stale = 0; } \
+} while (0)
+
+#if defined LT_DEBUGWRAPPER
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
+
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
+
+ cat <<EOF
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_path "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_path "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test yes = "$fast_install"; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ int rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ newargz = XMALLOC (char *, (size_t) argc + 1);
+
+ /* very simple arg parsing; don't want to rely on getopt
+ * also, copy all non cwrapper options to newargz, except
+ * argz[0], which is handled differently
+ */
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (STREQ (argv[i], dumpscript_opt))
+ {
+EOF
+ case $host in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ lt_dump_script (stdout);
+ return 0;
+ }
+ if (STREQ (argv[i], debug_opt))
+ {
+ lt_debug = 1;
+ continue;
+ }
+ if (STREQ (argv[i], ltwrapper_option_prefix))
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal (__FILE__, __LINE__,
+ "unrecognized %s option: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+EOF
+ cat <<EOF
+ /* The GNU banner must be the first non-error debug message */
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
+EOF
+ cat <<"EOF"
+ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (before symlink chase) at: %s\n",
+ tmp_pathspec);
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (after symlink chase) at: %s\n",
+ actual_cwrapper_path);
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) libtool target name: %s\n",
+ target_name);
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
+ be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+ because on Windows, both *_VARNAMEs are PATH but uninstalled
+ libraries must come first. */
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
+ {
+ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+ i, nonnull (newargz[i]));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ newargz = prepare_spawn (newargz);
+ rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) failed to launch target \"%s\": %s\n",
+ lt_argv_zero, nonnull (strerror (errno)));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ size_t tmp_len;
+ char *concat_name;
+
+ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+ nonempty (wrapper));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = (size_t) (q - p);
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ lt_debugprintf (__FILE__, __LINE__,
+ "checking path component for symlinks: %s\n",
+ tmp_pathspec);
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "error accessing file \"%s\": %s",
+ tmp_pathspec, nonnull (strerror (errno)));
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (STREQ (str, pat))
+ *str = '\0';
+ }
+ return str;
+}
+
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+ va_list args;
+ if (lt_debug)
+ {
+ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+ }
+}
+
+static void
+lt_error_core (int exit_status, const char *file,
+ int line, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+ va_end (ap);
+}
+
+static const char *
+nonnull (const char *s)
+{
+ return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+ return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_setenv) setting '%s' to '%s'\n",
+ nonnull (name), nonnull (value));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ size_t len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ size_t orig_value_len = strlen (orig_value);
+ size_t add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ size_t len = strlen (new_value);
+ while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[--len] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+EOF
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+ Note that spawn() does not by itself call the command interpreter
+ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&v);
+ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+ }) ? "cmd.exe" : "command.com").
+ Instead it simply concatenates the arguments, separated by ' ', and calls
+ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
+ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+ special way:
+ - Space and tab are interpreted as delimiters. They are not treated as
+ delimiters if they are surrounded by double quotes: "...".
+ - Unescaped double quotes are removed from the input. Their only effect is
+ that within double quotes, space and tab are treated like normal
+ characters.
+ - Backslashes not followed by double quotes are not special.
+ - But 2*n+1 backslashes followed by a double quote become
+ n backslashes followed by a double quote (n >= 0):
+ \" -> "
+ \\\" -> \"
+ \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+ size_t argc;
+ char **new_argv;
+ size_t i;
+
+ /* Count number of arguments. */
+ for (argc = 0; argv[argc] != NULL; argc++)
+ ;
+
+ /* Allocate new argument vector. */
+ new_argv = XMALLOC (char *, argc + 1);
+
+ /* Put quoted arguments into the new argument vector. */
+ for (i = 0; i < argc; i++)
+ {
+ const char *string = argv[i];
+
+ if (string[0] == '\0')
+ new_argv[i] = xstrdup ("\"\"");
+ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+ {
+ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+ size_t length;
+ unsigned int backslashes;
+ const char *s;
+ char *quoted_string;
+ char *p;
+
+ length = 0;
+ backslashes = 0;
+ if (quote_around)
+ length++;
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ length += backslashes + 1;
+ length++;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ length += backslashes + 1;
+
+ quoted_string = XMALLOC (char, length + 1);
+
+ p = quoted_string;
+ backslashes = 0;
+ if (quote_around)
+ *p++ = '"';
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ {
+ unsigned int j;
+ for (j = backslashes + 1; j > 0; j--)
+ *p++ = '\\';
+ }
+ *p++ = c;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ {
+ unsigned int j;
+ for (j = backslashes; j > 0; j--)
+ *p++ = '\\';
+ *p++ = '"';
+ }
+ *p = '\0';
+
+ new_argv[i] = quoted_string;
+ }
+ else
+ new_argv[i] = (char *) string;
+ }
+ new_argv[argc] = NULL;
+
+ return new_argv;
+}
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+ func_emit_wrapper yes |
+ $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/ fputs ("\1", f);/p
+g
+D'
+ cat <<"EOF"
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+ $debug_cmd
+
+ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
+}
+
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+ $debug_cmd
+
+ case " $compile_command " in
+ *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+ suncc_use_cstd_abi=no
+ ;;
+ *)
+ suncc_use_cstd_abi=yes
+ ;;
+ esac
+}
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $debug_cmd
+
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # what system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll that has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args=$nonopt
+ base_compile="$nonopt $@"
+ compile_command=$nonopt
+ finalize_command=$nonopt
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+ new_inherited_linker_flags=
+
+ avoid_version=no
+ bindir=
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ os2dllname=
+ non_pic_objects=
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=false
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ weak_libs=
+ single_module=$wl-single_module
+ func_infer_tag $base_compile
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -shared)
+ test yes != "$build_libtool_libs" \
+ && func_fatal_configuration "cannot build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg=$1
+ shift
+ func_quote_arg pretty,unquoted "$arg"
+ qarg=$func_quote_arg_unquoted_result
+ func_append libtool_args " $func_quote_arg_result"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ bindir)
+ bindir=$arg
+ prev=
+ continue
+ ;;
+ dlfiles|dlprefiles)
+ $preload || {
+ # Add the symbol object into the linking commands.
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=:
+ }
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test no = "$dlself"; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test dlprefiles = "$prev"; then
+ dlself=yes
+ elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test dlfiles = "$prev"; then
+ func_append dlfiles " $arg"
+ else
+ func_append dlprefiles " $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols=$arg
+ test -f "$arg" \
+ || func_fatal_error "symbol file '$arg' does not exist"
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex=$arg
+ prev=
+ continue
+ ;;
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) func_append deplibs " $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir=$arg
+ prev=
+ continue
+ ;;
+ mllvm)
+ # Clang does not use LLVM to link, so we can simply discard any
+ # '-mllvm $arg' options when doing the link step.
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+# func_append moreargs " $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ if test none != "$pic_object"; then
+ # Prepend the subdirectory the object is found in.
+ pic_object=$xdir$pic_object
+
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test dlprefiles = "$prev"; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg=$pic_object
+ fi
+
+ # Non-PIC object.
+ if test none != "$non_pic_object"; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object=$xdir$non_pic_object
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object=$pic_object
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "'$arg' is not a valid libtool object"
+ fi
+ fi
+ done
+ else
+ func_fatal_error "link input file '$arg' does not exist"
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ os2dllname)
+ os2dllname=$arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex=$arg
+ prev=
+ continue
+ ;;
+ release)
+ release=-$arg
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ if test rpath = "$prev"; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) func_append rpath " $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) func_append xrpath " $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ shrext)
+ shrext_cmds=$arg
+ prev=
+ continue
+ ;;
+ weak)
+ func_append weak_libs " $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
+
+ prevarg=$arg
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ func_fatal_error "'-allow-undefined' must not be used because it is the default"
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -bindir)
+ prev=bindir
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
+ fi
+ if test X-export-symbols = "X$arg"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ -framework)
+ prev=framework
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ func_stripname "-L" '' "$arg"
+ if test -z "$func_stripname_result"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between '-L' and '$1'"
+ else
+ func_fatal_error "need path for '-L' option"
+ fi
+ fi
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of '$dir'"
+ dir=$absdir
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "* | *" $arg "*)
+ # Will only happen for absolute or sysroot arguments
+ ;;
+ *)
+ # Preserve sysroot, but never include relative directories
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+ *) func_append deplibs " -L$dir" ;;
+ esac
+ func_append lib_search_path " $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+ *) func_append dllsearchpath ":$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test X-lc = "X$arg" || test X-lm = "X$arg"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test X-lc = "X$arg" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+ # Do not include libc due to us having libc/libc_r.
+ test X-lc = "X$arg" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ func_append deplibs " System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test X-lc = "X$arg" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test X-lc = "X$arg" && continue
+ ;;
+ esac
+ elif test X-lc_r = "X$arg"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ func_append deplibs " $arg"
+ continue
+ ;;
+
+ -mllvm)
+ prev=mllvm
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot|--sysroot)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ continue
+ ;;
+
+ -multi_module)
+ single_module=$wl-multi_module
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "'-no-install' is ignored for $host"
+ func_warning "assuming '-no-fast-install' instead"
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -os2dllname)
+ prev=os2dllname
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ =*)
+ func_stripname '=' '' "$dir"
+ dir=$lt_sysroot$func_stripname_result
+ ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ continue
+ ;;
+
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -weak)
+ prev=weak
+ continue
+ ;;
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs=$IFS; IFS=,
+ for flag in $args; do
+ IFS=$save_ifs
+ func_quote_arg pretty "$flag"
+ func_append arg " $func_quote_arg_result"
+ func_append compiler_flags " $func_quote_arg_result"
+ done
+ IFS=$save_ifs
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Wl,*)
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs=$IFS; IFS=,
+ for flag in $args; do
+ IFS=$save_ifs
+ func_quote_arg pretty "$flag"
+ func_append arg " $wl$func_quote_arg_result"
+ func_append compiler_flags " $wl$func_quote_arg_result"
+ func_append linker_flags " $func_quote_arg_result"
+ done
+ IFS=$save_ifs
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
+ ;;
+
+ # Flags to be passed through unchanged, with rationale:
+ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
+ # -r[0-9][0-9]* specify processor for the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+ # +DA*, +DD* enable 64-bit mode for the HP compiler
+ # -q* compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # -fstack-protector* stack protector flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ # --sysroot=* for sysroot support
+ # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
+ # -stdlib=* select c++ std lib with clang
+ # -fsanitize=* Clang/GCC memory and address sanitizer
+ # -fuse-ld=* Linker select flags for GCC
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*|-fsanitize=*|-fuse-ld=*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ func_append compiler_flags " $arg"
+ continue
+ ;;
+
+ -Z*)
+ if test os2 = "`expr $host : '.*\(os2\)'`"; then
+ # OS/2 uses -Zxxx to specify OS/2-specific options
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case $arg in
+ -Zlinker | -Zstack)
+ prev=xcompiler
+ ;;
+ esac
+ continue
+ else
+ # Otherwise treat like 'Some other compiler flag' below
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
+ fi
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
+ ;;
+
+ *.$objext)
+ # A standard object.
+ func_append objs " $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ test none = "$pic_object" || {
+ # Prepend the subdirectory the object is found in.
+ pic_object=$xdir$pic_object
+
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test dlprefiles = "$prev"; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg=$pic_object
+ }
+
+ # Non-PIC object.
+ if test none != "$non_pic_object"; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object=$xdir$non_pic_object
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object=$pic_object
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "'$arg' is not a valid libtool object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ func_append deplibs " $arg"
+ func_append old_deplibs " $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ func_resolve_sysroot "$arg"
+ if test dlfiles = "$prev"; then
+ # This library was specified with -dlopen.
+ func_append dlfiles " $func_resolve_sysroot_result"
+ prev=
+ elif test dlprefiles = "$prev"; then
+ # The library was specified with -dlpreopen.
+ func_append dlprefiles " $func_resolve_sysroot_result"
+ prev=
+ else
+ func_append deplibs " $func_resolve_sysroot_result"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ func_quote_arg pretty "$arg"
+ arg=$func_quote_arg_result
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+ done # argument parsing loop
+
+ test -n "$prev" && \
+ func_fatal_help "the '$prevarg' option requires an argument"
+
+ if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ func_basename "$output"
+ outputname=$func_basename_result
+ libobjs_save=$libobjs
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ # Definition is injected by LT_CONFIG during libtool generation.
+ func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
+ func_dirname "$output" "/" ""
+ output_objdir=$func_dirname_result$objdir
+ func_to_tool_file "$output_objdir/"
+ tool_output_objdir=$func_to_tool_file_result
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+ # Determine the type of output
+ case $output in
+ "")
+ func_fatal_help "you must specify an output file"
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if $opt_preserve_dup_deps; then
+ case "$libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append libs " $deplib"
+ done
+
+ if test lib = "$linkmode"; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+ esac
+ func_append pre_post_deps " $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
+ case $linkmode in
+ lib)
+ passes="conv dlpreopen link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=false
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+
+ for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test lib,link = "$linkmode,$pass"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs=$tmp_deplibs
+ fi
+
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass"; then
+ libs=$deplibs
+ deplibs=
+ fi
+ if test prog = "$linkmode"; then
+ case $pass in
+ dlopen) libs=$dlfiles ;;
+ dlpreopen) libs=$dlprefiles ;;
+ link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
+ esac
+ fi
+ if test lib,dlpreopen = "$linkmode,$pass"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ func_resolve_sysroot "$lib"
+ case $lib in
+ *.la) func_source "$func_resolve_sysroot_result" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ func_basename "$deplib"
+ deplib_base=$func_basename_result
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) func_append deplibs " $deplib" ;;
+ esac
+ done
+ done
+ libs=$dlprefiles
+ fi
+ if test dlopen = "$pass"; then
+ # Collect dlpreopened libraries
+ save_deplibs=$deplibs
+ deplibs=
+ fi
+
+ for deplib in $libs; do
+ lib=
+ found=false
+ case $deplib in
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append compiler_flags " $deplib"
+ if test lib = "$linkmode"; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -l*)
+ if test lib != "$linkmode" && test prog != "$linkmode"; then
+ func_warning "'-l' is ignored for archives/objects"
+ continue
+ fi
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test lib = "$linkmode"; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib=$searchdir/lib$name$search_ext
+ if test -f "$lib"; then
+ if test .la = "$search_ext"; then
+ found=:
+ else
+ found=false
+ fi
+ break 2
+ fi
+ done
+ done
+ if $found; then
+ # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if func_lalib_p "$lib"; then
+ library_names=
+ old_library=
+ func_source "$lib"
+ for l in $old_library $library_names; do
+ ll=$l
+ done
+ if test "X$ll" = "X$old_library"; then # only static version available
+ found=false
+ func_dirname "$lib" "" "."
+ ladir=$func_dirname_result
+ lib=$ladir/$old_library
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ else
+ # deplib doesn't seem to be a libtool library
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ ;; # -l
+ *.ltframework)
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test lib = "$linkmode"; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test conv = "$pass" && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ prog)
+ if test conv = "$pass"; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test scan = "$pass"; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ *)
+ func_warning "'-L' is ignored for archives/objects"
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test link = "$pass"; then
+ func_stripname '-R' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ lib=$func_resolve_sysroot_result
+ ;;
+ *.$libext)
+ if test conv = "$pass"; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=false
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=:
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=:
+ ;;
+ esac
+ if $valid_a_lib; then
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ else
+ echo
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not use here."
+ fi
+ ;;
+ esac
+ continue
+ ;;
+ prog)
+ if test link != "$pass"; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test conv = "$pass"; then
+ deplibs="$deplib $deplibs"
+ elif test prog = "$linkmode"; then
+ if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ func_append newdlprefiles " $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append newdlfiles " $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=:
+ continue
+ ;;
+ esac # case $deplib
+
+ $found || test -f "$lib" \
+ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "'$lib' is not a valid libtool archive"
+
+ func_dirname "$lib" "" "."
+ ladir=$func_dirname_result
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ inherited_linker_flags=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass" ||
+ { test prog != "$linkmode" && test lib != "$linkmode"; }; then
+ test -n "$dlopen" && func_append dlfiles " $dlopen"
+ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+ fi
+
+ if test conv = "$pass"; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ func_fatal_error "cannot find name of link library for '$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ func_append convenience " $ladir/$objdir/$old_library"
+ func_append old_convenience " $ladir/$objdir/$old_library"
+ elif test prog != "$linkmode" && test lib != "$linkmode"; then
+ func_fatal_error "'$lib' is not a convenience library"
+ fi
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ if test -n "$old_library" &&
+ { test yes = "$prefer_static_libs" ||
+ test built,no = "$prefer_static_libs,$installed"; }; then
+ linklib=$old_library
+ else
+ for l in $old_library $library_names; do
+ linklib=$l
+ done
+ fi
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for '$lib'"
+ fi
+
+ # This library was specified with -dlopen.
+ if test dlopen = "$pass"; then
+ test -z "$libdir" \
+ && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
+ if test -z "$dlname" ||
+ test yes != "$dlopen_support" ||
+ test no = "$build_libtool_libs"
+ then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ func_append dlprefiles " $lib $dependency_libs"
+ else
+ func_append newdlfiles " $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ func_warning "cannot determine absolute directory name of '$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir=$ladir
+ fi
+ ;;
+ esac
+ func_basename "$lib"
+ laname=$func_basename_result
+
+ # Find the relevant object directory and library name.
+ if test yes = "$installed"; then
+ if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library '$lib' was moved."
+ dir=$ladir
+ absdir=$abs_ladir
+ libdir=$abs_ladir
+ else
+ dir=$lt_sysroot$libdir
+ absdir=$lt_sysroot$libdir
+ fi
+ test yes = "$hardcode_automatic" && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir=$ladir
+ absdir=$abs_ladir
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ else
+ dir=$ladir/$objdir
+ absdir=$abs_ladir/$objdir
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
+
+ # This library was specified with -dlpreopen.
+ if test dlpreopen = "$pass"; then
+ if test -z "$libdir" && test prog = "$linkmode"; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
+ fi
+ case $host in
+ # special handling for platforms with PE-DLLs.
+ *cygwin* | *mingw* | *cegcc* )
+ # Linker will automatically link against shared library if both
+ # static and shared are present. Therefore, ensure we extract
+ # symbols from the import library if a shared library is present
+ # (otherwise, the dlopen module name will be incorrect). We do
+ # this by putting the import library name into $newdlprefiles.
+ # We recover the dlopen module name by 'saving' the la file
+ # name in a special purpose variable, and (later) extracting the
+ # dlname from the la file.
+ if test -n "$dlname"; then
+ func_tr_sh "$dir/$linklib"
+ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+ func_append newdlprefiles " $dir/$linklib"
+ else
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ fi
+ ;;
+ * )
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ func_append newdlprefiles " $dir/$dlname"
+ else
+ func_append newdlprefiles " $dir/$linklib"
+ fi
+ ;;
+ esac
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test lib = "$linkmode"; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test prog = "$linkmode" && test link != "$pass"; then
+ func_append newlib_search_path " $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=false
+ if test no != "$link_all_deplibs" || test -z "$library_names" ||
+ test no = "$build_libtool_libs"; then
+ linkalldeplibs=:
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+ if $linkalldeplibs; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test prog,link = "$linkmode,$pass"; then
+ if test -n "$library_names" &&
+ { { test no = "$prefer_static_libs" ||
+ test built,yes = "$prefer_static_libs,$installed"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
+ # Make sure the rpath contains only unique directories.
+ case $temp_rpath: in
+ *"$absdir:"*) ;;
+ *) func_append temp_rpath "$absdir:" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if $alldeplibs &&
+ { test pass_all = "$deplibs_check_method" ||
+ { test yes = "$build_libtool_libs" &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test built = "$use_static_libs" && test yes = "$installed"; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test no = "$use_static_libs" || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc* | *os2*)
+ # No point in relinking DLLs because paths are not encoded
+ func_append notinst_deplibs " $lib"
+ need_relink=no
+ ;;
+ *)
+ if test no = "$installed"; then
+ func_append notinst_deplibs " $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule=$dlpremoduletest
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
+ echo
+ if test prog = "$linkmode"; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $ECHO "*** $linklib is not portable!"
+ fi
+ if test lib = "$linkmode" &&
+ test yes = "$hardcode_into_libs"; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ shift
+ realname=$1
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname=$dlname
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw* | *cegcc* | *os2*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix=-$major
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname=$realname
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot=$soname
+ func_basename "$soroot"
+ soname=$func_basename_result
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ func_verbose "extracting exported symbol list from '$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ func_verbose "generating import library for '$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test prog = "$linkmode" || test relink != "$opt_mode"; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test no = "$hardcode_direct"; then
+ add=$dir/$linklib
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+ *-*-sysv4*uw2*) add_dir=-L$dir ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir=-L$dir ;;
+ *-*-darwin* )
+ # if the lib is a (non-dlopened) module then we cannot
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library"; then
+ echo
+ echo "*** And there doesn't seem to be a static archive available"
+ echo "*** The link will probably fail, sorry"
+ else
+ add=$dir/$old_library
+ fi
+ elif test -n "$old_library"; then
+ add=$dir/$old_library
+ fi
+ fi
+ esac
+ elif test no = "$hardcode_minus_L"; then
+ case $host in
+ *-*-sunos*) add_shlibpath=$dir ;;
+ esac
+ add_dir=-L$dir
+ add=-l$name
+ elif test no = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$dir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$absdir
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test yes != "$lib_linked"; then
+ func_fatal_configuration "unsupported hardcode properties"
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) func_append compile_shlibpath "$add_shlibpath:" ;;
+ esac
+ fi
+ if test prog = "$linkmode"; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test yes != "$hardcode_direct" &&
+ test yes != "$hardcode_minus_L" &&
+ test yes = "$hardcode_shlibpath_var"; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test prog = "$linkmode" || test relink = "$opt_mode"; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$libdir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$libdir
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ add=-l$name
+ elif test yes = "$hardcode_automatic"; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib"; then
+ add=$inst_prefix_dir$libdir/$linklib
+ else
+ add=$libdir/$linklib
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir=-L$libdir
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add=-l$name
+ fi
+
+ if test prog = "$linkmode"; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test prog = "$linkmode"; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test unsupported != "$hardcode_direct"; then
+ test -n "$old_library" && linklib=$old_library
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test yes = "$build_libtool_libs"; then
+ # Not a shared library
+ if test pass_all != "$deplibs_check_method"; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ echo
+ $ECHO "*** Warning: This system cannot link to static lib archive $lib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ if test yes = "$module"; then
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test no = "$build_old_libs"; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test lib = "$linkmode"; then
+ if test -n "$dependency_libs" &&
+ { test yes != "$hardcode_into_libs" ||
+ test yes = "$build_old_libs" ||
+ test yes = "$link_static"; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) func_append xrpath " $temp_xrpath";;
+ esac;;
+ *) func_append temp_deplibs " $libdir";;
+ esac
+ done
+ dependency_libs=$temp_deplibs
+ fi
+
+ func_append newlib_search_path " $absdir"
+ # Link against this library
+ test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result";;
+ *) func_resolve_sysroot "$deplib" ;;
+ esac
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $func_resolve_sysroot_result "*)
+ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+ esac
+ fi
+ func_append tmp_libs " $func_resolve_sysroot_result"
+ done
+
+ if test no != "$link_all_deplibs"; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ path=
+ case $deplib in
+ -L*) path=$deplib ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ deplib=$func_resolve_sysroot_result
+ func_dirname "$deplib" "" "."
+ dir=$func_dirname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ func_warning "cannot determine absolute directory name of '$dir'"
+ absdir=$dir
+ fi
+ ;;
+ esac
+ if $GREP "^installed=no" $deplib > /dev/null; then
+ case $host in
+ *-*-darwin*)
+ depdepl=
+ eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names"; then
+ for tmp in $deplibrary_names; do
+ depdepl=$tmp
+ done
+ if test -f "$absdir/$objdir/$depdepl"; then
+ depdepl=$absdir/$objdir/$depdepl
+ darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+ func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
+ path=
+ fi
+ fi
+ ;;
+ *)
+ path=-L$absdir/$objdir
+ ;;
+ esac
+ else
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "'$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "'$deplib' seems to be moved"
+
+ path=-L$absdir
+ fi
+ ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test link = "$pass"; then
+ if test prog = "$linkmode"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs=$newdependency_libs
+ if test dlpreopen = "$pass"; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test dlopen != "$pass"; then
+ test conv = "$pass" || {
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) func_append lib_search_path " $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ }
+
+ if test prog,link = "$linkmode,$pass"; then
+ vars="compile_deplibs finalize_deplibs"
+ else
+ vars=deplibs
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+
+ # Add Sun CC postdeps if required:
+ test CXX = "$tagname" && {
+ case $host_os in
+ linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C++ 5.9
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ func_cc_basename "$CC"
+ case $func_cc_basename_result in
+ CC* | sunCC*)
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ }
+
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=
+ ;;
+ esac
+ if test -n "$i"; then
+ func_append tmp_libs " $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test prog = "$linkmode"; then
+ dlfiles=$newdlfiles
+ fi
+ if test prog = "$linkmode" || test lib = "$linkmode"; then
+ dlprefiles=$newdlprefiles
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for archives"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "'-l' and '-L' are ignored for archives" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "'-rpath' is ignored for archives"
+
+ test -n "$xrpath" && \
+ func_warning "'-R' is ignored for archives"
+
+ test -n "$vinfo" && \
+ func_warning "'-version-info/-version-number' is ignored for archives"
+
+ test -n "$release" && \
+ func_warning "'-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "'-export-symbols' is ignored for archives"
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs=$output
+ func_append objs "$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form 'libNAME.la'.
+ case $outputname in
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test no = "$module" \
+ && func_fatal_help "libtool library '$output' must begin with 'lib'"
+
+ if test no != "$need_lib_prefix"; then
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test pass_all != "$deplibs_check_method"; then
+ func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ func_append libobjs " $objs"
+ fi
+ fi
+
+ test no = "$dlself" \
+ || func_warning "'-dlopen self' is ignored for libtool libraries"
+
+ set dummy $rpath
+ shift
+ test 1 -lt "$#" \
+ && func_warning "ignoring multiple '-rpath's for a libtool library"
+
+ install_libdir=$1
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test yes = "$build_libtool_libs"; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a '.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ test -n "$vinfo" && \
+ func_warning "'-version-info/-version-number' is ignored for convenience libraries"
+
+ test -n "$release" && \
+ func_warning "'-release' is ignored for convenience libraries"
+ else
+
+ # Parse the version information argument.
+ save_ifs=$IFS; IFS=:
+ set dummy $vinfo 0 0 0
+ shift
+ IFS=$save_ifs
+
+ test -n "$7" && \
+ func_fatal_help "too many parameters to '-version-info'"
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major=$1
+ number_minor=$2
+ number_revision=$3
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # that has an extra 1 added just for fun
+ #
+ case $version_type in
+ # correct linux to gnu/linux during the next big refactor
+ darwin|freebsd-elf|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age=$number_minor
+ revision=$number_revision
+ ;;
+ freebsd-aout|qnx|sunos)
+ current=$number_major
+ revision=$number_minor
+ age=0
+ ;;
+ irix|nonstopux)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age=$number_minor
+ revision=$number_minor
+ lt_irix_increment=no
+ ;;
+ esac
+ ;;
+ no)
+ current=$1
+ revision=$2
+ age=$3
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "CURRENT '$current' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "REVISION '$revision' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "AGE '$age' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ func_error "AGE '$age' is greater than the current interface number '$current'"
+ func_fatal_error "'$vinfo' is not valid version information"
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
+ # Darwin ld doesn't like 0 for these options...
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ # On Darwin other compilers
+ case $CC in
+ nagfor*)
+ verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+ ;;
+ *)
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+ esac
+ ;;
+
+ freebsd-aout)
+ major=.$current
+ versuffix=.$current.$revision
+ ;;
+
+ freebsd-elf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
+ ;;
+
+ irix | nonstopux)
+ if test no = "$lt_irix_increment"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring=$verstring_prefix$major.$revision
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test 0 -ne "$loop"; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring=$verstring_prefix$major.$iface:$verstring
+ done
+
+ # Before this point, $major must not contain '.'.
+ major=.$major
+ versuffix=$major.$revision
+ ;;
+
+ linux) # correct to gnu/linux during the next big refactor
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
+ ;;
+
+ osf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=.$current.$age.$revision
+ verstring=$current.$age.$revision
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test 0 -ne "$loop"; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring=$verstring:$iface.0
+ done
+
+ # Make executables depend on our current version.
+ func_append verstring ":$current.0"
+ ;;
+
+ qnx)
+ major=.$current
+ versuffix=.$current
+ ;;
+
+ sco)
+ major=.$current
+ versuffix=.$current
+ ;;
+
+ sunos)
+ major=.$current
+ versuffix=.$current.$revision
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 file systems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix=-$major
+ ;;
+
+ *)
+ func_fatal_configuration "unknown library version type '$version_type'"
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring=0.0
+ ;;
+ esac
+ if test no = "$need_version"; then
+ versuffix=
+ else
+ versuffix=.0.0
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test yes,no = "$avoid_version,$need_version"; then
+ major=
+ versuffix=
+ verstring=
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test yes = "$allow_undefined"; then
+ if test unsupported = "$allow_undefined_flag"; then
+ if test yes = "$build_old_libs"; then
+ func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+ build_libtool_libs=no
+ else
+ func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+ fi
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag=$no_undefined_flag
+ fi
+
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" :
+ func_append libobjs " $symfileobj"
+ test " " = "$libobjs" && libobjs=
+
+ if test relink != "$opt_mode"; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$ECHO "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext | *.gcno)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+ if test -n "$precious_files_regex"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ func_append removelist " $p"
+ ;;
+ *) ;;
+ esac
+ done
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
+ fi
+
+ # Now set the variables for building old libraries.
+ if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
+ func_append oldlibs " $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ func_replace_sysroot "$libdir"
+ func_append temp_xrpath " -R$func_replace_sysroot_result"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles=$dlfiles
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) func_append dlfiles " $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles=$dlprefiles
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) func_append dlprefiles " $lib" ;;
+ esac
+ done
+
+ if test yes = "$build_libtool_libs"; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ func_append deplibs " System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test yes = "$build_libtool_need_lc"; then
+ func_append deplibs " -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=
+ versuffix=
+ major=
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $opt_dry_run || $RM conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=
+ ;;
+ esac
+ fi
+ if test -n "$i"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=
+ ;;
+ esac
+ fi
+ if test -n "$i"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ if test -n "$file_magic_glob"; then
+ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+ else
+ libnameglob=$libname
+ fi
+ test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ if test yes = "$want_nocaseglob"; then
+ shopt -s nocaseglob
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ $nocaseglob
+ else
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ fi
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib=$potent_lib
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+ *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib"; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib"; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib=$potent_lib # see symlink-check above in file_magic test
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib"; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib"; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=
+ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ for i in $predeps $postdeps; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
+ done
+ fi
+ case $tmp_deplibs in
+ *[!\ \ ]*)
+ echo
+ if test none = "$deplibs_check_method"; then
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ ;;
+ esac
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ if test yes = "$droppeddeps"; then
+ if test yes = "$module"; then
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
+
+ if test no = "$allow_undefined"; then
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ deplibs=$new_libs
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test yes = "$build_libtool_libs"; then
+ # Remove $wl instances when linking with ld.
+ # FIXME: should test the right _cmds variable.
+ case $archive_cmds in
+ *\$LD\ *) wl= ;;
+ esac
+ if test yes = "$hardcode_into_libs"; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath=$finalize_rpath
+ test relink = "$opt_mode" || rpath=$compile_rpath$rpath
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ func_replace_sysroot "$libdir"
+ libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs=$libdir
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append dep_rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir=$hardcode_libdirs
+ eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath=$finalize_shlibpath
+ test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname=$1
+ shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname=$realname
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
+ fi
+
+ lib=$output_objdir/$realname
+ linknames=
+ for link
+ do
+ func_append linknames " $link"
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols=$output_objdir/$libname.uexp
+ func_append delfiles " $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ func_dll_def_p "$export_symbols" || {
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols=$export_symbols
+ export_symbols=
+ always_export_symbols=yes
+ }
+ fi
+ ;;
+ esac
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs=$IFS; IFS='~'
+ for cmd1 in $cmds; do
+ IFS=$save_ifs
+ # Take the normal branch if the nm_file_list_spec branch
+ # doesn't work or if tool conversion is not needed.
+ case $nm_file_list_spec~$to_tool_file_cmd in
+ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+ try_normal_branch=yes
+ eval cmd=\"$cmd1\"
+ func_len " $cmd"
+ len=$func_len_result
+ ;;
+ *)
+ try_normal_branch=no
+ ;;
+ esac
+ if test yes = "$try_normal_branch" \
+ && { test "$len" -lt "$max_cmd_len" \
+ || test "$max_cmd_len" -le -1; }
+ then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ elif test -n "$nm_file_list_spec"; then
+ func_basename "$output"
+ output_la=$func_basename_result
+ save_libobjs=$libobjs
+ save_output=$output
+ output=$output_objdir/$output_la.nm
+ func_to_tool_file "$output"
+ libobjs=$nm_file_list_spec$func_to_tool_file_result
+ func_append delfiles " $output"
+ func_verbose "creating $NM input file list: $output"
+ for obj in $save_libobjs; do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > "$output"
+ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
+ output=$save_output
+ libobjs=$save_libobjs
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS=$save_ifs
+ if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands, which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ func_append tmp_deplibs " $test_deplib"
+ ;;
+ esac
+ done
+ deplibs=$tmp_deplibs
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test yes = "$compiler_needs_object" &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ func_append linker_flags " $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test relink = "$opt_mode"; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test yes = "$module" && test -n "$module_cmds"; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+
+ if test : != "$skipped_export" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
+
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ func_basename "$output"
+ output_la=$func_basename_result
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ last_robj=
+ k=1
+
+ if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+ output=$output_objdir/$output_la.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ echo 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ echo ')' >> $output
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$func_to_tool_file_result
+ elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+ output=$output_objdir/$output_la.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test yes = "$compiler_needs_object"; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-$k.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test -z "$objlist" ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test 1 -eq "$k"; then
+ # The first file doesn't have a previous command to add.
+ reload_objs=$objlist
+ eval concat_cmds=\"$reload_cmds\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-$k.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-$k.$objext
+ objlist=" $obj"
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds$reload_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ func_append delfiles " $output"
+
+ else
+ output=
+ fi
+
+ ${skipped_export-false} && {
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ }
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs=$IFS; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS=$save_ifs
+ $opt_quiet || {
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test relink = "$opt_mode"; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS=$save_ifs
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ ${skipped_export-false} && {
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands, which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ }
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test yes = "$module" && test -n "$module_cmds"; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
+ fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs=$IFS; IFS='~'
+ for cmd in $cmds; do
+ IFS=$sp$nl
+ eval cmd=\"$cmd\"
+ IFS=$save_ifs
+ $opt_quiet || {
+ func_quote_arg expand,pretty "$cmd"
+ eval "func_echo $func_quote_arg_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test relink = "$opt_mode"; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS=$save_ifs
+
+ # Restore the uninstalled library and exit
+ if test relink = "$opt_mode"; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test yes = "$module" || test yes = "$export_dynamic"; then
+ # On all known operating systems, these are identical.
+ dlname=$soname
+ fi
+ fi
+ ;;
+
+ obj)
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for objects"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "'-l' and '-L' are ignored for objects" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "'-rpath' is ignored for objects"
+
+ test -n "$xrpath" && \
+ func_warning "'-R' is ignored for objects"
+
+ test -n "$vinfo" && \
+ func_warning "'-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "'-release' is ignored for objects"
+
+ case $output in
+ *.lo)
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object '$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
+ ;;
+ *)
+ libobj=
+ obj=$output
+ ;;
+ esac
+
+ # Delete the old objects.
+ $opt_dry_run || $RM $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # if reload_cmds runs $LD directly, get rid of -Wl from
+ # whole_archive_flag_spec and hope we can get by with turning comma
+ # into space.
+ case $reload_cmds in
+ *\$LD[\ \$]*) wl= ;;
+ esac
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
+ else
+ gentop=$output_objdir/${obj}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
+ # If we're not building shared, we need to use non_pic_objs
+ test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
+
+ # Create the old-style object.
+ reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
+
+ output=$obj
+ func_execute_cmds "$reload_cmds" 'exit $?'
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ test yes = "$build_libtool_libs" || {
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ }
+
+ if test -n "$pic_flag" || test default != "$pic_mode"; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output=$libobj
+ func_execute_cmds "$reload_cmds" 'exit $?'
+ fi
+
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
+ esac
+ test -n "$vinfo" && \
+ func_warning "'-version-info' is ignored for programs"
+
+ test -n "$release" && \
+ func_warning "'-release' is ignored for programs"
+
+ $preload \
+ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ case $host in
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test CXX = "$tagname"; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ func_append compile_command " $wl-bind_at_load"
+ func_append finalize_command " $wl-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ compile_deplibs=$new_libs
+
+
+ func_append compile_command " $compile_deplibs"
+ func_append finalize_command " $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs=$libdir
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+ *) func_append dllsearchpath ":$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir=$hardcode_libdirs
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath=$rpath
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs=$libdir
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir=$hardcode_libdirs
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath=$rpath
+
+ if test -n "$libobjs" && test yes = "$build_old_libs"; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ fi
+
+ func_generate_dlsyms "$outputname" "@PROGRAM@" false
+
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
+ fi
+
+ wrappers_required=:
+ case $host in
+ *cegcc* | *mingw32ce*)
+ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+ wrappers_required=false
+ ;;
+ *cygwin* | *mingw* )
+ test yes = "$build_libtool_libs" || wrappers_required=false
+ ;;
+ *)
+ if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+ wrappers_required=false
+ fi
+ ;;
+ esac
+ $wrappers_required || {
+ # Replace the output file specification.
+ compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ link_command=$compile_command$compile_rpath
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.$objext"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
+ fi
+
+ exit $exit_status
+ }
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test yes = "$no_install"; then
+ # We don't need to create a wrapper script.
+ link_command=$compile_var$compile_command$compile_rpath
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ case $hardcode_action,$fast_install in
+ relink,*)
+ # Fast installation is not supported
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
+
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "'$output' will be relinked during installation"
+ ;;
+ *,yes)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ ;;
+ *,no)
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
+ ;;
+ *,needless)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=
+ ;;
+ esac
+
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output_objdir/$outputname"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_arg pretty "$var_value"
+ relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
+ fi
+ done
+ func_quote eval cd "`pwd`"
+ func_quote_arg pretty,unquoted "($func_quote_result; $relink_command)"
+ relink_command=$func_quote_arg_unquoted_result
+ fi
+
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource=$output_path/$objdir/lt-$output_name.c
+ cwrapper=$output_path/$output_name.exe
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
+
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host"; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
+ ;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_wrapper no > $output
+ chmod +x $output
+ ;;
+ esac
+ }
+ exit $EXIT_SUCCESS
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ case $build_libtool_libs in
+ convenience)
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs=$convenience
+ build_libtool_libs=no
+ ;;
+ module)
+ oldobjs=$libobjs_save
+ addlibs=$old_convenience
+ build_libtool_libs=no
+ ;;
+ *)
+ oldobjs="$old_deplibs $non_pic_objects"
+ $preload && test -f "$symfileobj" \
+ && func_append oldobjs " $symfileobj"
+ addlibs=$old_convenience
+ ;;
+ esac
+
+ if test -n "$addlibs"; then
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $addlibs
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
+ cmds=$old_archive_from_new_cmds
+ else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ echo "copying selected object files to avoid basename conflicts..."
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ func_basename "$obj"
+ objbase=$func_basename_result
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ func_arith $counter + 1
+ counter=$func_arith_result
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ func_append oldobjs " $gentop/$newobj"
+ ;;
+ *) func_append oldobjs " $obj" ;;
+ esac
+ done
+ fi
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+ eval cmds=\"$old_archive_cmds\"
+
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ elif test -n "$archiver_list_spec"; then
+ func_verbose "using command file archive linking..."
+ for obj in $oldobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > $output_objdir/$libname.libcmd
+ func_to_tool_file "$output_objdir/$libname.libcmd"
+ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+ oldobjs=
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+ for obj in $save_oldobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj"; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test -z "$oldobjs"; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ func_execute_cmds "$cmds" 'exit $?'
+ done
+
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test yes = "$build_old_libs" && old_library=$libname.$libext
+ func_verbose "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_arg pretty,unquoted "$var_value"
+ relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ func_quote eval cd "`pwd`"
+ relink_command="($func_quote_result; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ func_quote_arg pretty,unquoted "$relink_command"
+ relink_command=$func_quote_arg_unquoted_result
+ if test yes = "$hardcode_automatic"; then
+ relink_command=
+ fi
+
+ # Only create the output if not a dry run.
+ $opt_dry_run || {
+ for installed in no yes; do
+ if test yes = "$installed"; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output=$output_objdir/${outputname}i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
+ name=$func_basename_result
+ func_resolve_sysroot "$deplib"
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "'$deplib' is not a valid libtool archive"
+ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ -L*)
+ func_stripname -L '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -L$func_replace_sysroot_result"
+ ;;
+ -R*)
+ func_stripname -R '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -R$func_replace_sysroot_result"
+ ;;
+ *) func_append newdependency_libs " $deplib" ;;
+ esac
+ done
+ dependency_libs=$newdependency_libs
+ newdlfiles=
+
+ for lib in $dlfiles; do
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "'$lib' is not a valid libtool archive"
+ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ *) func_append newdlfiles " $lib" ;;
+ esac
+ done
+ dlfiles=$newdlfiles
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "'$lib' is not a valid libtool archive"
+ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ esac
+ done
+ dlprefiles=$newdlprefiles
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlfiles " $abs"
+ done
+ dlfiles=$newdlfiles
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlprefiles " $abs"
+ done
+ dlprefiles=$newdlprefiles
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
+ # In fact, it would be nice if we could use this code for all target
+ # systems that can't hard-code library paths into their executables
+ # and that have no shared library path variable independent of PATH,
+ # but it turns out we can't easily determine that from inspecting
+ # libtool variables, so we have to hard-code the OSs to which it
+ # applies here; at the moment, that means platforms that use the PE
+ # object format with DLL files. See the long comment at the top of
+ # tests/bindir.at for full details.
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ # If a -bindir argument was supplied, place the dll there.
+ if test -n "$bindir"; then
+ func_relative_path "$install_libdir" "$bindir"
+ tdlname=$func_relative_path_result/$dlname
+ else
+ # Otherwise fall back on heuristic.
+ tdlname=../bin/$dlname
+ fi
+ ;;
+ esac
+ $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that cannot go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test no,yes = "$installed,$need_relink"; then
+ $ECHO >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ }
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+}
+
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+ func_mode_link ${1+"$@"}
+fi
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $debug_cmd
+
+ RM=$nonopt
+ files=
+ rmforce=false
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic=$magic
+
+ for arg
+ do
+ case $arg in
+ -f) func_append RM " $arg"; rmforce=: ;;
+ -*) func_append RM " $arg" ;;
+ *) func_append files " $arg" ;;
+ esac
+ done
+
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
+
+ rmdirs=
+
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir=$func_dirname_result
+ if test . = "$dir"; then
+ odir=$objdir
+ else
+ odir=$dir/$objdir
+ fi
+ func_basename "$file"
+ name=$func_basename_result
+ test uninstall = "$opt_mode" && odir=$dir
+
+ # Remember odir for removal later, being careful to avoid duplicates
+ if test clean = "$opt_mode"; then
+ case " $rmdirs " in
+ *" $odir "*) ;;
+ *) func_append rmdirs " $odir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif $rmforce; then
+ continue
+ fi
+
+ rmfiles=$file
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ func_append rmfiles " $odir/$n"
+ done
+ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+ case $opt_mode in
+ clean)
+ case " $library_names " in
+ *" $dlname "*) ;;
+ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+ esac
+ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ ;;
+ esac
+ fi
+ ;;
+
+ *.lo)
+ # Possibly a libtool object, so verify it.
+ if func_lalib_p "$file"; then
+
+ # Read the .lo file
+ func_source $dir/$name
+
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" && test none != "$pic_object"; then
+ func_append rmfiles " $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" && test none != "$non_pic_object"; then
+ func_append rmfiles " $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+ if test clean = "$opt_mode"; then
+ noexename=$name
+ case $file in
+ *.exe)
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+ func_append rmfiles " $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ func_append rmfiles " $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+ func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+ if test yes = "$fast_install" && test -n "$relink_command"; then
+ func_append rmfiles " $odir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name"; then
+ func_append rmfiles " $odir/lt-$noexename.c"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
+ done
+
+ # Try to remove the $objdir's in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
+ fi
+ done
+
+ exit $exit_status
+}
+
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+ func_mode_uninstall ${1+"$@"}
+fi
+
+test -z "$opt_mode" && {
+ help=$generic_help
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode '$opt_mode'"
+
+if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+ exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# where we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/m4/gettext.m4 b/m4/gettext.m4
new file mode 100644
index 00000000..eef5073b
--- /dev/null
+++ b/m4/gettext.m4
@@ -0,0 +1,420 @@
+# gettext.m4 serial 68 (gettext-0.19.8)
+dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
+
+dnl Macro to add for using GNU gettext.
+
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl default (if it is not specified or empty) is 'no-libtool'.
+dnl INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl If INTLSYMBOL is 'use-libtool', then a libtool library
+dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
+dnl depending on --{enable,disable}-{shared,static} and on the presence of
+dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
+dnl $(top_builddir)/intl/libintl.a will be created.
+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
+dnl implementations (in libc or libintl) without the ngettext() function
+dnl will be ignored. If NEEDSYMBOL is specified and is
+dnl 'need-formatstring-macros', then GNU gettext implementations that don't
+dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
+dnl INTLDIR is used to find the intl libraries. If empty,
+dnl the value '$(top_builddir)/intl/' is used.
+dnl
+dnl The result of the configuration is one of three cases:
+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
+dnl and used.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 2) GNU gettext has been found in the system's C library.
+dnl Catalog format: GNU --> install in $(datadir)
+dnl Catalog extension: .mo after installation, .gmo in source tree
+dnl 3) No internationalization, always use English msgid.
+dnl Catalog format: none
+dnl Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
+dnl The use of .gmo is historical (it was needed to avoid overwriting the
+dnl GNU format catalogs when building on a platform with an X/Open gettext),
+dnl but we keep it in order not to force irrelevant filename changes on the
+dnl maintainers.
+dnl
+AC_DEFUN([AM_GNU_GETTEXT],
+[
+ dnl Argument checking.
+ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+ ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
+ [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
+ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
+ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])])
+ define([gt_included_intl],
+ ifelse([$1], [external],
+ ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
+ [yes]))
+ define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
+ gt_NEEDS_INIT
+ AM_GNU_GETTEXT_NEED([$2])
+
+ AC_REQUIRE([AM_PO_SUBDIRS])dnl
+ ifelse(gt_included_intl, yes, [
+ AC_REQUIRE([AM_INTL_SUBDIR])dnl
+ ])
+
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
+ dnl Ideally we would do this search only after the
+ dnl if test "$USE_NLS" = "yes"; then
+ dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
+ dnl the configure script would need to contain the same shell code
+ dnl again, outside any 'if'. There are two solutions:
+ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
+ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
+ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
+ dnl documented, we avoid it.
+ ifelse(gt_included_intl, yes, , [
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+ ])
+
+ dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
+ gt_INTL_MACOSX
+
+ dnl Set USE_NLS.
+ AC_REQUIRE([AM_NLS])
+
+ ifelse(gt_included_intl, yes, [
+ BUILD_INCLUDED_LIBINTL=no
+ USE_INCLUDED_LIBINTL=no
+ ])
+ LIBINTL=
+ LTLIBINTL=
+ POSUB=
+
+ dnl Add a version number to the cache macros.
+ case " $gt_needs " in
+ *" need-formatstring-macros "*) gt_api_version=3 ;;
+ *" need-ngettext "*) gt_api_version=2 ;;
+ *) gt_api_version=1 ;;
+ esac
+ gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
+ gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
+
+ dnl If we use NLS figure out what method
+ if test "$USE_NLS" = "yes"; then
+ gt_use_preinstalled_gnugettext=no
+ ifelse(gt_included_intl, yes, [
+ AC_MSG_CHECKING([whether included gettext is requested])
+ AC_ARG_WITH([included-gettext],
+ [ --with-included-gettext use the GNU gettext library included here],
+ nls_cv_force_use_gnu_gettext=$withval,
+ nls_cv_force_use_gnu_gettext=no)
+ AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
+
+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+ ])
+ dnl User does not insist on using GNU NLS library. Figure out what
+ dnl to use. If GNU gettext is available we use this. Else we have
+ dnl to fall back to GNU NLS library.
+
+ if test $gt_api_version -ge 3; then
+ gt_revision_test_code='
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
+#endif
+changequote(,)dnl
+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
+changequote([,])dnl
+'
+ else
+ gt_revision_test_code=
+ fi
+ if test $gt_api_version -ge 2; then
+ gt_expression_test_code=' + * ngettext ("", "", 0)'
+ else
+ gt_expression_test_code=
+ fi
+
+ AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
+ [AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern int *_nl_domain_bindings;
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_domain_bindings)
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+ ]])],
+ [eval "$gt_func_gnugettext_libc=yes"],
+ [eval "$gt_func_gnugettext_libc=no"])])
+
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
+ ifelse(gt_included_intl, yes, , [
+ AM_ICONV_LINK
+ ])
+ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
+ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
+ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
+ dnl even if libiconv doesn't exist.
+ AC_LIB_LINKFLAGS_BODY([intl])
+ AC_CACHE_CHECK([for GNU gettext in libintl],
+ [$gt_func_gnugettext_libintl],
+ [gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $INCINTL"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBINTL"
+ dnl Now see whether libintl exists and does not depend on libiconv.
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+ ]])],
+ [eval "$gt_func_gnugettext_libintl=yes"],
+ [eval "$gt_func_gnugettext_libintl=no"])
+ dnl Now see whether libintl exists and depends on libiconv.
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
+ LIBS="$LIBS $LIBICONV"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <libintl.h>
+#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
+extern int _nl_msg_cat_cntr;
+extern
+#ifdef __cplusplus
+"C"
+#endif
+const char *_nl_expand_alias (const char *);
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION (_nl_msg_cat_cntr + *_nl_expand_alias (""))
+#else
+#define __GNU_GETTEXT_SYMBOL_EXPRESSION 0
+#endif
+$gt_revision_test_code
+ ]],
+ [[
+bindtextdomain ("", "");
+return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
+ ]])],
+ [LIBINTL="$LIBINTL $LIBICONV"
+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
+ eval "$gt_func_gnugettext_libintl=yes"
+ ])
+ fi
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"])
+ fi
+
+ dnl If an already present or preinstalled GNU gettext() is found,
+ dnl use it. But if this macro is used in GNU gettext, and GNU
+ dnl gettext is already preinstalled in libintl, we update this
+ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
+ if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
+ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
+ && test "$PACKAGE" != gettext-runtime \
+ && test "$PACKAGE" != gettext-tools; }; then
+ gt_use_preinstalled_gnugettext=yes
+ else
+ dnl Reset the values set by searching for libintl.
+ LIBINTL=
+ LTLIBINTL=
+ INCINTL=
+ fi
+
+ ifelse(gt_included_intl, yes, [
+ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
+ dnl GNU gettext is not found in the C library.
+ dnl Fall back on included GNU gettext library.
+ nls_cv_use_gnu_gettext=yes
+ fi
+ fi
+
+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions used to generate GNU NLS library.
+ BUILD_INCLUDED_LIBINTL=yes
+ USE_INCLUDED_LIBINTL=yes
+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+ fi
+
+ CATOBJEXT=
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions to use GNU gettext tools.
+ CATOBJEXT=.gmo
+ fi
+ ])
+
+ if test -n "$INTL_MACOSX_LIBS"; then
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Some extra flags are needed during linking.
+ LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
+ LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
+ fi
+ fi
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
+ AC_DEFINE([ENABLE_NLS], [1],
+ [Define to 1 if translation of program messages to the user's native language
+ is requested.])
+ else
+ USE_NLS=no
+ fi
+ fi
+
+ AC_MSG_CHECKING([whether to use NLS])
+ AC_MSG_RESULT([$USE_NLS])
+ if test "$USE_NLS" = "yes"; then
+ AC_MSG_CHECKING([where the gettext function comes from])
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ gt_source="external libintl"
+ else
+ gt_source="libc"
+ fi
+ else
+ gt_source="included intl directory"
+ fi
+ AC_MSG_RESULT([$gt_source])
+ fi
+
+ if test "$USE_NLS" = "yes"; then
+
+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+ if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
+ AC_MSG_CHECKING([how to link with libintl])
+ AC_MSG_RESULT([$LIBINTL])
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
+ fi
+
+ dnl For backward compatibility. Some packages may be using this.
+ AC_DEFINE([HAVE_GETTEXT], [1],
+ [Define if the GNU gettext() function is already present or preinstalled.])
+ AC_DEFINE([HAVE_DCGETTEXT], [1],
+ [Define if the GNU dcgettext() function is already present or preinstalled.])
+ fi
+
+ dnl We need to process the po/ directory.
+ POSUB=po
+ fi
+
+ ifelse(gt_included_intl, yes, [
+ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
+ dnl to 'yes' because some of the testsuite requires it.
+ if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
+ BUILD_INCLUDED_LIBINTL=yes
+ fi
+
+ dnl Make all variables we use known to autoconf.
+ AC_SUBST([BUILD_INCLUDED_LIBINTL])
+ AC_SUBST([USE_INCLUDED_LIBINTL])
+ AC_SUBST([CATOBJEXT])
+
+ dnl For backward compatibility. Some configure.ins may be using this.
+ nls_cv_header_intl=
+ nls_cv_header_libgt=
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ DATADIRNAME=share
+ AC_SUBST([DATADIRNAME])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INSTOBJEXT=.mo
+ AC_SUBST([INSTOBJEXT])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ GENCAT=gencat
+ AC_SUBST([GENCAT])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INTLOBJS=
+ if test "$USE_INCLUDED_LIBINTL" = yes; then
+ INTLOBJS="\$(GETTOBJS)"
+ fi
+ AC_SUBST([INTLOBJS])
+
+ dnl Enable libtool support if the surrounding package wishes it.
+ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
+ AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
+ ])
+
+ dnl For backward compatibility. Some Makefiles may be using this.
+ INTLLIBS="$LIBINTL"
+ AC_SUBST([INTLLIBS])
+
+ dnl Make all documented variables known to autoconf.
+ AC_SUBST([LIBINTL])
+ AC_SUBST([LTLIBINTL])
+ AC_SUBST([POSUB])
+])
+
+
+dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
+m4_define([gt_NEEDS_INIT],
+[
+ m4_divert_text([DEFAULTS], [gt_needs=])
+ m4_define([gt_NEEDS_INIT], [])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
+AC_DEFUN([AM_GNU_GETTEXT_NEED],
+[
+ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
+])
+
+
+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
+
+
+dnl Usage: AM_GNU_GETTEXT_REQUIRE_VERSION([gettext-version])
+AC_DEFUN([AM_GNU_GETTEXT_REQUIRE_VERSION], [])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
new file mode 100644
index 00000000..aa159c53
--- /dev/null
+++ b/m4/iconv.m4
@@ -0,0 +1,271 @@
+# iconv.m4 serial 19 (gettext-0.18.2)
+dnl Copyright (C) 2000-2002, 2007-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+ dnl those with the standalone portable GNU libiconv installed).
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+ dnl accordingly.
+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed libiconv and not disabled its use
+ dnl via --without-libiconv-prefix, he wants to use it. The first
+ dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
+ am_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+ AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
+ am_cv_func_iconv="no, consider installing GNU libiconv"
+ am_cv_lib_iconv=no
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_func_iconv=yes])
+ if test "$am_cv_func_iconv" != yes; then
+ am_save_LIBS="$LIBS"
+ LIBS="$LIBS $LIBICONV"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+ ]],
+ [[iconv_t cd = iconv_open("","");
+ iconv(cd,NULL,NULL,NULL,NULL);
+ iconv_close(cd);]])],
+ [am_cv_lib_iconv=yes]
+ [am_cv_func_iconv=yes])
+ LIBS="$am_save_LIBS"
+ fi
+ ])
+ if test "$am_cv_func_iconv" = yes; then
+ AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+ dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
+ dnl Solaris 10.
+ am_save_LIBS="$LIBS"
+ if test $am_cv_lib_iconv = yes; then
+ LIBS="$LIBS $LIBICONV"
+ fi
+ am_cv_func_iconv_works=no
+ for ac_iconv_const in '' 'const'; do
+ AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <iconv.h>
+#include <string.h>
+
+#ifndef ICONV_CONST
+# define ICONV_CONST $ac_iconv_const
+#endif
+ ]],
+ [[int result = 0;
+ /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+ returns. */
+ {
+ iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+ if (cd_utf8_to_88591 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */
+ char buf[10];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_utf8_to_88591,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 1;
+ iconv_close (cd_utf8_to_88591);
+ }
+ }
+ /* Test against Solaris 10 bug: Failures are not distinguishable from
+ successful returns. */
+ {
+ iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
+ if (cd_ascii_to_88591 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\263";
+ char buf[10];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_ascii_to_88591,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res == 0)
+ result |= 2;
+ iconv_close (cd_ascii_to_88591);
+ }
+ }
+ /* Test against AIX 6.1..7.1 bug: Buffer overrun. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\304";
+ static char buf[2] = { (char)0xDE, (char)0xAD };
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = 1;
+ char *outptr = buf;
+ size_t outbytesleft = 1;
+ size_t res = iconv (cd_88591_to_utf8,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
+ result |= 4;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#if 0 /* This bug could be worked around by the caller. */
+ /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */
+ {
+ iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+ if (cd_88591_to_utf8 != (iconv_t)(-1))
+ {
+ static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+ char buf[50];
+ ICONV_CONST char *inptr = input;
+ size_t inbytesleft = strlen (input);
+ char *outptr = buf;
+ size_t outbytesleft = sizeof (buf);
+ size_t res = iconv (cd_88591_to_utf8,
+ &inptr, &inbytesleft,
+ &outptr, &outbytesleft);
+ if ((int)res > 0)
+ result |= 8;
+ iconv_close (cd_88591_to_utf8);
+ }
+ }
+#endif
+ /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+ provided. */
+ if (/* Try standardized names. */
+ iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+ /* Try IRIX, OSF/1 names. */
+ && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+ /* Try AIX names. */
+ && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+ /* Try HP-UX names. */
+ && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+ result |= 16;
+ return result;
+]])],
+ [am_cv_func_iconv_works=yes], ,
+ [case "$host_os" in
+ aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+ *) am_cv_func_iconv_works="guessing yes" ;;
+ esac])
+ test "$am_cv_func_iconv_works" = no || break
+ done
+ LIBS="$am_save_LIBS"
+ ])
+ case "$am_cv_func_iconv_works" in
+ *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+ *) am_func_iconv=yes ;;
+ esac
+ else
+ am_func_iconv=no am_cv_lib_iconv=no
+ fi
+ if test "$am_func_iconv" = yes; then
+ AC_DEFINE([HAVE_ICONV], [1],
+ [Define if you have the iconv() function and it works.])
+ fi
+ if test "$am_cv_lib_iconv" = yes; then
+ AC_MSG_CHECKING([how to link with libiconv])
+ AC_MSG_RESULT([$LIBICONV])
+ else
+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+ dnl either.
+ CPPFLAGS="$am_save_CPPFLAGS"
+ LIBICONV=
+ LTLIBICONV=
+ fi
+ AC_SUBST([LIBICONV])
+ AC_SUBST([LTLIBICONV])
+])
+
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl warnings.
+m4_define([gl_iconv_AC_DEFUN],
+ m4_version_prereq([2.64],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [m4_ifdef([gl_00GNULIB],
+ [[AC_DEFUN_ONCE(
+ [$1], [$2])]],
+ [[AC_DEFUN(
+ [$1], [$2])]])]))
+gl_iconv_AC_DEFUN([AM_ICONV],
+[
+ AM_ICONV_LINK
+ if test "$am_cv_func_iconv" = yes; then
+ AC_MSG_CHECKING([for iconv declaration])
+ AC_CACHE_VAL([am_cv_proto_iconv], [
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+ ]],
+ [[]])],
+ [am_cv_proto_iconv_arg1=""],
+ [am_cv_proto_iconv_arg1="const"])
+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+ AC_MSG_RESULT([
+ $am_cv_proto_iconv])
+ AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+ [Define as const if the declaration of iconv() needs const.])
+ dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
+ m4_ifdef([gl_ICONV_H_DEFAULTS],
+ [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
+ if test -n "$am_cv_proto_iconv_arg1"; then
+ ICONV_CONST="const"
+ fi
+ ])
+ fi
+])
diff --git a/m4/intlmacosx.m4 b/m4/intlmacosx.m4
new file mode 100644
index 00000000..aca924c6
--- /dev/null
+++ b/m4/intlmacosx.m4
@@ -0,0 +1,56 @@
+# intlmacosx.m4 serial 5 (gettext-0.18.2)
+dnl Copyright (C) 2004-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Checks for special options needed on Mac OS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+ dnl Check for API introduced in Mac OS X 10.2.
+ AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+ [gt_cv_func_CFPreferencesCopyAppValue],
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <CoreFoundation/CFPreferences.h>]],
+ [[CFPreferencesCopyAppValue(NULL, NULL)]])],
+ [gt_cv_func_CFPreferencesCopyAppValue=yes],
+ [gt_cv_func_CFPreferencesCopyAppValue=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+ AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
+ [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+ fi
+ dnl Check for API introduced in Mac OS X 10.3.
+ AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
+ [gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <CoreFoundation/CFLocale.h>]],
+ [[CFLocaleCopyCurrent();]])],
+ [gt_cv_func_CFLocaleCopyCurrent=yes],
+ [gt_cv_func_CFLocaleCopyCurrent=no])
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
+ [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+ fi
+ INTL_MACOSX_LIBS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+ INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
+ fi
+ AC_SUBST([INTL_MACOSX_LIBS])
+])
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
new file mode 100644
index 00000000..6209de65
--- /dev/null
+++ b/m4/lib-ld.m4
@@ -0,0 +1,119 @@
+# lib-ld.m4 serial 6
+dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl Subroutines of libtool.m4,
+dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
+dnl collision with libtool.m4.
+
+dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
+AC_DEFUN([AC_LIB_PROG_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ acl_cv_prog_gnu_ld=yes
+ ;;
+*)
+ acl_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$acl_cv_prog_gnu_ld
+])
+
+dnl From libtool-2.4. Sets the variable LD.
+AC_DEFUN([AC_LIB_PROG_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld [default=no]])],
+ [test "$withval" = no || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
+ while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD="$ac_prog"
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test "$with_gnu_ld" = yes; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL([acl_cv_path_LD],
+[if test -z "$LD"; then
+ acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS="$acl_save_ifs"
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ acl_cv_path_LD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test "$with_gnu_ld" != no && break
+ ;;
+ *)
+ test "$with_gnu_ld" != yes && break
+ ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_ifs"
+else
+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$acl_cv_path_LD"
+if test -n "$LD"; then
+ AC_MSG_RESULT([$LD])
+else
+ AC_MSG_RESULT([no])
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+AC_LIB_PROG_LD_GNU
+])
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
new file mode 100644
index 00000000..2f518553
--- /dev/null
+++ b/m4/lib-link.m4
@@ -0,0 +1,777 @@
+# lib-link.m4 serial 26 (gettext-0.18.2)
+dnl Copyright (C) 2001-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_PREREQ([2.54])
+
+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
+dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+ ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
+ ])
+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+ LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
+ dnl results of this search when this library appears as a dependency.
+ HAVE_LIB[]NAME=yes
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
+dnl searches for libname and the libraries corresponding to explicit and
+dnl implicit dependencies, together with the specified include files and
+dnl the ability to compile and link the specified testcode. The missing-message
+dnl defaults to 'no' and may contain additional hints for the user.
+dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
+dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ AC_REQUIRE([AC_LIB_RPATH])
+ pushdef([Name],[m4_translit([$1],[./+-], [____])])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+
+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
+ dnl accordingly.
+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
+
+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
+ dnl because if the user has installed lib[]Name and not disabled its use
+ dnl via --without-lib[]Name-prefix, he wants to use it.
+ ac_save_CPPFLAGS="$CPPFLAGS"
+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
+
+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
+ ac_save_LIBS="$LIBS"
+ dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
+ dnl because these -l options might require -L options that are present in
+ dnl LIBS. -l options benefit only from the -L options listed before it.
+ dnl Otherwise, add it to the front of LIBS, because it may be a static
+ dnl library that depends on another static library that is present in LIBS.
+ dnl Static libraries benefit only from the static libraries listed after
+ dnl it.
+ case " $LIB[]NAME" in
+ *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
+ *) LIBS="$LIB[]NAME $LIBS" ;;
+ esac
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([[$3]], [[$4]])],
+ [ac_cv_lib[]Name=yes],
+ [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
+ LIBS="$ac_save_LIBS"
+ ])
+ if test "$ac_cv_lib[]Name" = yes; then
+ HAVE_LIB[]NAME=yes
+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
+ AC_MSG_CHECKING([how to link with lib[]$1])
+ AC_MSG_RESULT([$LIB[]NAME])
+ else
+ HAVE_LIB[]NAME=no
+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
+ dnl $INC[]NAME either.
+ CPPFLAGS="$ac_save_CPPFLAGS"
+ LIB[]NAME=
+ LTLIB[]NAME=
+ LIB[]NAME[]_PREFIX=
+ fi
+ AC_SUBST([HAVE_LIB]NAME)
+ AC_SUBST([LIB]NAME)
+ AC_SUBST([LTLIB]NAME)
+ AC_SUBST([LIB]NAME[_PREFIX])
+ popdef([NAME])
+ popdef([Name])
+])
+
+dnl Determine the platform dependent parameters needed to use rpath:
+dnl acl_libext,
+dnl acl_shlibext,
+dnl acl_libname_spec,
+dnl acl_library_names_spec,
+dnl acl_hardcode_libdir_flag_spec,
+dnl acl_hardcode_libdir_separator,
+dnl acl_hardcode_direct,
+dnl acl_hardcode_minus_L.
+AC_DEFUN([AC_LIB_RPATH],
+[
+ dnl Tell automake >= 1.10 to complain if config.rpath is missing.
+ m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
+ AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
+ . ./conftest.sh
+ rm -f ./conftest.sh
+ acl_cv_rpath=done
+ ])
+ wl="$acl_cv_wl"
+ acl_libext="$acl_cv_libext"
+ acl_shlibext="$acl_cv_shlibext"
+ acl_libname_spec="$acl_cv_libname_spec"
+ acl_library_names_spec="$acl_cv_library_names_spec"
+ acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+ acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+ acl_hardcode_direct="$acl_cv_hardcode_direct"
+ acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
+ dnl Determine whether the user wants rpath handling at all.
+ AC_ARG_ENABLE([rpath],
+ [ --disable-rpath do not hardcode runtime library paths],
+ :, enable_rpath=yes)
+])
+
+dnl AC_LIB_FROMPACKAGE(name, package)
+dnl declares that libname comes from the given package. The configure file
+dnl will then not have a --with-libname-prefix option but a
+dnl --with-package-prefix option. Several libraries can come from the same
+dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
+dnl macro call that searches for libname.
+AC_DEFUN([AC_LIB_FROMPACKAGE],
+[
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ define([acl_frompackage_]NAME, [$2])
+ popdef([NAME])
+ pushdef([PACK],[$2])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ define([acl_libsinpackage_]PACKUP,
+ m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
+ popdef([PACKUP])
+ popdef([PACK])
+])
+
+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
+dnl the libraries corresponding to explicit and implicit dependencies.
+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
+[
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
+ pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+ pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
+ dnl Autoconf >= 2.61 supports dots in --with options.
+ pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_ARG_WITH(P_A_C_K[-prefix],
+[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
+ --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ if test "$acl_libdirstem2" != "$acl_libdirstem" \
+ && ! test -d "$withval/$acl_libdirstem"; then
+ additional_libdir="$withval/$acl_libdirstem2"
+ fi
+ fi
+ fi
+])
+ dnl Search the library and its dependencies in $additional_libdir and
+ dnl $LDFLAGS. Using breadth-first-seach.
+ LIB[]NAME=
+ LTLIB[]NAME=
+ INC[]NAME=
+ LIB[]NAME[]_PREFIX=
+ dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
+ dnl computed. So it has to be reset here.
+ HAVE_LIB[]NAME=
+ rpathdirs=
+ ltrpathdirs=
+ names_already_handled=
+ names_next_round='$1 $2'
+ while test -n "$names_next_round"; do
+ names_this_round="$names_next_round"
+ names_next_round=
+ for name in $names_this_round; do
+ already_handled=
+ for n in $names_already_handled; do
+ if test "$n" = "$name"; then
+ already_handled=yes
+ break
+ fi
+ done
+ if test -z "$already_handled"; then
+ names_already_handled="$names_already_handled $name"
+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
+ dnl or AC_LIB_HAVE_LINKFLAGS call.
+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
+ eval value=\"\$HAVE_LIB$uppername\"
+ if test -n "$value"; then
+ if test "$value" = yes; then
+ eval value=\"\$LIB$uppername\"
+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
+ eval value=\"\$LTLIB$uppername\"
+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
+ else
+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
+ dnl that this library doesn't exist. So just drop it.
+ :
+ fi
+ else
+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
+ dnl and the already constructed $LIBNAME/$LTLIBNAME.
+ found_dir=
+ found_la=
+ found_so=
+ found_a=
+ eval libname=\"$acl_libname_spec\" # typically: libname=lib$name
+ if test -n "$acl_shlibext"; then
+ shrext=".$acl_shlibext" # typically: shrext=.so
+ else
+ shrext=
+ fi
+ if test $use_additional = yes; then
+ dir="$additional_libdir"
+ dnl The same code as in the loop below:
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ fi
+ if test "X$found_dir" = "X"; then
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ case "$x" in
+ -L*)
+ dir=`echo "X$x" | sed -e 's/^X-L//'`
+ dnl First look for a shared library.
+ if test -n "$acl_shlibext"; then
+ if test -f "$dir/$libname$shrext"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext"
+ else
+ if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
+ ver=`(cd "$dir" && \
+ for f in "$libname$shrext".*; do echo "$f"; done \
+ | sed -e "s,^$libname$shrext\\\\.,," \
+ | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
+ | sed 1q ) 2>/dev/null`
+ if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
+ found_dir="$dir"
+ found_so="$dir/$libname$shrext.$ver"
+ fi
+ else
+ eval library_names=\"$acl_library_names_spec\"
+ for f in $library_names; do
+ if test -f "$dir/$f"; then
+ found_dir="$dir"
+ found_so="$dir/$f"
+ break
+ fi
+ done
+ fi
+ fi
+ fi
+ dnl Then look for a static library.
+ if test "X$found_dir" = "X"; then
+ if test -f "$dir/$libname.$acl_libext"; then
+ found_dir="$dir"
+ found_a="$dir/$libname.$acl_libext"
+ fi
+ fi
+ if test "X$found_dir" != "X"; then
+ if test -f "$dir/$libname.la"; then
+ found_la="$dir/$libname.la"
+ fi
+ fi
+ ;;
+ esac
+ if test "X$found_dir" != "X"; then
+ break
+ fi
+ done
+ fi
+ if test "X$found_dir" != "X"; then
+ dnl Found the library.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
+ if test "X$found_so" != "X"; then
+ dnl Linking with a shared library. We attempt to hardcode its
+ dnl directory into the executable's runpath, unless it's the
+ dnl standard /usr/lib.
+ if test "$enable_rpath" = no \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem" \
+ || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
+ dnl No hardcoding is needed.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $found_dir"
+ fi
+ dnl The hardcoding into $LIBNAME is system dependent.
+ if test "$acl_hardcode_direct" = yes; then
+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
+ dnl resulting binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode DIR into the resulting
+ dnl binary.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $found_dir"
+ fi
+ else
+ dnl Rely on "-L$found_dir".
+ dnl But don't add it if it's already contained in the LDFLAGS
+ dnl or the already constructed $LIBNAME
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$found_dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
+ fi
+ if test "$acl_hardcode_minus_L" != no; then
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
+ else
+ dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
+ dnl here, because this doesn't fit in flags passed to the
+ dnl compiler. So give up. No hardcoding. This affects only
+ dnl very old systems.
+ dnl FIXME: Not sure whether we should use
+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
+ dnl here.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ fi
+ else
+ if test "X$found_a" != "X"; then
+ dnl Linking with a static library.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
+ else
+ dnl We shouldn't come here, but anyway it's good to have a
+ dnl fallback.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
+ fi
+ fi
+ dnl Assume the include files are nearby.
+ additional_includedir=
+ case "$found_dir" in
+ */$acl_libdirstem | */$acl_libdirstem/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ */$acl_libdirstem2 | */$acl_libdirstem2/)
+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
+ if test "$name" = '$1'; then
+ LIB[]NAME[]_PREFIX="$basedir"
+ fi
+ additional_includedir="$basedir/include"
+ ;;
+ esac
+ if test "X$additional_includedir" != "X"; then
+ dnl Potentially add $additional_includedir to $INCNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 3. if it's already present in $CPPFLAGS or the already
+ dnl constructed $INCNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ for x in $CPPFLAGS $INC[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $INCNAME.
+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ fi
+ dnl Look for dependencies.
+ if test -n "$found_la"; then
+ dnl Read the .la file. It defines the variables
+ dnl dlname, library_names, old_library, dependency_libs, current,
+ dnl age, revision, installed, dlopen, dlpreopen, libdir.
+ save_libdir="$libdir"
+ case "$found_la" in
+ */* | *\\*) . "$found_la" ;;
+ *) . "./$found_la" ;;
+ esac
+ libdir="$save_libdir"
+ dnl We use only dependency_libs.
+ for dep in $dependency_libs; do
+ case "$dep" in
+ -L*)
+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 3. if it's already present in $LDFLAGS or the already
+ dnl constructed $LIBNAME,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
+ && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
+ haveit=
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
+ || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ haveit=
+ for x in $LDFLAGS $LIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LIBNAME.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ haveit=
+ for x in $LDFLAGS $LTLIB[]NAME; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LTLIBNAME.
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ ;;
+ -R*)
+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
+ if test "$enable_rpath" != no; then
+ dnl Potentially add DIR to rpathdirs.
+ dnl The rpathdirs will be appended to $LIBNAME at the end.
+ haveit=
+ for x in $rpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ dnl Potentially add DIR to ltrpathdirs.
+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
+ haveit=
+ for x in $ltrpathdirs; do
+ if test "X$x" = "X$dir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ ltrpathdirs="$ltrpathdirs $dir"
+ fi
+ fi
+ ;;
+ -l*)
+ dnl Handle this in the next round.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
+ ;;
+ *.la)
+ dnl Handle this in the next round. Throw away the .la's
+ dnl directory; it is already contained in a preceding -L
+ dnl option.
+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
+ ;;
+ *)
+ dnl Most likely an immediate library name.
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
+ ;;
+ esac
+ done
+ fi
+ else
+ dnl Didn't find the library; assume it is in the system directories
+ dnl known to the linker and runtime loader. (All the system
+ dnl directories known to the linker should also be known to the
+ dnl runtime loader, otherwise the system is severely misconfigured.)
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
+ fi
+ fi
+ fi
+ done
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user must
+ dnl pass all path elements in one option. We can arrange that for a
+ dnl single library, but not when more than one $LIBNAMEs are used.
+ alldirs=
+ for found_dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
+ done
+ dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for found_dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$found_dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
+ done
+ fi
+ fi
+ if test "X$ltrpathdirs" != "X"; then
+ dnl When using libtool, the option that works for both libraries and
+ dnl executables is -R. The -R options are cumulative.
+ for found_dir in $ltrpathdirs; do
+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
+ done
+ fi
+ popdef([P_A_C_K])
+ popdef([PACKLIBS])
+ popdef([PACKUP])
+ popdef([PACK])
+ popdef([NAME])
+])
+
+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
+dnl unless already present in VAR.
+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
+dnl contains two or three consecutive elements that belong together.
+AC_DEFUN([AC_LIB_APPENDTOVAR],
+[
+ for element in [$2]; do
+ haveit=
+ for x in $[$1]; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X$element"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ [$1]="${[$1]}${[$1]:+ }$element"
+ fi
+ done
+])
+
+dnl For those cases where a variable contains several -L and -l options
+dnl referring to unknown libraries and directories, this macro determines the
+dnl necessary additional linker options for the runtime path.
+dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
+dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
+dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
+dnl otherwise linking without libtool is assumed.
+AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
+[
+ AC_REQUIRE([AC_LIB_RPATH])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ $1=
+ if test "$enable_rpath" != no; then
+ if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
+ dnl Use an explicit option to hardcode directories into the resulting
+ dnl binary.
+ rpathdirs=
+ next=
+ for opt in $2; do
+ if test -n "$next"; then
+ dir="$next"
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next=
+ else
+ case $opt in
+ -L) next=yes ;;
+ -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
+ dnl No need to hardcode the standard /usr/lib.
+ if test "X$dir" != "X/usr/$acl_libdirstem" \
+ && test "X$dir" != "X/usr/$acl_libdirstem2"; then
+ rpathdirs="$rpathdirs $dir"
+ fi
+ next= ;;
+ *) next= ;;
+ esac
+ fi
+ done
+ if test "X$rpathdirs" != "X"; then
+ if test -n ""$3""; then
+ dnl libtool is used for linking. Use -R options.
+ for dir in $rpathdirs; do
+ $1="${$1}${$1:+ }-R$dir"
+ done
+ else
+ dnl The linker is used for linking directly.
+ if test -n "$acl_hardcode_libdir_separator"; then
+ dnl Weird platform: only the last -rpath option counts, the user
+ dnl must pass all path elements in one option.
+ alldirs=
+ for dir in $rpathdirs; do
+ alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
+ done
+ acl_save_libdir="$libdir"
+ libdir="$alldirs"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="$flag"
+ else
+ dnl The -rpath options are cumulative.
+ for dir in $rpathdirs; do
+ acl_save_libdir="$libdir"
+ libdir="$dir"
+ eval flag=\"$acl_hardcode_libdir_flag_spec\"
+ libdir="$acl_save_libdir"
+ $1="${$1}${$1:+ }$flag"
+ done
+ fi
+ fi
+ fi
+ fi
+ fi
+ AC_SUBST([$1])
+])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
new file mode 100644
index 00000000..6851031d
--- /dev/null
+++ b/m4/lib-prefix.m4
@@ -0,0 +1,224 @@
+# lib-prefix.m4 serial 7 (gettext-0.18)
+dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
+dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
+dnl require excessive bracketing.
+ifdef([AC_HELP_STRING],
+[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
+[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
+
+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
+dnl to access previously installed libraries. The basic assumption is that
+dnl a user will want packages to use other packages he previously installed
+dnl with the same --prefix option.
+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
+dnl libraries, but is otherwise very convenient.
+AC_DEFUN([AC_LIB_PREFIX],
+[
+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
+ AC_REQUIRE([AC_PROG_CC])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+ dnl By default, look in $includedir and $libdir.
+ use_additional=yes
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ AC_LIB_ARG_WITH([lib-prefix],
+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
+ --without-lib-prefix don't search for libraries in includedir and libdir],
+[
+ if test "X$withval" = "Xno"; then
+ use_additional=no
+ else
+ if test "X$withval" = "X"; then
+ AC_LIB_WITH_FINAL_PREFIX([
+ eval additional_includedir=\"$includedir\"
+ eval additional_libdir=\"$libdir\"
+ ])
+ else
+ additional_includedir="$withval/include"
+ additional_libdir="$withval/$acl_libdirstem"
+ fi
+ fi
+])
+ if test $use_additional = yes; then
+ dnl Potentially add $additional_includedir to $CPPFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/include,
+ dnl 2. if it's already present in $CPPFLAGS,
+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_includedir" != "X/usr/include"; then
+ haveit=
+ for x in $CPPFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-I$additional_includedir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_includedir" = "X/usr/local/include"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux* | gnu* | k*bsd*-gnu) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_includedir"; then
+ dnl Really add $additional_includedir to $CPPFLAGS.
+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
+ fi
+ fi
+ fi
+ fi
+ dnl Potentially add $additional_libdir to $LDFLAGS.
+ dnl But don't add it
+ dnl 1. if it's the standard /usr/lib,
+ dnl 2. if it's already present in $LDFLAGS,
+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
+ dnl 4. if it doesn't exist as a directory.
+ if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
+ haveit=
+ for x in $LDFLAGS; do
+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
+ if test "X$x" = "X-L$additional_libdir"; then
+ haveit=yes
+ break
+ fi
+ done
+ if test -z "$haveit"; then
+ if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
+ if test -n "$GCC"; then
+ case $host_os in
+ linux*) haveit=yes;;
+ esac
+ fi
+ fi
+ if test -z "$haveit"; then
+ if test -d "$additional_libdir"; then
+ dnl Really add $additional_libdir to $LDFLAGS.
+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
+ fi
+ fi
+ fi
+ fi
+ fi
+])
+
+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
+dnl acl_final_exec_prefix, containing the values to which $prefix and
+dnl $exec_prefix will expand at the end of the configure script.
+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
+[
+ dnl Unfortunately, prefix and exec_prefix get only finally determined
+ dnl at the end of configure.
+ if test "X$prefix" = "XNONE"; then
+ acl_final_prefix="$ac_default_prefix"
+ else
+ acl_final_prefix="$prefix"
+ fi
+ if test "X$exec_prefix" = "XNONE"; then
+ acl_final_exec_prefix='${prefix}'
+ else
+ acl_final_exec_prefix="$exec_prefix"
+ fi
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
+dnl variables prefix and exec_prefix bound to the values they will have
+dnl at the end of the configure script.
+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
+[
+ acl_save_prefix="$prefix"
+ prefix="$acl_final_prefix"
+ acl_save_exec_prefix="$exec_prefix"
+ exec_prefix="$acl_final_exec_prefix"
+ $1
+ exec_prefix="$acl_save_exec_prefix"
+ prefix="$acl_save_prefix"
+])
+
+dnl AC_LIB_PREPARE_MULTILIB creates
+dnl - a variable acl_libdirstem, containing the basename of the libdir, either
+dnl "lib" or "lib64" or "lib/64",
+dnl - a variable acl_libdirstem2, as a secondary possible value for
+dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
+dnl "lib/amd64".
+AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
+[
+ dnl There is no formal standard regarding lib and lib64.
+ dnl On glibc systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
+ dnl the compiler's default mode by looking at the compiler's library search
+ dnl path. If at least one of its elements ends in /lib64 or points to a
+ dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
+ dnl Otherwise we use the default, namely "lib".
+ dnl On Solaris systems, the current practice is that on a system supporting
+ dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
+ dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
+ dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
+ AC_REQUIRE([AC_CANONICAL_HOST])
+ acl_libdirstem=lib
+ acl_libdirstem2=
+ case "$host_os" in
+ solaris*)
+ dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
+ dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
+ dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
+ dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
+ dnl symlink is missing, so we set acl_libdirstem2 too.
+ AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
+ [AC_EGREP_CPP([sixtyfour bits], [
+#ifdef _LP64
+sixtyfour bits
+#endif
+ ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
+ ])
+ if test $gl_cv_solaris_64bit = yes; then
+ acl_libdirstem=lib/64
+ case "$host_cpu" in
+ sparc*) acl_libdirstem2=lib/sparcv9 ;;
+ i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
+ esac
+ fi
+ ;;
+ *)
+ searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
+ if test -n "$searchpath"; then
+ acl_save_IFS="${IFS= }"; IFS=":"
+ for searchdir in $searchpath; do
+ if test -d "$searchdir"; then
+ case "$searchdir" in
+ */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
+ */../ | */.. )
+ # Better ignore directories of this form. They are misleading.
+ ;;
+ *) searchdir=`cd "$searchdir" && pwd`
+ case "$searchdir" in
+ */lib64 ) acl_libdirstem=lib64 ;;
+ esac ;;
+ esac
+ fi
+ done
+ IFS="$acl_save_IFS"
+ fi
+ ;;
+ esac
+ test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
+])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644
index 00000000..b55a6e57
--- /dev/null
+++ b/m4/libtool.m4
@@ -0,0 +1,8394 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+# Copyright (C) 1996-2001, 2003-2018 Free Software Foundation, Inc.
+# Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+])
+
+# serial 58 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+ [m4_default([$3],
+ [m4_fatal([Libtool version $1 or higher is required],
+ 63)])],
+ [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+ *\ * | *\ *)
+ AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
+AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS=$ltmain
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in @S|@*""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
+m4_defun([_LT_CC_BASENAME],
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options that allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+
+case $host_os in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a '.a' archive for static linking (except MSVC and
+# ICC, which need '.lib').
+libext=a
+
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+old_CC=$CC
+old_CFLAGS=$CFLAGS
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+ if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+ _LT_PATH_MAGIC
+ fi
+ ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PREPARE_SED_QUOTE_VARS
+# --------------------------
+# Define a few sed substitution that help us do robust quoting.
+m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
+[# Backslashify metacharacters that are still active within
+# double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+])
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from 'configure', and 'config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain=$ac_aux_dir/ltmain.sh
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the 'libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+ [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+ [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+ [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME. Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+ [m4_ifval([$1], [$1], [$2])])
+ lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+ m4_ifval([$4],
+ [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+ lt_dict_add_subkey([lt_decl_dict], [$2],
+ [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+ [0], [m4_fatal([$0: too few arguments: $#])],
+ [1], [m4_fatal([$0: too few arguments: $#: $1])],
+ [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+ [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+ [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+ m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+ m4_if([$2], [],
+ m4_quote(lt_decl_varnames),
+ m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+ lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'. VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly. In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+ [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags='_LT_TAGS'dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+# # Some comment about what VAR is for.
+# visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+ [description])))[]dnl
+m4_pushdef([_libtool_name],
+ m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+ [0], [_libtool_name=[$]$1],
+ [1], [_libtool_name=$lt_[]$1],
+ [2], [_libtool_name=$lt_[]$1],
+ [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
+# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+ m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+ [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'. Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+ dnl If the libtool generation code has been placed in $CONFIG_LT,
+ dnl instead of duplicating it all over again into config.status,
+ dnl then we will have config.status run $CONFIG_LT later, so it
+ dnl needs to know what name is stored there:
+ [AC_CONFIG_COMMANDS([libtool],
+ [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+ dnl If the libtool generation code is destined for config.status,
+ dnl expand the accumulated commands and init code now:
+ [AC_CONFIG_COMMANDS([libtool],
+ [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$[]1
+_LTECHO_EOF'
+}
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+ case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
+ *[[\\\\\\\`\\"\\\$]]*)
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
+ ;;
+ *)
+ eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+ ;;
+ esac
+done
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
+# ------------------------------------
+# Generate a child script FILE with all initialization necessary to
+# reuse the environment learned by the parent script, and make the
+# file executable. If COMMENT is supplied, it is inserted after the
+# '#!' sequence but before initialization text begins. After this
+# macro, additional text can be appended to FILE to form the body of
+# the child script. The macro ends with non-zero status if the
+# file could not be fully written (such as if the disk is full).
+m4_ifdef([AS_INIT_GENERATED],
+[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
+[m4_defun([_LT_GENERATED_FILE_INIT],
+[m4_require([AS_PREPARE])]dnl
+[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
+[lt_write_fail=0
+cat >$1 <<_ASEOF || lt_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+$2
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$1 <<\_ASEOF || lt_write_fail=1
+AS_SHELL_SANITIZE
+_AS_PREPARE
+exec AS_MESSAGE_FD>&1
+_ASEOF
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
+m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
+[# Run this file to recreate a libtool stub with the current configuration.])
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+lt_cl_silent=false
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+ echo
+ AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+'$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+ -h, --help print this help, then exit
+ -V, --version print version number, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test 0 != $[#]
+do
+ case $[1] in
+ --version | --v* | -V )
+ echo "$lt_cl_version"; exit 0 ;;
+ --help | --h* | -h )
+ echo "$lt_cl_help"; exit 0 ;;
+ --debug | --d* | -d )
+ debug=: ;;
+ --quiet | --q* | --silent | --s* | -q )
+ lt_cl_silent=: ;;
+
+ -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try '$[0] --help' for more information.]) ;;
+
+ *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try '$[0] --help' for more information.]) ;;
+ esac
+ shift
+done
+
+if $lt_cl_silent; then
+ exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure. Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+lt_cl_success=:
+test yes = "$silent" &&
+ lt_config_lt_args="$lt_config_lt_args --quiet"
+exec AS_MESSAGE_LOG_FD>/dev/null
+$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+exec AS_MESSAGE_LOG_FD>>config.log
+$lt_cl_success || AS_EXIT(1)
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars. Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+ m4_if(_LT_TAG, [C], [
+ # See if we are running on zsh, and set the options that allow our
+ # commands through without removal of \ escapes.
+ if test -n "${ZSH_VERSION+set}"; then
+ setopt NO_GLOB_SUBST
+ fi
+
+ cfgfile=${ofile}T
+ trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+ $RM "$cfgfile"
+
+ cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+# Generated automatically by $as_me ($PACKAGE) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
+ case $host_os in
+ aix3*)
+ cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program. For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test set != "${COLLECT_NAMES+set}"; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+fi
+_LT_EOF
+ ;;
+ esac
+
+ _LT_PROG_LTMAIN
+
+ # We use sed instead of cat because bash on DJGPP gets confused if
+ # if finds mixed CR/LF and LF-only lines. Since sed operates in
+ # text mode, it properly converts lines to CR/LF. This bash problem
+ # is reportedly fixed, but why not run on old versions too?
+ sed '$q' "$ltmain" >> "$cfgfile" \
+ || (rm -f "$cfgfile"; exit 1)
+
+ mv -f "$cfgfile" "$ofile" ||
+ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+ chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+ PACKAGE='$PACKAGE'
+ VERSION='$VERSION'
+ RM='$RM'
+ ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+# autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+ [C], [_LT_LANG(C)],
+ [C++], [_LT_LANG(CXX)],
+ [Go], [_LT_LANG(GO)],
+ [Java], [_LT_LANG(GCJ)],
+ [Fortran 77], [_LT_LANG(F77)],
+ [Fortran], [_LT_LANG(FC)],
+ [Windows Resource], [_LT_LANG(RC)],
+ [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+ [_LT_LANG($1)],
+ [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+ [LT_SUPPORTED_TAG([$1])dnl
+ m4_append([_LT_TAGS], [$1 ])dnl
+ m4_define([_LT_LANG_]$1[_enabled], [])dnl
+ _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_GO. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC], [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+ if test -n "$ac_tool_prefix"; then
+ AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+ fi
+fi
+if test -z "$GOC"; then
+ AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [LT_LANG(CXX)],
+ [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+ [LT_LANG(F77)],
+ [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+ [LT_LANG(FC)],
+ [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+ [LT_LANG(GCJ)],
+ [m4_ifdef([AC_PROG_GCJ],
+ [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([A][M_PROG_GCJ],
+ [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+ m4_ifdef([LT_PROG_GCJ],
+ [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+ [LT_LANG(GO)],
+ [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+ [LT_LANG(RC)],
+ [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+dnl AC_DEFUN([AC_LIBTOOL_RC], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+ case $host_os in
+ rhapsody* | darwin*)
+ AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+ AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([LIPO], [lipo], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+ _LT_DECL([], [DSYMUTIL], [1],
+ [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+ _LT_DECL([], [NMEDIT], [1],
+ [Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [LIPO], [1],
+ [Tool to manipulate fat objects and archives on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+ AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+ [lt_cv_apple_cc_single_mod=no
+ if test -z "$LT_MULTI_MODULE"; then
+ # By default we will add the -single_module flag. You can override
+ # by either setting the environment variable LT_MULTI_MODULE
+ # non-empty at configure time, or by adding -multi_module to the
+ # link flags.
+ rm -rf libconftest.dylib*
+ echo "int foo(void){return 1;}" > conftest.c
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+ _lt_result=$?
+ # If there is a non-empty error log, and "single_module"
+ # appears in it, assume the flag caused a linker warning
+ if test -s conftest.err && $GREP single_module conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ # Otherwise, if the output was created with a 0 exit code from
+ # the compiler, it worked.
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
+ lt_cv_apple_cc_single_mod=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -rf libconftest.dylib*
+ rm -f conftest.*
+ fi])
+
+ AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+ [lt_cv_ld_exported_symbols_list],
+ [lt_cv_ld_exported_symbols_list=no
+ save_LDFLAGS=$LDFLAGS
+ echo "_main" > conftest.sym
+ LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [lt_cv_ld_exported_symbols_list=yes],
+ [lt_cv_ld_exported_symbols_list=no])
+ LDFLAGS=$save_LDFLAGS
+ ])
+
+ AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
+ [lt_cv_ld_force_load=no
+ cat > conftest.c << _LT_EOF
+int forced_loaded() { return 2;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+ echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+ $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+ echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+ $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+ cat > conftest.c << _LT_EOF
+int main() { return 0;}
+_LT_EOF
+ echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
+ $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
+ _lt_result=$?
+ if test -s conftest.err && $GREP force_load conftest.err; then
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
+ lt_cv_ld_force_load=yes
+ else
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ fi
+ rm -f conftest.err libconftest.a conftest conftest.c
+ rm -rf conftest.dSYM
+ ])
+ case $host_os in
+ rhapsody* | darwin1.[[012]])
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
+ darwin1.*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ darwin*) # darwin 5.x on
+ # if running on 10.5 or later, the deployment target defaults
+ # to the OS version, if on x86, and 10.4, the deployment
+ # target defaults to 10.4. Don't you love it?
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]][[,.]]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
+ 10.*)
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ esac
+ ;;
+ esac
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
+ _lt_dar_single_mod='$single_module'
+ fi
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
+ else
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
+ fi
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
+ _lt_dsymutil='~$DSYMUTIL $lib || :'
+ else
+ _lt_dsymutil=
+ fi
+ ;;
+ esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+ m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_automatic, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ if test yes = "$lt_cv_ld_force_load"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+ [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
+ case $cc_basename in
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
+ *) _lt_dar_can_shared=$GCC ;;
+ esac
+ if test yes = "$_lt_dar_can_shared"; then
+ output_verbose_link_cmd=func_echo_all
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+ m4_if([$1], [CXX],
+[ if test yes != "$lt_cv_apple_cc_single_mod"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
+ fi
+],[])
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+if test set = "${lt_cv_aix_libpath+set}"; then
+ aix_libpath=$lt_cv_aix_libpath
+else
+ AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+ lt_aix_libpath_sed='[
+ /Import File Strings/,/^$/ {
+ /^0/ {
+ s/^0 *\([^ ]*\) *$/\1/
+ p
+ }
+ }]'
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ # Check for a 64-bit object if we didn't find anything.
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+ fi],[])
+ if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
+ fi
+ ])
+ aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[m4_divert_text([M4SH-INIT], [$1
+])])# _LT_SHELL_INIT
+
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Find how we can fake an echo command that does not interpret backslash.
+# In particular, with Autoconf 2.60 or later we add some code to the start
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+
+AC_MSG_CHECKING([how to print strings])
+# Test print first, because it will be a builtin if present.
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
+ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='print -r --'
+elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
+ ECHO='printf %s\n'
+else
+ # Use this function as a fallback that always works.
+ func_fallback_echo ()
+ {
+ eval 'cat <<_LTECHO_EOF
+$[]1
+_LTECHO_EOF'
+ }
+ ECHO='func_fallback_echo'
+fi
+
+# func_echo_all arg...
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+case $ECHO in
+ printf*) AC_MSG_RESULT([printf]) ;;
+ print*) AC_MSG_RESULT([print -r]) ;;
+ *) AC_MSG_RESULT([cat]) ;;
+esac
+
+m4_ifdef([_AS_DETECT_SUGGESTED],
+[_AS_DETECT_SUGGESTED([
+ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
+ ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
+ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
+ PATH=/empty FPATH=/empty; export PATH FPATH
+ test "X`printf %s $ECHO`" = "X$ECHO" \
+ || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
+
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+ [Search for dependent libraries within DIR (or the compiler's sysroot
+ if not specified).])],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted. We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case $with_sysroot in #(
+ yes)
+ if test yes = "$GCC"; then
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ fi
+ ;; #(
+ /*)
+ lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+ ;; #(
+ no|'')
+ ;; #(
+ *)
+ AC_MSG_RESULT([$with_sysroot])
+ AC_MSG_ERROR([The sysroot must be an absolute path.])
+ ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and where our libraries should be installed.])])
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+ [AS_HELP_STRING([--disable-libtool-lock],
+ [avoid locking (might break parallel builds)])])
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *ELF-32*)
+ HPUX_IA64_MODE=32
+ ;;
+ *ELF-64*)
+ HPUX_IA64_MODE=64
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+*-*-irix6*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -melf32bsmip"
+ ;;
+ *N32*)
+ LD="${LD-ld} -melf32bmipn32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -melf64bmip"
+ ;;
+ esac
+ else
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ LD="${LD-ld} -32"
+ ;;
+ *N32*)
+ LD="${LD-ld} -n32"
+ ;;
+ *64-bit*)
+ LD="${LD-ld} -64"
+ ;;
+ esac
+ fi
+ fi
+ rm -rf conftest*
+ ;;
+
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *32-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_i386_fbsd"
+ ;;
+ x86_64-*linux*)
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
+ ;;
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
+ LD="${LD-ld} -m elf32ppclinux"
+ ;;
+ s390x-*linux*)
+ LD="${LD-ld} -m elf_s390"
+ ;;
+ sparc64-*linux*)
+ LD="${LD-ld} -m elf32_sparc"
+ ;;
+ esac
+ ;;
+ *64-bit*)
+ case $host in
+ x86_64-*kfreebsd*-gnu)
+ LD="${LD-ld} -m elf_x86_64_fbsd"
+ ;;
+ x86_64-*linux*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
+ LD="${LD-ld} -m elf64ppc"
+ ;;
+ s390*-*linux*|s390*-*tpf*)
+ LD="${LD-ld} -m elf64_s390"
+ ;;
+ sparc*-*linux*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+
+*-*-sco3.2v5*)
+ # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+ SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -belf"
+ AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+ [AC_LANG_PUSH(C)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+ AC_LANG_POP])
+ if test yes != "$lt_cv_cc_needs_belf"; then
+ # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+ CFLAGS=$SAVE_CFLAGS
+ fi
+ ;;
+*-*solaris*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.o` in
+ *64-bit*)
+ case $lt_cv_prog_gnu_ld in
+ yes*)
+ case $host in
+ i?86-*-solaris*|x86_64-*-solaris*)
+ LD="${LD-ld} -m elf_x86_64"
+ ;;
+ sparc*-*-solaris*)
+ LD="${LD-ld} -m elf64_sparc"
+ ;;
+ esac
+ # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
+ if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+ LD=${LD-ld}_sol2
+ fi
+ ;;
+ *)
+ if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+ LD="${LD-ld} -64"
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+esac
+
+need_locks=$enable_libtool_lock
+])# _LT_ENABLE_LOCK
+
+
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+_LT_DECL([], [AR], [1], [The archiver])
+
+# Use ARFLAGS variable as AR's operation code to sync the variable naming with
+# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
+# higher priority because thats what people were doing historically (setting
+# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
+# variable obsoleted/removed.
+
+test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
+lt_ar_flags=$AR_FLAGS
+_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
+
+# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
+# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
+_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
+ [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+ [lt_cv_ar_at_file=no
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+ [echo conftest.$ac_objext > conftest.lst
+ lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+ AC_TRY_EVAL([lt_ar_try])
+ if test 0 -eq "$ac_status"; then
+ # Ensure the archiver fails upon bogus file names.
+ rm -f conftest.$ac_objext libconftest.a
+ AC_TRY_EVAL([lt_ar_try])
+ if test 0 -ne "$ac_status"; then
+ lt_cv_ar_at_file=@
+ fi
+ fi
+ rm -f conftest.* libconftest.a
+ ])
+ ])
+
+if test no = "$lt_cv_ar_at_file"; then
+ archiver_list_spec=
+else
+ archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+ [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[_LT_PROG_AR
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+ [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+ case $host_os in
+ bitrig* | openbsd*)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
+ ;;
+ *)
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
+ ;;
+ esac
+ old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+fi
+
+case $host_os in
+ darwin*)
+ lock_old_archive_extraction=yes ;;
+ *)
+ lock_old_archive_extraction=no ;;
+esac
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+ [Commands used to build an old-style archive])
+_LT_DECL([], [lock_old_archive_extraction], [0],
+ [Whether to use a lock for old archive extraction])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+ lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ # The option is referenced via a variable to avoid confusing sed.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ fi
+ $RM conftest*
+])
+
+if test yes = "[$]$2"; then
+ m4_if([$5], , :, [$5])
+else
+ m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+# [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+ [$2=no
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS $3"
+ echo "$lt_simple_link_test_code" > conftest.$ac_ext
+ if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+ # The linker can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ if test -s conftest.err; then
+ # Append any errors to the config.log.
+ cat conftest.err 1>&AS_MESSAGE_LOG_FD
+ $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
+ $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+ if diff conftest.exp conftest.er2 >/dev/null; then
+ $2=yes
+ fi
+ else
+ $2=yes
+ fi
+ fi
+ $RM -r conftest*
+ LDFLAGS=$save_LDFLAGS
+])
+
+if test yes = "[$]$2"; then
+ m4_if([$4], , :, [$4])
+else
+ m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ i=0
+ teststring=ABCD
+
+ case $build_os in
+ msdosdjgpp*)
+ # On DJGPP, this test can blow up pretty badly due to problems in libc
+ # (any single argument exceeding 2000 bytes causes a buffer overrun
+ # during glob expansion). Even if it were fixed, the result of this
+ # check would be larger than it should be.
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+ gnu*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+ lt_cv_sys_max_cmd_len=-1;
+ ;;
+
+ cygwin* | mingw* | cegcc*)
+ # On Win9x/ME, this test blows up -- it succeeds, but takes
+ # about 5 minutes as the teststring grows exponentially.
+ # Worse, since 9x/ME are not pre-emptively multitasking,
+ # you end up with a "frozen" computer, even though with patience
+ # the test eventually succeeds (with a max line length of 256k).
+ # Instead, let's just punt: use the minimum linelength reported by
+ # all of the supported platforms: 8192 (on NT/2K/XP).
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ mint*)
+ # On MiNT this can take a long time and run out of memory.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ amigaos*)
+ # On AmigaOS with pdksh, this test takes hours, literally.
+ # So we just punt and use a minimum line length of 8192.
+ lt_cv_sys_max_cmd_len=8192;
+ ;;
+
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
+ # This has been around since 386BSD, at least. Likely further.
+ if test -x /sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+ elif test -x /usr/sbin/sysctl; then
+ lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+ else
+ lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
+ fi
+ # And add a safety zone
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ ;;
+
+ interix*)
+ # We know the value 262144 and hardcode it with a safety zone (like BSD)
+ lt_cv_sys_max_cmd_len=196608
+ ;;
+
+ os2*)
+ # The test takes a long time on OS/2.
+ lt_cv_sys_max_cmd_len=8192
+ ;;
+
+ osf*)
+ # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+ # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+ # nice to cause kernel panics so lets avoid the loop below.
+ # First set a reasonable default.
+ lt_cv_sys_max_cmd_len=16384
+ #
+ if test -x /sbin/sysconfig; then
+ case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+ *1*) lt_cv_sys_max_cmd_len=-1 ;;
+ esac
+ fi
+ ;;
+ sco3.2v5*)
+ lt_cv_sys_max_cmd_len=102400
+ ;;
+ sysv5* | sco5v6* | sysv4.2uw2*)
+ kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+ if test -n "$kargmax"; then
+ lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
+ else
+ lt_cv_sys_max_cmd_len=32768
+ fi
+ ;;
+ *)
+ lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+ if test -n "$lt_cv_sys_max_cmd_len" && \
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+ else
+ # Make teststring a little bigger before we do anything with it.
+ # a 1K string should be a reasonable start.
+ for i in 1 2 3 4 5 6 7 8; do
+ teststring=$teststring$teststring
+ done
+ SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+ # If test is not a shell built-in, we'll probably end up computing a
+ # maximum length that is only half of the actual maximum length, but
+ # we can't tell.
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
+ = "X$teststring$teststring"; } >/dev/null 2>&1 &&
+ test 17 != "$i" # 1/2 MB should be enough
+ do
+ i=`expr $i + 1`
+ teststring=$teststring$teststring
+ done
+ # Only check the string length outside the loop.
+ lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+ teststring=
+ # Add a significant safety factor because C++ compilers can tack on
+ # massive amounts of additional arguments before passing them to the
+ # linker. It appears as though 1/2 is a usable value.
+ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+ fi
+ ;;
+ esac
+])
+if test -n "$lt_cv_sys_max_cmd_len"; then
+ AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+ AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+ [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes = "$cross_compiling"; then :
+ [$4]
+else
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+[#line $LINENO "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+# define LT_DLGLOBAL RTLD_GLOBAL
+#else
+# ifdef DL_GLOBAL
+# define LT_DLGLOBAL DL_GLOBAL
+# else
+# define LT_DLGLOBAL 0
+# endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+ find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+# ifdef RTLD_LAZY
+# define LT_DLLAZY_OR_NOW RTLD_LAZY
+# else
+# ifdef DL_LAZY
+# define LT_DLLAZY_OR_NOW DL_LAZY
+# else
+# ifdef RTLD_NOW
+# define LT_DLLAZY_OR_NOW RTLD_NOW
+# else
+# ifdef DL_NOW
+# define LT_DLLAZY_OR_NOW DL_NOW
+# else
+# define LT_DLLAZY_OR_NOW 0
+# endif
+# endif
+# endif
+# endif
+#endif
+
+/* When -fvisibility=hidden is used, assume the code has been annotated
+ correspondingly for the symbols needed. */
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+int fnord () __attribute__((visibility("default")));
+#endif
+
+int fnord () { return 42; }
+int main ()
+{
+ void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+ int status = $lt_dlunknown;
+
+ if (self)
+ {
+ if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
+ else
+ {
+ if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+ else puts (dlerror ());
+ }
+ /* dlclose (self); */
+ }
+ else
+ puts (dlerror ());
+
+ return status;
+}]
+_LT_EOF
+ if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
+ (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+ lt_status=$?
+ case x$lt_status in
+ x$lt_dlno_uscore) $1 ;;
+ x$lt_dlneed_uscore) $2 ;;
+ x$lt_dlunknown|x*) $3 ;;
+ esac
+ else :
+ # compilation failed
+ $3
+ fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test yes != "$enable_dlopen"; then
+ enable_dlopen=unknown
+ enable_dlopen_self=unknown
+ enable_dlopen_self_static=unknown
+else
+ lt_cv_dlopen=no
+ lt_cv_dlopen_libs=
+
+ case $host_os in
+ beos*)
+ lt_cv_dlopen=load_add_on
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ;;
+
+ mingw* | pw32* | cegcc*)
+ lt_cv_dlopen=LoadLibrary
+ lt_cv_dlopen_libs=
+ ;;
+
+ cygwin*)
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ ;;
+
+ darwin*)
+ # if libdl is installed we need to link against it
+ AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+ lt_cv_dlopen=dyld
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=yes
+ ])
+ ;;
+
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
+ *)
+ AC_CHECK_FUNC([shl_load],
+ [lt_cv_dlopen=shl_load],
+ [AC_CHECK_LIB([dld], [shl_load],
+ [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
+ [AC_CHECK_FUNC([dlopen],
+ [lt_cv_dlopen=dlopen],
+ [AC_CHECK_LIB([dl], [dlopen],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
+ [AC_CHECK_LIB([svld], [dlopen],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
+ [AC_CHECK_LIB([dld], [dld_link],
+ [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
+ ])
+ ])
+ ])
+ ])
+ ])
+ ;;
+ esac
+
+ if test no = "$lt_cv_dlopen"; then
+ enable_dlopen=no
+ else
+ enable_dlopen=yes
+ fi
+
+ case $lt_cv_dlopen in
+ dlopen)
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+ save_LDFLAGS=$LDFLAGS
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+ save_LIBS=$LIBS
+ LIBS="$lt_cv_dlopen_libs $LIBS"
+
+ AC_CACHE_CHECK([whether a program can dlopen itself],
+ lt_cv_dlopen_self, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+ lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+ ])
+
+ if test yes = "$lt_cv_dlopen_self"; then
+ wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+ AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+ lt_cv_dlopen_self_static, [dnl
+ _LT_TRY_DLOPEN_SELF(
+ lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+ lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
+ ])
+ fi
+
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
+ ;;
+ esac
+
+ case $lt_cv_dlopen_self in
+ yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+ *) enable_dlopen_self=unknown ;;
+ esac
+
+ case $lt_cv_dlopen_self_static in
+ yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+ *) enable_dlopen_self_static=unknown ;;
+ esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+ [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+ [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+ [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+ $RM -r conftest 2>/dev/null
+ mkdir conftest
+ cd conftest
+ mkdir out
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ lt_compiler_flag="-o out/conftest2.$ac_objext"
+ # Insert the option either (1) after the last *FLAGS variable, or
+ # (2) before a word containing "conftest.", or (3) at the end.
+ # Note that $ac_compile itself does not contain backslashes and begins
+ # with a dollar sign (not a hyphen), so the echo should work correctly.
+ lt_compile=`echo "$ac_compile" | $SED \
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+ (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&AS_MESSAGE_LOG_FD
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings
+ $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
+ $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+ if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+ _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+ fi
+ fi
+ chmod u+w . 2>&AS_MESSAGE_LOG_FD
+ $RM conftest*
+ # SGI C++ compiler will create directory out/ii_files/ for
+ # template instantiation
+ test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+ $RM out/* && rmdir out
+ cd ..
+ $RM -r conftest
+ $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+ [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
+ # do not overwrite the value of need_locks provided by the user
+ AC_MSG_CHECKING([if we can lock with hard links])
+ hard_links=yes
+ $RM conftest*
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ touch conftest.a
+ ln conftest.a conftest.b 2>&5 || hard_links=no
+ ln conftest.a conftest.b 2>/dev/null && hard_links=no
+ AC_MSG_RESULT([$hard_links])
+ if test no = "$hard_links"; then
+ AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
+ need_locks=warn
+ fi
+else
+ need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+ lt_cv_objdir=.libs
+else
+ # MS-DOS does not allow filenames that begin with a dot.
+ lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+ [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+ [Define to the sub-directory where libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+ test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+ test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
+
+ # We can hardcode non-existent directories.
+ if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
+ # If the only mechanism to avoid hardcoding is shlibpath_var, we
+ # have to relink, otherwise we might link with an installed library
+ # when we should be linking with a yet-to-be-installed one
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+ test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
+ # Linking always hardcodes the temporary library directory.
+ _LT_TAGVAR(hardcode_action, $1)=relink
+ else
+ # We can link without hardcoding, and we can hardcode nonexisting dirs.
+ _LT_TAGVAR(hardcode_action, $1)=immediate
+ fi
+else
+ # We cannot hardcode anything, or else we can only hardcode existing
+ # directories.
+ _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+ test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
+ # Fast installation is not supported
+ enable_fast_install=no
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
+ # Fast installation is not necessary
+ enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+ [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -z "$STRIP"; then
+ AC_MSG_RESULT([no])
+else
+ if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+ else
+ case $host_os in
+ darwin*)
+ # FIXME - insert some real tests, host_os isn't really good enough
+ striplib="$STRIP -x"
+ old_striplib="$STRIP -S"
+ AC_MSG_RESULT([yes])
+ ;;
+ freebsd*)
+ if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
+ old_striplib="$STRIP --strip-debug"
+ striplib="$STRIP --strip-unneeded"
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT([no])
+ ;;
+ esac
+ fi
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x@S|@2 in
+ x)
+ ;;
+ *:)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+ ;;
+ x:*)
+ eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+ ;;
+ *)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+ [], [
+if test yes = "$GCC"; then
+ case $host_os in
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
+ esac
+ case $host_os in
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
+ esac
+ lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
+ case $lt_search_path_spec in
+ *\;*)
+ # if the path contains ";" then we assume it to be the separator
+ # otherwise default to the standard path separator (i.e. ":") - it is
+ # assumed that no part of a normal pathname contains ";" but that should
+ # okay in the real world where ";" in dirpaths is itself problematic.
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
+ ;;
+ *)
+ lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ esac
+ # Ok, now we have the path, separated by spaces, we can step through it
+ # and add multilib dir if necessary...
+ lt_tmp_lt_search_path_spec=
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
+ for lt_sys_path in $lt_search_path_spec; do
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
+ test -d "$lt_sys_path" && \
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+ fi
+ done
+ lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
+ for (lt_i = NF; lt_i > 0; lt_i--) {
+ if ($lt_i != "" && $lt_i != ".") {
+ if ($lt_i == "..") {
+ lt_count++;
+ } else {
+ if (lt_count == 0) {
+ lt_foo = "/" $lt_i lt_foo;
+ } else {
+ lt_count--;
+ }
+ }
+ }
+ }
+ if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+ if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+ # AWK program above erroneously prepends '/' to C:/dos/paths
+ # for these hosts.
+ case $host_os in
+ mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
+ esac
+ sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
+else
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=.so
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
+case $host_os in
+aix3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
+ shlibpath_var=LIBPATH
+
+ # AIX 3 has no versioning support, so we append a major version to the name.
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+
+aix[[4-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ hardcode_into_libs=yes
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 supports IA64
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ else
+ # With GCC up to 2.95.x, collect2 would create an import file
+ # for dependence libraries. The import file would start with
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
+ # development snapshots of GCC prior to 3.0.
+ case $host_os in
+ aix4 | aix4.[[01]] | aix4.[[01]].*)
+ if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+ echo ' yes '
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
+ :
+ else
+ can_build_shared=no
+ fi
+ ;;
+ esac
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
+ # soname into executable. Probably we can add versioning support to
+ # collect2, so additional links can be useful in future.
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
+ # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+ # instead of lib<name>.a to let people know that these are not
+ # typical AIX shared libraries.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a[(]lib.so.V[)]'
+ # We preserve .a as extension for shared libraries through AIX4.2
+ # and later when we are not doing run time linking.
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
+ shlibpath_var=LIBPATH
+ fi
+ ;;
+
+amigaos*)
+ case $host_cpu in
+ powerpc)
+ # Since July 2007 AmigaOS4 officially supports .so libraries.
+ # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ m68k)
+ library_names_spec='$libname.ixlibrary $libname.a'
+ # Create ${libname}_ixlibrary.a entries in /sys/libs.
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ ;;
+ esac
+ ;;
+
+beos*)
+ library_names_spec='$libname$shared_ext'
+ dynamic_linker="$host_os ld.so"
+ shlibpath_var=LIBRARY_PATH
+ ;;
+
+bsdi[[45]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+ # the default ld.so.conf also contains /usr/contrib/lib and
+ # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+ # libtool to hard-code these into programs
+ ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
+ need_lib_prefix=no
+
+ case $GCC,$cc_basename in
+ yes,*)
+ # gcc
+ library_names_spec='$libname.dll.a'
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+
+ case $host_os in
+ cygwin*)
+ # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
+ ;;
+ mingw* | cegcc*)
+ # MinGW DLLs use traditional 'lib' prefix
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ ;;
+ pw32*)
+ # pw32 DLLs use 'pw' prefix rather than 'lib'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ ;;
+ esac
+ dynamic_linker='Win32 ld.exe'
+ ;;
+
+ *,cl* | *,icl*)
+ # Native MSVC or ICC
+ libname_spec='$name'
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
+
+ case $build_os in
+ mingw*)
+ sys_lib_search_path_spec=
+ lt_save_ifs=$IFS
+ IFS=';'
+ for lt_path in $LIB
+ do
+ IFS=$lt_save_ifs
+ # Let DOS variable expansion print the short 8.3 style file name.
+ lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+ sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+ done
+ IFS=$lt_save_ifs
+ # Convert to MSYS style.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+ ;;
+ cygwin*)
+ # Convert to unix form, then to dos form, then back to unix form
+ # but this time dos style (no spaces!) so that the unix form looks
+ # like /cygdrive/c/PROGRA~1:/cygdr...
+ sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+ sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+ sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ ;;
+ *)
+ sys_lib_search_path_spec=$LIB
+ if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+ # It is most probably a Windows format PATH.
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+ else
+ sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+ fi
+ # FIXME: find the short name or the path components, as spaces are
+ # common. (e.g. "Program Files" -> "PROGRA~1")
+ ;;
+ esac
+
+ # DLL is installed to $(libdir)/../bin by postinstall_cmds
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ shlibpath_overrides_runpath=yes
+ dynamic_linker='Win32 link.exe'
+ ;;
+
+ *)
+ # Assume MSVC and ICC wrapper
+ library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
+ dynamic_linker='Win32 ld.exe'
+ ;;
+ esac
+ # FIXME: first we should search . and the directory the executable is in
+ shlibpath_var=PATH
+ ;;
+
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+ sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+ ;;
+
+dgux*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+freebsd* | dragonfly*)
+ # DragonFly does not have aout. When/if they implement a new
+ # versioning mechanism, adjust this.
+ if test -x /usr/bin/objformat; then
+ objformat=`/usr/bin/objformat`
+ else
+ case $host_os in
+ freebsd[[23]].*) objformat=aout ;;
+ *) objformat=elf ;;
+ esac
+ fi
+ version_type=freebsd-$objformat
+ case $version_type in
+ freebsd-elf*)
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ need_version=no
+ need_lib_prefix=no
+ ;;
+ freebsd-*)
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ need_version=yes
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_os in
+ freebsd2.*)
+ shlibpath_overrides_runpath=yes
+ ;;
+ freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+ *) # from 4.6 on, and DragonFly
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+ esac
+ ;;
+
+haiku*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ dynamic_linker="$host_os runtime_loader"
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
+ hardcode_into_libs=yes
+ ;;
+
+hpux9* | hpux10* | hpux11*)
+ # Give a soname corresponding to the major version so that dld.sl refuses to
+ # link against other versions.
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ case $host_cpu in
+ ia64*)
+ shrext_cmds='.so'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.so"
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
+ sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
+ else
+ sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
+ fi
+ ;;
+ hppa*64*)
+ shrext_cmds='.sl'
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
+ shrext_cmds='.sl'
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=SHLIB_PATH
+ shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ esac
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
+ postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
+ ;;
+
+interix[[3-9]]*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $host_os in
+ nonstopux*) version_type=nonstopux ;;
+ *)
+ if test yes = "$lt_cv_prog_gnu_ld"; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ else
+ version_type=irix
+ fi ;;
+ esac
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
+ case $host_os in
+ irix5* | nonstopux*)
+ libsuff= shlibsuff=
+ ;;
+ *)
+ case $LD in # libtool.m4 will add one of these switches to LD
+ *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+ libsuff= shlibsuff= libmagic=32-bit;;
+ *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+ libsuff=32 shlibsuff=N32 libmagic=N32;;
+ *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+ libsuff=64 shlibsuff=64 libmagic=64-bit;;
+ *) libsuff= shlibsuff= libmagic=never-match;;
+ esac
+ ;;
+ esac
+ shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
+ hardcode_into_libs=yes
+ ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+ dynamic_linker=no
+ ;;
+
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+
+ # Some binutils ld are patched to set DT_RUNPATH
+ AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
+ [lt_cv_shlibpath_overrides_runpath=no
+ save_LDFLAGS=$LDFLAGS
+ save_libdir=$libdir
+ eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+ [lt_cv_shlibpath_overrides_runpath=yes])])
+ LDFLAGS=$save_LDFLAGS
+ libdir=$save_libdir
+ ])
+ shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
+ if test -f /etc/ld.so.conf; then
+ lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+ fi
+
+ # We used to test for /lib/ld.so.1 and disable shared libraries on
+ # powerpc, because MkLinux only supported shared libraries with the
+ # GNU dynamic linker. Since this was broken with cross compilers,
+ # most powerpc-linux boxes support dynamic linking these days and
+ # people can always --disable-shared, the test was removed, and we
+ # assume the GNU/Linux dynamic linker is in use.
+ dynamic_linker='GNU/Linux ld.so'
+ ;;
+
+netbsd*)
+ version_type=sunos
+ need_lib_prefix=no
+ need_version=no
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ dynamic_linker='NetBSD (a.out) ld.so'
+ else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ dynamic_linker='NetBSD ld.elf_so'
+ fi
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ ;;
+
+newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+*nto* | *qnx*)
+ version_type=qnx
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='ldqnx.so'
+ ;;
+
+openbsd* | bitrig*)
+ version_type=sunos
+ sys_lib_dlsearch_path_spec=/usr/lib
+ need_lib_prefix=no
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
+ else
+ need_version=yes
+ fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ ;;
+
+os2*)
+ libname_spec='$name'
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
+ need_lib_prefix=no
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
+ dynamic_linker='OS/2 ld.exe'
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
+ ;;
+
+osf3* | osf4* | osf5*)
+ version_type=osf
+ need_lib_prefix=no
+ need_version=no
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+
+rdos*)
+ dynamic_linker=no
+ ;;
+
+solaris*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ # ldd complains unless libraries are executable
+ postinstall_cmds='chmod +x $lib'
+ ;;
+
+sunos4*)
+ version_type=sunos
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
+ finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ if test yes = "$with_gnu_ld"; then
+ need_lib_prefix=no
+ fi
+ need_version=yes
+ ;;
+
+sysv4 | sysv4.3*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ case $host_vendor in
+ sni)
+ shlibpath_overrides_runpath=no
+ need_lib_prefix=no
+ runpath_var=LD_RUN_PATH
+ ;;
+ siemens)
+ need_lib_prefix=no
+ ;;
+ motorola)
+ need_lib_prefix=no
+ need_version=no
+ shlibpath_overrides_runpath=no
+ sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+ ;;
+ esac
+ ;;
+
+sysv4*MP*)
+ if test -d /usr/nec; then
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ fi
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ version_type=sco
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+ hardcode_into_libs=yes
+ if test yes = "$with_gnu_ld"; then
+ sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+ else
+ sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+ case $host_os in
+ sco3.2v5*)
+ sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+ ;;
+ esac
+ fi
+ sys_lib_dlsearch_path_spec='/usr/lib'
+ ;;
+
+tpf*)
+ # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
+uts4*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+
+*)
+ dynamic_linker=no
+ ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test no = "$dynamic_linker" && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test yes = "$GCC"; then
+ variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
+fi
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
+fi
+
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+ [Variables whose values should be saved in libtool wrapper scripts and
+ restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+ [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+ [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+ [[List of archive names. First name is the real one, the rest are links.
+ The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+ [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
+_LT_DECL([], [postinstall_cmds], [2],
+ [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+ [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+ [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+ [[As "finish_cmds", except a single script fragment to be evaled but
+ not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+ [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+ [Compile-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+ [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+ [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program that can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] | ?:[\\/]*])
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
+ ;;
+*)
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word. This closes a longstanding sh security hole.
+ ac_dummy="m4_if([$2], , $PATH, [$2])"
+ for ac_dir in $ac_dummy; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$1"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
+ if test -n "$file_magic_test_file"; then
+ case $deplibs_check_method in
+ "file_magic "*)
+ file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+ if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ :
+ else
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such. This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem. Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+ fi ;;
+ esac
+ fi
+ break
+ fi
+ done
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
+ ;;
+esac])
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
+if test -n "$MAGIC_CMD"; then
+ AC_MSG_RESULT($MAGIC_CMD)
+else
+ AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+ [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program that can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+ if test -n "$ac_tool_prefix"; then
+ _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+ else
+ MAGIC_CMD=:
+ fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
+
+AC_ARG_WITH([gnu-ld],
+ [AS_HELP_STRING([--with-gnu-ld],
+ [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+ [test no = "$withval" || with_gnu_ld=yes],
+ [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test yes = "$GCC"; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING([for ld used by $CC])
+ case $host in
+ *-*-mingw*)
+ # gcc leaves a trailing carriage return, which upsets mingw
+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+ *)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+ esac
+ case $ac_prog in
+ # Accept absolute paths.
+ [[\\/]]* | ?:[[\\/]]*)
+ re_direlt='/[[^/]][[^/]]*/\.\./'
+ # Canonicalize the pathname of ld
+ ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+ while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+ ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+ done
+ test -z "$LD" && LD=$ac_prog
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+elif test yes = "$with_gnu_ld"; then
+ AC_MSG_CHECKING([for GNU ld])
+else
+ AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+ lt_cv_path_LD=$ac_dir/$ac_prog
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some variants of GNU ld only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+ *GNU* | *'with BFD'*)
+ test no != "$with_gnu_ld" && break
+ ;;
+ *)
+ test yes != "$with_gnu_ld" && break
+ ;;
+ esac
+ fi
+ done
+ IFS=$lt_save_ifs
+else
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
+fi])
+LD=$lt_cv_path_LD
+if test -n "$LD"; then
+ AC_MSG_RESULT($LD)
+else
+ AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+ lt_cv_prog_gnu_ld=yes
+ ;;
+*)
+ lt_cv_prog_gnu_ld=no
+ ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+# -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+ lt_cv_ld_reload_flag,
+ [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ if test yes != "$GCC"; then
+ reload_cmds=false
+ fi
+ ;;
+ darwin*)
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
+ else
+ reload_cmds='$LD$reload_flag -o $output$reload_objs'
+ fi
+ ;;
+esac
+_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_TAGDECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+ [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# 'unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+beos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+bsdi[[45]]*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+ lt_cv_file_magic_cmd='/usr/bin/file -L'
+ lt_cv_file_magic_test_file=/shlib/libc.so
+ ;;
+
+cygwin*)
+ # func_win32_libid is a shell function defined in ltmain.sh
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ ;;
+
+mingw* | pw32*)
+ # Base MSYS/MinGW do not provide the 'file' command needed by
+ # func_win32_libid shell function, so use a weaker test based on 'objdump',
+ # unless we find 'file', for example because we are cross-compiling.
+ if ( file / ) >/dev/null 2>&1; then
+ lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+ lt_cv_file_magic_cmd='func_win32_libid'
+ else
+ # Keep this pattern in sync with the one in func_win32_libid.
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ fi
+ ;;
+
+cegcc*)
+ # use the weaker test based on 'objdump'. See mingw*.
+ lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+ lt_cv_file_magic_cmd='$OBJDUMP -f'
+ ;;
+
+darwin* | rhapsody*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+freebsd* | dragonfly*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ case $host_cpu in
+ i*86 )
+ # Not sure whether the presence of OpenBSD here was a mistake.
+ # Let's accept both of them until this is cleared up.
+ lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+ ;;
+ esac
+ else
+ lt_cv_deplibs_check_method=pass_all
+ fi
+ ;;
+
+haiku*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+hpux10.20* | hpux11*)
+ lt_cv_file_magic_cmd=/usr/bin/file
+ case $host_cpu in
+ ia64*)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+ lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+ ;;
+ hppa*64*)
+ [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
+ lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
+ lt_cv_file_magic_test_file=/usr/lib/libc.sl
+ ;;
+ esac
+ ;;
+
+interix[[3-9]]*)
+ # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+ ;;
+
+irix5* | irix6* | nonstopux*)
+ case $LD in
+ *-32|*"-32 ") libmagic=32-bit;;
+ *-n32|*"-n32 ") libmagic=N32;;
+ *-64|*"-64 ") libmagic=64-bit;;
+ *) libmagic=never-match;;
+ esac
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+# This must be glibc/ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+ fi
+ ;;
+
+newos6*)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+ lt_cv_file_magic_cmd=/usr/bin/file
+ lt_cv_file_magic_test_file=/usr/lib/libnls.so
+ ;;
+
+*nto* | *qnx*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+ else
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+ fi
+ ;;
+
+osf3* | osf4* | osf5*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+rdos*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+solaris*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+sysv4 | sysv4.3*)
+ case $host_vendor in
+ motorola)
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+ lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+ ;;
+ ncr)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ sequent)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+ ;;
+ sni)
+ lt_cv_file_magic_cmd='/bin/file'
+ lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+ lt_cv_file_magic_test_file=/lib/libc.so
+ ;;
+ siemens)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ pc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+ esac
+ ;;
+
+tpf*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+esac
+])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+ case $host_os in
+ mingw* | pw32*)
+ if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+ want_nocaseglob=yes
+ else
+ file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+ fi
+ ;;
+ esac
+fi
+
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+ [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+ [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+ [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+ [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+ # Let the user override the test.
+ lt_cv_path_NM=$NM
+else
+ lt_nm_to_check=${ac_tool_prefix}nm
+ if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+ lt_nm_to_check="$lt_nm_to_check nm"
+ fi
+ for lt_tmp_nm in $lt_nm_to_check; do
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
+ for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+ IFS=$lt_save_ifs
+ test -z "$ac_dir" && ac_dir=.
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
+ # Check to see if the nm accepts a BSD-compat flag.
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
+ # nm: unknown option "B" ignored
+ # Tru64's nm complains that /dev/null is an invalid object file
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
+ lt_cv_path_NM="$tmp_nm -B"
+ break 2
+ ;;
+ *)
+ case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+ */dev/null*)
+ lt_cv_path_NM="$tmp_nm -p"
+ break 2
+ ;;
+ *)
+ lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+ continue # so that we can try to find one that supports BSD flags
+ ;;
+ esac
+ ;;
+ esac
+ fi
+ done
+ IFS=$lt_save_ifs
+ done
+ : ${lt_cv_path_NM=no}
+fi])
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
+else
+ # Didn't find any BSD compatible name lister, look for dumpbin.
+ if test -n "$DUMPBIN"; then :
+ # Let the user override the test.
+ else
+ AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
+ *COFF*)
+ DUMPBIN="$DUMPBIN -symbols -headers"
+ ;;
+ *)
+ DUMPBIN=:
+ ;;
+ esac
+ fi
+ AC_SUBST([DUMPBIN])
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
+ fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+ [lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+ (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
+ cat conftest.out >&AS_MESSAGE_LOG_FD
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+ fi
+ rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+# -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
+ case `$DLLTOOL --help 2>&1` in
+ *--identify-strict*)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+ ;;
+ *)
+ lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+ ;;
+ esac
+ ;;
+*)
+ # fallback: assume linklib IS sharedlib
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
+ ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+ [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+ [lt_cv_path_mainfest_tool=no
+ echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+ $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+ cat conftest.err >&AS_MESSAGE_LOG_FD
+ if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+ lt_cv_path_mainfest_tool=yes
+ fi
+ rm -f conftest*])
+if test yes != "$lt_cv_path_mainfest_tool"; then
+ MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
+
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+ test DEF = "`$SED -n dnl
+ -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
+ -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
+ -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
+ -e q dnl Only consider the first "real" line
+ $1`" dnl
+])# _LT_DLL_DEF_P
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+ # These system don't have libm, or don't need it
+ ;;
+*-ncr-sysv4.3*)
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
+ AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+ ;;
+*)
+ AC_CHECK_LIB(m, cos, LIBM=-lm)
+ ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test yes = "$GCC"; then
+ case $cc_basename in
+ nvcc*)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
+ esac
+
+ _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+ lt_cv_prog_compiler_rtti_exceptions,
+ [-fno-rtti -fno-exceptions], [],
+ [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+ [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix. What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+ symcode='[[BCDT]]'
+ ;;
+cygwin* | mingw* | pw32* | cegcc*)
+ symcode='[[ABCDGISTW]]'
+ ;;
+hpux*)
+ if test ia64 = "$host_cpu"; then
+ symcode='[[ABCDEGRST]]'
+ fi
+ ;;
+irix* | nonstopux*)
+ symcode='[[BCDEGRST]]'
+ ;;
+osf*)
+ symcode='[[BCDEGQRST]]'
+ ;;
+solaris*)
+ symcode='[[BDRT]]'
+ ;;
+sco3.2v5*)
+ symcode='[[DT]]'
+ ;;
+sysv4.2uw2*)
+ symcode='[[DT]]'
+ ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+ symcode='[[ABDT]]'
+ ;;
+sysv4)
+ symcode='[[DFNSTU]]'
+ ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+ symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+ opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+ ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+ # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+ symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+ # Write the raw and C identifiers.
+ if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
+ # Also find C++ and __fastcall symbols from MSVC++ or ICC,
+ # which start with @ or ?.
+ lt_cv_sys_global_symbol_pipe="$AWK ['"\
+" {last_section=section; section=\$ 3};"\
+" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
+" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
+" \$ 0!~/External *\|/{next};"\
+" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+" {if(hide[section]) next};"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
+" ' prfx=^$ac_symprfx]"
+ else
+ lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+ fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
+
+ # Check to see that the pipe works correctly.
+ pipe_works=no
+
+ rm -f conftest*
+ cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+ if AC_TRY_EVAL(ac_compile); then
+ # Now try to grab the symbols.
+ nlist=conftest.nm
+ if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+ # Try sorting and uniquifying the output.
+ if sort "$nlist" | uniq > "$nlist"T; then
+ mv -f "$nlist"T "$nlist"
+ else
+ rm -f "$nlist"T
+ fi
+
+ # Make sure that we snagged all the symbols we need.
+ if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+ if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+ cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+ # Now generate the symbol file.
+ eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+ cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols. */
+LT@&t@_DLSYM_CONST struct {
+ const char *name;
+ void *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+ { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ cat <<\_LT_EOF >> conftest.$ac_ext
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+ # Now try linking the two files.
+ mv conftest.$ac_objext conftstm.$ac_objext
+ lt_globsym_save_LIBS=$LIBS
+ lt_globsym_save_CFLAGS=$CFLAGS
+ LIBS=conftstm.$ac_objext
+ CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+ if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
+ pipe_works=yes
+ fi
+ LIBS=$lt_globsym_save_LIBS
+ CFLAGS=$lt_globsym_save_CFLAGS
+ else
+ echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+ fi
+ else
+ echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+ cat conftest.$ac_ext >&5
+ fi
+ rm -rf conftest* conftst*
+
+ # Do not use the global_symbol_pipe unless it works.
+ if test yes = "$pipe_works"; then
+ break
+ else
+ lt_cv_sys_global_symbol_pipe=
+ fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+ lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+ AC_MSG_RESULT(failed)
+else
+ AC_MSG_RESULT(ok)
+fi
+
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+ nm_file_list_spec='@'
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+ [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+ [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+ [Transform the output of nm into a list of symbols to manually relocate])
+_LT_DECL([global_symbol_to_c_name_address],
+ [lt_cv_sys_global_symbol_to_c_name_address], [1],
+ [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+ [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+ [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+ [The name lister interface])
+_LT_DECL([], [nm_file_list_spec], [1],
+ [Specify filename containing input files for $NM])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+m4_if([$1], [CXX], [
+ # C++ specific cases for pic, static, wl, etc.
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+ *djgpp*)
+ # DJGPP does not support shared libraries at all
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ else
+ case $host_os in
+ aix[[4-9]]*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+ chorus*)
+ case $cc_basename in
+ cxch68*)
+ # Green Hills C++ Compiler
+ # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+ ;;
+ esac
+ ;;
+ mingw* | cygwin* | os2* | pw32* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ ;;
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ freebsd* | dragonfly*)
+ # FreeBSD uses GNU C++
+ ;;
+ hpux9* | hpux10* | hpux11*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ if test ia64 != "$host_cpu"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ fi
+ ;;
+ aCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ interix*)
+ # This is c89, which is MS Visual C++ (no shared libs)
+ # Anyone wants to do a port?
+ ;;
+ irix5* | irix6* | nonstopux*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ # CC pic flag -KPIC is the default.
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ KCC*)
+ # KAI C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ ecpc* )
+ # old Intel C++ for x86_64, which still supported -KPIC.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ icpc* )
+ # Intel C++, used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ cxx*)
+ # Compaq C++
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
+ # IBM XL 8.0, 9.0 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ lynxos*)
+ ;;
+ m88k*)
+ ;;
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ netbsd*)
+ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ cxx*)
+ # Digital/Compaq C++
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # Make sure the PIC flag is empty. It appears that all Alpha
+ # Linux and Compaq Tru64 Unix objects are PIC.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ psos*)
+ ;;
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ lcc*)
+ # Lucid
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ ;;
+ *)
+ ;;
+ esac
+ ;;
+ vxworks*)
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+],
+[
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+ case $host_os in
+ aix*)
+ # All AIX code is PIC.
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ m68k)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ esac
+ ;;
+
+ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+ # PIC is the default for these OSes.
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ # Although the cygwin gcc ignores -fPIC, still need this for old-style
+ # (--disable-auto-import) libraries
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ ;;
+
+ haiku*)
+ # PIC is the default for Haiku.
+ # The "-static" flag exists, but is broken.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)=
+ ;;
+
+ hpux*)
+ # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+ # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ case $host_cpu in
+ hppa*64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+
+ msdosdjgpp*)
+ # Just because we use GCC doesn't mean we suddenly get shared libraries
+ # on systems that don't support them.
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ enable_shared=no
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+ fi
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
+
+ case $cc_basename in
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
+ if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+ fi
+ ;;
+ esac
+ else
+ # PORTME Check for flag to pass linker flags through the system compiler.
+ case $host_os in
+ aix*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ if test ia64 = "$host_cpu"; then
+ # AIX 5 now supports IA64 processor
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ else
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+ fi
+ ;;
+
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+
+ mingw* | cygwin* | pw32* | os2* | cegcc*)
+ # This hack is so that the source file can tell whether it is being
+ # built for inclusion in a dll (and should export symbols for example).
+ m4_if([$1], [GCJ], [],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
+ ;;
+
+ hpux9* | hpux10* | hpux11*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+ # not for PA HP-UX.
+ case $host_cpu in
+ hppa*64*|ia64*)
+ # +Z the default
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
+ # Is there a better lt_prog_compiler_static that works with the bundled CC?
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # PIC (with -KPIC) is the default.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ # old Intel for x86_64, which still supported -KPIC.
+ ecc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # icc used to be incompatible with GCC.
+ # ICC 10 doesn't accept -KPIC any more.
+ icc* | ifort*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ # Lahey Fortran 8.1.
+ lf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+ ;;
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group compilers (*not* the Pentium gcc compiler,
+ # which looks to be a dead project)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ ccc*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All Alpha code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+ xl* | bgxl* | bgf* | mpixl*)
+ # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
+ # Sun Fortran 8.3 passes all unrecognized flags to the linker
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+ ;;
+ *Sun\ F* | *Sun*Fortran*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ ;;
+ *Sun\ C*)
+ # Sun C 5.9
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ ;;
+ *Intel*\ [[CF]]*Compiler*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+ *Portland\ Group*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+ ;;
+
+ osf3* | osf4* | osf5*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ # All OSF/1 code is PIC.
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ rdos*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ case $cc_basename in
+ f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4 | sysv4.2uw2* | sysv4.3*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ fi
+ ;;
+
+ sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ unicos*)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
+ *)
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+ ;;
+ esac
+ fi
+])
+case $host_os in
+ # For platforms that do not support PIC, -DPIC is meaningless:
+ *djgpp*)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ ;;
+ *)
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+ ;;
+esac
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+ _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+ [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+ [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+ [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+ "" | " "*) ;;
+ *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+ esac],
+ [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+ _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+ [Additional compiler flags for building library objects])
+
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+ [How to pass a linker flag through the compiler])
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+ _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+ $lt_tmp_static_flag,
+ [],
+ [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+ [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ case $host_os in
+ aix[[4-9]]*)
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ fi
+ ;;
+ pw32*)
+ _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
+ ;;
+ cygwin* | mingw* | cegcc*)
+ case $cc_basename in
+ cl* | icl*)
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ ;;
+ esac
+ ;;
+ *)
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ ;;
+ esac
+], [
+ runpath_var=
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(archive_cmds, $1)=
+ _LT_TAGVAR(archive_expsym_cmds, $1)=
+ _LT_TAGVAR(compiler_needs_object, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(hardcode_automatic, $1)=no
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ _LT_TAGVAR(hardcode_minus_L, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+ _LT_TAGVAR(inherit_rpath, $1)=no
+ _LT_TAGVAR(link_all_deplibs, $1)=unknown
+ _LT_TAGVAR(module_cmds, $1)=
+ _LT_TAGVAR(module_expsym_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+ _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+ _LT_TAGVAR(thread_safe_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ # include_expsyms should be a list of space-separated symbols to be *always*
+ # included in the symbol list
+ _LT_TAGVAR(include_expsyms, $1)=
+ # exclude_expsyms can be an extended regexp of symbols to exclude
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
+ _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+ # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+ # platforms (ab)use it in PIC code, but their linkers get confused if
+ # the symbol is explicitly referenced. Since portable code cannot
+ # rely on this symbol name, it's probably fine to never include it in
+ # preloaded symbol tables.
+ # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+ extract_expsyms_cmds=
+
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++ or Intel C++ Compiler.
+ if test yes != "$GCC"; then
+ with_gnu_ld=no
+ fi
+ ;;
+ interix*)
+ # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
+ with_gnu_ld=yes
+ ;;
+ openbsd* | bitrig*)
+ with_gnu_ld=no
+ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+
+ # On some targets, GNU ld is compatible enough with the native linker
+ # that we're better off using the native interface for both.
+ lt_use_gnu_ld_interface=no
+ if test yes = "$with_gnu_ld"; then
+ case $host_os in
+ aix*)
+ # The AIX port of GNU ld has always aspired to compatibility
+ # with the native linker. However, as the warning in the GNU ld
+ # block says, versions before 2.19.5* couldn't really create working
+ # shared libraries, regardless of the interface used.
+ case `$LD -v 2>&1` in
+ *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
+ *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
+ *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ ;;
+ *)
+ lt_use_gnu_ld_interface=yes
+ ;;
+ esac
+ fi
+
+ if test yes = "$lt_use_gnu_ld_interface"; then
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ wlarc='$wl'
+
+ # Set some defaults for GNU ld with shared library support. These
+ # are reset later if shared libraries are not supported. Putting them
+ # here allows them to be overridden if necessary.
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ supports_anon_versioning=no
+ case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
+ *GNU\ gold*) supports_anon_versioning=yes ;;
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+ *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+ *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+ *\ 2.11.*) ;; # other 2.11 versions
+ *) supports_anon_versioning=yes ;;
+ esac
+
+ # See if GNU ld supports shared libraries.
+ case $host_os in
+ aix[[3-9]]*)
+ # On AIX/PPC, the GNU linker is very broken
+ if test ia64 != "$host_cpu"; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.19, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support. If you
+*** really care for shared libraries, you may want to install binutils
+*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
+*** You will then need to restart the configuration process.
+
+_LT_EOF
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+ _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+ tmp_diet=no
+ if test linux-dietlibc = "$host_os"; then
+ case $cc_basename in
+ diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
+ esac
+ fi
+ if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+ && test no = "$tmp_diet"
+ then
+ tmp_addflag=' $pic_flag'
+ tmp_sharedflag='-shared'
+ case $cc_basename,$host_cpu in
+ pgcc*) # Portland Group C compiler
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag'
+ ;;
+ pgf77* | pgf90* | pgf95* | pgfortran*)
+ # Portland Group f77 and f90 compilers
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ tmp_addflag=' $pic_flag -Mnomain' ;;
+ ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
+ tmp_addflag=' -i_dynamic' ;;
+ efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
+ tmp_addflag=' -i_dynamic -nofor_main' ;;
+ ifc* | ifort*) # Intel Fortran compiler
+ tmp_addflag=' -nofor_main' ;;
+ lf95*) # Lahey Fortran 8.1
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
+ xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
+ tmp_sharedflag='-qmkshrobj'
+ tmp_addflag= ;;
+ nvcc*) # Cuda Compiler Driver 2.2
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ ;;
+ esac
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C 5.9
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+ tmp_sharedflag='-G' ;;
+ *Sun\ F*) # Sun Fortran 8.3
+ tmp_sharedflag='-G' ;;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+
+ if test yes = "$supports_anon_versioning"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+ fi
+
+ case $cc_basename in
+ tcc*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+ ;;
+ xlf* | bgf* | bgxlf* | mpixlf*)
+ # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ esac
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+ wlarc=
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ fi
+ ;;
+
+ solaris*)
+ if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+ case `$LD -v 2>&1` in
+ *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
+*** reliably create shared libraries on SCO systems. Therefore, libtool
+*** is disabling shared libraries support. We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+ ;;
+ *)
+ # For security reasons, it is highly recommended that you always
+ # use absolute paths for naming shared libraries, and exclude the
+ # DT_RUNPATH tag from executables and libraries. But doing so
+ # requires that you compile everything twice, which is a pain.
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+
+ if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
+ runpath_var=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case $host_os in
+ aix3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+ # Note: this linker hardcodes the directories in LIBPATH if there
+ # are no directories specified by -L.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
+ # Neither direct hardcoding nor static linking is supported with a
+ # broken collect2.
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test ia64 = "$host_cpu"; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=
+ else
+ # If we're using GNU nm, then we don't want the "-C" option.
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
+ if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
+ else
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
+ fi
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
+ aix_use_runtimelinking=yes
+ break
+ fi
+ done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
+
+ if test yes = "$GCC"; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`$CC -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ ;;
+ esac
+ shared_flag='-shared'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
+ fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
+ else
+ # not using gcc
+ if test ia64 = "$host_cpu"; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
+ else
+ shared_flag='$wl-bM:SRE'
+ fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+ else
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+ fi
+ fi
+ ;;
+
+ amigaos*)
+ case $host_cpu in
+ powerpc)
+ # see comment about AmigaOS4 .so support
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)=''
+ ;;
+ m68k)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ ;;
+
+ bsdi[[45]]*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ # When not using gcc, we currently assume that we are using
+ # Microsoft Visual C++ or Intel C++ Compiler.
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ case $cc_basename in
+ cl* | icl*)
+ # Native MSVC or ICC
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # Assume MSVC and ICC wrapper
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+ # The linker will automatically build a .lib file if we build a DLL.
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ # FIXME: Should let the user specify the lib program.
+ _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+ esac
+ ;;
+
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ dgux*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # does not break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+ freebsd2.*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+ freebsd* | dragonfly*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ hpux9*)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ ;;
+
+ hpux10*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ fi
+ ;;
+
+ hpux11*)
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ else
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ m4_if($1, [], [
+ # Older versions of the 11.00 compiler do not understand -b yet
+ # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
+ _LT_LINKER_OPTION([if $CC understands -b],
+ _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ ;;
+ esac
+ fi
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ ;;
+ esac
+ fi
+ ;;
+
+ irix5* | irix6* | nonstopux*)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ # Try to use the -exported_symbol ld option, if it does not
+ # work, assume that -exports_file does not work either and
+ # implicitly export all symbols.
+ # This should be the same for all languages, so no per-tag cache variable.
+ AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+ [lt_cv_irix_exported_symbol],
+ [save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
+ AC_LINK_IFELSE(
+ [AC_LANG_SOURCE(
+ [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+ [C++], [[int foo (void) { return 0; }]],
+ [Fortran 77], [[
+ subroutine foo
+ end]],
+ [Fortran], [[
+ subroutine foo
+ end]])])],
+ [lt_cv_irix_exported_symbol=yes],
+ [lt_cv_irix_exported_symbol=no])
+ LDFLAGS=$save_LDFLAGS])
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
+ fi
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ newsos6)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *nto* | *qnx*)
+ ;;
+
+ openbsd* | bitrig*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ fi
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ ;;
+
+ osf3*)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ osf4* | osf5*) # as osf3* with the addition of -msym flag
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ else
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
+
+ # Both c and cxx compiler support -rpath directly
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ ;;
+
+ solaris*)
+ _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ else
+ case `$CC -V 2>&1` in
+ *"Compilers 5.0"*)
+ wlarc=''
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ ;;
+ *)
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ ;;
+ esac
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
+ # but is careful enough not to reorder.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ fi
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ sunos4*)
+ if test sequent = "$host_vendor"; then
+ # Use $CC to link under sequent, because it throws in some extra .o
+ # files that make .init and .fini sections work.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+ fi
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4)
+ case $host_vendor in
+ sni)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+ ;;
+ siemens)
+ ## LD is ld it makes a PLAMLIB
+ ## CC just makes a GrossModule.
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ ;;
+ motorola)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+ ;;
+ esac
+ runpath_var='LD_RUN_PATH'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ sysv4.3*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+ ;;
+
+ sysv4*MP*)
+ if test -d /usr/nec; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var=LD_RUN_PATH
+ hardcode_runpath_var=yes
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ fi
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We CANNOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ fi
+ ;;
+
+ uts4*)
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+
+ *)
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ if test sni = "$host_vendor"; then
+ case $host in
+ sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
+ ;;
+ esac
+ fi
+ fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+ [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+ # Assume -lc should be added
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+ if test yes,yes = "$GCC,$enable_shared"; then
+ case $_LT_TAGVAR(archive_cmds, $1) in
+ *'~'*)
+ # FIXME: we may have to deal with multi-command sequences.
+ ;;
+ '$CC '*)
+ # Test whether the compiler implicitly links with -lc since on some
+ # systems, -lgcc has to come before -lc. If gcc already passes -lc
+ # to ld, don't add -lc before -lgcc.
+ AC_CACHE_CHECK([whether -lc should be explicitly linked in],
+ [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
+ [$RM conftest*
+ echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+ if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+ soname=conftest
+ lib=conftest
+ libobjs=conftest.$ac_objext
+ deplibs=
+ wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+ pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+ compiler_flags=-v
+ linker_flags=-v
+ verstring=
+ output_objdir=.
+ libname=conftest
+ lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+ _LT_TAGVAR(allow_undefined_flag, $1)=
+ if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+ then
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ else
+ lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ fi
+ _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+ else
+ cat conftest.err 1>&5
+ fi
+ $RM conftest*
+ ])
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
+ ;;
+ esac
+ fi
+ ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+ [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+ [enable_shared_with_static_runtimes], [0],
+ [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+ [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+ [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+ [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+ [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+ [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+ [Commands used to build a loadable module if different from building
+ a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+ [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+ [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+ [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+ [Flag to hardcode $libdir into a binary during linking.
+ This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+ [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+ DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
+ DIR into the resulting binary and the resulting library dependency is
+ "absolute", i.e impossible to change by setting $shlibpath_var if the
+ library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+ [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+ [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+ into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+ [Set to "yes" if building a shared library automatically hardcodes DIR
+ into the library and all subsequent libraries and executables linked
+ against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+ [Set to yes if linker adds runtime paths of dependent libraries
+ to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+ [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [always_export_symbols], [0],
+ [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+ [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+ [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+ [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+ [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+ [Commands necessary for finishing linking programs])
+_LT_TAGDECL([], [file_list_spec], [1],
+ [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC=$CC
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+ LT_SYS_DLOPEN_SELF
+ _LT_CMD_STRIPLIB
+
+ # Report what library types will actually be built
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test no = "$can_build_shared" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+
+ aix[[4-9]]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC=$lt_save_CC
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined. These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
+if test -n "$CXX" && ( test no != "$CXX" &&
+ ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+ (test g++ != "$CXX"))); then
+ AC_PROG_CXXCPP
+else
+ _lt_caught_CXX_error=yes
+fi
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_caught_CXX_error"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="int some_variable = 0;"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_CFLAGS=$CFLAGS
+ lt_save_LD=$LD
+ lt_save_GCC=$GCC
+ GCC=$GXX
+ lt_save_with_gnu_ld=$with_gnu_ld
+ lt_save_path_LD=$lt_cv_path_LD
+ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+ lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+ else
+ $as_unset lt_cv_prog_gnu_ld
+ fi
+ if test -n "${lt_cv_path_LDCXX+set}"; then
+ lt_cv_path_LD=$lt_cv_path_LDCXX
+ else
+ $as_unset lt_cv_path_LD
+ fi
+ test -z "${LDCXX+set}" || LD=$LDCXX
+ CC=${CXX-"c++"}
+ CFLAGS=$CXXFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ # We don't want -fno-exception when compiling C++ code, so set the
+ # no_builtin_flag separately
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+ else
+ _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+ fi
+
+ if test yes = "$GXX"; then
+ # Set up default GNU C++ configuration
+
+ LT_PATH_LD
+
+ # Check if GNU C++ uses GNU ld as the underlying linker, since the
+ # archiving commands below assume that GNU ld is being used.
+ if test yes = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+ # If archive_cmds runs LD, not CC, wlarc should be empty
+ # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+ # investigate it a little bit more. (MM)
+ wlarc='$wl'
+
+ # ancient GNU ld didn't support --whole-archive et. al.
+ if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+ $GREP 'no-whole-archive' > /dev/null; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ else
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=
+ fi
+ else
+ with_gnu_ld=no
+ wlarc=
+
+ # A generic and very simple default shared library creation
+ # command for GNU C++ for the case where it uses the native
+ # linker, instead of GNU ld. If possible, this setting should
+ # overridden to take advantage of the native linker features on
+ # the platform it is being used on.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ fi
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ GXX=no
+ with_gnu_ld=no
+ wlarc=
+ fi
+
+ # PORTME: fill in a description of your system's C++ link characteristics
+ AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ case $host_os in
+ aix3*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aix[[4-9]]*)
+ if test ia64 = "$host_cpu"; then
+ # On IA64, the linker does run time linking by default, so we don't
+ # have to do anything special.
+ aix_use_runtimelinking=no
+ exp_sym_flag='-Bexport'
+ no_entry_flag=
+ else
+ aix_use_runtimelinking=no
+
+ # Test if we are trying to use run time linking or normal
+ # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
+ case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+ for ld_flag in $LDFLAGS; do
+ case $ld_flag in
+ *-brtl*)
+ aix_use_runtimelinking=yes
+ break
+ ;;
+ esac
+ done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
+ ;;
+ esac
+
+ exp_sym_flag='-bexport'
+ no_entry_flag='-bnoentry'
+ fi
+
+ # When large executables or shared objects are built, AIX ld can
+ # have problems creating the table of contents. If linking a library
+ # or program results in "error TOC overflow" add -mminimal-toc to
+ # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
+ # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+ _LT_TAGVAR(archive_cmds, $1)=''
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
+
+ if test yes = "$GXX"; then
+ case $host_os in aix4.[[012]]|aix4.[[012]].*)
+ # We only want to do this on AIX 4.2 and lower, the check
+ # below for broken collect2 doesn't work under 4.3+
+ collect2name=`$CC -print-prog-name=collect2`
+ if test -f "$collect2name" &&
+ strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+ then
+ # We have reworked collect2
+ :
+ else
+ # We have old collect2
+ _LT_TAGVAR(hardcode_direct, $1)=unsupported
+ # It fails to find uninstalled libraries when the uninstalled
+ # path is not listed in the libpath. Setting hardcode_minus_L
+ # to unsupported forces relinking
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=
+ fi
+ esac
+ shared_flag='-shared'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag=$shared_flag' $wl-G'
+ fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
+ else
+ # not using gcc
+ if test ia64 = "$host_cpu"; then
+ # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+ # chokes on -Wl,-G. The following line is correct:
+ shared_flag='-G'
+ else
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
+ else
+ shared_flag='$wl-bM:SRE'
+ fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
+ fi
+ fi
+
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
+ # It seems that -bexpall does not export symbols beginning with
+ # underscore (_), so it is better to generate a list of symbols to
+ # export.
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # Warning - without using the other runtime loading flags (-brtl),
+ # -berok will link without error, but may produce a broken library.
+ # The "-G" linker flag allows undefined symbols.
+ _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
+ # Determine the default libpath from the value encoded in an empty
+ # executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
+ else
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
+ _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
+ else
+ # Determine the default libpath from the value encoded in an
+ # empty executable.
+ _LT_SYS_MODULE_PATH_AIX([$1])
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ # Warning - without using the other run time loading flags,
+ # -berok will link without error, but may produce a broken library.
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
+ # We only use this code for GNU lds that support --whole-archive.
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+ else
+ # Exported symbols can be pulled into shared objects from archives
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+ fi
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared
+ # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
+ fi
+ fi
+ ;;
+
+ beos*)
+ if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+ # support --undefined. This deserves some investigation. FIXME
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ chorus*)
+ case $cc_basename in
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $GXX,$cc_basename in
+ ,cl* | no,cl* | ,icl* | no,icl*)
+ # Native MSVC or ICC
+ # hardcode_libdir_flag_spec is actually meaningless, as there is
+ # no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ # Tell ltmain to make .lib files, not .a files.
+ libext=lib
+ # Tell ltmain to make .dll files, not .so files.
+ shrext_cmds=.dll
+ # FIXME: Setting linknames here is a bad hack.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
+ # The linker will not automatically build a static lib if we build a DLL.
+ # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ # Don't use ranlib
+ _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+ _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
+ ;;
+ *)
+ # g++
+ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+ # as there is no search path for DLLs.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ _LT_TAGVAR(always_export_symbols, $1)=no
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+ if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ darwin* | rhapsody*)
+ _LT_DARWIN_LINKER_FEATURES($1)
+ ;;
+
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
+ ;;
+
+ dgux*)
+ case $cc_basename in
+ ec++*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ ghcx*)
+ # Green Hills C++ Compiler
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ freebsd2.*)
+ # C++ shared libraries reported to be fairly broken before
+ # switch to ELF
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ freebsd-elf*)
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ ;;
+
+ freebsd* | dragonfly*)
+ # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+ # conventions
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ haiku*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+
+ hpux9*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ hpux10*|hpux11*)
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ case $host_cpu in
+ hppa*64*|ia64*)
+ ;;
+ *)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ ;;
+ esac
+ fi
+ case $host_cpu in
+ hppa*64*|ia64*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+ ;;
+ esac
+
+ case $cc_basename in
+ CC*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC*)
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ case $host_cpu in
+ hppa*64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ ia64*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ ;;
+ esac
+ fi
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ interix[[3-9]]*)
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+ # Instead, shared libraries are loaded at an image base (0x10000000 by
+ # default) and relocated if they conflict, which is a slow very memory
+ # consuming and fragmenting process. To avoid this, we pick a random,
+ # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+ # time. Moving up from 0x10000000 also allows more sbrk(2) space.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ ;;
+ irix5* | irix6*)
+ case $cc_basename in
+ CC*)
+ # SGI C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+
+ # Archives containing C++ object files must be created using
+ # "CC -ar", where "CC" is the IRIX C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+ ;;
+ *)
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ else
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
+ fi
+ fi
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ ;;
+ esac
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_TAGVAR(inherit_rpath, $1)=yes
+ ;;
+
+ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+
+ # Archives containing C++ object files must be created using
+ # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+ ;;
+ icpc* | ecpc* )
+ # Intel C++
+ with_gnu_ld=yes
+ # version 8.0 and above of icpc choke on multiply defined symbols
+ # if we add $predep_objects and $postdep_objects, however 7.1 and
+ # earlier do not add the objects themselves.
+ case `$CC -V 2>&1` in
+ *"Version 7."*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 8.0 or newer
+ tmp_idyn=
+ case $host_cpu in
+ ia64*) tmp_idyn=' -i_dynamic';;
+ esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
+ ;;
+ pgCC* | pgcpp*)
+ # Portland Group C++ compiler
+ case `$CC -V` in
+ *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
+ _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
+ _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ *) # Version 6 and above use weak symbols
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ ;;
+ cxx*)
+ # Compaq C++
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
+
+ runpath_var=LD_RUN_PATH
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ ;;
+ xl* | mpixl* | bgxl*)
+ # IBM XL 8.0 on PPC, with GNU ld
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
+ fi
+ ;;
+ *)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*)
+ # Sun C++ 5.9
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
+ _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+ # Not sure whether something based on
+ # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+ # would be better.
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ lynxos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ m88k*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ mvs*)
+ case $cc_basename in
+ cxx*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+ wlarc=
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ fi
+ # Workaround some broken pre-1.5 toolchains
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+ ;;
+
+ *nto* | *qnx*)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
+ openbsd* | bitrig*)
+ if test -f /usr/libexec/ld.so; then
+ _LT_TAGVAR(hardcode_direct, $1)=yes
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
+ fi
+ output_verbose_link_cmd=func_echo_all
+ else
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+
+ osf3* | osf4* | osf5*)
+ case $cc_basename in
+ KCC*)
+ # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+ # KCC will only create a shared library if the output file
+ # ends with ".so" (or ".sl" for HP-UX), so rename the library
+ # to its proper name (with version) after linking.
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Archives containing C++ object files must be created using
+ # the KAI C++ compiler.
+ case $host in
+ osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+ *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+ esac
+ ;;
+ RCC*)
+ # Rational C++ 2.4.1
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ cxx*)
+ case $host in
+ osf3*)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ ;;
+ *)
+ _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+ $RM $lib.exp'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ ;;
+ *)
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ case $host in
+ osf3*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ ;;
+ esac
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+
+ else
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+
+ psos*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ sunos4*)
+ case $cc_basename in
+ CC*)
+ # Sun C++ 4.x
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ lcc*)
+ # Lucid
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ case $cc_basename in
+ CC* | sunCC*)
+ # Sun C++ 4.2, 5.x and Centerline C++
+ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+ _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ # The compiler driver will combine and reorder linker options,
+ # but understands '-z linker_flag'.
+ # Supported since Solaris 2.6 (maybe 2.5.1?)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+ ;;
+ esac
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+ output_verbose_link_cmd='func_echo_all'
+
+ # Archives containing C++ object files must be created using
+ # "CC -xar", where "CC" is the Sun C++ compiler. This is
+ # necessary to make sure instantiated templates are included
+ # in the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+ ;;
+ gcx*)
+ # Green Hills C++ Compiler
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+
+ # The C++ compiler must be used to create the archive.
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+ ;;
+ *)
+ # GNU C++ compiler with Solaris linker
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
+ if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ else
+ # g++ 2.7 appears to require '-G' NOT '-shared' on this
+ # platform.
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ fi
+
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
+ case $host_os in
+ solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+ *)
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+
+ sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ sysv5* | sco3.2v5* | sco5v6*)
+ # Note: We CANNOT use -z defs as we might desire, because we do not
+ # link with -lc, and that would cause any symbols used from libc to
+ # always be unresolved, which means just about no library would
+ # ever link correctly. If we're not using GNU ld we use -z text
+ # though, which does catch some bad symbols but isn't as heavy-handed
+ # as -z defs.
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+ _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
+ runpath_var='LD_RUN_PATH'
+
+ case $cc_basename in
+ CC*)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
+ '"$_LT_TAGVAR(reload_cmds, $1)"
+ ;;
+ *)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
+ tandem*)
+ case $cc_basename in
+ NCC*)
+ # NonStop-UX NCC 3.20
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+ ;;
+
+ vxworks*)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+
+ *)
+ # FIXME: insert proper C++ library support
+ _LT_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ esac
+
+ AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+ test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
+
+ _LT_TAGVAR(GCC, $1)=$GXX
+ _LT_TAGVAR(LD, $1)=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+ LDCXX=$LD
+ LD=$lt_save_LD
+ GCC=$lt_save_GCC
+ with_gnu_ld=$lt_save_with_gnu_ld
+ lt_cv_path_LDCXX=$lt_cv_path_LD
+ lt_cv_path_LD=$lt_save_path_LD
+ lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+ lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test yes != "$_lt_caught_CXX_error"
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+ case @S|@2 in
+ .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+ *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
+ esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library. It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+ Foo (void) { a = 0; }
+private:
+ int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer*4 a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+ subroutine foo
+ implicit none
+ integer a
+ a=0
+ return
+ end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+ private int a;
+ public void bar (void) {
+ a = 0;
+ }
+};
+_LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
+])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+ # Parse the compiler output and extract the necessary
+ # objects, libraries and library flags.
+
+ # Sentinel used to keep track of whether or not we are before
+ # the conftest object file.
+ pre_test_object_deps_done=no
+
+ for p in `eval "$output_verbose_link_cmd"`; do
+ case $prev$p in
+
+ -L* | -R* | -l*)
+ # Some compilers place space between "-{L,R}" and the path.
+ # Remove the space.
+ if test x-L = "$p" ||
+ test x-R = "$p"; then
+ prev=$p
+ continue
+ fi
+
+ # Expand the sysroot to ease extracting the directories later.
+ if test -z "$prev"; then
+ case $p in
+ -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+ -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+ -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+ esac
+ fi
+ case $p in
+ =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+ esac
+ if test no = "$pre_test_object_deps_done"; then
+ case $prev in
+ -L | -R)
+ # Internal compiler library paths should come after those
+ # provided the user. The postdeps already come after the
+ # user supplied libs so there is no need to process them.
+ if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+ _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
+ else
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
+ fi
+ ;;
+ # The "-l" case would never come before the object being
+ # linked, so don't bother handling this case.
+ esac
+ else
+ if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+ _LT_TAGVAR(postdeps, $1)=$prev$p
+ else
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
+ fi
+ fi
+ prev=
+ ;;
+
+ *.lto.$objext) ;; # Ignore GCC LTO objects
+ *.$objext)
+ # This assumes that the test object file only shows up
+ # once in the compiler output.
+ if test "$p" = "conftest.$objext"; then
+ pre_test_object_deps_done=yes
+ continue
+ fi
+
+ if test no = "$pre_test_object_deps_done"; then
+ if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+ _LT_TAGVAR(predep_objects, $1)=$p
+ else
+ _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+ fi
+ else
+ if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+ _LT_TAGVAR(postdep_objects, $1)=$p
+ else
+ _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+ fi
+ fi
+ ;;
+
+ *) ;; # Ignore the rest.
+
+ esac
+ done
+
+ # Clean up.
+ rm -f a.out a.exe
+else
+ echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+ # Interix 3.5 installs completely hosed .la files for C++, so rather than
+ # hack all around it, let's just trust "g++" to DTRT.
+ _LT_TAGVAR(predep_objects,$1)=
+ _LT_TAGVAR(postdep_objects,$1)=
+ _LT_TAGVAR(postdeps,$1)=
+ ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+ [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+ [Dependencies to place before and after the objects being linked to
+ create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+ [The library search path used internally by the compiler when linking
+ a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_LANG_PUSH(Fortran 77)
+if test -z "$F77" || test no = "$F77"; then
+ _lt_disable_F77=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_F77"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${F77-"f77"}
+ CFLAGS=$FFLAGS
+ compiler=$CC
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+ GCC=$G77
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test no = "$can_build_shared" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)=$G77
+ _LT_TAGVAR(LD, $1)=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_LANG_PUSH(Fortran)
+
+if test -z "$FC" || test no = "$FC"; then
+ _lt_disable_FC=yes
+fi
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working. Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test yes != "$_lt_disable_FC"; then
+ # Code to be used in simple compile tests
+ lt_simple_compile_test_code="\
+ subroutine t
+ return
+ end
+"
+
+ # Code to be used in simple link tests
+ lt_simple_link_test_code="\
+ program t
+ end
+"
+
+ # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+ _LT_TAG_COMPILER
+
+ # save warnings/boilerplate of simple test code
+ _LT_COMPILER_BOILERPLATE
+ _LT_LINKER_BOILERPLATE
+
+ # Allow CC to be a program name with arguments.
+ lt_save_CC=$CC
+ lt_save_GCC=$GCC
+ lt_save_CFLAGS=$CFLAGS
+ CC=${FC-"f95"}
+ CFLAGS=$FCFLAGS
+ compiler=$CC
+ GCC=$ac_cv_fc_compiler_gnu
+
+ _LT_TAGVAR(compiler, $1)=$CC
+ _LT_CC_BASENAME([$compiler])
+
+ if test -n "$compiler"; then
+ AC_MSG_CHECKING([if libtool supports shared libraries])
+ AC_MSG_RESULT([$can_build_shared])
+
+ AC_MSG_CHECKING([whether to build shared libraries])
+ test no = "$can_build_shared" && enable_shared=no
+
+ # On AIX, shared libraries and static libraries use the same namespace, and
+ # are all built from PIC.
+ case $host_os in
+ aix3*)
+ test yes = "$enable_shared" && enable_static=no
+ if test -n "$RANLIB"; then
+ archive_cmds="$archive_cmds~\$RANLIB \$lib"
+ postinstall_cmds='$RANLIB $lib'
+ fi
+ ;;
+ aix[[4-9]]*)
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
+ fi
+ ;;
+ esac
+ AC_MSG_RESULT([$enable_shared])
+
+ AC_MSG_CHECKING([whether to build static libraries])
+ # Make sure either enable_shared or enable_static is yes.
+ test yes = "$enable_shared" || enable_static=yes
+ AC_MSG_RESULT([$enable_static])
+
+ _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+ _LT_TAGVAR(LD, $1)=$LD
+
+ ## CAVEAT EMPTOR:
+ ## There is no encapsulation within the following macros, do not change
+ ## the running order or otherwise move them around unless you know exactly
+ ## what you are doing...
+ _LT_SYS_HIDDEN_LIBDEPS($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_SYS_DYNAMIC_LINKER($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+ fi # test -n "$compiler"
+
+ GCC=$lt_save_GCC
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_FC"
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)=$LD
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+ _LT_COMPILER_NO_RTTI($1)
+ _LT_COMPILER_PIC($1)
+ _LT_COMPILER_C_O($1)
+ _LT_COMPILER_FILE_LOCKS($1)
+ _LT_LINKER_SHLIBS($1)
+ _LT_LINKER_HARDCODE_LIBPATH($1)
+
+ _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined. These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to 'libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code=$lt_simple_compile_test_code
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+CFLAGS=
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+ :
+ _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+ [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+ [AC_CHECK_TOOL(GCJ, gcj,)
+ test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
+ AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible. Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+ [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into #
+# GNU Autoconf as AC_PROG_SED. When it is available in #
+# a released version of Autoconf we should remove this #
+# macro and use it instead. #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for lt_ac_prog in sed gsed; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+ lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+ fi
+ done
+ done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+ test ! -f "$lt_ac_sed" && continue
+ cat /dev/null > conftest.in
+ lt_ac_count=0
+ echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+ # Check for GNU sed and select it if it is found.
+ if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+ lt_cv_path_SED=$lt_ac_sed
+ break
+ fi
+ while true; do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo >>conftest.nl
+ $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+ cmp -s conftest.out conftest.nl || break
+ # 10000 chars as input seems more than enough
+ test 10 -lt "$lt_ac_count" && break
+ lt_ac_count=`expr $lt_ac_count + 1`
+ if test "$lt_ac_count" -gt "$lt_ac_max"; then
+ lt_ac_max=$lt_ac_count
+ lt_cv_path_SED=$lt_ac_sed
+ fi
+ done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ lt_unset=unset
+else
+ lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+ # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+ lt_SP2NL='tr \040 \012'
+ lt_NL2SP='tr \015\012 \040\040'
+ ;;
+ *) # EBCDIC based system
+ lt_SP2NL='tr \100 \n'
+ lt_NL2SP='tr \r\n \100\100'
+ ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine what file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+ ;;
+ esac
+ ;;
+ *-*-cygwin* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+ ;;
+ *-*-cygwin* )
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+ * ) # otherwise, assume *nix
+ lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+ ;;
+ esac
+ ;;
+ * ) # unhandled hosts (and "normal" native builds)
+ lt_cv_to_host_file_cmd=func_convert_file_noop
+ ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+ [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+ *-*-mingw* )
+ case $build in
+ *-*-mingw* ) # actually msys
+ lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+ ;;
+ esac
+ ;;
+esac
+])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+ [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644
index 00000000..07421d92
--- /dev/null
+++ b/m4/ltoptions.m4
@@ -0,0 +1,437 @@
+# Helper functions for option handling. -*- Autoconf -*-
+#
+# Copyright (C) 2004-2005, 2007-2009, 2011-2018 Free Software
+# Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 8 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it. Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+ _LT_MANGLE_DEFUN([$1], [$2]),
+ [m4_warning([Unknown $1 option '$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+ [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME. If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+ [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+ dnl
+ dnl Simply set some default values (i.e off) if boolean options were not
+ dnl specified:
+ _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+ ])
+ _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+ ])
+ dnl
+ dnl If no reference was made to various pairs of opposing options, then
+ dnl we run the default mode handler for the pair. For example, if neither
+ dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
+ dnl archives by default:
+ _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+ _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+ _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+ [_LT_ENABLE_FAST_INSTALL])
+ _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+ [_LT_WITH_AIX_SONAME([aix])])
+ ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+ AC_CHECK_TOOL(AS, as, false)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
+ ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS], [1], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_shared=yes ;;
+ no) enable_shared=no ;;
+ *)
+ enable_shared=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_shared=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
+ [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_static=yes ;;
+ no) enable_static=no ;;
+ *)
+ enable_static=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_static=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+ _LT_DECL([build_old_libs], [enable_static], [0],
+ [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+ [p=${PACKAGE-default}
+ case $enableval in
+ yes) enable_fast_install=yes ;;
+ no) enable_fast_install=no ;;
+ *)
+ enable_fast_install=no
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$pkg" = "X$p"; then
+ enable_fast_install=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+ [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the 'disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+ AC_MSG_CHECKING([which variant of shared library versioning to provide])
+ AC_ARG_WITH([aix-soname],
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+ [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+ [case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname],
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+ with_aix_soname=$lt_cv_with_aix_soname])
+ AC_MSG_RESULT([$with_aix_soname])
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+ [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
+# LT_INIT options.
+# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+ [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for lt_pkg in $withval; do
+ IFS=$lt_save_ifs
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [pic_mode=m4_default([$1], [default])])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the 'pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+ [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+ [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+ [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+ [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+ [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644
index 00000000..3985c568
--- /dev/null
+++ b/m4/ltsugar.m4
@@ -0,0 +1,124 @@
+# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
+#
+# Copyright (C) 2004-2005, 2007-2008, 2011-2018 Free Software
+# Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+ [$#], [2], [[$2]],
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59, which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+ [$#], 1, [],
+ [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+ [m4_foreach([_Lt_suffix],
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+ [lt_append([$1], [$2], [$3])$4],
+ [$5])],
+ [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+ [$5],
+ [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644
index 00000000..86b2ad72
--- /dev/null
+++ b/m4/ltversion.m4
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers -*- Autoconf -*-
+#
+# Copyright (C) 2004, 2011-2018 Free Software Foundation, Inc.
+# Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# @configure_input@
+
+# serial 4221 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.4.6.42-b88ce])
+m4_define([LT_PACKAGE_REVISION], [2.4.6.42])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.4.6.42-b88ce'
+macro_revision='2.4.6.42'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644
index 00000000..54ea1c42
--- /dev/null
+++ b/m4/lt~obsolete.m4
@@ -0,0 +1,99 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
+#
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2018 Free Software
+# Foundation, Inc.
+# Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 5 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else. This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
+m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
+m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
+m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
+m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
+m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
diff --git a/m4/nls.m4 b/m4/nls.m4
new file mode 100644
index 00000000..afdb9cac
--- /dev/null
+++ b/m4/nls.m4
@@ -0,0 +1,32 @@
+# nls.m4 serial 5 (gettext-0.18)
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016 Free Software
+dnl Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.50])
+
+AC_DEFUN([AM_NLS],
+[
+ AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE([nls],
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT([$USE_NLS])
+ AC_SUBST([USE_NLS])
+])
diff --git a/m4/po.m4 b/m4/po.m4
new file mode 100644
index 00000000..c5a2f6bf
--- /dev/null
+++ b/m4/po.m4
@@ -0,0 +1,453 @@
+# po.m4 serial 24 (gettext-0.19)
+dnl Copyright (C) 1995-2014, 2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ([2.60])
+
+dnl Checks for all prerequisites of the po subdirectory.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_INSTALL])dnl
+ AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+ AC_REQUIRE([AC_PROG_SED])dnl
+ AC_REQUIRE([AM_NLS])dnl
+
+ dnl Release version of the gettext macros. This is used to ensure that
+ dnl the gettext macros and po/Makefile.in.in are in sync.
+ AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
+
+ dnl Perform the following tests also if --disable-nls has been given,
+ dnl because they are needed for "make dist" to work.
+
+ dnl Search for GNU msgfmt in the PATH.
+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
+ dnl The second test excludes FreeBSD msgfmt.
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
+
+ dnl Test whether it is GNU msgfmt >= 0.15.
+changequote(,)dnl
+ case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
+ *) MSGFMT_015=$MSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([MSGFMT_015])
+changequote(,)dnl
+ case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
+ *) GMSGFMT_015=$GMSGFMT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([GMSGFMT_015])
+
+ dnl Search for GNU xgettext 0.12 or newer in the PATH.
+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
+ dnl The second test excludes FreeBSD xgettext.
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
+ (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
+ :)
+ dnl Remove leftover from FreeBSD xgettext call.
+ rm -f messages.po
+
+ dnl Test whether it is GNU xgettext >= 0.15.
+changequote(,)dnl
+ case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
+ *) XGETTEXT_015=$XGETTEXT ;;
+ esac
+changequote([,])dnl
+ AC_SUBST([XGETTEXT_015])
+
+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
+
+ dnl Installation directories.
+ dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
+ dnl have to define it here, so that it can be used in po/Makefile.
+ test -n "$localedir" || localedir='${datadir}/locale'
+ AC_SUBST([localedir])
+
+ dnl Support for AM_XGETTEXT_OPTION.
+ test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+ AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
+
+ AC_CONFIG_COMMANDS([po-directories], [[
+ for ac_file in $CONFIG_FILES; do
+ # Support "outfile[:infile[:infile...]]"
+ case "$ac_file" in
+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ esac
+ # PO directories have a Makefile.in generated from Makefile.in.in.
+ case "$ac_file" in */Makefile.in)
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+ # Treat a directory as a PO directory if and only if it has a
+ # POTFILES.in file. This allows packages to have multiple PO
+ # directories under different names or in different locations.
+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+ rm -f "$ac_dir/POTFILES"
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+ gt_tab=`printf '\t'`
+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
+ POMAKEFILEDEPS="POTFILES.in"
+ # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
+ # on $ac_dir but don't depend on user-specified configuration
+ # parameters.
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # The set of available languages was given in configure.in.
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
+ fi
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ done
+ fi
+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
+ if test -f "$f"; then
+ case "$f" in
+ *.orig | *.bak | *~) ;;
+ *) cat "$f" >> "$ac_dir/Makefile" ;;
+ esac
+ fi
+ done
+ fi
+ ;;
+ esac
+ done]],
+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
+ # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
+ # from automake < 1.5.
+ eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
+ LINGUAS="${LINGUAS-%UNSET%}"
+ ])
+])
+
+dnl Postprocesses a Makefile in a directory containing PO files.
+AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
+[
+ # When this code is run, in config.status, two variables have already been
+ # set:
+ # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
+ # - LINGUAS is the value of the environment variable LINGUAS at configure
+ # time.
+
+changequote(,)dnl
+ # Adjust a relative srcdir.
+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+ ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+ # In autoconf-2.13 it is called $ac_given_srcdir.
+ # In autoconf-2.50 it is called $srcdir.
+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+ case "$ac_given_srcdir" in
+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+ /*) top_srcdir="$ac_given_srcdir" ;;
+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ # Find a way to echo strings without interpreting backslash.
+ if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='echo'
+ else
+ if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
+ gt_echo='printf %s\n'
+ else
+ echo_func () {
+ cat <<EOT
+$*
+EOT
+ }
+ gt_echo='echo_func'
+ fi
+ fi
+
+ # A sed script that extracts the value of VARIABLE from a Makefile.
+ tab=`printf '\t'`
+ sed_x_variable='
+# Test if the hold space is empty.
+x
+s/P/P/
+x
+ta
+# Yes it was empty. Look if we have the expected variable definition.
+/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
+ # Seen the first line of the variable definition.
+ s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
+ ba
+}
+bd
+:a
+# Here we are processing a line from the variable definition.
+# Remove comment, more precisely replace it with a space.
+s/#.*$/ /
+# See if the line ends in a backslash.
+tb
+:b
+s/\\$//
+# Print the line, without the trailing backslash.
+p
+tc
+# There was no trailing backslash. The end of the variable definition is
+# reached. Clear the hold space.
+s/^.*$//
+x
+bd
+:c
+# A trailing backslash means that the variable definition continues in the
+# next line. Put a nonempty string into the hold space to indicate this.
+s/^.*$/P/
+x
+:d
+'
+changequote([,])dnl
+
+ # Set POTFILES to the value of the Makefile variable POTFILES.
+ sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
+ POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
+ # Compute POTFILES_DEPS as
+ # $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
+ POTFILES_DEPS=
+ for file in $POTFILES; do
+ POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
+ done
+ POMAKEFILEDEPS=""
+
+ if test -n "$OBSOLETE_ALL_LINGUAS"; then
+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+ fi
+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+ # The LINGUAS file contains the set of available languages.
+ ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+ POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
+ else
+ # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
+ sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
+ ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
+ fi
+ # Hide the ALL_LINGUAS assignment from automake < 1.5.
+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+ # Compute POFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
+ # Compute UPDATEPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
+ # Compute DUMMYPOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
+ # Compute GMOFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
+ # Compute PROPERTIESFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
+ # Compute CLASSFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
+ # Compute QMFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
+ # Compute MSGFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
+ # Compute RESOURCESDLLFILES
+ # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
+ case "$ac_given_srcdir" in
+ .) srcdirpre= ;;
+ *) srcdirpre='$(srcdir)/' ;;
+ esac
+ POFILES=
+ UPDATEPOFILES=
+ DUMMYPOFILES=
+ GMOFILES=
+ PROPERTIESFILES=
+ CLASSFILES=
+ QMFILES=
+ MSGFILES=
+ RESOURCESDLLFILES=
+ for lang in $ALL_LINGUAS; do
+ POFILES="$POFILES $srcdirpre$lang.po"
+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+ PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
+ CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
+ QMFILES="$QMFILES $srcdirpre$lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
+ # environment variable.
+ INST_LINGUAS=
+ if test -n "$ALL_LINGUAS"; then
+ for presentlang in $ALL_LINGUAS; do
+ useit=no
+ if test "%UNSET%" != "$LINGUAS"; then
+ desiredlanguages="$LINGUAS"
+ else
+ desiredlanguages="$ALL_LINGUAS"
+ fi
+ for desiredlang in $desiredlanguages; do
+ # Use the presentlang catalog if desiredlang is
+ # a. equal to presentlang, or
+ # b. a variant of presentlang (because in this case,
+ # presentlang can be used as a fallback for messages
+ # which are not translated in the desiredlang catalog).
+ case "$desiredlang" in
+ "$presentlang"*) useit=yes;;
+ esac
+ done
+ if test $useit = yes; then
+ INST_LINGUAS="$INST_LINGUAS $presentlang"
+ fi
+ done
+ fi
+ CATALOGS=
+ JAVACATALOGS=
+ QTCATALOGS=
+ TCLCATALOGS=
+ CSHARPCATALOGS=
+ if test -n "$INST_LINGUAS"; then
+ for lang in $INST_LINGUAS; do
+ CATALOGS="$CATALOGS $lang.gmo"
+ JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
+ QTCATALOGS="$QTCATALOGS $lang.qm"
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
+ done
+ fi
+
+ sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
+ tab=`printf '\t'`
+ if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang.msg: $lang.po
+${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
+${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
+ # Add dependencies that cannot be formulated as a simple suffix rule.
+ for lang in $ALL_LINGUAS; do
+ frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
+ cat >> "$ac_file.tmp" <<EOF
+$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
+${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
+${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
+EOF
+ done
+ fi
+ if test -n "$POMAKEFILEDEPS"; then
+ cat >> "$ac_file.tmp" <<EOF
+Makefile: $POMAKEFILEDEPS
+EOF
+ fi
+ mv "$ac_file.tmp" "$ac_file"
+])
+
+dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
+AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
+[
+ XGETTEXT_EXTRA_OPTIONS=
+])
+
+dnl Registers an option to be passed to xgettext in the po subdirectory.
+AC_DEFUN([AM_XGETTEXT_OPTION],
+[
+ AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
+ XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
+])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
new file mode 100644
index 00000000..9ace7c34
--- /dev/null
+++ b/m4/progtest.m4
@@ -0,0 +1,91 @@
+# progtest.m4 serial 7 (gettext-0.18.2)
+dnl Copyright (C) 1996-2003, 2005, 2008-2016 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+AC_PREREQ([2.50])
+
+# Search path for a program which passes the given test.
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
+[
+# Prepare PATH_SEPARATOR.
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
+ # contains only /bin. Note that ksh looks also at the FPATH variable,
+ # so we have to set that as well for the test.
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
+ || PATH_SEPARATOR=';'
+ }
+fi
+
+# Find out how to test for executable files. Don't use a zero-byte file,
+# as systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+ ac_executable_p="test -x"
+else
+ ac_executable_p="test -f"
+fi
+rm -f conf$$.file
+
+# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL([ac_cv_path_$1],
+[case "[$]$1" in
+ [[\\/]]* | ?:[[\\/]]*)
+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+ ;;
+ *)
+ ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
+ IFS="$ac_save_IFS"
+ test -z "$ac_dir" && ac_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
+ echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
+ if [$3]; then
+ ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
+ break 2
+ fi
+ fi
+ done
+ done
+ IFS="$ac_save_IFS"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+ ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+ AC_MSG_RESULT([$][$1])
+else
+ AC_MSG_RESULT([no])
+fi
+AC_SUBST([$1])dnl
+])
diff --git a/missing b/missing
new file mode 100755
index 00000000..625aeb11
--- /dev/null
+++ b/missing
@@ -0,0 +1,215 @@
+#! /bin/sh
+# Common wrapper for a few potentially missing GNU programs.
+
+scriptversion=2018-03-07.03; # UTC
+
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+fi
+
+case $1 in
+
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
+
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+
+Supported PROGRAM values:
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
+
+perl_URL=https://www.perl.org/
+flex_URL=https://github.com/westes/flex
+gnu_software_URL=https://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/plugins/Makefile.in b/plugins/Makefile.in
new file mode 100644
index 00000000..5ca6fd96
--- /dev/null
+++ b/plugins/Makefile.in
@@ -0,0 +1,4709 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@WITH_QMI_TRUE@am__append_1 = $(QMI_CFLAGS)
+@WITH_QMI_TRUE@am__append_2 = $(QMI_LIBS)
+@WITH_MBIM_TRUE@am__append_3 = $(MBIM_CFLAGS)
+@WITH_MBIM_TRUE@am__append_4 = $(MBIM_LIBS)
+noinst_PROGRAMS = test-modem-helpers-icera$(EXEEXT) \
+ test-modem-helpers-mbm$(EXEEXT) \
+ test-modem-helpers-sierra$(EXEEXT) \
+ test-modem-helpers-xmm$(EXEEXT) test-service-generic$(EXEEXT) \
+ test-modem-helpers-huawei$(EXEEXT) \
+ test-modem-helpers-linktop$(EXEEXT) \
+ test-modem-helpers-cinterion$(EXEEXT) \
+ test-modem-helpers-thuraya$(EXEEXT) \
+ test-modem-helpers-altair-lte$(EXEEXT) \
+ test-modem-helpers-telit$(EXEEXT) \
+ test-modem-helpers-ublox$(EXEEXT) test-udev-rules$(EXEEXT)
+@WITH_MBIM_TRUE@am__append_5 = \
+@WITH_MBIM_TRUE@ xmm/mm-broadband-modem-mbim-xmm.h \
+@WITH_MBIM_TRUE@ xmm/mm-broadband-modem-mbim-xmm.c \
+@WITH_MBIM_TRUE@ $(NULL)
+
+@WITH_QMI_TRUE@am__append_6 = \
+@WITH_QMI_TRUE@ cinterion/mm-broadband-modem-qmi-cinterion.c \
+@WITH_QMI_TRUE@ cinterion/mm-broadband-modem-qmi-cinterion.h \
+@WITH_QMI_TRUE@ $(NULL)
+
+@WITH_MBIM_TRUE@am__append_7 = \
+@WITH_MBIM_TRUE@ dell/mm-broadband-modem-dell-dw5821e.h \
+@WITH_MBIM_TRUE@ dell/mm-broadband-modem-dell-dw5821e.c \
+@WITH_MBIM_TRUE@ $(NULL)
+
+@WITH_QMI_TRUE@am__append_8 = \
+@WITH_QMI_TRUE@ quectel/mm-broadband-modem-qmi-quectel.c \
+@WITH_QMI_TRUE@ quectel/mm-broadband-modem-qmi-quectel.h \
+@WITH_QMI_TRUE@ $(NULL)
+
+subdir = plugins
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(dist_udevrules_DATA) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(udevrulesdir)"
+LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkglib_LTLIBRARIES)
+libhelpers_altair_lte_la_LIBADD =
+am__dirstamp = $(am__leading_dot)dirstamp
+am_libhelpers_altair_lte_la_OBJECTS = \
+ altair/mm-modem-helpers-altair-lte.lo
+libhelpers_altair_lte_la_OBJECTS = \
+ $(am_libhelpers_altair_lte_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libhelpers_cinterion_la_LIBADD =
+am_libhelpers_cinterion_la_OBJECTS = \
+ cinterion/mm-modem-helpers-cinterion.lo
+libhelpers_cinterion_la_OBJECTS = \
+ $(am_libhelpers_cinterion_la_OBJECTS)
+libhelpers_huawei_la_LIBADD =
+am_libhelpers_huawei_la_OBJECTS = huawei/mm-modem-helpers-huawei.lo
+libhelpers_huawei_la_OBJECTS = $(am_libhelpers_huawei_la_OBJECTS)
+libhelpers_icera_la_LIBADD =
+am_libhelpers_icera_la_OBJECTS = icera/mm-modem-helpers-icera.lo
+libhelpers_icera_la_OBJECTS = $(am_libhelpers_icera_la_OBJECTS)
+libhelpers_linktop_la_LIBADD =
+am_libhelpers_linktop_la_OBJECTS = \
+ linktop/mm-modem-helpers-linktop.lo
+libhelpers_linktop_la_OBJECTS = $(am_libhelpers_linktop_la_OBJECTS)
+libhelpers_mbm_la_LIBADD =
+am_libhelpers_mbm_la_OBJECTS = mbm/mm-modem-helpers-mbm.lo
+libhelpers_mbm_la_OBJECTS = $(am_libhelpers_mbm_la_OBJECTS)
+libhelpers_sierra_la_LIBADD =
+am_libhelpers_sierra_la_OBJECTS = sierra/mm-modem-helpers-sierra.lo
+libhelpers_sierra_la_OBJECTS = $(am_libhelpers_sierra_la_OBJECTS)
+libhelpers_telit_la_LIBADD =
+am_libhelpers_telit_la_OBJECTS = \
+ telit/libhelpers_telit_la-mm-modem-helpers-telit.lo
+am__objects_1 = telit/libhelpers_telit_la-mm-telit-enums-types.lo
+nodist_libhelpers_telit_la_OBJECTS = $(am__objects_1)
+libhelpers_telit_la_OBJECTS = $(am_libhelpers_telit_la_OBJECTS) \
+ $(nodist_libhelpers_telit_la_OBJECTS)
+libhelpers_thuraya_la_LIBADD =
+am_libhelpers_thuraya_la_OBJECTS = \
+ thuraya/mm-modem-helpers-thuraya.lo
+libhelpers_thuraya_la_OBJECTS = $(am_libhelpers_thuraya_la_OBJECTS)
+libhelpers_ublox_la_LIBADD =
+am_libhelpers_ublox_la_OBJECTS = \
+ ublox/libhelpers_ublox_la-mm-modem-helpers-ublox.lo
+am__objects_2 = ublox/libhelpers_ublox_la-mm-ublox-enums-types.lo
+nodist_libhelpers_ublox_la_OBJECTS = $(am__objects_2)
+libhelpers_ublox_la_OBJECTS = $(am_libhelpers_ublox_la_OBJECTS) \
+ $(nodist_libhelpers_ublox_la_OBJECTS)
+libhelpers_xmm_la_LIBADD =
+am_libhelpers_xmm_la_OBJECTS = xmm/mm-modem-helpers-xmm.lo
+libhelpers_xmm_la_OBJECTS = $(am_libhelpers_xmm_la_OBJECTS)
+libmm_plugin_altair_lte_la_DEPENDENCIES = \
+ $(builddir)/libhelpers-altair-lte.la
+am_libmm_plugin_altair_lte_la_OBJECTS = \
+ altair/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.lo \
+ altair/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.lo \
+ altair/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.lo
+libmm_plugin_altair_lte_la_OBJECTS = \
+ $(am_libmm_plugin_altair_lte_la_OBJECTS)
+libmm_plugin_altair_lte_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_altair_lte_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_anydata_la_LIBADD =
+am_libmm_plugin_anydata_la_OBJECTS = \
+ anydata/libmm_plugin_anydata_la-mm-plugin-anydata.lo \
+ anydata/libmm_plugin_anydata_la-mm-broadband-modem-anydata.lo
+libmm_plugin_anydata_la_OBJECTS = \
+ $(am_libmm_plugin_anydata_la_OBJECTS)
+libmm_plugin_anydata_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_anydata_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_cinterion_la_DEPENDENCIES = \
+ $(builddir)/libhelpers-cinterion.la
+am__libmm_plugin_cinterion_la_SOURCES_DIST = \
+ cinterion/mm-plugin-cinterion.c \
+ cinterion/mm-plugin-cinterion.h \
+ cinterion/mm-shared-cinterion.c \
+ cinterion/mm-shared-cinterion.h \
+ cinterion/mm-broadband-modem-cinterion.c \
+ cinterion/mm-broadband-modem-cinterion.h \
+ cinterion/mm-broadband-bearer-cinterion.c \
+ cinterion/mm-broadband-bearer-cinterion.h \
+ cinterion/mm-broadband-modem-qmi-cinterion.c \
+ cinterion/mm-broadband-modem-qmi-cinterion.h
+@WITH_QMI_TRUE@am__objects_3 = cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.lo
+am_libmm_plugin_cinterion_la_OBJECTS = \
+ cinterion/libmm_plugin_cinterion_la-mm-plugin-cinterion.lo \
+ cinterion/libmm_plugin_cinterion_la-mm-shared-cinterion.lo \
+ cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.lo \
+ cinterion/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.lo \
+ $(am__objects_3)
+libmm_plugin_cinterion_la_OBJECTS = \
+ $(am_libmm_plugin_cinterion_la_OBJECTS)
+libmm_plugin_cinterion_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_cinterion_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+am__DEPENDENCIES_1 = $(builddir)/libhelpers-telit.la \
+ $(builddir)/libmm-utils-telit.la
+libmm_plugin_dell_la_DEPENDENCIES = $(NOVATEL_COMMON_LIBADD_FLAGS) \
+ $(SIERRA_COMMON_LIBADD_FLAGS) $(am__DEPENDENCIES_1) \
+ $(XMM_COMMON_LIBADD_FLAGS) $(MBM_COMMON_LIBADD_FLAGS)
+am__libmm_plugin_dell_la_SOURCES_DIST = dell/mm-plugin-dell.c \
+ dell/mm-plugin-dell.h dell/mm-broadband-modem-dell-dw5821e.h \
+ dell/mm-broadband-modem-dell-dw5821e.c
+@WITH_MBIM_TRUE@am__objects_4 = dell/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.lo
+am_libmm_plugin_dell_la_OBJECTS = \
+ dell/libmm_plugin_dell_la-mm-plugin-dell.lo $(am__objects_4)
+libmm_plugin_dell_la_OBJECTS = $(am_libmm_plugin_dell_la_OBJECTS)
+libmm_plugin_dell_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_dell_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_ericsson_mbm_la_DEPENDENCIES = \
+ $(MBM_COMMON_LIBADD_FLAGS)
+am_libmm_plugin_ericsson_mbm_la_OBJECTS = \
+ mbm/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.lo
+libmm_plugin_ericsson_mbm_la_OBJECTS = \
+ $(am_libmm_plugin_ericsson_mbm_la_OBJECTS)
+libmm_plugin_ericsson_mbm_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_ericsson_mbm_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_fibocom_la_DEPENDENCIES = $(XMM_COMMON_LIBADD_FLAGS)
+am_libmm_plugin_fibocom_la_OBJECTS = \
+ fibocom/libmm_plugin_fibocom_la-mm-plugin-fibocom.lo
+libmm_plugin_fibocom_la_OBJECTS = \
+ $(am_libmm_plugin_fibocom_la_OBJECTS)
+libmm_plugin_fibocom_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_fibocom_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_generic_la_LIBADD =
+am_libmm_plugin_generic_la_OBJECTS = \
+ generic/libmm_plugin_generic_la-mm-plugin-generic.lo
+libmm_plugin_generic_la_OBJECTS = \
+ $(am_libmm_plugin_generic_la_OBJECTS)
+libmm_plugin_generic_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_generic_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_haier_la_LIBADD =
+am_libmm_plugin_haier_la_OBJECTS = \
+ haier/libmm_plugin_haier_la-mm-plugin-haier.lo
+libmm_plugin_haier_la_OBJECTS = $(am_libmm_plugin_haier_la_OBJECTS)
+libmm_plugin_haier_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_haier_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_huawei_la_DEPENDENCIES = \
+ $(builddir)/libhelpers-huawei.la
+am_libmm_plugin_huawei_la_OBJECTS = \
+ huawei/libmm_plugin_huawei_la-mm-plugin-huawei.lo \
+ huawei/libmm_plugin_huawei_la-mm-sim-huawei.lo \
+ huawei/libmm_plugin_huawei_la-mm-call-huawei.lo \
+ huawei/libmm_plugin_huawei_la-mm-broadband-modem-huawei.lo \
+ huawei/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.lo
+libmm_plugin_huawei_la_OBJECTS = $(am_libmm_plugin_huawei_la_OBJECTS)
+libmm_plugin_huawei_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_huawei_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_iridium_la_LIBADD =
+am_libmm_plugin_iridium_la_OBJECTS = \
+ iridium/libmm_plugin_iridium_la-mm-plugin-iridium.lo \
+ iridium/libmm_plugin_iridium_la-mm-broadband-modem-iridium.lo \
+ iridium/libmm_plugin_iridium_la-mm-bearer-iridium.lo \
+ iridium/libmm_plugin_iridium_la-mm-sim-iridium.lo
+libmm_plugin_iridium_la_OBJECTS = \
+ $(am_libmm_plugin_iridium_la_OBJECTS)
+libmm_plugin_iridium_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_iridium_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_linktop_la_DEPENDENCIES = \
+ $(builddir)/libhelpers-linktop.la
+am_libmm_plugin_linktop_la_OBJECTS = \
+ linktop/libmm_plugin_linktop_la-mm-plugin-linktop.lo \
+ linktop/libmm_plugin_linktop_la-mm-broadband-modem-linktop.lo
+libmm_plugin_linktop_la_OBJECTS = \
+ $(am_libmm_plugin_linktop_la_OBJECTS)
+libmm_plugin_linktop_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_linktop_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_longcheer_la_LIBADD =
+am_libmm_plugin_longcheer_la_OBJECTS = \
+ longcheer/libmm_plugin_longcheer_la-mm-plugin-longcheer.lo \
+ longcheer/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.lo
+libmm_plugin_longcheer_la_OBJECTS = \
+ $(am_libmm_plugin_longcheer_la_OBJECTS)
+libmm_plugin_longcheer_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_longcheer_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_motorola_la_LIBADD =
+am_libmm_plugin_motorola_la_OBJECTS = \
+ motorola/libmm_plugin_motorola_la-mm-plugin-motorola.lo \
+ motorola/libmm_plugin_motorola_la-mm-broadband-modem-motorola.lo
+libmm_plugin_motorola_la_OBJECTS = \
+ $(am_libmm_plugin_motorola_la_OBJECTS)
+libmm_plugin_motorola_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_motorola_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_mtk_la_LIBADD =
+am_libmm_plugin_mtk_la_OBJECTS = \
+ mtk/libmm_plugin_mtk_la-mm-plugin-mtk.lo \
+ mtk/libmm_plugin_mtk_la-mm-broadband-modem-mtk.lo
+libmm_plugin_mtk_la_OBJECTS = $(am_libmm_plugin_mtk_la_OBJECTS)
+libmm_plugin_mtk_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_mtk_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_nokia_icera_la_DEPENDENCIES = \
+ $(ICERA_COMMON_LIBADD_FLAGS)
+am_libmm_plugin_nokia_icera_la_OBJECTS = \
+ nokia/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.lo
+libmm_plugin_nokia_icera_la_OBJECTS = \
+ $(am_libmm_plugin_nokia_icera_la_OBJECTS)
+libmm_plugin_nokia_icera_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_nokia_icera_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_nokia_la_LIBADD =
+am_libmm_plugin_nokia_la_OBJECTS = \
+ nokia/libmm_plugin_nokia_la-mm-plugin-nokia.lo \
+ nokia/libmm_plugin_nokia_la-mm-sim-nokia.lo \
+ nokia/libmm_plugin_nokia_la-mm-broadband-modem-nokia.lo
+libmm_plugin_nokia_la_OBJECTS = $(am_libmm_plugin_nokia_la_OBJECTS)
+libmm_plugin_nokia_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_nokia_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_novatel_lte_la_LIBADD =
+am_libmm_plugin_novatel_lte_la_OBJECTS = \
+ novatel/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.lo \
+ novatel/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.lo \
+ novatel/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.lo \
+ novatel/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.lo
+libmm_plugin_novatel_lte_la_OBJECTS = \
+ $(am_libmm_plugin_novatel_lte_la_OBJECTS)
+libmm_plugin_novatel_lte_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_novatel_lte_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_novatel_la_DEPENDENCIES = $(NOVATEL_COMMON_LIBADD_FLAGS)
+am_libmm_plugin_novatel_la_OBJECTS = \
+ novatel/libmm_plugin_novatel_la-mm-plugin-novatel.lo
+libmm_plugin_novatel_la_OBJECTS = \
+ $(am_libmm_plugin_novatel_la_OBJECTS)
+libmm_plugin_novatel_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_novatel_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_option_hso_la_DEPENDENCIES = \
+ $(OPTION_COMMON_LIBADD_FLAGS)
+am_libmm_plugin_option_hso_la_OBJECTS = \
+ option/libmm_plugin_option_hso_la-mm-plugin-hso.lo \
+ option/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.lo \
+ option/libmm_plugin_option_hso_la-mm-broadband-modem-hso.lo
+libmm_plugin_option_hso_la_OBJECTS = \
+ $(am_libmm_plugin_option_hso_la_OBJECTS)
+libmm_plugin_option_hso_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_option_hso_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_option_la_DEPENDENCIES = $(OPTION_COMMON_LIBADD_FLAGS)
+am_libmm_plugin_option_la_OBJECTS = \
+ option/libmm_plugin_option_la-mm-plugin-option.lo
+libmm_plugin_option_la_OBJECTS = $(am_libmm_plugin_option_la_OBJECTS)
+libmm_plugin_option_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_option_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_pantech_la_LIBADD =
+am_libmm_plugin_pantech_la_OBJECTS = \
+ pantech/libmm_plugin_pantech_la-mm-plugin-pantech.lo \
+ pantech/libmm_plugin_pantech_la-mm-sim-pantech.lo \
+ pantech/libmm_plugin_pantech_la-mm-broadband-modem-pantech.lo
+libmm_plugin_pantech_la_OBJECTS = \
+ $(am_libmm_plugin_pantech_la_OBJECTS)
+libmm_plugin_pantech_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_pantech_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_quectel_la_LIBADD =
+am__libmm_plugin_quectel_la_SOURCES_DIST = \
+ quectel/mm-plugin-quectel.c quectel/mm-plugin-quectel.h \
+ quectel/mm-shared-quectel.c quectel/mm-shared-quectel.h \
+ quectel/mm-broadband-modem-quectel.c \
+ quectel/mm-broadband-modem-quectel.h \
+ quectel/mm-broadband-modem-qmi-quectel.c \
+ quectel/mm-broadband-modem-qmi-quectel.h
+@WITH_QMI_TRUE@am__objects_5 = quectel/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.lo
+am_libmm_plugin_quectel_la_OBJECTS = \
+ quectel/libmm_plugin_quectel_la-mm-plugin-quectel.lo \
+ quectel/libmm_plugin_quectel_la-mm-shared-quectel.lo \
+ quectel/libmm_plugin_quectel_la-mm-broadband-modem-quectel.lo \
+ $(am__objects_5)
+libmm_plugin_quectel_la_OBJECTS = \
+ $(am_libmm_plugin_quectel_la_OBJECTS)
+libmm_plugin_quectel_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_quectel_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_samsung_la_DEPENDENCIES = $(ICERA_COMMON_LIBADD_FLAGS)
+am_libmm_plugin_samsung_la_OBJECTS = \
+ samsung/libmm_plugin_samsung_la-mm-plugin-samsung.lo \
+ samsung/libmm_plugin_samsung_la-mm-broadband-modem-samsung.lo
+libmm_plugin_samsung_la_OBJECTS = \
+ $(am_libmm_plugin_samsung_la_OBJECTS)
+libmm_plugin_samsung_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_samsung_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_sierra_legacy_la_DEPENDENCIES = \
+ $(ICERA_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS)
+am_libmm_plugin_sierra_legacy_la_OBJECTS = sierra/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.lo \
+ sierra/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.lo
+libmm_plugin_sierra_legacy_la_OBJECTS = \
+ $(am_libmm_plugin_sierra_legacy_la_OBJECTS)
+libmm_plugin_sierra_legacy_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) \
+ $(libmm_plugin_sierra_legacy_la_LDFLAGS) $(LDFLAGS) -o $@
+libmm_plugin_sierra_la_LIBADD =
+am_libmm_plugin_sierra_la_OBJECTS = \
+ sierra/libmm_plugin_sierra_la-mm-plugin-sierra.lo
+libmm_plugin_sierra_la_OBJECTS = $(am_libmm_plugin_sierra_la_OBJECTS)
+libmm_plugin_sierra_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_sierra_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_simtech_la_LIBADD =
+am_libmm_plugin_simtech_la_OBJECTS = \
+ simtech/libmm_plugin_simtech_la-mm-plugin-simtech.lo \
+ simtech/libmm_plugin_simtech_la-mm-broadband-modem-simtech.lo
+libmm_plugin_simtech_la_OBJECTS = \
+ $(am_libmm_plugin_simtech_la_OBJECTS)
+libmm_plugin_simtech_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_simtech_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_telit_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_libmm_plugin_telit_la_OBJECTS = \
+ telit/libmm_plugin_telit_la-mm-plugin-telit.lo
+libmm_plugin_telit_la_OBJECTS = $(am_libmm_plugin_telit_la_OBJECTS)
+libmm_plugin_telit_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_telit_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_thuraya_la_DEPENDENCIES = \
+ $(builddir)/libhelpers-thuraya.la
+am_libmm_plugin_thuraya_la_OBJECTS = \
+ thuraya/libmm_plugin_thuraya_la-mm-plugin-thuraya.lo \
+ thuraya/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.lo
+libmm_plugin_thuraya_la_OBJECTS = \
+ $(am_libmm_plugin_thuraya_la_OBJECTS)
+libmm_plugin_thuraya_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_thuraya_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_ublox_la_DEPENDENCIES = $(builddir)/libhelpers-ublox.la
+am_libmm_plugin_ublox_la_OBJECTS = \
+ ublox/libmm_plugin_ublox_la-mm-plugin-ublox.lo \
+ ublox/libmm_plugin_ublox_la-mm-call-ublox.lo \
+ ublox/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.lo \
+ ublox/libmm_plugin_ublox_la-mm-broadband-modem-ublox.lo \
+ ublox/libmm_plugin_ublox_la-mm-sim-ublox.lo
+libmm_plugin_ublox_la_OBJECTS = $(am_libmm_plugin_ublox_la_OBJECTS)
+libmm_plugin_ublox_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_ublox_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_via_la_LIBADD =
+am_libmm_plugin_via_la_OBJECTS = \
+ via/libmm_plugin_via_la-mm-plugin-via.lo \
+ via/libmm_plugin_via_la-mm-broadband-modem-via.lo
+libmm_plugin_via_la_OBJECTS = $(am_libmm_plugin_via_la_OBJECTS)
+libmm_plugin_via_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_via_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_wavecom_la_LIBADD =
+am_libmm_plugin_wavecom_la_OBJECTS = \
+ wavecom/libmm_plugin_wavecom_la-mm-plugin-wavecom.lo \
+ wavecom/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.lo
+libmm_plugin_wavecom_la_OBJECTS = \
+ $(am_libmm_plugin_wavecom_la_OBJECTS)
+libmm_plugin_wavecom_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_wavecom_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_x22x_la_LIBADD =
+am_libmm_plugin_x22x_la_OBJECTS = \
+ x22x/libmm_plugin_x22x_la-mm-plugin-x22x.lo \
+ x22x/libmm_plugin_x22x_la-mm-broadband-modem-x22x.lo
+libmm_plugin_x22x_la_OBJECTS = $(am_libmm_plugin_x22x_la_OBJECTS)
+libmm_plugin_x22x_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_x22x_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_plugin_zte_la_DEPENDENCIES = $(ICERA_COMMON_LIBADD_FLAGS)
+am_libmm_plugin_zte_la_OBJECTS = \
+ zte/libmm_plugin_zte_la-mm-plugin-zte.lo \
+ zte/libmm_plugin_zte_la-mm-common-zte.lo \
+ zte/libmm_plugin_zte_la-mm-broadband-modem-zte.lo \
+ zte/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.lo
+libmm_plugin_zte_la_OBJECTS = $(am_libmm_plugin_zte_la_OBJECTS)
+libmm_plugin_zte_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(libmm_plugin_zte_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
+libmm_test_common_la_DEPENDENCIES = ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_libmm_test_common_la_OBJECTS = \
+ tests/libmm_test_common_la-test-fixture.lo \
+ tests/libmm_test_common_la-test-port-context.lo
+libmm_test_common_la_OBJECTS = $(am_libmm_test_common_la_OBJECTS)
+libmm_utils_icera_la_DEPENDENCIES = $(builddir)/libhelpers-icera.la
+am_libmm_utils_icera_la_OBJECTS = icera/mm-broadband-modem-icera.lo \
+ icera/mm-broadband-bearer-icera.lo
+libmm_utils_icera_la_OBJECTS = $(am_libmm_utils_icera_la_OBJECTS)
+libmm_utils_mbm_la_DEPENDENCIES = $(builddir)/libhelpers-mbm.la
+am_libmm_utils_mbm_la_OBJECTS = mbm/mm-broadband-modem-mbm.lo \
+ mbm/mm-broadband-bearer-mbm.lo mbm/mm-sim-mbm.lo
+libmm_utils_mbm_la_OBJECTS = $(am_libmm_utils_mbm_la_OBJECTS)
+libmm_utils_novatel_la_LIBADD =
+am_libmm_utils_novatel_la_OBJECTS = novatel/mm-common-novatel.lo \
+ novatel/mm-broadband-modem-novatel.lo
+libmm_utils_novatel_la_OBJECTS = $(am_libmm_utils_novatel_la_OBJECTS)
+libmm_utils_option_la_LIBADD =
+am_libmm_utils_option_la_OBJECTS = \
+ option/mm-broadband-modem-option.lo
+libmm_utils_option_la_OBJECTS = $(am_libmm_utils_option_la_OBJECTS)
+libmm_utils_sierra_la_DEPENDENCIES = $(builddir)/libhelpers-sierra.la
+am_libmm_utils_sierra_la_OBJECTS = sierra/mm-common-sierra.lo \
+ sierra/mm-sim-sierra.lo sierra/mm-broadband-bearer-sierra.lo \
+ sierra/mm-broadband-modem-sierra.lo
+libmm_utils_sierra_la_OBJECTS = $(am_libmm_utils_sierra_la_OBJECTS)
+libmm_utils_telit_la_LIBADD =
+am_libmm_utils_telit_la_OBJECTS = \
+ telit/libmm_utils_telit_la-mm-common-telit.lo \
+ telit/libmm_utils_telit_la-mm-broadband-modem-telit.lo
+libmm_utils_telit_la_OBJECTS = $(am_libmm_utils_telit_la_OBJECTS)
+libmm_utils_xmm_la_DEPENDENCIES = $(builddir)/libhelpers-xmm.la
+am__libmm_utils_xmm_la_SOURCES_DIST = xmm/mm-shared-xmm.h \
+ xmm/mm-shared-xmm.c xmm/mm-broadband-modem-xmm.h \
+ xmm/mm-broadband-modem-xmm.c xmm/mm-broadband-modem-mbim-xmm.h \
+ xmm/mm-broadband-modem-mbim-xmm.c
+@WITH_MBIM_TRUE@am__objects_6 = xmm/mm-broadband-modem-mbim-xmm.lo
+am_libmm_utils_xmm_la_OBJECTS = xmm/mm-shared-xmm.lo \
+ xmm/mm-broadband-modem-xmm.lo $(am__objects_6)
+libmm_utils_xmm_la_OBJECTS = $(am_libmm_utils_xmm_la_OBJECTS)
+am_test_modem_helpers_altair_lte_OBJECTS = altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.$(OBJEXT)
+test_modem_helpers_altair_lte_OBJECTS = \
+ $(am_test_modem_helpers_altair_lte_OBJECTS)
+test_modem_helpers_altair_lte_DEPENDENCIES = \
+ $(builddir)/libhelpers-altair-lte.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_cinterion_OBJECTS = cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.$(OBJEXT)
+test_modem_helpers_cinterion_OBJECTS = \
+ $(am_test_modem_helpers_cinterion_OBJECTS)
+test_modem_helpers_cinterion_DEPENDENCIES = \
+ $(builddir)/libhelpers-cinterion.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_huawei_OBJECTS = huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.$(OBJEXT)
+test_modem_helpers_huawei_OBJECTS = \
+ $(am_test_modem_helpers_huawei_OBJECTS)
+test_modem_helpers_huawei_DEPENDENCIES = \
+ $(builddir)/libhelpers-huawei.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_icera_OBJECTS = icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.$(OBJEXT)
+test_modem_helpers_icera_OBJECTS = \
+ $(am_test_modem_helpers_icera_OBJECTS)
+test_modem_helpers_icera_DEPENDENCIES = \
+ $(builddir)/libhelpers-icera.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_linktop_OBJECTS = linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.$(OBJEXT)
+test_modem_helpers_linktop_OBJECTS = \
+ $(am_test_modem_helpers_linktop_OBJECTS)
+test_modem_helpers_linktop_DEPENDENCIES = \
+ $(builddir)/libhelpers-linktop.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_mbm_OBJECTS = mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.$(OBJEXT)
+test_modem_helpers_mbm_OBJECTS = $(am_test_modem_helpers_mbm_OBJECTS)
+test_modem_helpers_mbm_DEPENDENCIES = $(builddir)/libhelpers-mbm.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_sierra_OBJECTS = sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.$(OBJEXT)
+test_modem_helpers_sierra_OBJECTS = \
+ $(am_test_modem_helpers_sierra_OBJECTS)
+test_modem_helpers_sierra_DEPENDENCIES = \
+ $(builddir)/libhelpers-sierra.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_telit_OBJECTS = telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.$(OBJEXT)
+test_modem_helpers_telit_OBJECTS = \
+ $(am_test_modem_helpers_telit_OBJECTS)
+test_modem_helpers_telit_DEPENDENCIES = \
+ $(builddir)/libhelpers-telit.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_thuraya_OBJECTS = thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.$(OBJEXT)
+test_modem_helpers_thuraya_OBJECTS = \
+ $(am_test_modem_helpers_thuraya_OBJECTS)
+test_modem_helpers_thuraya_DEPENDENCIES = \
+ $(builddir)/libhelpers-thuraya.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_ublox_OBJECTS = ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.$(OBJEXT)
+test_modem_helpers_ublox_OBJECTS = \
+ $(am_test_modem_helpers_ublox_OBJECTS)
+test_modem_helpers_ublox_DEPENDENCIES = \
+ $(builddir)/libhelpers-ublox.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_modem_helpers_xmm_OBJECTS = xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.$(OBJEXT)
+test_modem_helpers_xmm_OBJECTS = $(am_test_modem_helpers_xmm_OBJECTS)
+test_modem_helpers_xmm_DEPENDENCIES = $(builddir)/libhelpers-xmm.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am_test_service_generic_OBJECTS = generic/tests/test_service_generic-test-service-generic.$(OBJEXT)
+test_service_generic_OBJECTS = $(am_test_service_generic_OBJECTS)
+test_service_generic_DEPENDENCIES = $(TEST_COMMON_LIBADD_FLAGS)
+am_test_udev_rules_OBJECTS = tests/test-udev-rules.$(OBJEXT)
+test_udev_rules_OBJECTS = $(am_test_udev_rules_OBJECTS)
+test_udev_rules_DEPENDENCIES = $(top_builddir)/src/libkerneldevice.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.Plo \
+ altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.Plo \
+ altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.Plo \
+ altair/$(DEPDIR)/mm-modem-helpers-altair-lte.Plo \
+ altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Po \
+ anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-broadband-modem-anydata.Plo \
+ anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-plugin-anydata.Plo \
+ cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.Plo \
+ cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.Plo \
+ cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.Plo \
+ cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-plugin-cinterion.Plo \
+ cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-shared-cinterion.Plo \
+ cinterion/$(DEPDIR)/mm-modem-helpers-cinterion.Plo \
+ cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Po \
+ dell/$(DEPDIR)/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.Plo \
+ dell/$(DEPDIR)/libmm_plugin_dell_la-mm-plugin-dell.Plo \
+ fibocom/$(DEPDIR)/libmm_plugin_fibocom_la-mm-plugin-fibocom.Plo \
+ generic/$(DEPDIR)/libmm_plugin_generic_la-mm-plugin-generic.Plo \
+ generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Po \
+ haier/$(DEPDIR)/libmm_plugin_haier_la-mm-plugin-haier.Plo \
+ huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.Plo \
+ huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-modem-huawei.Plo \
+ huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-call-huawei.Plo \
+ huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-plugin-huawei.Plo \
+ huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-sim-huawei.Plo \
+ huawei/$(DEPDIR)/mm-modem-helpers-huawei.Plo \
+ huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Po \
+ icera/$(DEPDIR)/mm-broadband-bearer-icera.Plo \
+ icera/$(DEPDIR)/mm-broadband-modem-icera.Plo \
+ icera/$(DEPDIR)/mm-modem-helpers-icera.Plo \
+ icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Po \
+ iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-bearer-iridium.Plo \
+ iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-broadband-modem-iridium.Plo \
+ iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-plugin-iridium.Plo \
+ iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-sim-iridium.Plo \
+ linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-broadband-modem-linktop.Plo \
+ linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-plugin-linktop.Plo \
+ linktop/$(DEPDIR)/mm-modem-helpers-linktop.Plo \
+ linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Po \
+ longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.Plo \
+ longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-plugin-longcheer.Plo \
+ mbm/$(DEPDIR)/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.Plo \
+ mbm/$(DEPDIR)/mm-broadband-bearer-mbm.Plo \
+ mbm/$(DEPDIR)/mm-broadband-modem-mbm.Plo \
+ mbm/$(DEPDIR)/mm-modem-helpers-mbm.Plo \
+ mbm/$(DEPDIR)/mm-sim-mbm.Plo \
+ mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Po \
+ motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-broadband-modem-motorola.Plo \
+ motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-plugin-motorola.Plo \
+ mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-broadband-modem-mtk.Plo \
+ mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-plugin-mtk.Plo \
+ nokia/$(DEPDIR)/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.Plo \
+ nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-broadband-modem-nokia.Plo \
+ nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-plugin-nokia.Plo \
+ nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-sim-nokia.Plo \
+ novatel/$(DEPDIR)/libmm_plugin_novatel_la-mm-plugin-novatel.Plo \
+ novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.Plo \
+ novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.Plo \
+ novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.Plo \
+ novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.Plo \
+ novatel/$(DEPDIR)/mm-broadband-modem-novatel.Plo \
+ novatel/$(DEPDIR)/mm-common-novatel.Plo \
+ option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.Plo \
+ option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-modem-hso.Plo \
+ option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-plugin-hso.Plo \
+ option/$(DEPDIR)/libmm_plugin_option_la-mm-plugin-option.Plo \
+ option/$(DEPDIR)/mm-broadband-modem-option.Plo \
+ pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-broadband-modem-pantech.Plo \
+ pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-plugin-pantech.Plo \
+ pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-sim-pantech.Plo \
+ quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.Plo \
+ quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-quectel.Plo \
+ quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-plugin-quectel.Plo \
+ quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-shared-quectel.Plo \
+ samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-broadband-modem-samsung.Plo \
+ samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-plugin-samsung.Plo \
+ sierra/$(DEPDIR)/libmm_plugin_sierra_la-mm-plugin-sierra.Plo \
+ sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.Plo \
+ sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.Plo \
+ sierra/$(DEPDIR)/mm-broadband-bearer-sierra.Plo \
+ sierra/$(DEPDIR)/mm-broadband-modem-sierra.Plo \
+ sierra/$(DEPDIR)/mm-common-sierra.Plo \
+ sierra/$(DEPDIR)/mm-modem-helpers-sierra.Plo \
+ sierra/$(DEPDIR)/mm-sim-sierra.Plo \
+ sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Po \
+ simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-broadband-modem-simtech.Plo \
+ simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-plugin-simtech.Plo \
+ telit/$(DEPDIR)/libhelpers_telit_la-mm-modem-helpers-telit.Plo \
+ telit/$(DEPDIR)/libhelpers_telit_la-mm-telit-enums-types.Plo \
+ telit/$(DEPDIR)/libmm_plugin_telit_la-mm-plugin-telit.Plo \
+ telit/$(DEPDIR)/libmm_utils_telit_la-mm-broadband-modem-telit.Plo \
+ telit/$(DEPDIR)/libmm_utils_telit_la-mm-common-telit.Plo \
+ telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Po \
+ tests/$(DEPDIR)/libmm_test_common_la-test-fixture.Plo \
+ tests/$(DEPDIR)/libmm_test_common_la-test-port-context.Plo \
+ tests/$(DEPDIR)/test-udev-rules.Po \
+ thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.Plo \
+ thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-plugin-thuraya.Plo \
+ thuraya/$(DEPDIR)/mm-modem-helpers-thuraya.Plo \
+ thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Po \
+ ublox/$(DEPDIR)/libhelpers_ublox_la-mm-modem-helpers-ublox.Plo \
+ ublox/$(DEPDIR)/libhelpers_ublox_la-mm-ublox-enums-types.Plo \
+ ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.Plo \
+ ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-modem-ublox.Plo \
+ ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-call-ublox.Plo \
+ ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-plugin-ublox.Plo \
+ ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-sim-ublox.Plo \
+ ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Po \
+ via/$(DEPDIR)/libmm_plugin_via_la-mm-broadband-modem-via.Plo \
+ via/$(DEPDIR)/libmm_plugin_via_la-mm-plugin-via.Plo \
+ wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.Plo \
+ wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-plugin-wavecom.Plo \
+ x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-broadband-modem-x22x.Plo \
+ x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-plugin-x22x.Plo \
+ xmm/$(DEPDIR)/mm-broadband-modem-mbim-xmm.Plo \
+ xmm/$(DEPDIR)/mm-broadband-modem-xmm.Plo \
+ xmm/$(DEPDIR)/mm-modem-helpers-xmm.Plo \
+ xmm/$(DEPDIR)/mm-shared-xmm.Plo \
+ xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Po \
+ zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.Plo \
+ zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte.Plo \
+ zte/$(DEPDIR)/libmm_plugin_zte_la-mm-common-zte.Plo \
+ zte/$(DEPDIR)/libmm_plugin_zte_la-mm-plugin-zte.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libhelpers_altair_lte_la_SOURCES) \
+ $(libhelpers_cinterion_la_SOURCES) \
+ $(libhelpers_huawei_la_SOURCES) $(libhelpers_icera_la_SOURCES) \
+ $(libhelpers_linktop_la_SOURCES) $(libhelpers_mbm_la_SOURCES) \
+ $(libhelpers_sierra_la_SOURCES) $(libhelpers_telit_la_SOURCES) \
+ $(nodist_libhelpers_telit_la_SOURCES) \
+ $(libhelpers_thuraya_la_SOURCES) \
+ $(libhelpers_ublox_la_SOURCES) \
+ $(nodist_libhelpers_ublox_la_SOURCES) \
+ $(libhelpers_xmm_la_SOURCES) \
+ $(libmm_plugin_altair_lte_la_SOURCES) \
+ $(libmm_plugin_anydata_la_SOURCES) \
+ $(libmm_plugin_cinterion_la_SOURCES) \
+ $(libmm_plugin_dell_la_SOURCES) \
+ $(libmm_plugin_ericsson_mbm_la_SOURCES) \
+ $(libmm_plugin_fibocom_la_SOURCES) \
+ $(libmm_plugin_generic_la_SOURCES) \
+ $(libmm_plugin_haier_la_SOURCES) \
+ $(libmm_plugin_huawei_la_SOURCES) \
+ $(libmm_plugin_iridium_la_SOURCES) \
+ $(libmm_plugin_linktop_la_SOURCES) \
+ $(libmm_plugin_longcheer_la_SOURCES) \
+ $(libmm_plugin_motorola_la_SOURCES) \
+ $(libmm_plugin_mtk_la_SOURCES) \
+ $(libmm_plugin_nokia_icera_la_SOURCES) \
+ $(libmm_plugin_nokia_la_SOURCES) \
+ $(libmm_plugin_novatel_lte_la_SOURCES) \
+ $(libmm_plugin_novatel_la_SOURCES) \
+ $(libmm_plugin_option_hso_la_SOURCES) \
+ $(libmm_plugin_option_la_SOURCES) \
+ $(libmm_plugin_pantech_la_SOURCES) \
+ $(libmm_plugin_quectel_la_SOURCES) \
+ $(libmm_plugin_samsung_la_SOURCES) \
+ $(libmm_plugin_sierra_legacy_la_SOURCES) \
+ $(libmm_plugin_sierra_la_SOURCES) \
+ $(libmm_plugin_simtech_la_SOURCES) \
+ $(libmm_plugin_telit_la_SOURCES) \
+ $(libmm_plugin_thuraya_la_SOURCES) \
+ $(libmm_plugin_ublox_la_SOURCES) \
+ $(libmm_plugin_via_la_SOURCES) \
+ $(libmm_plugin_wavecom_la_SOURCES) \
+ $(libmm_plugin_x22x_la_SOURCES) $(libmm_plugin_zte_la_SOURCES) \
+ $(libmm_test_common_la_SOURCES) \
+ $(libmm_utils_icera_la_SOURCES) $(libmm_utils_mbm_la_SOURCES) \
+ $(libmm_utils_novatel_la_SOURCES) \
+ $(libmm_utils_option_la_SOURCES) \
+ $(libmm_utils_sierra_la_SOURCES) \
+ $(libmm_utils_telit_la_SOURCES) $(libmm_utils_xmm_la_SOURCES) \
+ $(test_modem_helpers_altair_lte_SOURCES) \
+ $(test_modem_helpers_cinterion_SOURCES) \
+ $(test_modem_helpers_huawei_SOURCES) \
+ $(test_modem_helpers_icera_SOURCES) \
+ $(test_modem_helpers_linktop_SOURCES) \
+ $(test_modem_helpers_mbm_SOURCES) \
+ $(test_modem_helpers_sierra_SOURCES) \
+ $(test_modem_helpers_telit_SOURCES) \
+ $(test_modem_helpers_thuraya_SOURCES) \
+ $(test_modem_helpers_ublox_SOURCES) \
+ $(test_modem_helpers_xmm_SOURCES) \
+ $(test_service_generic_SOURCES) $(test_udev_rules_SOURCES)
+DIST_SOURCES = $(libhelpers_altair_lte_la_SOURCES) \
+ $(libhelpers_cinterion_la_SOURCES) \
+ $(libhelpers_huawei_la_SOURCES) $(libhelpers_icera_la_SOURCES) \
+ $(libhelpers_linktop_la_SOURCES) $(libhelpers_mbm_la_SOURCES) \
+ $(libhelpers_sierra_la_SOURCES) $(libhelpers_telit_la_SOURCES) \
+ $(libhelpers_thuraya_la_SOURCES) \
+ $(libhelpers_ublox_la_SOURCES) $(libhelpers_xmm_la_SOURCES) \
+ $(libmm_plugin_altair_lte_la_SOURCES) \
+ $(libmm_plugin_anydata_la_SOURCES) \
+ $(am__libmm_plugin_cinterion_la_SOURCES_DIST) \
+ $(am__libmm_plugin_dell_la_SOURCES_DIST) \
+ $(libmm_plugin_ericsson_mbm_la_SOURCES) \
+ $(libmm_plugin_fibocom_la_SOURCES) \
+ $(libmm_plugin_generic_la_SOURCES) \
+ $(libmm_plugin_haier_la_SOURCES) \
+ $(libmm_plugin_huawei_la_SOURCES) \
+ $(libmm_plugin_iridium_la_SOURCES) \
+ $(libmm_plugin_linktop_la_SOURCES) \
+ $(libmm_plugin_longcheer_la_SOURCES) \
+ $(libmm_plugin_motorola_la_SOURCES) \
+ $(libmm_plugin_mtk_la_SOURCES) \
+ $(libmm_plugin_nokia_icera_la_SOURCES) \
+ $(libmm_plugin_nokia_la_SOURCES) \
+ $(libmm_plugin_novatel_lte_la_SOURCES) \
+ $(libmm_plugin_novatel_la_SOURCES) \
+ $(libmm_plugin_option_hso_la_SOURCES) \
+ $(libmm_plugin_option_la_SOURCES) \
+ $(libmm_plugin_pantech_la_SOURCES) \
+ $(am__libmm_plugin_quectel_la_SOURCES_DIST) \
+ $(libmm_plugin_samsung_la_SOURCES) \
+ $(libmm_plugin_sierra_legacy_la_SOURCES) \
+ $(libmm_plugin_sierra_la_SOURCES) \
+ $(libmm_plugin_simtech_la_SOURCES) \
+ $(libmm_plugin_telit_la_SOURCES) \
+ $(libmm_plugin_thuraya_la_SOURCES) \
+ $(libmm_plugin_ublox_la_SOURCES) \
+ $(libmm_plugin_via_la_SOURCES) \
+ $(libmm_plugin_wavecom_la_SOURCES) \
+ $(libmm_plugin_x22x_la_SOURCES) $(libmm_plugin_zte_la_SOURCES) \
+ $(libmm_test_common_la_SOURCES) \
+ $(libmm_utils_icera_la_SOURCES) $(libmm_utils_mbm_la_SOURCES) \
+ $(libmm_utils_novatel_la_SOURCES) \
+ $(libmm_utils_option_la_SOURCES) \
+ $(libmm_utils_sierra_la_SOURCES) \
+ $(libmm_utils_telit_la_SOURCES) \
+ $(am__libmm_utils_xmm_la_SOURCES_DIST) \
+ $(test_modem_helpers_altair_lte_SOURCES) \
+ $(test_modem_helpers_cinterion_SOURCES) \
+ $(test_modem_helpers_huawei_SOURCES) \
+ $(test_modem_helpers_icera_SOURCES) \
+ $(test_modem_helpers_linktop_SOURCES) \
+ $(test_modem_helpers_mbm_SOURCES) \
+ $(test_modem_helpers_sierra_SOURCES) \
+ $(test_modem_helpers_telit_SOURCES) \
+ $(test_modem_helpers_thuraya_SOURCES) \
+ $(test_modem_helpers_ublox_SOURCES) \
+ $(test_modem_helpers_xmm_SOURCES) \
+ $(test_service_generic_SOURCES) $(test_udev_rules_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+DATA = $(dist_udevrules_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
+ $(top_srcdir)/gtester.make
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+GTESTER = gtester
+GTESTER_REPORT = gtester-report
+
+# initialize variables for unconditional += appending
+EXTRA_DIST = tests/gsm-port.conf
+
+################################################################################
+TEST_PROGS = $(noinst_PROGRAMS)
+
+################################################################################
+# common
+################################################################################
+AM_CFLAGS = $(MM_CFLAGS) $(CODE_COVERAGE_CFLAGS) $(GUDEV_CFLAGS) \
+ -I$(top_srcdir) -I$(top_srcdir)/src -I$(top_builddir)/src \
+ -I$(top_srcdir)/src/kerneldevice -I$(top_srcdir)/include \
+ -I$(top_builddir)/include -I$(top_srcdir)/libmm-glib \
+ -I$(top_srcdir)/libmm-glib/generated \
+ -I$(top_builddir)/libmm-glib/generated $(NULL) $(am__append_1) \
+ $(am__append_3) -DTESTUDEVRULESDIR_HUAWEI=\"${srcdir}/huawei\" \
+ -DTESTUDEVRULESDIR_MBM=\"${srcdir}/mbm\" \
+ -DTESTUDEVRULESDIR_NOKIA=\"${srcdir}/nokia\" \
+ -DTESTUDEVRULESDIR_ZTE=\"${srcdir}/zte\" \
+ -DTESTUDEVRULESDIR_LONGCHEER=\"${srcdir}/longcheer\" \
+ -DTESTUDEVRULESDIR_SIMTECH=\"${srcdir}/simtech\" \
+ -DTESTUDEVRULESDIR_X22X=\"${srcdir}/x22x\" \
+ -DTESTUDEVRULESDIR_CINTERION=\"${srcdir}/cinterion\" \
+ -DTESTUDEVRULESDIR_TELIT=\"${srcdir}/telit\" \
+ -DTESTUDEVRULESDIR_MTK=\"${srcdir}/mtk\" \
+ -DTESTUDEVRULESDIR_HAIER=\"${srcdir}/haier\" \
+ -DTESTUDEVRULESDIR_DELL=\"${srcdir}/dell\" \
+ -DTESTUDEVRULESDIR_FIBOCOM=\"${srcdir}/fibocom\"
+AM_LDFLAGS = $(MM_LIBS) $(CODE_COVERAGE_LDFLAGS) $(GUDEV_LIBS) $(NULL) \
+ $(am__append_2) $(am__append_4)
+
+# Common compiler/linker flags for plugins
+PLUGIN_COMMON_COMPILER_FLAGS = \
+ $(NULL)
+
+PLUGIN_COMMON_LINKER_FLAGS = \
+ -module \
+ -avoid-version \
+ -export-symbols-regex '^mm_plugin_major_version$$|^mm_plugin_minor_version$$|^mm_plugin_create$$' \
+ $(NULL)
+
+
+# UDev rules
+udevrulesdir = $(UDEV_BASE_DIR)/rules.d
+
+################################################################################
+# plugin: sierra (new QMI or MBIM modems)
+################################################################################
+
+################################################################################
+# plugin: u-blox
+################################################################################
+dist_udevrules_DATA = huawei/77-mm-huawei-net-port-types.rules \
+ mbm/77-mm-ericsson-mbm.rules sierra/77-mm-sierra.rules \
+ nokia/77-mm-nokia-port-types.rules \
+ zte/77-mm-zte-port-types.rules \
+ longcheer/77-mm-longcheer-port-types.rules \
+ simtech/77-mm-simtech-port-types.rules \
+ x22x/77-mm-x22x-port-types.rules \
+ cinterion/77-mm-cinterion-port-types.rules \
+ telit/77-mm-telit-port-types.rules \
+ mtk/77-mm-mtk-port-types.rules \
+ haier/77-mm-haier-port-types.rules \
+ ublox/77-mm-ublox-port-types.rules \
+ dell/77-mm-dell-port-types.rules \
+ fibocom/77-mm-fibocom-port-types.rules
+
+# Helper libs
+
+################################################################################
+# common service test support
+################################################################################
+
+################################################################################
+# common icera support
+################################################################################
+
+################################################################################
+# common ericsson mbm support
+################################################################################
+
+################################################################################
+# common sierra support
+################################################################################
+
+################################################################################
+# common option support
+################################################################################
+
+################################################################################
+# common novatel support
+################################################################################
+
+# Common Novatel modem support library
+
+################################################################################
+# common xmm support
+################################################################################
+
+################################################################################
+# plugin: huawei
+################################################################################
+
+################################################################################
+# plugin: linktop cdma
+################################################################################
+
+################################################################################
+# plugin: cinterion (previously siemens)
+################################################################################
+
+################################################################################
+# plugin: thuraya xt
+################################################################################
+
+################################################################################
+# plugin: altair lte
+################################################################################
+
+# Common telit modem support library
+noinst_LTLIBRARIES = libmm-test-common.la libhelpers-icera.la \
+ libmm-utils-icera.la libhelpers-mbm.la libmm-utils-mbm.la \
+ libhelpers-sierra.la libmm-utils-sierra.la \
+ libmm-utils-option.la libmm-utils-novatel.la libhelpers-xmm.la \
+ libmm-utils-xmm.la libhelpers-huawei.la libhelpers-linktop.la \
+ libhelpers-cinterion.la libhelpers-thuraya.la \
+ libhelpers-altair-lte.la libhelpers-telit.la \
+ libmm-utils-telit.la libhelpers-ublox.la
+
+# Plugins
+
+################################################################################
+# plugin: generic
+################################################################################
+
+################################################################################
+# plugin: motorola
+################################################################################
+
+################################################################################
+# plugin: ericsson mbm
+################################################################################
+
+################################################################################
+# plugin: option
+################################################################################
+
+################################################################################
+# plugin: option hso
+################################################################################
+
+################################################################################
+# plugin: sierra (legacy)
+################################################################################
+
+################################################################################
+# plugin: wavecom (now sierra airlink)
+################################################################################
+
+################################################################################
+# plugin: nokia
+################################################################################
+
+################################################################################
+# plugin: nokia (icera)
+################################################################################
+
+################################################################################
+# plugin: zte
+################################################################################
+
+################################################################################
+# plugin: longcheer (and rebranded dongles)
+################################################################################
+
+################################################################################
+# plugin: anydata cdma
+################################################################################
+
+################################################################################
+# plugin: simtech
+################################################################################
+
+################################################################################
+# plugin: alcatel/TCT/JRD x220D and possibly others
+################################################################################
+
+################################################################################
+# plugin: pantech
+################################################################################
+
+################################################################################
+# plugin: samsung
+################################################################################
+
+################################################################################
+# plugin: iridium
+################################################################################
+
+################################################################################
+# plugin: novatel lte
+################################################################################
+
+################################################################################
+# plugin: novatel non-lte
+################################################################################
+
+################################################################################
+# plugin: via
+################################################################################
+
+################################################################################
+# plugin: mtk
+################################################################################
+
+################################################################################
+# plugin: haier
+################################################################################
+
+################################################################################
+# plugin: dell (novatel, sierra or telit)
+################################################################################
+
+################################################################################
+# plugin: quectel
+################################################################################
+
+################################################################################
+# plugin: fibocom
+################################################################################
+pkglib_LTLIBRARIES = libmm-plugin-generic.la libmm-plugin-motorola.la \
+ libmm-plugin-huawei.la libmm-plugin-ericsson-mbm.la \
+ libmm-plugin-option.la libmm-plugin-option-hso.la \
+ libmm-plugin-sierra.la libmm-plugin-sierra-legacy.la \
+ libmm-plugin-wavecom.la libmm-plugin-nokia.la \
+ libmm-plugin-nokia-icera.la libmm-plugin-zte.la \
+ libmm-plugin-longcheer.la libmm-plugin-anydata.la \
+ libmm-plugin-linktop.la libmm-plugin-simtech.la \
+ libmm-plugin-x22x.la libmm-plugin-pantech.la \
+ libmm-plugin-samsung.la libmm-plugin-cinterion.la \
+ libmm-plugin-iridium.la libmm-plugin-thuraya.la \
+ libmm-plugin-novatel-lte.la libmm-plugin-novatel.la \
+ libmm-plugin-altair-lte.la libmm-plugin-via.la \
+ libmm-plugin-telit.la libmm-plugin-mtk.la \
+ libmm-plugin-haier.la libmm-plugin-ublox.la \
+ libmm-plugin-dell.la libmm-plugin-quectel.la \
+ libmm-plugin-fibocom.la
+
+# Built sources
+BUILT_SOURCES = $(TELIT_ENUMS_GENERATED) $(UBLOX_ENUMS_GENERATED)
+
+# Clean files
+CLEANFILES = $(TELIT_ENUMS_GENERATED) $(UBLOX_ENUMS_GENERATED)
+libmm_test_common_la_SOURCES = \
+ tests/test-fixture.h \
+ tests/test-fixture.c \
+ tests/test-port-context.h \
+ tests/test-port-context.c \
+ $(NULL)
+
+libmm_test_common_la_CPPFLAGS = \
+ -I$(top_builddir)/libmm-glib/generated/tests \
+ -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\" \
+ $(NULL)
+
+libmm_test_common_la_LIBADD = \
+ ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+
+TEST_COMMON_COMPILER_FLAGS = \
+ $(MM_CFLAGS) \
+ -I$(top_srcdir)/plugins/tests \
+ -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
+ -I$(top_srcdir)/libmm-glib \
+ -I$(top_srcdir)/libmm-glib/generated \
+ -I$(top_builddir)/libmm-glib/generated \
+ -I$(top_builddir)/libmm-glib/generated/tests \
+ -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
+
+TEST_COMMON_LIBADD_FLAGS = \
+ $(builddir)/libmm-test-common.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+
+libhelpers_icera_la_SOURCES = \
+ icera/mm-modem-helpers-icera.c \
+ icera/mm-modem-helpers-icera.h \
+ $(NULL)
+
+test_modem_helpers_icera_SOURCES = \
+ icera/tests/test-modem-helpers-icera.c \
+ $(NULL)
+
+test_modem_helpers_icera_CPPFLAGS = \
+ -I$(top_srcdir)/plugins/icera \
+ $(NULL)
+
+test_modem_helpers_icera_LDADD = \
+ $(builddir)/libhelpers-icera.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_utils_icera_la_SOURCES = \
+ icera/mm-broadband-modem-icera.h \
+ icera/mm-broadband-modem-icera.c \
+ icera/mm-broadband-bearer-icera.h \
+ icera/mm-broadband-bearer-icera.c \
+ $(NULL)
+
+libmm_utils_icera_la_LIBADD = \
+ $(builddir)/libhelpers-icera.la \
+ $(NULL)
+
+ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
+ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
+libhelpers_mbm_la_SOURCES = \
+ mbm/mm-modem-helpers-mbm.c \
+ mbm/mm-modem-helpers-mbm.h \
+ $(NULL)
+
+test_modem_helpers_mbm_SOURCES = \
+ mbm/tests/test-modem-helpers-mbm.c \
+ $(NULL)
+
+test_modem_helpers_mbm_CPPFLAGS = \
+ -I$(top_srcdir)/plugins/mbm \
+ $(NULL)
+
+test_modem_helpers_mbm_LDADD = \
+ $(builddir)/libhelpers-mbm.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_utils_mbm_la_SOURCES = \
+ mbm/mm-broadband-modem-mbm.c \
+ mbm/mm-broadband-modem-mbm.h \
+ mbm/mm-broadband-bearer-mbm.c \
+ mbm/mm-broadband-bearer-mbm.h \
+ mbm/mm-sim-mbm.c \
+ mbm/mm-sim-mbm.h \
+ $(NULL)
+
+libmm_utils_mbm_la_LIBADD = \
+ $(builddir)/libhelpers-mbm.la \
+ $(NULL)
+
+MBM_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/mbm
+MBM_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-mbm.la
+libhelpers_sierra_la_SOURCES = \
+ sierra/mm-modem-helpers-sierra.c \
+ sierra/mm-modem-helpers-sierra.h \
+ $(NULL)
+
+test_modem_helpers_sierra_SOURCES = \
+ sierra/tests/test-modem-helpers-sierra.c \
+ $(NULL)
+
+test_modem_helpers_sierra_CPPFLAGS = \
+ -I$(top_srcdir)/plugins/sierra \
+ $(NULL)
+
+test_modem_helpers_sierra_LDADD = \
+ $(builddir)/libhelpers-sierra.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_utils_sierra_la_SOURCES = \
+ sierra/mm-common-sierra.c \
+ sierra/mm-common-sierra.h \
+ sierra/mm-sim-sierra.c \
+ sierra/mm-sim-sierra.h \
+ sierra/mm-broadband-bearer-sierra.c \
+ sierra/mm-broadband-bearer-sierra.h \
+ sierra/mm-broadband-modem-sierra.c \
+ sierra/mm-broadband-modem-sierra.h \
+ $(NULL)
+
+libmm_utils_sierra_la_LIBADD = \
+ $(builddir)/libhelpers-sierra.la \
+ $(NULL)
+
+SIERRA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/sierra
+SIERRA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-sierra.la
+libmm_utils_option_la_SOURCES = \
+ option/mm-broadband-modem-option.c \
+ option/mm-broadband-modem-option.h \
+ $(NULL)
+
+OPTION_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/option
+OPTION_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-option.la
+libmm_utils_novatel_la_SOURCES = \
+ novatel/mm-common-novatel.c \
+ novatel/mm-common-novatel.h \
+ novatel/mm-broadband-modem-novatel.c \
+ novatel/mm-broadband-modem-novatel.h \
+ $(NULL)
+
+NOVATEL_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/novatel
+NOVATEL_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-novatel.la
+libhelpers_xmm_la_SOURCES = \
+ xmm/mm-modem-helpers-xmm.c \
+ xmm/mm-modem-helpers-xmm.h \
+ $(NULL)
+
+test_modem_helpers_xmm_SOURCES = \
+ xmm/tests/test-modem-helpers-xmm.c \
+ $(NULL)
+
+test_modem_helpers_xmm_CPPFLAGS = \
+ -I$(top_srcdir)/plugins/xmm \
+ $(NULL)
+
+test_modem_helpers_xmm_LDADD = \
+ $(builddir)/libhelpers-xmm.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_utils_xmm_la_SOURCES = xmm/mm-shared-xmm.h xmm/mm-shared-xmm.c \
+ xmm/mm-broadband-modem-xmm.h xmm/mm-broadband-modem-xmm.c \
+ $(NULL) $(am__append_5)
+libmm_utils_xmm_la_LIBADD = \
+ $(builddir)/libhelpers-xmm.la \
+ $(NULL)
+
+XMM_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/xmm
+XMM_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-xmm.la
+libmm_plugin_generic_la_SOURCES = \
+ generic/mm-plugin-generic.c \
+ generic/mm-plugin-generic.h \
+ $(NULL)
+
+libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+test_service_generic_SOURCES = generic/tests/test-service-generic.c
+test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
+test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
+libmm_plugin_motorola_la_SOURCES = \
+ motorola/mm-plugin-motorola.c \
+ motorola/mm-plugin-motorola.h \
+ motorola/mm-broadband-modem-motorola.c \
+ motorola/mm-broadband-modem-motorola.h \
+ $(NULL)
+
+libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libhelpers_huawei_la_SOURCES = \
+ huawei/mm-modem-helpers-huawei.c \
+ huawei/mm-modem-helpers-huawei.h \
+ $(NULL)
+
+test_modem_helpers_huawei_SOURCES = \
+ huawei/tests/test-modem-helpers-huawei.c \
+ $(NULL)
+
+test_modem_helpers_huawei_CPPFLAGS = \
+ -I$(top_srcdir)/plugins/huawei \
+ $(NULL)
+
+test_modem_helpers_huawei_LDADD = \
+ $(builddir)/libhelpers-huawei.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_plugin_huawei_la_SOURCES = \
+ huawei/mm-plugin-huawei.c \
+ huawei/mm-plugin-huawei.h \
+ huawei/mm-sim-huawei.c \
+ huawei/mm-sim-huawei.h \
+ huawei/mm-call-huawei.c \
+ huawei/mm-call-huawei.h \
+ huawei/mm-broadband-modem-huawei.c \
+ huawei/mm-broadband-modem-huawei.h \
+ huawei/mm-broadband-bearer-huawei.c \
+ huawei/mm-broadband-bearer-huawei.h \
+ $(NULL)
+
+libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_huawei_la_LIBADD = $(builddir)/libhelpers-huawei.la
+libmm_plugin_ericsson_mbm_la_SOURCES = \
+ mbm/mm-plugin-mbm.c \
+ mbm/mm-plugin-mbm.h \
+ $(NULL)
+
+libmm_plugin_ericsson_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(MBM_COMMON_COMPILER_FLAGS)
+libmm_plugin_ericsson_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_ericsson_mbm_la_LIBADD = $(MBM_COMMON_LIBADD_FLAGS)
+libmm_plugin_option_la_SOURCES = \
+ option/mm-plugin-option.c \
+ option/mm-plugin-option.h \
+ $(NULL)
+
+libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(OPTION_COMMON_COMPILER_FLAGS)
+libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_option_la_LIBADD = $(OPTION_COMMON_LIBADD_FLAGS)
+libmm_plugin_option_hso_la_SOURCES = \
+ option/mm-plugin-hso.c \
+ option/mm-plugin-hso.h \
+ option/mm-broadband-bearer-hso.c \
+ option/mm-broadband-bearer-hso.h \
+ option/mm-broadband-modem-hso.c \
+ option/mm-broadband-modem-hso.h \
+ $(NULL)
+
+libmm_plugin_option_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(OPTION_COMMON_COMPILER_FLAGS)
+libmm_plugin_option_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_option_hso_la_LIBADD = $(OPTION_COMMON_LIBADD_FLAGS)
+libmm_plugin_sierra_la_SOURCES = \
+ sierra/mm-plugin-sierra.c \
+ sierra/mm-plugin-sierra.h \
+ $(NULL)
+
+libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_sierra_legacy_la_SOURCES = \
+ sierra/mm-plugin-sierra-legacy.c \
+ sierra/mm-plugin-sierra-legacy.h \
+ sierra/mm-broadband-modem-sierra-icera.c \
+ sierra/mm-broadband-modem-sierra-icera.h \
+ $(NULL)
+
+libmm_plugin_sierra_legacy_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS)
+libmm_plugin_sierra_legacy_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_sierra_legacy_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS)
+libmm_plugin_wavecom_la_SOURCES = \
+ wavecom/mm-plugin-wavecom.c \
+ wavecom/mm-plugin-wavecom.h \
+ wavecom/mm-broadband-modem-wavecom.c \
+ wavecom/mm-broadband-modem-wavecom.h \
+ $(NULL)
+
+libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_nokia_la_SOURCES = \
+ nokia/mm-plugin-nokia.c \
+ nokia/mm-plugin-nokia.h \
+ nokia/mm-sim-nokia.c \
+ nokia/mm-sim-nokia.h \
+ nokia/mm-broadband-modem-nokia.c \
+ nokia/mm-broadband-modem-nokia.h \
+ $(NULL)
+
+libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_nokia_icera_la_SOURCES = \
+ nokia/mm-plugin-nokia-icera.c \
+ nokia/mm-plugin-nokia-icera.h \
+ $(NULL)
+
+libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
+libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
+libmm_plugin_zte_la_SOURCES = \
+ zte/mm-plugin-zte.c \
+ zte/mm-plugin-zte.h \
+ zte/mm-common-zte.h \
+ zte/mm-common-zte.c \
+ zte/mm-broadband-modem-zte.h \
+ zte/mm-broadband-modem-zte.c \
+ zte/mm-broadband-modem-zte-icera.h \
+ zte/mm-broadband-modem-zte-icera.c \
+ $(NULL)
+
+libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
+libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
+libmm_plugin_longcheer_la_SOURCES = \
+ longcheer/mm-plugin-longcheer.c \
+ longcheer/mm-plugin-longcheer.h \
+ longcheer/mm-broadband-modem-longcheer.h \
+ longcheer/mm-broadband-modem-longcheer.c \
+ $(NULL)
+
+libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_anydata_la_SOURCES = \
+ anydata/mm-plugin-anydata.c \
+ anydata/mm-plugin-anydata.h \
+ anydata/mm-broadband-modem-anydata.h \
+ anydata/mm-broadband-modem-anydata.c \
+ $(NULL)
+
+libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libhelpers_linktop_la_SOURCES = \
+ linktop/mm-modem-helpers-linktop.c \
+ linktop/mm-modem-helpers-linktop.h \
+ $(NULL)
+
+test_modem_helpers_linktop_SOURCES = \
+ linktop/tests/test-modem-helpers-linktop.c \
+ $(NULL)
+
+test_modem_helpers_linktop_CPPFLAGS = \
+ -I$(top_srcdir)/plugins/linktop \
+ $(NULL)
+
+test_modem_helpers_linktop_LDADD = \
+ $(builddir)/libhelpers-linktop.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_plugin_linktop_la_SOURCES = \
+ linktop/mm-plugin-linktop.c \
+ linktop/mm-plugin-linktop.h \
+ linktop/mm-broadband-modem-linktop.h \
+ linktop/mm-broadband-modem-linktop.c \
+ $(NULL)
+
+libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_linktop_la_LIBADD = $(builddir)/libhelpers-linktop.la
+libmm_plugin_simtech_la_SOURCES = \
+ simtech/mm-plugin-simtech.c \
+ simtech/mm-plugin-simtech.h \
+ simtech/mm-broadband-modem-simtech.h \
+ simtech/mm-broadband-modem-simtech.c \
+ $(NULL)
+
+libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_x22x_la_SOURCES = \
+ x22x/mm-plugin-x22x.c \
+ x22x/mm-plugin-x22x.h \
+ x22x/mm-broadband-modem-x22x.h \
+ x22x/mm-broadband-modem-x22x.c \
+ $(NULL)
+
+libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_pantech_la_SOURCES = \
+ pantech/mm-plugin-pantech.c \
+ pantech/mm-plugin-pantech.h \
+ pantech/mm-sim-pantech.c \
+ pantech/mm-sim-pantech.h \
+ pantech/mm-broadband-modem-pantech.c \
+ pantech/mm-broadband-modem-pantech.h \
+ $(NULL)
+
+libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_samsung_la_SOURCES = \
+ samsung/mm-plugin-samsung.c \
+ samsung/mm-plugin-samsung.h \
+ samsung/mm-broadband-modem-samsung.c \
+ samsung/mm-broadband-modem-samsung.h \
+ $(NULL)
+
+libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
+libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
+libhelpers_cinterion_la_SOURCES = \
+ cinterion/mm-modem-helpers-cinterion.c \
+ cinterion/mm-modem-helpers-cinterion.h \
+ $(NULL)
+
+test_modem_helpers_cinterion_SOURCES = \
+ cinterion/tests/test-modem-helpers-cinterion.c \
+ $(NULL)
+
+test_modem_helpers_cinterion_CPPFLAGS = \
+ -I$(top_srcdir)/plugins/cinterion \
+ $(NULL)
+
+test_modem_helpers_cinterion_LDADD = \
+ $(builddir)/libhelpers-cinterion.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_plugin_cinterion_la_SOURCES = cinterion/mm-plugin-cinterion.c \
+ cinterion/mm-plugin-cinterion.h \
+ cinterion/mm-shared-cinterion.c \
+ cinterion/mm-shared-cinterion.h \
+ cinterion/mm-broadband-modem-cinterion.c \
+ cinterion/mm-broadband-modem-cinterion.h \
+ cinterion/mm-broadband-bearer-cinterion.c \
+ cinterion/mm-broadband-bearer-cinterion.h $(NULL) \
+ $(am__append_6)
+libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_cinterion_la_LIBADD = $(builddir)/libhelpers-cinterion.la
+libmm_plugin_iridium_la_SOURCES = \
+ iridium/mm-plugin-iridium.c \
+ iridium/mm-plugin-iridium.h \
+ iridium/mm-broadband-modem-iridium.c \
+ iridium/mm-broadband-modem-iridium.h \
+ iridium/mm-bearer-iridium.c \
+ iridium/mm-bearer-iridium.h \
+ iridium/mm-sim-iridium.c \
+ iridium/mm-sim-iridium.h \
+ $(NULL)
+
+libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libhelpers_thuraya_la_SOURCES = \
+ thuraya/mm-modem-helpers-thuraya.c \
+ thuraya/mm-modem-helpers-thuraya.h \
+ $(NULL)
+
+test_modem_helpers_thuraya_SOURCES = \
+ thuraya/tests/test-mm-modem-helpers-thuraya.c \
+ $(NULL)
+
+test_modem_helpers_thuraya_CPPFLAGS = \
+ -I$(top_srcdir)/plugins/thuraya \
+ $(PLUGIN_COMMON_COMPILER_FLAGS) \
+ $(NULL)
+
+test_modem_helpers_thuraya_LDADD = \
+ $(builddir)/libhelpers-thuraya.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_plugin_thuraya_la_SOURCES = \
+ thuraya/mm-plugin-thuraya.c \
+ thuraya/mm-plugin-thuraya.h \
+ thuraya/mm-broadband-modem-thuraya.c \
+ thuraya/mm-broadband-modem-thuraya.h \
+ $(NULL)
+
+libmm_plugin_thuraya_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_thuraya_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_thuraya_la_LIBADD = $(builddir)/libhelpers-thuraya.la
+libmm_plugin_novatel_lte_la_SOURCES = \
+ novatel/mm-plugin-novatel-lte.c \
+ novatel/mm-plugin-novatel-lte.h \
+ novatel/mm-broadband-modem-novatel-lte.c \
+ novatel/mm-broadband-modem-novatel-lte.h \
+ novatel/mm-broadband-bearer-novatel-lte.c \
+ novatel/mm-broadband-bearer-novatel-lte.h \
+ novatel/mm-sim-novatel-lte.c \
+ novatel/mm-sim-novatel-lte.h \
+ $(NULL)
+
+libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_novatel_la_SOURCES = \
+ novatel/mm-plugin-novatel.c \
+ novatel/mm-plugin-novatel.h \
+ $(NULL)
+
+libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS)
+libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
+libhelpers_altair_lte_la_SOURCES = \
+ altair/mm-modem-helpers-altair-lte.c \
+ altair/mm-modem-helpers-altair-lte.h \
+ $(NULL)
+
+test_modem_helpers_altair_lte_SOURCES = \
+ altair/tests/test-modem-helpers-altair-lte.c \
+ $(NULL)
+
+test_modem_helpers_altair_lte_CPPFLAGS = \
+ -I$(top_srcdir)/plugins/altair \
+ $(NULL)
+
+test_modem_helpers_altair_lte_LDADD = \
+ $(builddir)/libhelpers-altair-lte.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_plugin_altair_lte_la_SOURCES = \
+ altair/mm-plugin-altair-lte.c \
+ altair/mm-plugin-altair-lte.h \
+ altair/mm-broadband-modem-altair-lte.c \
+ altair/mm-broadband-modem-altair-lte.h \
+ altair/mm-broadband-bearer-altair-lte.c \
+ altair/mm-broadband-bearer-altair-lte.h \
+ $(NULL)
+
+libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_altair_lte_la_LIBADD = $(builddir)/libhelpers-altair-lte.la
+libmm_plugin_via_la_SOURCES = \
+ via/mm-plugin-via.c \
+ via/mm-plugin-via.h \
+ via/mm-broadband-modem-via.c \
+ via/mm-broadband-modem-via.h \
+ $(NULL)
+
+libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+
+################################################################################
+# plugin: telit
+################################################################################
+PLUGIN_TELIT_COMPILER_FLAGS = \
+ -I$(top_srcdir)/plugins/telit \
+ -I$(top_builddir)/plugins/telit \
+ $(NULL)
+
+TELIT_ENUMS_INPUTS = \
+ $(top_srcdir)/plugins/telit/mm-modem-helpers-telit.h \
+ $(NULL)
+
+TELIT_ENUMS_GENERATED = \
+ telit/mm-telit-enums-types.h \
+ telit/mm-telit-enums-types.c \
+ $(NULL)
+
+libhelpers_telit_la_SOURCES = \
+ telit/mm-modem-helpers-telit.c \
+ telit/mm-modem-helpers-telit.h \
+ $(NULL)
+
+nodist_libhelpers_telit_la_SOURCES = $(TELIT_ENUMS_GENERATED)
+libhelpers_telit_la_CPPFLAGS = $(PLUGIN_TELIT_COMPILER_FLAGS)
+libmm_plugin_telit_la_SOURCES = \
+ telit/mm-plugin-telit.c \
+ telit/mm-plugin-telit.h \
+ $(NULL)
+
+libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(PLUGIN_TELIT_COMPILER_FLAGS)
+libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_telit_la_LIBADD = $(TELIT_COMMON_LIBADD_FLAGS)
+test_modem_helpers_telit_SOURCES = \
+ telit/tests/test-mm-modem-helpers-telit.c \
+ $(NULL)
+
+test_modem_helpers_telit_CPPFLAGS = $(PLUGIN_TELIT_COMPILER_FLAGS)
+test_modem_helpers_telit_LDADD = \
+ $(builddir)/libhelpers-telit.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_utils_telit_la_SOURCES = \
+ telit/mm-common-telit.c \
+ telit/mm-common-telit.h \
+ telit/mm-broadband-modem-telit.c \
+ telit/mm-broadband-modem-telit.h \
+ $(NULL)
+
+libmm_utils_telit_la_CPPFLAGS = $(PLUGIN_TELIT_COMPILER_FLAGS)
+TELIT_COMMON_COMPILER_FLAGS = $(PLUGIN_TELIT_COMPILER_FLAGS)
+TELIT_COMMON_LIBADD_FLAGS = \
+ $(builddir)/libhelpers-telit.la \
+ $(builddir)/libmm-utils-telit.la \
+ $(NULL)
+
+libmm_plugin_mtk_la_SOURCES = \
+ mtk/mm-plugin-mtk.c \
+ mtk/mm-plugin-mtk.h \
+ mtk/mm-broadband-modem-mtk.h \
+ mtk/mm-broadband-modem-mtk.c \
+ $(NULL)
+
+libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_haier_la_SOURCES = \
+ haier/mm-plugin-haier.c \
+ haier/mm-plugin-haier.h \
+ $(NULL)
+
+libmm_plugin_haier_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_haier_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+PLUGIN_UBLOX_COMPILER_FLAGS = \
+ -I$(top_srcdir)/plugins/ublox \
+ -I$(top_builddir)/plugins/ublox \
+ $(NULL)
+
+UBLOX_ENUMS_INPUTS = \
+ $(top_srcdir)/plugins/ublox/mm-modem-helpers-ublox.h \
+ $(NULL)
+
+UBLOX_ENUMS_GENERATED = \
+ ublox/mm-ublox-enums-types.h \
+ ublox/mm-ublox-enums-types.c \
+ $(NULL)
+
+libhelpers_ublox_la_SOURCES = \
+ ublox/mm-modem-helpers-ublox.c \
+ ublox/mm-modem-helpers-ublox.h \
+ $(NULL)
+
+nodist_libhelpers_ublox_la_SOURCES = $(UBLOX_ENUMS_GENERATED)
+libhelpers_ublox_la_CPPFLAGS = $(PLUGIN_UBLOX_COMPILER_FLAGS)
+test_modem_helpers_ublox_SOURCES = \
+ ublox/tests/test-modem-helpers-ublox.c \
+ $(NULL)
+
+test_modem_helpers_ublox_CPPFLAGS = $(PLUGIN_UBLOX_COMPILER_FLAGS)
+test_modem_helpers_ublox_LDADD = \
+ $(builddir)/libhelpers-ublox.la \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+libmm_plugin_ublox_la_SOURCES = \
+ ublox/mm-plugin-ublox.c \
+ ublox/mm-plugin-ublox.h \
+ ublox/mm-call-ublox.c \
+ ublox/mm-call-ublox.h \
+ ublox/mm-broadband-bearer-ublox.h \
+ ublox/mm-broadband-bearer-ublox.c \
+ ublox/mm-broadband-modem-ublox.h \
+ ublox/mm-broadband-modem-ublox.c \
+ ublox/mm-sim-ublox.c \
+ ublox/mm-sim-ublox.h \
+ $(NULL)
+
+libmm_plugin_ublox_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(PLUGIN_UBLOX_COMPILER_FLAGS)
+libmm_plugin_ublox_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_ublox_la_LIBADD = $(builddir)/libhelpers-ublox.la
+libmm_plugin_dell_la_SOURCES = dell/mm-plugin-dell.c \
+ dell/mm-plugin-dell.h $(NULL) $(am__append_7)
+libmm_plugin_dell_la_CPPFLAGS = \
+ $(PLUGIN_COMMON_COMPILER_FLAGS) \
+ $(NOVATEL_COMMON_COMPILER_FLAGS) \
+ $(SIERRA_COMMON_COMPILER_FLAGS) \
+ $(TELIT_COMMON_COMPILER_FLAGS) \
+ $(XMM_COMMON_COMPILER_FLAGS) \
+ $(MBM_COMMON_COMPILER_FLAGS) \
+ $(NULL)
+
+libmm_plugin_dell_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_dell_la_LIBADD = \
+ $(NOVATEL_COMMON_LIBADD_FLAGS) \
+ $(SIERRA_COMMON_LIBADD_FLAGS) \
+ $(TELIT_COMMON_LIBADD_FLAGS) \
+ $(XMM_COMMON_LIBADD_FLAGS) \
+ $(MBM_COMMON_LIBADD_FLAGS) \
+ $(NULL)
+
+libmm_plugin_quectel_la_SOURCES = quectel/mm-plugin-quectel.c \
+ quectel/mm-plugin-quectel.h quectel/mm-shared-quectel.c \
+ quectel/mm-shared-quectel.h \
+ quectel/mm-broadband-modem-quectel.c \
+ quectel/mm-broadband-modem-quectel.h $(NULL) $(am__append_8)
+libmm_plugin_quectel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
+libmm_plugin_quectel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_fibocom_la_SOURCES = \
+ fibocom/mm-plugin-fibocom.c \
+ fibocom/mm-plugin-fibocom.h \
+ $(NULL)
+
+libmm_plugin_fibocom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(XMM_COMMON_COMPILER_FLAGS)
+libmm_plugin_fibocom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
+libmm_plugin_fibocom_la_LIBADD = $(XMM_COMMON_LIBADD_FLAGS)
+test_udev_rules_SOURCES = \
+ tests/test-udev-rules.c \
+ $(NULL)
+
+test_udev_rules_LDADD = \
+ $(top_builddir)/src/libkerneldevice.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtester.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu plugins/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu plugins/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+$(top_srcdir)/gtester.make $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \
+ }
+
+uninstall-pkglibLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \
+ done
+
+clean-pkglibLTLIBRARIES:
+ -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES)
+ @list='$(pkglib_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+altair/$(am__dirstamp):
+ @$(MKDIR_P) altair
+ @: > altair/$(am__dirstamp)
+altair/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) altair/$(DEPDIR)
+ @: > altair/$(DEPDIR)/$(am__dirstamp)
+altair/mm-modem-helpers-altair-lte.lo: altair/$(am__dirstamp) \
+ altair/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-altair-lte.la: $(libhelpers_altair_lte_la_OBJECTS) $(libhelpers_altair_lte_la_DEPENDENCIES) $(EXTRA_libhelpers_altair_lte_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_altair_lte_la_OBJECTS) $(libhelpers_altair_lte_la_LIBADD) $(LIBS)
+cinterion/$(am__dirstamp):
+ @$(MKDIR_P) cinterion
+ @: > cinterion/$(am__dirstamp)
+cinterion/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) cinterion/$(DEPDIR)
+ @: > cinterion/$(DEPDIR)/$(am__dirstamp)
+cinterion/mm-modem-helpers-cinterion.lo: cinterion/$(am__dirstamp) \
+ cinterion/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-cinterion.la: $(libhelpers_cinterion_la_OBJECTS) $(libhelpers_cinterion_la_DEPENDENCIES) $(EXTRA_libhelpers_cinterion_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_cinterion_la_OBJECTS) $(libhelpers_cinterion_la_LIBADD) $(LIBS)
+huawei/$(am__dirstamp):
+ @$(MKDIR_P) huawei
+ @: > huawei/$(am__dirstamp)
+huawei/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) huawei/$(DEPDIR)
+ @: > huawei/$(DEPDIR)/$(am__dirstamp)
+huawei/mm-modem-helpers-huawei.lo: huawei/$(am__dirstamp) \
+ huawei/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-huawei.la: $(libhelpers_huawei_la_OBJECTS) $(libhelpers_huawei_la_DEPENDENCIES) $(EXTRA_libhelpers_huawei_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_huawei_la_OBJECTS) $(libhelpers_huawei_la_LIBADD) $(LIBS)
+icera/$(am__dirstamp):
+ @$(MKDIR_P) icera
+ @: > icera/$(am__dirstamp)
+icera/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) icera/$(DEPDIR)
+ @: > icera/$(DEPDIR)/$(am__dirstamp)
+icera/mm-modem-helpers-icera.lo: icera/$(am__dirstamp) \
+ icera/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-icera.la: $(libhelpers_icera_la_OBJECTS) $(libhelpers_icera_la_DEPENDENCIES) $(EXTRA_libhelpers_icera_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_icera_la_OBJECTS) $(libhelpers_icera_la_LIBADD) $(LIBS)
+linktop/$(am__dirstamp):
+ @$(MKDIR_P) linktop
+ @: > linktop/$(am__dirstamp)
+linktop/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) linktop/$(DEPDIR)
+ @: > linktop/$(DEPDIR)/$(am__dirstamp)
+linktop/mm-modem-helpers-linktop.lo: linktop/$(am__dirstamp) \
+ linktop/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-linktop.la: $(libhelpers_linktop_la_OBJECTS) $(libhelpers_linktop_la_DEPENDENCIES) $(EXTRA_libhelpers_linktop_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_linktop_la_OBJECTS) $(libhelpers_linktop_la_LIBADD) $(LIBS)
+mbm/$(am__dirstamp):
+ @$(MKDIR_P) mbm
+ @: > mbm/$(am__dirstamp)
+mbm/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) mbm/$(DEPDIR)
+ @: > mbm/$(DEPDIR)/$(am__dirstamp)
+mbm/mm-modem-helpers-mbm.lo: mbm/$(am__dirstamp) \
+ mbm/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-mbm.la: $(libhelpers_mbm_la_OBJECTS) $(libhelpers_mbm_la_DEPENDENCIES) $(EXTRA_libhelpers_mbm_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_mbm_la_OBJECTS) $(libhelpers_mbm_la_LIBADD) $(LIBS)
+sierra/$(am__dirstamp):
+ @$(MKDIR_P) sierra
+ @: > sierra/$(am__dirstamp)
+sierra/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sierra/$(DEPDIR)
+ @: > sierra/$(DEPDIR)/$(am__dirstamp)
+sierra/mm-modem-helpers-sierra.lo: sierra/$(am__dirstamp) \
+ sierra/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-sierra.la: $(libhelpers_sierra_la_OBJECTS) $(libhelpers_sierra_la_DEPENDENCIES) $(EXTRA_libhelpers_sierra_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_sierra_la_OBJECTS) $(libhelpers_sierra_la_LIBADD) $(LIBS)
+telit/$(am__dirstamp):
+ @$(MKDIR_P) telit
+ @: > telit/$(am__dirstamp)
+telit/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) telit/$(DEPDIR)
+ @: > telit/$(DEPDIR)/$(am__dirstamp)
+telit/libhelpers_telit_la-mm-modem-helpers-telit.lo: \
+ telit/$(am__dirstamp) telit/$(DEPDIR)/$(am__dirstamp)
+telit/libhelpers_telit_la-mm-telit-enums-types.lo: \
+ telit/$(am__dirstamp) telit/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-telit.la: $(libhelpers_telit_la_OBJECTS) $(libhelpers_telit_la_DEPENDENCIES) $(EXTRA_libhelpers_telit_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_telit_la_OBJECTS) $(libhelpers_telit_la_LIBADD) $(LIBS)
+thuraya/$(am__dirstamp):
+ @$(MKDIR_P) thuraya
+ @: > thuraya/$(am__dirstamp)
+thuraya/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) thuraya/$(DEPDIR)
+ @: > thuraya/$(DEPDIR)/$(am__dirstamp)
+thuraya/mm-modem-helpers-thuraya.lo: thuraya/$(am__dirstamp) \
+ thuraya/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-thuraya.la: $(libhelpers_thuraya_la_OBJECTS) $(libhelpers_thuraya_la_DEPENDENCIES) $(EXTRA_libhelpers_thuraya_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_thuraya_la_OBJECTS) $(libhelpers_thuraya_la_LIBADD) $(LIBS)
+ublox/$(am__dirstamp):
+ @$(MKDIR_P) ublox
+ @: > ublox/$(am__dirstamp)
+ublox/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) ublox/$(DEPDIR)
+ @: > ublox/$(DEPDIR)/$(am__dirstamp)
+ublox/libhelpers_ublox_la-mm-modem-helpers-ublox.lo: \
+ ublox/$(am__dirstamp) ublox/$(DEPDIR)/$(am__dirstamp)
+ublox/libhelpers_ublox_la-mm-ublox-enums-types.lo: \
+ ublox/$(am__dirstamp) ublox/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-ublox.la: $(libhelpers_ublox_la_OBJECTS) $(libhelpers_ublox_la_DEPENDENCIES) $(EXTRA_libhelpers_ublox_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_ublox_la_OBJECTS) $(libhelpers_ublox_la_LIBADD) $(LIBS)
+xmm/$(am__dirstamp):
+ @$(MKDIR_P) xmm
+ @: > xmm/$(am__dirstamp)
+xmm/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) xmm/$(DEPDIR)
+ @: > xmm/$(DEPDIR)/$(am__dirstamp)
+xmm/mm-modem-helpers-xmm.lo: xmm/$(am__dirstamp) \
+ xmm/$(DEPDIR)/$(am__dirstamp)
+
+libhelpers-xmm.la: $(libhelpers_xmm_la_OBJECTS) $(libhelpers_xmm_la_DEPENDENCIES) $(EXTRA_libhelpers_xmm_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_xmm_la_OBJECTS) $(libhelpers_xmm_la_LIBADD) $(LIBS)
+altair/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.lo: \
+ altair/$(am__dirstamp) altair/$(DEPDIR)/$(am__dirstamp)
+altair/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.lo: \
+ altair/$(am__dirstamp) altair/$(DEPDIR)/$(am__dirstamp)
+altair/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.lo: \
+ altair/$(am__dirstamp) altair/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-altair-lte.la: $(libmm_plugin_altair_lte_la_OBJECTS) $(libmm_plugin_altair_lte_la_DEPENDENCIES) $(EXTRA_libmm_plugin_altair_lte_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_altair_lte_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_altair_lte_la_OBJECTS) $(libmm_plugin_altair_lte_la_LIBADD) $(LIBS)
+anydata/$(am__dirstamp):
+ @$(MKDIR_P) anydata
+ @: > anydata/$(am__dirstamp)
+anydata/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) anydata/$(DEPDIR)
+ @: > anydata/$(DEPDIR)/$(am__dirstamp)
+anydata/libmm_plugin_anydata_la-mm-plugin-anydata.lo: \
+ anydata/$(am__dirstamp) anydata/$(DEPDIR)/$(am__dirstamp)
+anydata/libmm_plugin_anydata_la-mm-broadband-modem-anydata.lo: \
+ anydata/$(am__dirstamp) anydata/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-anydata.la: $(libmm_plugin_anydata_la_OBJECTS) $(libmm_plugin_anydata_la_DEPENDENCIES) $(EXTRA_libmm_plugin_anydata_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_anydata_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_anydata_la_OBJECTS) $(libmm_plugin_anydata_la_LIBADD) $(LIBS)
+cinterion/libmm_plugin_cinterion_la-mm-plugin-cinterion.lo: \
+ cinterion/$(am__dirstamp) cinterion/$(DEPDIR)/$(am__dirstamp)
+cinterion/libmm_plugin_cinterion_la-mm-shared-cinterion.lo: \
+ cinterion/$(am__dirstamp) cinterion/$(DEPDIR)/$(am__dirstamp)
+cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.lo: \
+ cinterion/$(am__dirstamp) cinterion/$(DEPDIR)/$(am__dirstamp)
+cinterion/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.lo: \
+ cinterion/$(am__dirstamp) cinterion/$(DEPDIR)/$(am__dirstamp)
+cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.lo: \
+ cinterion/$(am__dirstamp) cinterion/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-cinterion.la: $(libmm_plugin_cinterion_la_OBJECTS) $(libmm_plugin_cinterion_la_DEPENDENCIES) $(EXTRA_libmm_plugin_cinterion_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_cinterion_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_cinterion_la_OBJECTS) $(libmm_plugin_cinterion_la_LIBADD) $(LIBS)
+dell/$(am__dirstamp):
+ @$(MKDIR_P) dell
+ @: > dell/$(am__dirstamp)
+dell/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) dell/$(DEPDIR)
+ @: > dell/$(DEPDIR)/$(am__dirstamp)
+dell/libmm_plugin_dell_la-mm-plugin-dell.lo: dell/$(am__dirstamp) \
+ dell/$(DEPDIR)/$(am__dirstamp)
+dell/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.lo: \
+ dell/$(am__dirstamp) dell/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-dell.la: $(libmm_plugin_dell_la_OBJECTS) $(libmm_plugin_dell_la_DEPENDENCIES) $(EXTRA_libmm_plugin_dell_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_dell_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_dell_la_OBJECTS) $(libmm_plugin_dell_la_LIBADD) $(LIBS)
+mbm/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.lo: \
+ mbm/$(am__dirstamp) mbm/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-ericsson-mbm.la: $(libmm_plugin_ericsson_mbm_la_OBJECTS) $(libmm_plugin_ericsson_mbm_la_DEPENDENCIES) $(EXTRA_libmm_plugin_ericsson_mbm_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_ericsson_mbm_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_ericsson_mbm_la_OBJECTS) $(libmm_plugin_ericsson_mbm_la_LIBADD) $(LIBS)
+fibocom/$(am__dirstamp):
+ @$(MKDIR_P) fibocom
+ @: > fibocom/$(am__dirstamp)
+fibocom/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) fibocom/$(DEPDIR)
+ @: > fibocom/$(DEPDIR)/$(am__dirstamp)
+fibocom/libmm_plugin_fibocom_la-mm-plugin-fibocom.lo: \
+ fibocom/$(am__dirstamp) fibocom/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-fibocom.la: $(libmm_plugin_fibocom_la_OBJECTS) $(libmm_plugin_fibocom_la_DEPENDENCIES) $(EXTRA_libmm_plugin_fibocom_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_fibocom_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_fibocom_la_OBJECTS) $(libmm_plugin_fibocom_la_LIBADD) $(LIBS)
+generic/$(am__dirstamp):
+ @$(MKDIR_P) generic
+ @: > generic/$(am__dirstamp)
+generic/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) generic/$(DEPDIR)
+ @: > generic/$(DEPDIR)/$(am__dirstamp)
+generic/libmm_plugin_generic_la-mm-plugin-generic.lo: \
+ generic/$(am__dirstamp) generic/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-generic.la: $(libmm_plugin_generic_la_OBJECTS) $(libmm_plugin_generic_la_DEPENDENCIES) $(EXTRA_libmm_plugin_generic_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_generic_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_generic_la_OBJECTS) $(libmm_plugin_generic_la_LIBADD) $(LIBS)
+haier/$(am__dirstamp):
+ @$(MKDIR_P) haier
+ @: > haier/$(am__dirstamp)
+haier/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) haier/$(DEPDIR)
+ @: > haier/$(DEPDIR)/$(am__dirstamp)
+haier/libmm_plugin_haier_la-mm-plugin-haier.lo: haier/$(am__dirstamp) \
+ haier/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-haier.la: $(libmm_plugin_haier_la_OBJECTS) $(libmm_plugin_haier_la_DEPENDENCIES) $(EXTRA_libmm_plugin_haier_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_haier_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_haier_la_OBJECTS) $(libmm_plugin_haier_la_LIBADD) $(LIBS)
+huawei/libmm_plugin_huawei_la-mm-plugin-huawei.lo: \
+ huawei/$(am__dirstamp) huawei/$(DEPDIR)/$(am__dirstamp)
+huawei/libmm_plugin_huawei_la-mm-sim-huawei.lo: \
+ huawei/$(am__dirstamp) huawei/$(DEPDIR)/$(am__dirstamp)
+huawei/libmm_plugin_huawei_la-mm-call-huawei.lo: \
+ huawei/$(am__dirstamp) huawei/$(DEPDIR)/$(am__dirstamp)
+huawei/libmm_plugin_huawei_la-mm-broadband-modem-huawei.lo: \
+ huawei/$(am__dirstamp) huawei/$(DEPDIR)/$(am__dirstamp)
+huawei/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.lo: \
+ huawei/$(am__dirstamp) huawei/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-huawei.la: $(libmm_plugin_huawei_la_OBJECTS) $(libmm_plugin_huawei_la_DEPENDENCIES) $(EXTRA_libmm_plugin_huawei_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_huawei_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_huawei_la_OBJECTS) $(libmm_plugin_huawei_la_LIBADD) $(LIBS)
+iridium/$(am__dirstamp):
+ @$(MKDIR_P) iridium
+ @: > iridium/$(am__dirstamp)
+iridium/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) iridium/$(DEPDIR)
+ @: > iridium/$(DEPDIR)/$(am__dirstamp)
+iridium/libmm_plugin_iridium_la-mm-plugin-iridium.lo: \
+ iridium/$(am__dirstamp) iridium/$(DEPDIR)/$(am__dirstamp)
+iridium/libmm_plugin_iridium_la-mm-broadband-modem-iridium.lo: \
+ iridium/$(am__dirstamp) iridium/$(DEPDIR)/$(am__dirstamp)
+iridium/libmm_plugin_iridium_la-mm-bearer-iridium.lo: \
+ iridium/$(am__dirstamp) iridium/$(DEPDIR)/$(am__dirstamp)
+iridium/libmm_plugin_iridium_la-mm-sim-iridium.lo: \
+ iridium/$(am__dirstamp) iridium/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-iridium.la: $(libmm_plugin_iridium_la_OBJECTS) $(libmm_plugin_iridium_la_DEPENDENCIES) $(EXTRA_libmm_plugin_iridium_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_iridium_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_iridium_la_OBJECTS) $(libmm_plugin_iridium_la_LIBADD) $(LIBS)
+linktop/libmm_plugin_linktop_la-mm-plugin-linktop.lo: \
+ linktop/$(am__dirstamp) linktop/$(DEPDIR)/$(am__dirstamp)
+linktop/libmm_plugin_linktop_la-mm-broadband-modem-linktop.lo: \
+ linktop/$(am__dirstamp) linktop/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-linktop.la: $(libmm_plugin_linktop_la_OBJECTS) $(libmm_plugin_linktop_la_DEPENDENCIES) $(EXTRA_libmm_plugin_linktop_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_linktop_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_linktop_la_OBJECTS) $(libmm_plugin_linktop_la_LIBADD) $(LIBS)
+longcheer/$(am__dirstamp):
+ @$(MKDIR_P) longcheer
+ @: > longcheer/$(am__dirstamp)
+longcheer/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) longcheer/$(DEPDIR)
+ @: > longcheer/$(DEPDIR)/$(am__dirstamp)
+longcheer/libmm_plugin_longcheer_la-mm-plugin-longcheer.lo: \
+ longcheer/$(am__dirstamp) longcheer/$(DEPDIR)/$(am__dirstamp)
+longcheer/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.lo: \
+ longcheer/$(am__dirstamp) longcheer/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-longcheer.la: $(libmm_plugin_longcheer_la_OBJECTS) $(libmm_plugin_longcheer_la_DEPENDENCIES) $(EXTRA_libmm_plugin_longcheer_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_longcheer_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_longcheer_la_OBJECTS) $(libmm_plugin_longcheer_la_LIBADD) $(LIBS)
+motorola/$(am__dirstamp):
+ @$(MKDIR_P) motorola
+ @: > motorola/$(am__dirstamp)
+motorola/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) motorola/$(DEPDIR)
+ @: > motorola/$(DEPDIR)/$(am__dirstamp)
+motorola/libmm_plugin_motorola_la-mm-plugin-motorola.lo: \
+ motorola/$(am__dirstamp) motorola/$(DEPDIR)/$(am__dirstamp)
+motorola/libmm_plugin_motorola_la-mm-broadband-modem-motorola.lo: \
+ motorola/$(am__dirstamp) motorola/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-motorola.la: $(libmm_plugin_motorola_la_OBJECTS) $(libmm_plugin_motorola_la_DEPENDENCIES) $(EXTRA_libmm_plugin_motorola_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_motorola_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_motorola_la_OBJECTS) $(libmm_plugin_motorola_la_LIBADD) $(LIBS)
+mtk/$(am__dirstamp):
+ @$(MKDIR_P) mtk
+ @: > mtk/$(am__dirstamp)
+mtk/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) mtk/$(DEPDIR)
+ @: > mtk/$(DEPDIR)/$(am__dirstamp)
+mtk/libmm_plugin_mtk_la-mm-plugin-mtk.lo: mtk/$(am__dirstamp) \
+ mtk/$(DEPDIR)/$(am__dirstamp)
+mtk/libmm_plugin_mtk_la-mm-broadband-modem-mtk.lo: \
+ mtk/$(am__dirstamp) mtk/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-mtk.la: $(libmm_plugin_mtk_la_OBJECTS) $(libmm_plugin_mtk_la_DEPENDENCIES) $(EXTRA_libmm_plugin_mtk_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_mtk_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_mtk_la_OBJECTS) $(libmm_plugin_mtk_la_LIBADD) $(LIBS)
+nokia/$(am__dirstamp):
+ @$(MKDIR_P) nokia
+ @: > nokia/$(am__dirstamp)
+nokia/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) nokia/$(DEPDIR)
+ @: > nokia/$(DEPDIR)/$(am__dirstamp)
+nokia/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.lo: \
+ nokia/$(am__dirstamp) nokia/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-nokia-icera.la: $(libmm_plugin_nokia_icera_la_OBJECTS) $(libmm_plugin_nokia_icera_la_DEPENDENCIES) $(EXTRA_libmm_plugin_nokia_icera_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_nokia_icera_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_nokia_icera_la_OBJECTS) $(libmm_plugin_nokia_icera_la_LIBADD) $(LIBS)
+nokia/libmm_plugin_nokia_la-mm-plugin-nokia.lo: nokia/$(am__dirstamp) \
+ nokia/$(DEPDIR)/$(am__dirstamp)
+nokia/libmm_plugin_nokia_la-mm-sim-nokia.lo: nokia/$(am__dirstamp) \
+ nokia/$(DEPDIR)/$(am__dirstamp)
+nokia/libmm_plugin_nokia_la-mm-broadband-modem-nokia.lo: \
+ nokia/$(am__dirstamp) nokia/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-nokia.la: $(libmm_plugin_nokia_la_OBJECTS) $(libmm_plugin_nokia_la_DEPENDENCIES) $(EXTRA_libmm_plugin_nokia_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_nokia_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_nokia_la_OBJECTS) $(libmm_plugin_nokia_la_LIBADD) $(LIBS)
+novatel/$(am__dirstamp):
+ @$(MKDIR_P) novatel
+ @: > novatel/$(am__dirstamp)
+novatel/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) novatel/$(DEPDIR)
+ @: > novatel/$(DEPDIR)/$(am__dirstamp)
+novatel/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.lo: \
+ novatel/$(am__dirstamp) novatel/$(DEPDIR)/$(am__dirstamp)
+novatel/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.lo: \
+ novatel/$(am__dirstamp) novatel/$(DEPDIR)/$(am__dirstamp)
+novatel/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.lo: \
+ novatel/$(am__dirstamp) novatel/$(DEPDIR)/$(am__dirstamp)
+novatel/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.lo: \
+ novatel/$(am__dirstamp) novatel/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-novatel-lte.la: $(libmm_plugin_novatel_lte_la_OBJECTS) $(libmm_plugin_novatel_lte_la_DEPENDENCIES) $(EXTRA_libmm_plugin_novatel_lte_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_novatel_lte_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_novatel_lte_la_OBJECTS) $(libmm_plugin_novatel_lte_la_LIBADD) $(LIBS)
+novatel/libmm_plugin_novatel_la-mm-plugin-novatel.lo: \
+ novatel/$(am__dirstamp) novatel/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-novatel.la: $(libmm_plugin_novatel_la_OBJECTS) $(libmm_plugin_novatel_la_DEPENDENCIES) $(EXTRA_libmm_plugin_novatel_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_novatel_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_novatel_la_OBJECTS) $(libmm_plugin_novatel_la_LIBADD) $(LIBS)
+option/$(am__dirstamp):
+ @$(MKDIR_P) option
+ @: > option/$(am__dirstamp)
+option/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) option/$(DEPDIR)
+ @: > option/$(DEPDIR)/$(am__dirstamp)
+option/libmm_plugin_option_hso_la-mm-plugin-hso.lo: \
+ option/$(am__dirstamp) option/$(DEPDIR)/$(am__dirstamp)
+option/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.lo: \
+ option/$(am__dirstamp) option/$(DEPDIR)/$(am__dirstamp)
+option/libmm_plugin_option_hso_la-mm-broadband-modem-hso.lo: \
+ option/$(am__dirstamp) option/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-option-hso.la: $(libmm_plugin_option_hso_la_OBJECTS) $(libmm_plugin_option_hso_la_DEPENDENCIES) $(EXTRA_libmm_plugin_option_hso_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_option_hso_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_option_hso_la_OBJECTS) $(libmm_plugin_option_hso_la_LIBADD) $(LIBS)
+option/libmm_plugin_option_la-mm-plugin-option.lo: \
+ option/$(am__dirstamp) option/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-option.la: $(libmm_plugin_option_la_OBJECTS) $(libmm_plugin_option_la_DEPENDENCIES) $(EXTRA_libmm_plugin_option_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_option_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_option_la_OBJECTS) $(libmm_plugin_option_la_LIBADD) $(LIBS)
+pantech/$(am__dirstamp):
+ @$(MKDIR_P) pantech
+ @: > pantech/$(am__dirstamp)
+pantech/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) pantech/$(DEPDIR)
+ @: > pantech/$(DEPDIR)/$(am__dirstamp)
+pantech/libmm_plugin_pantech_la-mm-plugin-pantech.lo: \
+ pantech/$(am__dirstamp) pantech/$(DEPDIR)/$(am__dirstamp)
+pantech/libmm_plugin_pantech_la-mm-sim-pantech.lo: \
+ pantech/$(am__dirstamp) pantech/$(DEPDIR)/$(am__dirstamp)
+pantech/libmm_plugin_pantech_la-mm-broadband-modem-pantech.lo: \
+ pantech/$(am__dirstamp) pantech/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-pantech.la: $(libmm_plugin_pantech_la_OBJECTS) $(libmm_plugin_pantech_la_DEPENDENCIES) $(EXTRA_libmm_plugin_pantech_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_pantech_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_pantech_la_OBJECTS) $(libmm_plugin_pantech_la_LIBADD) $(LIBS)
+quectel/$(am__dirstamp):
+ @$(MKDIR_P) quectel
+ @: > quectel/$(am__dirstamp)
+quectel/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) quectel/$(DEPDIR)
+ @: > quectel/$(DEPDIR)/$(am__dirstamp)
+quectel/libmm_plugin_quectel_la-mm-plugin-quectel.lo: \
+ quectel/$(am__dirstamp) quectel/$(DEPDIR)/$(am__dirstamp)
+quectel/libmm_plugin_quectel_la-mm-shared-quectel.lo: \
+ quectel/$(am__dirstamp) quectel/$(DEPDIR)/$(am__dirstamp)
+quectel/libmm_plugin_quectel_la-mm-broadband-modem-quectel.lo: \
+ quectel/$(am__dirstamp) quectel/$(DEPDIR)/$(am__dirstamp)
+quectel/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.lo: \
+ quectel/$(am__dirstamp) quectel/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-quectel.la: $(libmm_plugin_quectel_la_OBJECTS) $(libmm_plugin_quectel_la_DEPENDENCIES) $(EXTRA_libmm_plugin_quectel_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_quectel_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_quectel_la_OBJECTS) $(libmm_plugin_quectel_la_LIBADD) $(LIBS)
+samsung/$(am__dirstamp):
+ @$(MKDIR_P) samsung
+ @: > samsung/$(am__dirstamp)
+samsung/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) samsung/$(DEPDIR)
+ @: > samsung/$(DEPDIR)/$(am__dirstamp)
+samsung/libmm_plugin_samsung_la-mm-plugin-samsung.lo: \
+ samsung/$(am__dirstamp) samsung/$(DEPDIR)/$(am__dirstamp)
+samsung/libmm_plugin_samsung_la-mm-broadband-modem-samsung.lo: \
+ samsung/$(am__dirstamp) samsung/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-samsung.la: $(libmm_plugin_samsung_la_OBJECTS) $(libmm_plugin_samsung_la_DEPENDENCIES) $(EXTRA_libmm_plugin_samsung_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_samsung_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_samsung_la_OBJECTS) $(libmm_plugin_samsung_la_LIBADD) $(LIBS)
+sierra/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.lo: \
+ sierra/$(am__dirstamp) sierra/$(DEPDIR)/$(am__dirstamp)
+sierra/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.lo: \
+ sierra/$(am__dirstamp) sierra/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-sierra-legacy.la: $(libmm_plugin_sierra_legacy_la_OBJECTS) $(libmm_plugin_sierra_legacy_la_DEPENDENCIES) $(EXTRA_libmm_plugin_sierra_legacy_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_sierra_legacy_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_sierra_legacy_la_OBJECTS) $(libmm_plugin_sierra_legacy_la_LIBADD) $(LIBS)
+sierra/libmm_plugin_sierra_la-mm-plugin-sierra.lo: \
+ sierra/$(am__dirstamp) sierra/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-sierra.la: $(libmm_plugin_sierra_la_OBJECTS) $(libmm_plugin_sierra_la_DEPENDENCIES) $(EXTRA_libmm_plugin_sierra_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_sierra_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_sierra_la_OBJECTS) $(libmm_plugin_sierra_la_LIBADD) $(LIBS)
+simtech/$(am__dirstamp):
+ @$(MKDIR_P) simtech
+ @: > simtech/$(am__dirstamp)
+simtech/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) simtech/$(DEPDIR)
+ @: > simtech/$(DEPDIR)/$(am__dirstamp)
+simtech/libmm_plugin_simtech_la-mm-plugin-simtech.lo: \
+ simtech/$(am__dirstamp) simtech/$(DEPDIR)/$(am__dirstamp)
+simtech/libmm_plugin_simtech_la-mm-broadband-modem-simtech.lo: \
+ simtech/$(am__dirstamp) simtech/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-simtech.la: $(libmm_plugin_simtech_la_OBJECTS) $(libmm_plugin_simtech_la_DEPENDENCIES) $(EXTRA_libmm_plugin_simtech_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_simtech_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_simtech_la_OBJECTS) $(libmm_plugin_simtech_la_LIBADD) $(LIBS)
+telit/libmm_plugin_telit_la-mm-plugin-telit.lo: telit/$(am__dirstamp) \
+ telit/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-telit.la: $(libmm_plugin_telit_la_OBJECTS) $(libmm_plugin_telit_la_DEPENDENCIES) $(EXTRA_libmm_plugin_telit_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_telit_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_telit_la_OBJECTS) $(libmm_plugin_telit_la_LIBADD) $(LIBS)
+thuraya/libmm_plugin_thuraya_la-mm-plugin-thuraya.lo: \
+ thuraya/$(am__dirstamp) thuraya/$(DEPDIR)/$(am__dirstamp)
+thuraya/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.lo: \
+ thuraya/$(am__dirstamp) thuraya/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-thuraya.la: $(libmm_plugin_thuraya_la_OBJECTS) $(libmm_plugin_thuraya_la_DEPENDENCIES) $(EXTRA_libmm_plugin_thuraya_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_thuraya_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_thuraya_la_OBJECTS) $(libmm_plugin_thuraya_la_LIBADD) $(LIBS)
+ublox/libmm_plugin_ublox_la-mm-plugin-ublox.lo: ublox/$(am__dirstamp) \
+ ublox/$(DEPDIR)/$(am__dirstamp)
+ublox/libmm_plugin_ublox_la-mm-call-ublox.lo: ublox/$(am__dirstamp) \
+ ublox/$(DEPDIR)/$(am__dirstamp)
+ublox/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.lo: \
+ ublox/$(am__dirstamp) ublox/$(DEPDIR)/$(am__dirstamp)
+ublox/libmm_plugin_ublox_la-mm-broadband-modem-ublox.lo: \
+ ublox/$(am__dirstamp) ublox/$(DEPDIR)/$(am__dirstamp)
+ublox/libmm_plugin_ublox_la-mm-sim-ublox.lo: ublox/$(am__dirstamp) \
+ ublox/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-ublox.la: $(libmm_plugin_ublox_la_OBJECTS) $(libmm_plugin_ublox_la_DEPENDENCIES) $(EXTRA_libmm_plugin_ublox_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_ublox_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_ublox_la_OBJECTS) $(libmm_plugin_ublox_la_LIBADD) $(LIBS)
+via/$(am__dirstamp):
+ @$(MKDIR_P) via
+ @: > via/$(am__dirstamp)
+via/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) via/$(DEPDIR)
+ @: > via/$(DEPDIR)/$(am__dirstamp)
+via/libmm_plugin_via_la-mm-plugin-via.lo: via/$(am__dirstamp) \
+ via/$(DEPDIR)/$(am__dirstamp)
+via/libmm_plugin_via_la-mm-broadband-modem-via.lo: \
+ via/$(am__dirstamp) via/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-via.la: $(libmm_plugin_via_la_OBJECTS) $(libmm_plugin_via_la_DEPENDENCIES) $(EXTRA_libmm_plugin_via_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_via_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_via_la_OBJECTS) $(libmm_plugin_via_la_LIBADD) $(LIBS)
+wavecom/$(am__dirstamp):
+ @$(MKDIR_P) wavecom
+ @: > wavecom/$(am__dirstamp)
+wavecom/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) wavecom/$(DEPDIR)
+ @: > wavecom/$(DEPDIR)/$(am__dirstamp)
+wavecom/libmm_plugin_wavecom_la-mm-plugin-wavecom.lo: \
+ wavecom/$(am__dirstamp) wavecom/$(DEPDIR)/$(am__dirstamp)
+wavecom/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.lo: \
+ wavecom/$(am__dirstamp) wavecom/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-wavecom.la: $(libmm_plugin_wavecom_la_OBJECTS) $(libmm_plugin_wavecom_la_DEPENDENCIES) $(EXTRA_libmm_plugin_wavecom_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_wavecom_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_wavecom_la_OBJECTS) $(libmm_plugin_wavecom_la_LIBADD) $(LIBS)
+x22x/$(am__dirstamp):
+ @$(MKDIR_P) x22x
+ @: > x22x/$(am__dirstamp)
+x22x/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) x22x/$(DEPDIR)
+ @: > x22x/$(DEPDIR)/$(am__dirstamp)
+x22x/libmm_plugin_x22x_la-mm-plugin-x22x.lo: x22x/$(am__dirstamp) \
+ x22x/$(DEPDIR)/$(am__dirstamp)
+x22x/libmm_plugin_x22x_la-mm-broadband-modem-x22x.lo: \
+ x22x/$(am__dirstamp) x22x/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-x22x.la: $(libmm_plugin_x22x_la_OBJECTS) $(libmm_plugin_x22x_la_DEPENDENCIES) $(EXTRA_libmm_plugin_x22x_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_x22x_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_x22x_la_OBJECTS) $(libmm_plugin_x22x_la_LIBADD) $(LIBS)
+zte/$(am__dirstamp):
+ @$(MKDIR_P) zte
+ @: > zte/$(am__dirstamp)
+zte/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) zte/$(DEPDIR)
+ @: > zte/$(DEPDIR)/$(am__dirstamp)
+zte/libmm_plugin_zte_la-mm-plugin-zte.lo: zte/$(am__dirstamp) \
+ zte/$(DEPDIR)/$(am__dirstamp)
+zte/libmm_plugin_zte_la-mm-common-zte.lo: zte/$(am__dirstamp) \
+ zte/$(DEPDIR)/$(am__dirstamp)
+zte/libmm_plugin_zte_la-mm-broadband-modem-zte.lo: \
+ zte/$(am__dirstamp) zte/$(DEPDIR)/$(am__dirstamp)
+zte/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.lo: \
+ zte/$(am__dirstamp) zte/$(DEPDIR)/$(am__dirstamp)
+
+libmm-plugin-zte.la: $(libmm_plugin_zte_la_OBJECTS) $(libmm_plugin_zte_la_DEPENDENCIES) $(EXTRA_libmm_plugin_zte_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libmm_plugin_zte_la_LINK) -rpath $(pkglibdir) $(libmm_plugin_zte_la_OBJECTS) $(libmm_plugin_zte_la_LIBADD) $(LIBS)
+tests/$(am__dirstamp):
+ @$(MKDIR_P) tests
+ @: > tests/$(am__dirstamp)
+tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) tests/$(DEPDIR)
+ @: > tests/$(DEPDIR)/$(am__dirstamp)
+tests/libmm_test_common_la-test-fixture.lo: tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+tests/libmm_test_common_la-test-port-context.lo: \
+ tests/$(am__dirstamp) tests/$(DEPDIR)/$(am__dirstamp)
+
+libmm-test-common.la: $(libmm_test_common_la_OBJECTS) $(libmm_test_common_la_DEPENDENCIES) $(EXTRA_libmm_test_common_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_test_common_la_OBJECTS) $(libmm_test_common_la_LIBADD) $(LIBS)
+icera/mm-broadband-modem-icera.lo: icera/$(am__dirstamp) \
+ icera/$(DEPDIR)/$(am__dirstamp)
+icera/mm-broadband-bearer-icera.lo: icera/$(am__dirstamp) \
+ icera/$(DEPDIR)/$(am__dirstamp)
+
+libmm-utils-icera.la: $(libmm_utils_icera_la_OBJECTS) $(libmm_utils_icera_la_DEPENDENCIES) $(EXTRA_libmm_utils_icera_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_utils_icera_la_OBJECTS) $(libmm_utils_icera_la_LIBADD) $(LIBS)
+mbm/mm-broadband-modem-mbm.lo: mbm/$(am__dirstamp) \
+ mbm/$(DEPDIR)/$(am__dirstamp)
+mbm/mm-broadband-bearer-mbm.lo: mbm/$(am__dirstamp) \
+ mbm/$(DEPDIR)/$(am__dirstamp)
+mbm/mm-sim-mbm.lo: mbm/$(am__dirstamp) mbm/$(DEPDIR)/$(am__dirstamp)
+
+libmm-utils-mbm.la: $(libmm_utils_mbm_la_OBJECTS) $(libmm_utils_mbm_la_DEPENDENCIES) $(EXTRA_libmm_utils_mbm_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_utils_mbm_la_OBJECTS) $(libmm_utils_mbm_la_LIBADD) $(LIBS)
+novatel/mm-common-novatel.lo: novatel/$(am__dirstamp) \
+ novatel/$(DEPDIR)/$(am__dirstamp)
+novatel/mm-broadband-modem-novatel.lo: novatel/$(am__dirstamp) \
+ novatel/$(DEPDIR)/$(am__dirstamp)
+
+libmm-utils-novatel.la: $(libmm_utils_novatel_la_OBJECTS) $(libmm_utils_novatel_la_DEPENDENCIES) $(EXTRA_libmm_utils_novatel_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_utils_novatel_la_OBJECTS) $(libmm_utils_novatel_la_LIBADD) $(LIBS)
+option/mm-broadband-modem-option.lo: option/$(am__dirstamp) \
+ option/$(DEPDIR)/$(am__dirstamp)
+
+libmm-utils-option.la: $(libmm_utils_option_la_OBJECTS) $(libmm_utils_option_la_DEPENDENCIES) $(EXTRA_libmm_utils_option_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_utils_option_la_OBJECTS) $(libmm_utils_option_la_LIBADD) $(LIBS)
+sierra/mm-common-sierra.lo: sierra/$(am__dirstamp) \
+ sierra/$(DEPDIR)/$(am__dirstamp)
+sierra/mm-sim-sierra.lo: sierra/$(am__dirstamp) \
+ sierra/$(DEPDIR)/$(am__dirstamp)
+sierra/mm-broadband-bearer-sierra.lo: sierra/$(am__dirstamp) \
+ sierra/$(DEPDIR)/$(am__dirstamp)
+sierra/mm-broadband-modem-sierra.lo: sierra/$(am__dirstamp) \
+ sierra/$(DEPDIR)/$(am__dirstamp)
+
+libmm-utils-sierra.la: $(libmm_utils_sierra_la_OBJECTS) $(libmm_utils_sierra_la_DEPENDENCIES) $(EXTRA_libmm_utils_sierra_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_utils_sierra_la_OBJECTS) $(libmm_utils_sierra_la_LIBADD) $(LIBS)
+telit/libmm_utils_telit_la-mm-common-telit.lo: telit/$(am__dirstamp) \
+ telit/$(DEPDIR)/$(am__dirstamp)
+telit/libmm_utils_telit_la-mm-broadband-modem-telit.lo: \
+ telit/$(am__dirstamp) telit/$(DEPDIR)/$(am__dirstamp)
+
+libmm-utils-telit.la: $(libmm_utils_telit_la_OBJECTS) $(libmm_utils_telit_la_DEPENDENCIES) $(EXTRA_libmm_utils_telit_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_utils_telit_la_OBJECTS) $(libmm_utils_telit_la_LIBADD) $(LIBS)
+xmm/mm-shared-xmm.lo: xmm/$(am__dirstamp) \
+ xmm/$(DEPDIR)/$(am__dirstamp)
+xmm/mm-broadband-modem-xmm.lo: xmm/$(am__dirstamp) \
+ xmm/$(DEPDIR)/$(am__dirstamp)
+xmm/mm-broadband-modem-mbim-xmm.lo: xmm/$(am__dirstamp) \
+ xmm/$(DEPDIR)/$(am__dirstamp)
+
+libmm-utils-xmm.la: $(libmm_utils_xmm_la_OBJECTS) $(libmm_utils_xmm_la_DEPENDENCIES) $(EXTRA_libmm_utils_xmm_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libmm_utils_xmm_la_OBJECTS) $(libmm_utils_xmm_la_LIBADD) $(LIBS)
+altair/tests/$(am__dirstamp):
+ @$(MKDIR_P) altair/tests
+ @: > altair/tests/$(am__dirstamp)
+altair/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) altair/tests/$(DEPDIR)
+ @: > altair/tests/$(DEPDIR)/$(am__dirstamp)
+altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.$(OBJEXT): \
+ altair/tests/$(am__dirstamp) \
+ altair/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-altair-lte$(EXEEXT): $(test_modem_helpers_altair_lte_OBJECTS) $(test_modem_helpers_altair_lte_DEPENDENCIES) $(EXTRA_test_modem_helpers_altair_lte_DEPENDENCIES)
+ @rm -f test-modem-helpers-altair-lte$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_altair_lte_OBJECTS) $(test_modem_helpers_altair_lte_LDADD) $(LIBS)
+cinterion/tests/$(am__dirstamp):
+ @$(MKDIR_P) cinterion/tests
+ @: > cinterion/tests/$(am__dirstamp)
+cinterion/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) cinterion/tests/$(DEPDIR)
+ @: > cinterion/tests/$(DEPDIR)/$(am__dirstamp)
+cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.$(OBJEXT): \
+ cinterion/tests/$(am__dirstamp) \
+ cinterion/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-cinterion$(EXEEXT): $(test_modem_helpers_cinterion_OBJECTS) $(test_modem_helpers_cinterion_DEPENDENCIES) $(EXTRA_test_modem_helpers_cinterion_DEPENDENCIES)
+ @rm -f test-modem-helpers-cinterion$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_cinterion_OBJECTS) $(test_modem_helpers_cinterion_LDADD) $(LIBS)
+huawei/tests/$(am__dirstamp):
+ @$(MKDIR_P) huawei/tests
+ @: > huawei/tests/$(am__dirstamp)
+huawei/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) huawei/tests/$(DEPDIR)
+ @: > huawei/tests/$(DEPDIR)/$(am__dirstamp)
+huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.$(OBJEXT): \
+ huawei/tests/$(am__dirstamp) \
+ huawei/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-huawei$(EXEEXT): $(test_modem_helpers_huawei_OBJECTS) $(test_modem_helpers_huawei_DEPENDENCIES) $(EXTRA_test_modem_helpers_huawei_DEPENDENCIES)
+ @rm -f test-modem-helpers-huawei$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_huawei_OBJECTS) $(test_modem_helpers_huawei_LDADD) $(LIBS)
+icera/tests/$(am__dirstamp):
+ @$(MKDIR_P) icera/tests
+ @: > icera/tests/$(am__dirstamp)
+icera/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) icera/tests/$(DEPDIR)
+ @: > icera/tests/$(DEPDIR)/$(am__dirstamp)
+icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.$(OBJEXT): \
+ icera/tests/$(am__dirstamp) \
+ icera/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-icera$(EXEEXT): $(test_modem_helpers_icera_OBJECTS) $(test_modem_helpers_icera_DEPENDENCIES) $(EXTRA_test_modem_helpers_icera_DEPENDENCIES)
+ @rm -f test-modem-helpers-icera$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_icera_OBJECTS) $(test_modem_helpers_icera_LDADD) $(LIBS)
+linktop/tests/$(am__dirstamp):
+ @$(MKDIR_P) linktop/tests
+ @: > linktop/tests/$(am__dirstamp)
+linktop/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) linktop/tests/$(DEPDIR)
+ @: > linktop/tests/$(DEPDIR)/$(am__dirstamp)
+linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.$(OBJEXT): \
+ linktop/tests/$(am__dirstamp) \
+ linktop/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-linktop$(EXEEXT): $(test_modem_helpers_linktop_OBJECTS) $(test_modem_helpers_linktop_DEPENDENCIES) $(EXTRA_test_modem_helpers_linktop_DEPENDENCIES)
+ @rm -f test-modem-helpers-linktop$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_linktop_OBJECTS) $(test_modem_helpers_linktop_LDADD) $(LIBS)
+mbm/tests/$(am__dirstamp):
+ @$(MKDIR_P) mbm/tests
+ @: > mbm/tests/$(am__dirstamp)
+mbm/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) mbm/tests/$(DEPDIR)
+ @: > mbm/tests/$(DEPDIR)/$(am__dirstamp)
+mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.$(OBJEXT): \
+ mbm/tests/$(am__dirstamp) mbm/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-mbm$(EXEEXT): $(test_modem_helpers_mbm_OBJECTS) $(test_modem_helpers_mbm_DEPENDENCIES) $(EXTRA_test_modem_helpers_mbm_DEPENDENCIES)
+ @rm -f test-modem-helpers-mbm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_mbm_OBJECTS) $(test_modem_helpers_mbm_LDADD) $(LIBS)
+sierra/tests/$(am__dirstamp):
+ @$(MKDIR_P) sierra/tests
+ @: > sierra/tests/$(am__dirstamp)
+sierra/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) sierra/tests/$(DEPDIR)
+ @: > sierra/tests/$(DEPDIR)/$(am__dirstamp)
+sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.$(OBJEXT): \
+ sierra/tests/$(am__dirstamp) \
+ sierra/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-sierra$(EXEEXT): $(test_modem_helpers_sierra_OBJECTS) $(test_modem_helpers_sierra_DEPENDENCIES) $(EXTRA_test_modem_helpers_sierra_DEPENDENCIES)
+ @rm -f test-modem-helpers-sierra$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_sierra_OBJECTS) $(test_modem_helpers_sierra_LDADD) $(LIBS)
+telit/tests/$(am__dirstamp):
+ @$(MKDIR_P) telit/tests
+ @: > telit/tests/$(am__dirstamp)
+telit/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) telit/tests/$(DEPDIR)
+ @: > telit/tests/$(DEPDIR)/$(am__dirstamp)
+telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.$(OBJEXT): \
+ telit/tests/$(am__dirstamp) \
+ telit/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-telit$(EXEEXT): $(test_modem_helpers_telit_OBJECTS) $(test_modem_helpers_telit_DEPENDENCIES) $(EXTRA_test_modem_helpers_telit_DEPENDENCIES)
+ @rm -f test-modem-helpers-telit$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_telit_OBJECTS) $(test_modem_helpers_telit_LDADD) $(LIBS)
+thuraya/tests/$(am__dirstamp):
+ @$(MKDIR_P) thuraya/tests
+ @: > thuraya/tests/$(am__dirstamp)
+thuraya/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) thuraya/tests/$(DEPDIR)
+ @: > thuraya/tests/$(DEPDIR)/$(am__dirstamp)
+thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.$(OBJEXT): \
+ thuraya/tests/$(am__dirstamp) \
+ thuraya/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-thuraya$(EXEEXT): $(test_modem_helpers_thuraya_OBJECTS) $(test_modem_helpers_thuraya_DEPENDENCIES) $(EXTRA_test_modem_helpers_thuraya_DEPENDENCIES)
+ @rm -f test-modem-helpers-thuraya$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_thuraya_OBJECTS) $(test_modem_helpers_thuraya_LDADD) $(LIBS)
+ublox/tests/$(am__dirstamp):
+ @$(MKDIR_P) ublox/tests
+ @: > ublox/tests/$(am__dirstamp)
+ublox/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) ublox/tests/$(DEPDIR)
+ @: > ublox/tests/$(DEPDIR)/$(am__dirstamp)
+ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.$(OBJEXT): \
+ ublox/tests/$(am__dirstamp) \
+ ublox/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-ublox$(EXEEXT): $(test_modem_helpers_ublox_OBJECTS) $(test_modem_helpers_ublox_DEPENDENCIES) $(EXTRA_test_modem_helpers_ublox_DEPENDENCIES)
+ @rm -f test-modem-helpers-ublox$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_ublox_OBJECTS) $(test_modem_helpers_ublox_LDADD) $(LIBS)
+xmm/tests/$(am__dirstamp):
+ @$(MKDIR_P) xmm/tests
+ @: > xmm/tests/$(am__dirstamp)
+xmm/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) xmm/tests/$(DEPDIR)
+ @: > xmm/tests/$(DEPDIR)/$(am__dirstamp)
+xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.$(OBJEXT): \
+ xmm/tests/$(am__dirstamp) xmm/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-modem-helpers-xmm$(EXEEXT): $(test_modem_helpers_xmm_OBJECTS) $(test_modem_helpers_xmm_DEPENDENCIES) $(EXTRA_test_modem_helpers_xmm_DEPENDENCIES)
+ @rm -f test-modem-helpers-xmm$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_xmm_OBJECTS) $(test_modem_helpers_xmm_LDADD) $(LIBS)
+generic/tests/$(am__dirstamp):
+ @$(MKDIR_P) generic/tests
+ @: > generic/tests/$(am__dirstamp)
+generic/tests/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) generic/tests/$(DEPDIR)
+ @: > generic/tests/$(DEPDIR)/$(am__dirstamp)
+generic/tests/test_service_generic-test-service-generic.$(OBJEXT): \
+ generic/tests/$(am__dirstamp) \
+ generic/tests/$(DEPDIR)/$(am__dirstamp)
+
+test-service-generic$(EXEEXT): $(test_service_generic_OBJECTS) $(test_service_generic_DEPENDENCIES) $(EXTRA_test_service_generic_DEPENDENCIES)
+ @rm -f test-service-generic$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_service_generic_OBJECTS) $(test_service_generic_LDADD) $(LIBS)
+tests/test-udev-rules.$(OBJEXT): tests/$(am__dirstamp) \
+ tests/$(DEPDIR)/$(am__dirstamp)
+
+test-udev-rules$(EXEEXT): $(test_udev_rules_OBJECTS) $(test_udev_rules_DEPENDENCIES) $(EXTRA_test_udev_rules_DEPENDENCIES)
+ @rm -f test-udev-rules$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_udev_rules_OBJECTS) $(test_udev_rules_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f altair/*.$(OBJEXT)
+ -rm -f altair/*.lo
+ -rm -f altair/tests/*.$(OBJEXT)
+ -rm -f anydata/*.$(OBJEXT)
+ -rm -f anydata/*.lo
+ -rm -f cinterion/*.$(OBJEXT)
+ -rm -f cinterion/*.lo
+ -rm -f cinterion/tests/*.$(OBJEXT)
+ -rm -f dell/*.$(OBJEXT)
+ -rm -f dell/*.lo
+ -rm -f fibocom/*.$(OBJEXT)
+ -rm -f fibocom/*.lo
+ -rm -f generic/*.$(OBJEXT)
+ -rm -f generic/*.lo
+ -rm -f generic/tests/*.$(OBJEXT)
+ -rm -f haier/*.$(OBJEXT)
+ -rm -f haier/*.lo
+ -rm -f huawei/*.$(OBJEXT)
+ -rm -f huawei/*.lo
+ -rm -f huawei/tests/*.$(OBJEXT)
+ -rm -f icera/*.$(OBJEXT)
+ -rm -f icera/*.lo
+ -rm -f icera/tests/*.$(OBJEXT)
+ -rm -f iridium/*.$(OBJEXT)
+ -rm -f iridium/*.lo
+ -rm -f linktop/*.$(OBJEXT)
+ -rm -f linktop/*.lo
+ -rm -f linktop/tests/*.$(OBJEXT)
+ -rm -f longcheer/*.$(OBJEXT)
+ -rm -f longcheer/*.lo
+ -rm -f mbm/*.$(OBJEXT)
+ -rm -f mbm/*.lo
+ -rm -f mbm/tests/*.$(OBJEXT)
+ -rm -f motorola/*.$(OBJEXT)
+ -rm -f motorola/*.lo
+ -rm -f mtk/*.$(OBJEXT)
+ -rm -f mtk/*.lo
+ -rm -f nokia/*.$(OBJEXT)
+ -rm -f nokia/*.lo
+ -rm -f novatel/*.$(OBJEXT)
+ -rm -f novatel/*.lo
+ -rm -f option/*.$(OBJEXT)
+ -rm -f option/*.lo
+ -rm -f pantech/*.$(OBJEXT)
+ -rm -f pantech/*.lo
+ -rm -f quectel/*.$(OBJEXT)
+ -rm -f quectel/*.lo
+ -rm -f samsung/*.$(OBJEXT)
+ -rm -f samsung/*.lo
+ -rm -f sierra/*.$(OBJEXT)
+ -rm -f sierra/*.lo
+ -rm -f sierra/tests/*.$(OBJEXT)
+ -rm -f simtech/*.$(OBJEXT)
+ -rm -f simtech/*.lo
+ -rm -f telit/*.$(OBJEXT)
+ -rm -f telit/*.lo
+ -rm -f telit/tests/*.$(OBJEXT)
+ -rm -f tests/*.$(OBJEXT)
+ -rm -f tests/*.lo
+ -rm -f thuraya/*.$(OBJEXT)
+ -rm -f thuraya/*.lo
+ -rm -f thuraya/tests/*.$(OBJEXT)
+ -rm -f ublox/*.$(OBJEXT)
+ -rm -f ublox/*.lo
+ -rm -f ublox/tests/*.$(OBJEXT)
+ -rm -f via/*.$(OBJEXT)
+ -rm -f via/*.lo
+ -rm -f wavecom/*.$(OBJEXT)
+ -rm -f wavecom/*.lo
+ -rm -f x22x/*.$(OBJEXT)
+ -rm -f x22x/*.lo
+ -rm -f xmm/*.$(OBJEXT)
+ -rm -f xmm/*.lo
+ -rm -f xmm/tests/*.$(OBJEXT)
+ -rm -f zte/*.$(OBJEXT)
+ -rm -f zte/*.lo
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@altair/$(DEPDIR)/mm-modem-helpers-altair-lte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-broadband-modem-anydata.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-plugin-anydata.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-plugin-cinterion.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-shared-cinterion.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cinterion/$(DEPDIR)/mm-modem-helpers-cinterion.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@dell/$(DEPDIR)/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@dell/$(DEPDIR)/libmm_plugin_dell_la-mm-plugin-dell.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@fibocom/$(DEPDIR)/libmm_plugin_fibocom_la-mm-plugin-fibocom.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@generic/$(DEPDIR)/libmm_plugin_generic_la-mm-plugin-generic.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@haier/$(DEPDIR)/libmm_plugin_haier_la-mm-plugin-haier.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-modem-huawei.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-call-huawei.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-plugin-huawei.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-sim-huawei.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@huawei/$(DEPDIR)/mm-modem-helpers-huawei.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@icera/$(DEPDIR)/mm-broadband-bearer-icera.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@icera/$(DEPDIR)/mm-broadband-modem-icera.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@icera/$(DEPDIR)/mm-modem-helpers-icera.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-bearer-iridium.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-broadband-modem-iridium.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-plugin-iridium.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-sim-iridium.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-broadband-modem-linktop.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-plugin-linktop.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@linktop/$(DEPDIR)/mm-modem-helpers-linktop.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-plugin-longcheer.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mbm/$(DEPDIR)/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mbm/$(DEPDIR)/mm-broadband-bearer-mbm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mbm/$(DEPDIR)/mm-broadband-modem-mbm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mbm/$(DEPDIR)/mm-modem-helpers-mbm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mbm/$(DEPDIR)/mm-sim-mbm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-broadband-modem-motorola.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-plugin-motorola.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-broadband-modem-mtk.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-plugin-mtk.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@nokia/$(DEPDIR)/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-broadband-modem-nokia.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-plugin-nokia.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-sim-nokia.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@novatel/$(DEPDIR)/libmm_plugin_novatel_la-mm-plugin-novatel.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@novatel/$(DEPDIR)/mm-broadband-modem-novatel.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@novatel/$(DEPDIR)/mm-common-novatel.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-modem-hso.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-plugin-hso.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@option/$(DEPDIR)/libmm_plugin_option_la-mm-plugin-option.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@option/$(DEPDIR)/mm-broadband-modem-option.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-broadband-modem-pantech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-plugin-pantech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-sim-pantech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-quectel.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-plugin-quectel.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-shared-quectel.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-broadband-modem-samsung.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-plugin-samsung.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@sierra/$(DEPDIR)/libmm_plugin_sierra_la-mm-plugin-sierra.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@sierra/$(DEPDIR)/mm-broadband-bearer-sierra.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@sierra/$(DEPDIR)/mm-broadband-modem-sierra.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@sierra/$(DEPDIR)/mm-common-sierra.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@sierra/$(DEPDIR)/mm-modem-helpers-sierra.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@sierra/$(DEPDIR)/mm-sim-sierra.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-broadband-modem-simtech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-plugin-simtech.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@telit/$(DEPDIR)/libhelpers_telit_la-mm-modem-helpers-telit.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@telit/$(DEPDIR)/libhelpers_telit_la-mm-telit-enums-types.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@telit/$(DEPDIR)/libmm_plugin_telit_la-mm-plugin-telit.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@telit/$(DEPDIR)/libmm_utils_telit_la-mm-broadband-modem-telit.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@telit/$(DEPDIR)/libmm_utils_telit_la-mm-common-telit.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/libmm_test_common_la-test-fixture.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/libmm_test_common_la-test-port-context.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test-udev-rules.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-plugin-thuraya.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@thuraya/$(DEPDIR)/mm-modem-helpers-thuraya.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ublox/$(DEPDIR)/libhelpers_ublox_la-mm-modem-helpers-ublox.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ublox/$(DEPDIR)/libhelpers_ublox_la-mm-ublox-enums-types.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-modem-ublox.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-call-ublox.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-plugin-ublox.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-sim-ublox.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@via/$(DEPDIR)/libmm_plugin_via_la-mm-broadband-modem-via.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@via/$(DEPDIR)/libmm_plugin_via_la-mm-plugin-via.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-plugin-wavecom.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-broadband-modem-x22x.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-plugin-x22x.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@xmm/$(DEPDIR)/mm-broadband-modem-mbim-xmm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@xmm/$(DEPDIR)/mm-broadband-modem-xmm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@xmm/$(DEPDIR)/mm-modem-helpers-xmm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@xmm/$(DEPDIR)/mm-shared-xmm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@zte/$(DEPDIR)/libmm_plugin_zte_la-mm-common-zte.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@zte/$(DEPDIR)/libmm_plugin_zte_la-mm-plugin-zte.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+telit/libhelpers_telit_la-mm-modem-helpers-telit.lo: telit/mm-modem-helpers-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhelpers_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT telit/libhelpers_telit_la-mm-modem-helpers-telit.lo -MD -MP -MF telit/$(DEPDIR)/libhelpers_telit_la-mm-modem-helpers-telit.Tpo -c -o telit/libhelpers_telit_la-mm-modem-helpers-telit.lo `test -f 'telit/mm-modem-helpers-telit.c' || echo '$(srcdir)/'`telit/mm-modem-helpers-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) telit/$(DEPDIR)/libhelpers_telit_la-mm-modem-helpers-telit.Tpo telit/$(DEPDIR)/libhelpers_telit_la-mm-modem-helpers-telit.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='telit/mm-modem-helpers-telit.c' object='telit/libhelpers_telit_la-mm-modem-helpers-telit.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhelpers_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o telit/libhelpers_telit_la-mm-modem-helpers-telit.lo `test -f 'telit/mm-modem-helpers-telit.c' || echo '$(srcdir)/'`telit/mm-modem-helpers-telit.c
+
+telit/libhelpers_telit_la-mm-telit-enums-types.lo: telit/mm-telit-enums-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhelpers_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT telit/libhelpers_telit_la-mm-telit-enums-types.lo -MD -MP -MF telit/$(DEPDIR)/libhelpers_telit_la-mm-telit-enums-types.Tpo -c -o telit/libhelpers_telit_la-mm-telit-enums-types.lo `test -f 'telit/mm-telit-enums-types.c' || echo '$(srcdir)/'`telit/mm-telit-enums-types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) telit/$(DEPDIR)/libhelpers_telit_la-mm-telit-enums-types.Tpo telit/$(DEPDIR)/libhelpers_telit_la-mm-telit-enums-types.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='telit/mm-telit-enums-types.c' object='telit/libhelpers_telit_la-mm-telit-enums-types.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhelpers_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o telit/libhelpers_telit_la-mm-telit-enums-types.lo `test -f 'telit/mm-telit-enums-types.c' || echo '$(srcdir)/'`telit/mm-telit-enums-types.c
+
+ublox/libhelpers_ublox_la-mm-modem-helpers-ublox.lo: ublox/mm-modem-helpers-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhelpers_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ublox/libhelpers_ublox_la-mm-modem-helpers-ublox.lo -MD -MP -MF ublox/$(DEPDIR)/libhelpers_ublox_la-mm-modem-helpers-ublox.Tpo -c -o ublox/libhelpers_ublox_la-mm-modem-helpers-ublox.lo `test -f 'ublox/mm-modem-helpers-ublox.c' || echo '$(srcdir)/'`ublox/mm-modem-helpers-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ublox/$(DEPDIR)/libhelpers_ublox_la-mm-modem-helpers-ublox.Tpo ublox/$(DEPDIR)/libhelpers_ublox_la-mm-modem-helpers-ublox.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ublox/mm-modem-helpers-ublox.c' object='ublox/libhelpers_ublox_la-mm-modem-helpers-ublox.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhelpers_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ublox/libhelpers_ublox_la-mm-modem-helpers-ublox.lo `test -f 'ublox/mm-modem-helpers-ublox.c' || echo '$(srcdir)/'`ublox/mm-modem-helpers-ublox.c
+
+ublox/libhelpers_ublox_la-mm-ublox-enums-types.lo: ublox/mm-ublox-enums-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhelpers_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ublox/libhelpers_ublox_la-mm-ublox-enums-types.lo -MD -MP -MF ublox/$(DEPDIR)/libhelpers_ublox_la-mm-ublox-enums-types.Tpo -c -o ublox/libhelpers_ublox_la-mm-ublox-enums-types.lo `test -f 'ublox/mm-ublox-enums-types.c' || echo '$(srcdir)/'`ublox/mm-ublox-enums-types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ublox/$(DEPDIR)/libhelpers_ublox_la-mm-ublox-enums-types.Tpo ublox/$(DEPDIR)/libhelpers_ublox_la-mm-ublox-enums-types.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ublox/mm-ublox-enums-types.c' object='ublox/libhelpers_ublox_la-mm-ublox-enums-types.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhelpers_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ublox/libhelpers_ublox_la-mm-ublox-enums-types.lo `test -f 'ublox/mm-ublox-enums-types.c' || echo '$(srcdir)/'`ublox/mm-ublox-enums-types.c
+
+altair/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.lo: altair/mm-plugin-altair-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_altair_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT altair/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.lo -MD -MP -MF altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.Tpo -c -o altair/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.lo `test -f 'altair/mm-plugin-altair-lte.c' || echo '$(srcdir)/'`altair/mm-plugin-altair-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.Tpo altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altair/mm-plugin-altair-lte.c' object='altair/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_altair_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o altair/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.lo `test -f 'altair/mm-plugin-altair-lte.c' || echo '$(srcdir)/'`altair/mm-plugin-altair-lte.c
+
+altair/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.lo: altair/mm-broadband-modem-altair-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_altair_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT altair/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.lo -MD -MP -MF altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.Tpo -c -o altair/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.lo `test -f 'altair/mm-broadband-modem-altair-lte.c' || echo '$(srcdir)/'`altair/mm-broadband-modem-altair-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.Tpo altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altair/mm-broadband-modem-altair-lte.c' object='altair/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_altair_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o altair/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.lo `test -f 'altair/mm-broadband-modem-altair-lte.c' || echo '$(srcdir)/'`altair/mm-broadband-modem-altair-lte.c
+
+altair/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.lo: altair/mm-broadband-bearer-altair-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_altair_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT altair/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.lo -MD -MP -MF altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.Tpo -c -o altair/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.lo `test -f 'altair/mm-broadband-bearer-altair-lte.c' || echo '$(srcdir)/'`altair/mm-broadband-bearer-altair-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.Tpo altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altair/mm-broadband-bearer-altair-lte.c' object='altair/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_altair_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o altair/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.lo `test -f 'altair/mm-broadband-bearer-altair-lte.c' || echo '$(srcdir)/'`altair/mm-broadband-bearer-altair-lte.c
+
+anydata/libmm_plugin_anydata_la-mm-plugin-anydata.lo: anydata/mm-plugin-anydata.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_anydata_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anydata/libmm_plugin_anydata_la-mm-plugin-anydata.lo -MD -MP -MF anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-plugin-anydata.Tpo -c -o anydata/libmm_plugin_anydata_la-mm-plugin-anydata.lo `test -f 'anydata/mm-plugin-anydata.c' || echo '$(srcdir)/'`anydata/mm-plugin-anydata.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-plugin-anydata.Tpo anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-plugin-anydata.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='anydata/mm-plugin-anydata.c' object='anydata/libmm_plugin_anydata_la-mm-plugin-anydata.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_anydata_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anydata/libmm_plugin_anydata_la-mm-plugin-anydata.lo `test -f 'anydata/mm-plugin-anydata.c' || echo '$(srcdir)/'`anydata/mm-plugin-anydata.c
+
+anydata/libmm_plugin_anydata_la-mm-broadband-modem-anydata.lo: anydata/mm-broadband-modem-anydata.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_anydata_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT anydata/libmm_plugin_anydata_la-mm-broadband-modem-anydata.lo -MD -MP -MF anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-broadband-modem-anydata.Tpo -c -o anydata/libmm_plugin_anydata_la-mm-broadband-modem-anydata.lo `test -f 'anydata/mm-broadband-modem-anydata.c' || echo '$(srcdir)/'`anydata/mm-broadband-modem-anydata.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-broadband-modem-anydata.Tpo anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-broadband-modem-anydata.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='anydata/mm-broadband-modem-anydata.c' object='anydata/libmm_plugin_anydata_la-mm-broadband-modem-anydata.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_anydata_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o anydata/libmm_plugin_anydata_la-mm-broadband-modem-anydata.lo `test -f 'anydata/mm-broadband-modem-anydata.c' || echo '$(srcdir)/'`anydata/mm-broadband-modem-anydata.c
+
+cinterion/libmm_plugin_cinterion_la-mm-plugin-cinterion.lo: cinterion/mm-plugin-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cinterion/libmm_plugin_cinterion_la-mm-plugin-cinterion.lo -MD -MP -MF cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-plugin-cinterion.Tpo -c -o cinterion/libmm_plugin_cinterion_la-mm-plugin-cinterion.lo `test -f 'cinterion/mm-plugin-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-plugin-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-plugin-cinterion.Tpo cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-plugin-cinterion.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cinterion/mm-plugin-cinterion.c' object='cinterion/libmm_plugin_cinterion_la-mm-plugin-cinterion.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cinterion/libmm_plugin_cinterion_la-mm-plugin-cinterion.lo `test -f 'cinterion/mm-plugin-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-plugin-cinterion.c
+
+cinterion/libmm_plugin_cinterion_la-mm-shared-cinterion.lo: cinterion/mm-shared-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cinterion/libmm_plugin_cinterion_la-mm-shared-cinterion.lo -MD -MP -MF cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-shared-cinterion.Tpo -c -o cinterion/libmm_plugin_cinterion_la-mm-shared-cinterion.lo `test -f 'cinterion/mm-shared-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-shared-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-shared-cinterion.Tpo cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-shared-cinterion.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cinterion/mm-shared-cinterion.c' object='cinterion/libmm_plugin_cinterion_la-mm-shared-cinterion.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cinterion/libmm_plugin_cinterion_la-mm-shared-cinterion.lo `test -f 'cinterion/mm-shared-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-shared-cinterion.c
+
+cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.lo: cinterion/mm-broadband-modem-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.lo -MD -MP -MF cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.Tpo -c -o cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.lo `test -f 'cinterion/mm-broadband-modem-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-broadband-modem-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.Tpo cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cinterion/mm-broadband-modem-cinterion.c' object='cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.lo `test -f 'cinterion/mm-broadband-modem-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-broadband-modem-cinterion.c
+
+cinterion/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.lo: cinterion/mm-broadband-bearer-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cinterion/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.lo -MD -MP -MF cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.Tpo -c -o cinterion/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.lo `test -f 'cinterion/mm-broadband-bearer-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-broadband-bearer-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.Tpo cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cinterion/mm-broadband-bearer-cinterion.c' object='cinterion/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cinterion/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.lo `test -f 'cinterion/mm-broadband-bearer-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-broadband-bearer-cinterion.c
+
+cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.lo: cinterion/mm-broadband-modem-qmi-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.lo -MD -MP -MF cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.Tpo -c -o cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.lo `test -f 'cinterion/mm-broadband-modem-qmi-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-broadband-modem-qmi-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.Tpo cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cinterion/mm-broadband-modem-qmi-cinterion.c' object='cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_cinterion_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cinterion/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.lo `test -f 'cinterion/mm-broadband-modem-qmi-cinterion.c' || echo '$(srcdir)/'`cinterion/mm-broadband-modem-qmi-cinterion.c
+
+dell/libmm_plugin_dell_la-mm-plugin-dell.lo: dell/mm-plugin-dell.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_dell_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dell/libmm_plugin_dell_la-mm-plugin-dell.lo -MD -MP -MF dell/$(DEPDIR)/libmm_plugin_dell_la-mm-plugin-dell.Tpo -c -o dell/libmm_plugin_dell_la-mm-plugin-dell.lo `test -f 'dell/mm-plugin-dell.c' || echo '$(srcdir)/'`dell/mm-plugin-dell.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) dell/$(DEPDIR)/libmm_plugin_dell_la-mm-plugin-dell.Tpo dell/$(DEPDIR)/libmm_plugin_dell_la-mm-plugin-dell.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dell/mm-plugin-dell.c' object='dell/libmm_plugin_dell_la-mm-plugin-dell.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_dell_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dell/libmm_plugin_dell_la-mm-plugin-dell.lo `test -f 'dell/mm-plugin-dell.c' || echo '$(srcdir)/'`dell/mm-plugin-dell.c
+
+dell/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.lo: dell/mm-broadband-modem-dell-dw5821e.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_dell_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dell/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.lo -MD -MP -MF dell/$(DEPDIR)/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.Tpo -c -o dell/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.lo `test -f 'dell/mm-broadband-modem-dell-dw5821e.c' || echo '$(srcdir)/'`dell/mm-broadband-modem-dell-dw5821e.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) dell/$(DEPDIR)/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.Tpo dell/$(DEPDIR)/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dell/mm-broadband-modem-dell-dw5821e.c' object='dell/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_dell_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dell/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.lo `test -f 'dell/mm-broadband-modem-dell-dw5821e.c' || echo '$(srcdir)/'`dell/mm-broadband-modem-dell-dw5821e.c
+
+mbm/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.lo: mbm/mm-plugin-mbm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ericsson_mbm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mbm/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.lo -MD -MP -MF mbm/$(DEPDIR)/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.Tpo -c -o mbm/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.lo `test -f 'mbm/mm-plugin-mbm.c' || echo '$(srcdir)/'`mbm/mm-plugin-mbm.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mbm/$(DEPDIR)/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.Tpo mbm/$(DEPDIR)/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mbm/mm-plugin-mbm.c' object='mbm/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ericsson_mbm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mbm/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.lo `test -f 'mbm/mm-plugin-mbm.c' || echo '$(srcdir)/'`mbm/mm-plugin-mbm.c
+
+fibocom/libmm_plugin_fibocom_la-mm-plugin-fibocom.lo: fibocom/mm-plugin-fibocom.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_fibocom_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT fibocom/libmm_plugin_fibocom_la-mm-plugin-fibocom.lo -MD -MP -MF fibocom/$(DEPDIR)/libmm_plugin_fibocom_la-mm-plugin-fibocom.Tpo -c -o fibocom/libmm_plugin_fibocom_la-mm-plugin-fibocom.lo `test -f 'fibocom/mm-plugin-fibocom.c' || echo '$(srcdir)/'`fibocom/mm-plugin-fibocom.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) fibocom/$(DEPDIR)/libmm_plugin_fibocom_la-mm-plugin-fibocom.Tpo fibocom/$(DEPDIR)/libmm_plugin_fibocom_la-mm-plugin-fibocom.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fibocom/mm-plugin-fibocom.c' object='fibocom/libmm_plugin_fibocom_la-mm-plugin-fibocom.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_fibocom_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o fibocom/libmm_plugin_fibocom_la-mm-plugin-fibocom.lo `test -f 'fibocom/mm-plugin-fibocom.c' || echo '$(srcdir)/'`fibocom/mm-plugin-fibocom.c
+
+generic/libmm_plugin_generic_la-mm-plugin-generic.lo: generic/mm-plugin-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_generic_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT generic/libmm_plugin_generic_la-mm-plugin-generic.lo -MD -MP -MF generic/$(DEPDIR)/libmm_plugin_generic_la-mm-plugin-generic.Tpo -c -o generic/libmm_plugin_generic_la-mm-plugin-generic.lo `test -f 'generic/mm-plugin-generic.c' || echo '$(srcdir)/'`generic/mm-plugin-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) generic/$(DEPDIR)/libmm_plugin_generic_la-mm-plugin-generic.Tpo generic/$(DEPDIR)/libmm_plugin_generic_la-mm-plugin-generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='generic/mm-plugin-generic.c' object='generic/libmm_plugin_generic_la-mm-plugin-generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_generic_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o generic/libmm_plugin_generic_la-mm-plugin-generic.lo `test -f 'generic/mm-plugin-generic.c' || echo '$(srcdir)/'`generic/mm-plugin-generic.c
+
+haier/libmm_plugin_haier_la-mm-plugin-haier.lo: haier/mm-plugin-haier.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_haier_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT haier/libmm_plugin_haier_la-mm-plugin-haier.lo -MD -MP -MF haier/$(DEPDIR)/libmm_plugin_haier_la-mm-plugin-haier.Tpo -c -o haier/libmm_plugin_haier_la-mm-plugin-haier.lo `test -f 'haier/mm-plugin-haier.c' || echo '$(srcdir)/'`haier/mm-plugin-haier.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) haier/$(DEPDIR)/libmm_plugin_haier_la-mm-plugin-haier.Tpo haier/$(DEPDIR)/libmm_plugin_haier_la-mm-plugin-haier.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='haier/mm-plugin-haier.c' object='haier/libmm_plugin_haier_la-mm-plugin-haier.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_haier_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o haier/libmm_plugin_haier_la-mm-plugin-haier.lo `test -f 'haier/mm-plugin-haier.c' || echo '$(srcdir)/'`haier/mm-plugin-haier.c
+
+huawei/libmm_plugin_huawei_la-mm-plugin-huawei.lo: huawei/mm-plugin-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT huawei/libmm_plugin_huawei_la-mm-plugin-huawei.lo -MD -MP -MF huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-plugin-huawei.Tpo -c -o huawei/libmm_plugin_huawei_la-mm-plugin-huawei.lo `test -f 'huawei/mm-plugin-huawei.c' || echo '$(srcdir)/'`huawei/mm-plugin-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-plugin-huawei.Tpo huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-plugin-huawei.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='huawei/mm-plugin-huawei.c' object='huawei/libmm_plugin_huawei_la-mm-plugin-huawei.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o huawei/libmm_plugin_huawei_la-mm-plugin-huawei.lo `test -f 'huawei/mm-plugin-huawei.c' || echo '$(srcdir)/'`huawei/mm-plugin-huawei.c
+
+huawei/libmm_plugin_huawei_la-mm-sim-huawei.lo: huawei/mm-sim-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT huawei/libmm_plugin_huawei_la-mm-sim-huawei.lo -MD -MP -MF huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-sim-huawei.Tpo -c -o huawei/libmm_plugin_huawei_la-mm-sim-huawei.lo `test -f 'huawei/mm-sim-huawei.c' || echo '$(srcdir)/'`huawei/mm-sim-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-sim-huawei.Tpo huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-sim-huawei.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='huawei/mm-sim-huawei.c' object='huawei/libmm_plugin_huawei_la-mm-sim-huawei.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o huawei/libmm_plugin_huawei_la-mm-sim-huawei.lo `test -f 'huawei/mm-sim-huawei.c' || echo '$(srcdir)/'`huawei/mm-sim-huawei.c
+
+huawei/libmm_plugin_huawei_la-mm-call-huawei.lo: huawei/mm-call-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT huawei/libmm_plugin_huawei_la-mm-call-huawei.lo -MD -MP -MF huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-call-huawei.Tpo -c -o huawei/libmm_plugin_huawei_la-mm-call-huawei.lo `test -f 'huawei/mm-call-huawei.c' || echo '$(srcdir)/'`huawei/mm-call-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-call-huawei.Tpo huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-call-huawei.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='huawei/mm-call-huawei.c' object='huawei/libmm_plugin_huawei_la-mm-call-huawei.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o huawei/libmm_plugin_huawei_la-mm-call-huawei.lo `test -f 'huawei/mm-call-huawei.c' || echo '$(srcdir)/'`huawei/mm-call-huawei.c
+
+huawei/libmm_plugin_huawei_la-mm-broadband-modem-huawei.lo: huawei/mm-broadband-modem-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT huawei/libmm_plugin_huawei_la-mm-broadband-modem-huawei.lo -MD -MP -MF huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-modem-huawei.Tpo -c -o huawei/libmm_plugin_huawei_la-mm-broadband-modem-huawei.lo `test -f 'huawei/mm-broadband-modem-huawei.c' || echo '$(srcdir)/'`huawei/mm-broadband-modem-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-modem-huawei.Tpo huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-modem-huawei.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='huawei/mm-broadband-modem-huawei.c' object='huawei/libmm_plugin_huawei_la-mm-broadband-modem-huawei.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o huawei/libmm_plugin_huawei_la-mm-broadband-modem-huawei.lo `test -f 'huawei/mm-broadband-modem-huawei.c' || echo '$(srcdir)/'`huawei/mm-broadband-modem-huawei.c
+
+huawei/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.lo: huawei/mm-broadband-bearer-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT huawei/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.lo -MD -MP -MF huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.Tpo -c -o huawei/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.lo `test -f 'huawei/mm-broadband-bearer-huawei.c' || echo '$(srcdir)/'`huawei/mm-broadband-bearer-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.Tpo huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='huawei/mm-broadband-bearer-huawei.c' object='huawei/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_huawei_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o huawei/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.lo `test -f 'huawei/mm-broadband-bearer-huawei.c' || echo '$(srcdir)/'`huawei/mm-broadband-bearer-huawei.c
+
+iridium/libmm_plugin_iridium_la-mm-plugin-iridium.lo: iridium/mm-plugin-iridium.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_iridium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iridium/libmm_plugin_iridium_la-mm-plugin-iridium.lo -MD -MP -MF iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-plugin-iridium.Tpo -c -o iridium/libmm_plugin_iridium_la-mm-plugin-iridium.lo `test -f 'iridium/mm-plugin-iridium.c' || echo '$(srcdir)/'`iridium/mm-plugin-iridium.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-plugin-iridium.Tpo iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-plugin-iridium.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iridium/mm-plugin-iridium.c' object='iridium/libmm_plugin_iridium_la-mm-plugin-iridium.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_iridium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iridium/libmm_plugin_iridium_la-mm-plugin-iridium.lo `test -f 'iridium/mm-plugin-iridium.c' || echo '$(srcdir)/'`iridium/mm-plugin-iridium.c
+
+iridium/libmm_plugin_iridium_la-mm-broadband-modem-iridium.lo: iridium/mm-broadband-modem-iridium.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_iridium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iridium/libmm_plugin_iridium_la-mm-broadband-modem-iridium.lo -MD -MP -MF iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-broadband-modem-iridium.Tpo -c -o iridium/libmm_plugin_iridium_la-mm-broadband-modem-iridium.lo `test -f 'iridium/mm-broadband-modem-iridium.c' || echo '$(srcdir)/'`iridium/mm-broadband-modem-iridium.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-broadband-modem-iridium.Tpo iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-broadband-modem-iridium.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iridium/mm-broadband-modem-iridium.c' object='iridium/libmm_plugin_iridium_la-mm-broadband-modem-iridium.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_iridium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iridium/libmm_plugin_iridium_la-mm-broadband-modem-iridium.lo `test -f 'iridium/mm-broadband-modem-iridium.c' || echo '$(srcdir)/'`iridium/mm-broadband-modem-iridium.c
+
+iridium/libmm_plugin_iridium_la-mm-bearer-iridium.lo: iridium/mm-bearer-iridium.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_iridium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iridium/libmm_plugin_iridium_la-mm-bearer-iridium.lo -MD -MP -MF iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-bearer-iridium.Tpo -c -o iridium/libmm_plugin_iridium_la-mm-bearer-iridium.lo `test -f 'iridium/mm-bearer-iridium.c' || echo '$(srcdir)/'`iridium/mm-bearer-iridium.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-bearer-iridium.Tpo iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-bearer-iridium.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iridium/mm-bearer-iridium.c' object='iridium/libmm_plugin_iridium_la-mm-bearer-iridium.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_iridium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iridium/libmm_plugin_iridium_la-mm-bearer-iridium.lo `test -f 'iridium/mm-bearer-iridium.c' || echo '$(srcdir)/'`iridium/mm-bearer-iridium.c
+
+iridium/libmm_plugin_iridium_la-mm-sim-iridium.lo: iridium/mm-sim-iridium.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_iridium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT iridium/libmm_plugin_iridium_la-mm-sim-iridium.lo -MD -MP -MF iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-sim-iridium.Tpo -c -o iridium/libmm_plugin_iridium_la-mm-sim-iridium.lo `test -f 'iridium/mm-sim-iridium.c' || echo '$(srcdir)/'`iridium/mm-sim-iridium.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-sim-iridium.Tpo iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-sim-iridium.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='iridium/mm-sim-iridium.c' object='iridium/libmm_plugin_iridium_la-mm-sim-iridium.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_iridium_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iridium/libmm_plugin_iridium_la-mm-sim-iridium.lo `test -f 'iridium/mm-sim-iridium.c' || echo '$(srcdir)/'`iridium/mm-sim-iridium.c
+
+linktop/libmm_plugin_linktop_la-mm-plugin-linktop.lo: linktop/mm-plugin-linktop.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_linktop_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linktop/libmm_plugin_linktop_la-mm-plugin-linktop.lo -MD -MP -MF linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-plugin-linktop.Tpo -c -o linktop/libmm_plugin_linktop_la-mm-plugin-linktop.lo `test -f 'linktop/mm-plugin-linktop.c' || echo '$(srcdir)/'`linktop/mm-plugin-linktop.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-plugin-linktop.Tpo linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-plugin-linktop.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='linktop/mm-plugin-linktop.c' object='linktop/libmm_plugin_linktop_la-mm-plugin-linktop.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_linktop_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linktop/libmm_plugin_linktop_la-mm-plugin-linktop.lo `test -f 'linktop/mm-plugin-linktop.c' || echo '$(srcdir)/'`linktop/mm-plugin-linktop.c
+
+linktop/libmm_plugin_linktop_la-mm-broadband-modem-linktop.lo: linktop/mm-broadband-modem-linktop.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_linktop_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linktop/libmm_plugin_linktop_la-mm-broadband-modem-linktop.lo -MD -MP -MF linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-broadband-modem-linktop.Tpo -c -o linktop/libmm_plugin_linktop_la-mm-broadband-modem-linktop.lo `test -f 'linktop/mm-broadband-modem-linktop.c' || echo '$(srcdir)/'`linktop/mm-broadband-modem-linktop.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-broadband-modem-linktop.Tpo linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-broadband-modem-linktop.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='linktop/mm-broadband-modem-linktop.c' object='linktop/libmm_plugin_linktop_la-mm-broadband-modem-linktop.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_linktop_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linktop/libmm_plugin_linktop_la-mm-broadband-modem-linktop.lo `test -f 'linktop/mm-broadband-modem-linktop.c' || echo '$(srcdir)/'`linktop/mm-broadband-modem-linktop.c
+
+longcheer/libmm_plugin_longcheer_la-mm-plugin-longcheer.lo: longcheer/mm-plugin-longcheer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_longcheer_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT longcheer/libmm_plugin_longcheer_la-mm-plugin-longcheer.lo -MD -MP -MF longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-plugin-longcheer.Tpo -c -o longcheer/libmm_plugin_longcheer_la-mm-plugin-longcheer.lo `test -f 'longcheer/mm-plugin-longcheer.c' || echo '$(srcdir)/'`longcheer/mm-plugin-longcheer.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-plugin-longcheer.Tpo longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-plugin-longcheer.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='longcheer/mm-plugin-longcheer.c' object='longcheer/libmm_plugin_longcheer_la-mm-plugin-longcheer.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_longcheer_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o longcheer/libmm_plugin_longcheer_la-mm-plugin-longcheer.lo `test -f 'longcheer/mm-plugin-longcheer.c' || echo '$(srcdir)/'`longcheer/mm-plugin-longcheer.c
+
+longcheer/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.lo: longcheer/mm-broadband-modem-longcheer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_longcheer_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT longcheer/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.lo -MD -MP -MF longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.Tpo -c -o longcheer/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.lo `test -f 'longcheer/mm-broadband-modem-longcheer.c' || echo '$(srcdir)/'`longcheer/mm-broadband-modem-longcheer.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.Tpo longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='longcheer/mm-broadband-modem-longcheer.c' object='longcheer/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_longcheer_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o longcheer/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.lo `test -f 'longcheer/mm-broadband-modem-longcheer.c' || echo '$(srcdir)/'`longcheer/mm-broadband-modem-longcheer.c
+
+motorola/libmm_plugin_motorola_la-mm-plugin-motorola.lo: motorola/mm-plugin-motorola.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_motorola_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT motorola/libmm_plugin_motorola_la-mm-plugin-motorola.lo -MD -MP -MF motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-plugin-motorola.Tpo -c -o motorola/libmm_plugin_motorola_la-mm-plugin-motorola.lo `test -f 'motorola/mm-plugin-motorola.c' || echo '$(srcdir)/'`motorola/mm-plugin-motorola.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-plugin-motorola.Tpo motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-plugin-motorola.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='motorola/mm-plugin-motorola.c' object='motorola/libmm_plugin_motorola_la-mm-plugin-motorola.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_motorola_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o motorola/libmm_plugin_motorola_la-mm-plugin-motorola.lo `test -f 'motorola/mm-plugin-motorola.c' || echo '$(srcdir)/'`motorola/mm-plugin-motorola.c
+
+motorola/libmm_plugin_motorola_la-mm-broadband-modem-motorola.lo: motorola/mm-broadband-modem-motorola.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_motorola_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT motorola/libmm_plugin_motorola_la-mm-broadband-modem-motorola.lo -MD -MP -MF motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-broadband-modem-motorola.Tpo -c -o motorola/libmm_plugin_motorola_la-mm-broadband-modem-motorola.lo `test -f 'motorola/mm-broadband-modem-motorola.c' || echo '$(srcdir)/'`motorola/mm-broadband-modem-motorola.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-broadband-modem-motorola.Tpo motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-broadband-modem-motorola.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='motorola/mm-broadband-modem-motorola.c' object='motorola/libmm_plugin_motorola_la-mm-broadband-modem-motorola.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_motorola_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o motorola/libmm_plugin_motorola_la-mm-broadband-modem-motorola.lo `test -f 'motorola/mm-broadband-modem-motorola.c' || echo '$(srcdir)/'`motorola/mm-broadband-modem-motorola.c
+
+mtk/libmm_plugin_mtk_la-mm-plugin-mtk.lo: mtk/mm-plugin-mtk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_mtk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtk/libmm_plugin_mtk_la-mm-plugin-mtk.lo -MD -MP -MF mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-plugin-mtk.Tpo -c -o mtk/libmm_plugin_mtk_la-mm-plugin-mtk.lo `test -f 'mtk/mm-plugin-mtk.c' || echo '$(srcdir)/'`mtk/mm-plugin-mtk.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-plugin-mtk.Tpo mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-plugin-mtk.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mtk/mm-plugin-mtk.c' object='mtk/libmm_plugin_mtk_la-mm-plugin-mtk.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_mtk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtk/libmm_plugin_mtk_la-mm-plugin-mtk.lo `test -f 'mtk/mm-plugin-mtk.c' || echo '$(srcdir)/'`mtk/mm-plugin-mtk.c
+
+mtk/libmm_plugin_mtk_la-mm-broadband-modem-mtk.lo: mtk/mm-broadband-modem-mtk.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_mtk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mtk/libmm_plugin_mtk_la-mm-broadband-modem-mtk.lo -MD -MP -MF mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-broadband-modem-mtk.Tpo -c -o mtk/libmm_plugin_mtk_la-mm-broadband-modem-mtk.lo `test -f 'mtk/mm-broadband-modem-mtk.c' || echo '$(srcdir)/'`mtk/mm-broadband-modem-mtk.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-broadband-modem-mtk.Tpo mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-broadband-modem-mtk.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mtk/mm-broadband-modem-mtk.c' object='mtk/libmm_plugin_mtk_la-mm-broadband-modem-mtk.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_mtk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mtk/libmm_plugin_mtk_la-mm-broadband-modem-mtk.lo `test -f 'mtk/mm-broadband-modem-mtk.c' || echo '$(srcdir)/'`mtk/mm-broadband-modem-mtk.c
+
+nokia/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.lo: nokia/mm-plugin-nokia-icera.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_nokia_icera_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nokia/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.lo -MD -MP -MF nokia/$(DEPDIR)/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.Tpo -c -o nokia/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.lo `test -f 'nokia/mm-plugin-nokia-icera.c' || echo '$(srcdir)/'`nokia/mm-plugin-nokia-icera.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nokia/$(DEPDIR)/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.Tpo nokia/$(DEPDIR)/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nokia/mm-plugin-nokia-icera.c' object='nokia/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_nokia_icera_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nokia/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.lo `test -f 'nokia/mm-plugin-nokia-icera.c' || echo '$(srcdir)/'`nokia/mm-plugin-nokia-icera.c
+
+nokia/libmm_plugin_nokia_la-mm-plugin-nokia.lo: nokia/mm-plugin-nokia.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_nokia_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nokia/libmm_plugin_nokia_la-mm-plugin-nokia.lo -MD -MP -MF nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-plugin-nokia.Tpo -c -o nokia/libmm_plugin_nokia_la-mm-plugin-nokia.lo `test -f 'nokia/mm-plugin-nokia.c' || echo '$(srcdir)/'`nokia/mm-plugin-nokia.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-plugin-nokia.Tpo nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-plugin-nokia.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nokia/mm-plugin-nokia.c' object='nokia/libmm_plugin_nokia_la-mm-plugin-nokia.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_nokia_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nokia/libmm_plugin_nokia_la-mm-plugin-nokia.lo `test -f 'nokia/mm-plugin-nokia.c' || echo '$(srcdir)/'`nokia/mm-plugin-nokia.c
+
+nokia/libmm_plugin_nokia_la-mm-sim-nokia.lo: nokia/mm-sim-nokia.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_nokia_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nokia/libmm_plugin_nokia_la-mm-sim-nokia.lo -MD -MP -MF nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-sim-nokia.Tpo -c -o nokia/libmm_plugin_nokia_la-mm-sim-nokia.lo `test -f 'nokia/mm-sim-nokia.c' || echo '$(srcdir)/'`nokia/mm-sim-nokia.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-sim-nokia.Tpo nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-sim-nokia.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nokia/mm-sim-nokia.c' object='nokia/libmm_plugin_nokia_la-mm-sim-nokia.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_nokia_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nokia/libmm_plugin_nokia_la-mm-sim-nokia.lo `test -f 'nokia/mm-sim-nokia.c' || echo '$(srcdir)/'`nokia/mm-sim-nokia.c
+
+nokia/libmm_plugin_nokia_la-mm-broadband-modem-nokia.lo: nokia/mm-broadband-modem-nokia.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_nokia_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT nokia/libmm_plugin_nokia_la-mm-broadband-modem-nokia.lo -MD -MP -MF nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-broadband-modem-nokia.Tpo -c -o nokia/libmm_plugin_nokia_la-mm-broadband-modem-nokia.lo `test -f 'nokia/mm-broadband-modem-nokia.c' || echo '$(srcdir)/'`nokia/mm-broadband-modem-nokia.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-broadband-modem-nokia.Tpo nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-broadband-modem-nokia.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nokia/mm-broadband-modem-nokia.c' object='nokia/libmm_plugin_nokia_la-mm-broadband-modem-nokia.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_nokia_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o nokia/libmm_plugin_nokia_la-mm-broadband-modem-nokia.lo `test -f 'nokia/mm-broadband-modem-nokia.c' || echo '$(srcdir)/'`nokia/mm-broadband-modem-nokia.c
+
+novatel/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.lo: novatel/mm-plugin-novatel-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT novatel/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.lo -MD -MP -MF novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.Tpo -c -o novatel/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.lo `test -f 'novatel/mm-plugin-novatel-lte.c' || echo '$(srcdir)/'`novatel/mm-plugin-novatel-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.Tpo novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='novatel/mm-plugin-novatel-lte.c' object='novatel/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o novatel/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.lo `test -f 'novatel/mm-plugin-novatel-lte.c' || echo '$(srcdir)/'`novatel/mm-plugin-novatel-lte.c
+
+novatel/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.lo: novatel/mm-broadband-modem-novatel-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT novatel/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.lo -MD -MP -MF novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.Tpo -c -o novatel/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.lo `test -f 'novatel/mm-broadband-modem-novatel-lte.c' || echo '$(srcdir)/'`novatel/mm-broadband-modem-novatel-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.Tpo novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='novatel/mm-broadband-modem-novatel-lte.c' object='novatel/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o novatel/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.lo `test -f 'novatel/mm-broadband-modem-novatel-lte.c' || echo '$(srcdir)/'`novatel/mm-broadband-modem-novatel-lte.c
+
+novatel/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.lo: novatel/mm-broadband-bearer-novatel-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT novatel/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.lo -MD -MP -MF novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.Tpo -c -o novatel/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.lo `test -f 'novatel/mm-broadband-bearer-novatel-lte.c' || echo '$(srcdir)/'`novatel/mm-broadband-bearer-novatel-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.Tpo novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='novatel/mm-broadband-bearer-novatel-lte.c' object='novatel/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o novatel/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.lo `test -f 'novatel/mm-broadband-bearer-novatel-lte.c' || echo '$(srcdir)/'`novatel/mm-broadband-bearer-novatel-lte.c
+
+novatel/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.lo: novatel/mm-sim-novatel-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT novatel/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.lo -MD -MP -MF novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.Tpo -c -o novatel/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.lo `test -f 'novatel/mm-sim-novatel-lte.c' || echo '$(srcdir)/'`novatel/mm-sim-novatel-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.Tpo novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='novatel/mm-sim-novatel-lte.c' object='novatel/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_lte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o novatel/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.lo `test -f 'novatel/mm-sim-novatel-lte.c' || echo '$(srcdir)/'`novatel/mm-sim-novatel-lte.c
+
+novatel/libmm_plugin_novatel_la-mm-plugin-novatel.lo: novatel/mm-plugin-novatel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT novatel/libmm_plugin_novatel_la-mm-plugin-novatel.lo -MD -MP -MF novatel/$(DEPDIR)/libmm_plugin_novatel_la-mm-plugin-novatel.Tpo -c -o novatel/libmm_plugin_novatel_la-mm-plugin-novatel.lo `test -f 'novatel/mm-plugin-novatel.c' || echo '$(srcdir)/'`novatel/mm-plugin-novatel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) novatel/$(DEPDIR)/libmm_plugin_novatel_la-mm-plugin-novatel.Tpo novatel/$(DEPDIR)/libmm_plugin_novatel_la-mm-plugin-novatel.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='novatel/mm-plugin-novatel.c' object='novatel/libmm_plugin_novatel_la-mm-plugin-novatel.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_novatel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o novatel/libmm_plugin_novatel_la-mm-plugin-novatel.lo `test -f 'novatel/mm-plugin-novatel.c' || echo '$(srcdir)/'`novatel/mm-plugin-novatel.c
+
+option/libmm_plugin_option_hso_la-mm-plugin-hso.lo: option/mm-plugin-hso.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_option_hso_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT option/libmm_plugin_option_hso_la-mm-plugin-hso.lo -MD -MP -MF option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-plugin-hso.Tpo -c -o option/libmm_plugin_option_hso_la-mm-plugin-hso.lo `test -f 'option/mm-plugin-hso.c' || echo '$(srcdir)/'`option/mm-plugin-hso.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-plugin-hso.Tpo option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-plugin-hso.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='option/mm-plugin-hso.c' object='option/libmm_plugin_option_hso_la-mm-plugin-hso.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_option_hso_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o option/libmm_plugin_option_hso_la-mm-plugin-hso.lo `test -f 'option/mm-plugin-hso.c' || echo '$(srcdir)/'`option/mm-plugin-hso.c
+
+option/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.lo: option/mm-broadband-bearer-hso.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_option_hso_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT option/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.lo -MD -MP -MF option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.Tpo -c -o option/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.lo `test -f 'option/mm-broadband-bearer-hso.c' || echo '$(srcdir)/'`option/mm-broadband-bearer-hso.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.Tpo option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='option/mm-broadband-bearer-hso.c' object='option/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_option_hso_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o option/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.lo `test -f 'option/mm-broadband-bearer-hso.c' || echo '$(srcdir)/'`option/mm-broadband-bearer-hso.c
+
+option/libmm_plugin_option_hso_la-mm-broadband-modem-hso.lo: option/mm-broadband-modem-hso.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_option_hso_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT option/libmm_plugin_option_hso_la-mm-broadband-modem-hso.lo -MD -MP -MF option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-modem-hso.Tpo -c -o option/libmm_plugin_option_hso_la-mm-broadband-modem-hso.lo `test -f 'option/mm-broadband-modem-hso.c' || echo '$(srcdir)/'`option/mm-broadband-modem-hso.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-modem-hso.Tpo option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-modem-hso.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='option/mm-broadband-modem-hso.c' object='option/libmm_plugin_option_hso_la-mm-broadband-modem-hso.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_option_hso_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o option/libmm_plugin_option_hso_la-mm-broadband-modem-hso.lo `test -f 'option/mm-broadband-modem-hso.c' || echo '$(srcdir)/'`option/mm-broadband-modem-hso.c
+
+option/libmm_plugin_option_la-mm-plugin-option.lo: option/mm-plugin-option.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_option_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT option/libmm_plugin_option_la-mm-plugin-option.lo -MD -MP -MF option/$(DEPDIR)/libmm_plugin_option_la-mm-plugin-option.Tpo -c -o option/libmm_plugin_option_la-mm-plugin-option.lo `test -f 'option/mm-plugin-option.c' || echo '$(srcdir)/'`option/mm-plugin-option.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) option/$(DEPDIR)/libmm_plugin_option_la-mm-plugin-option.Tpo option/$(DEPDIR)/libmm_plugin_option_la-mm-plugin-option.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='option/mm-plugin-option.c' object='option/libmm_plugin_option_la-mm-plugin-option.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_option_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o option/libmm_plugin_option_la-mm-plugin-option.lo `test -f 'option/mm-plugin-option.c' || echo '$(srcdir)/'`option/mm-plugin-option.c
+
+pantech/libmm_plugin_pantech_la-mm-plugin-pantech.lo: pantech/mm-plugin-pantech.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_pantech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pantech/libmm_plugin_pantech_la-mm-plugin-pantech.lo -MD -MP -MF pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-plugin-pantech.Tpo -c -o pantech/libmm_plugin_pantech_la-mm-plugin-pantech.lo `test -f 'pantech/mm-plugin-pantech.c' || echo '$(srcdir)/'`pantech/mm-plugin-pantech.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-plugin-pantech.Tpo pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-plugin-pantech.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pantech/mm-plugin-pantech.c' object='pantech/libmm_plugin_pantech_la-mm-plugin-pantech.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_pantech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pantech/libmm_plugin_pantech_la-mm-plugin-pantech.lo `test -f 'pantech/mm-plugin-pantech.c' || echo '$(srcdir)/'`pantech/mm-plugin-pantech.c
+
+pantech/libmm_plugin_pantech_la-mm-sim-pantech.lo: pantech/mm-sim-pantech.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_pantech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pantech/libmm_plugin_pantech_la-mm-sim-pantech.lo -MD -MP -MF pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-sim-pantech.Tpo -c -o pantech/libmm_plugin_pantech_la-mm-sim-pantech.lo `test -f 'pantech/mm-sim-pantech.c' || echo '$(srcdir)/'`pantech/mm-sim-pantech.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-sim-pantech.Tpo pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-sim-pantech.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pantech/mm-sim-pantech.c' object='pantech/libmm_plugin_pantech_la-mm-sim-pantech.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_pantech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pantech/libmm_plugin_pantech_la-mm-sim-pantech.lo `test -f 'pantech/mm-sim-pantech.c' || echo '$(srcdir)/'`pantech/mm-sim-pantech.c
+
+pantech/libmm_plugin_pantech_la-mm-broadband-modem-pantech.lo: pantech/mm-broadband-modem-pantech.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_pantech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT pantech/libmm_plugin_pantech_la-mm-broadband-modem-pantech.lo -MD -MP -MF pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-broadband-modem-pantech.Tpo -c -o pantech/libmm_plugin_pantech_la-mm-broadband-modem-pantech.lo `test -f 'pantech/mm-broadband-modem-pantech.c' || echo '$(srcdir)/'`pantech/mm-broadband-modem-pantech.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-broadband-modem-pantech.Tpo pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-broadband-modem-pantech.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pantech/mm-broadband-modem-pantech.c' object='pantech/libmm_plugin_pantech_la-mm-broadband-modem-pantech.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_pantech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pantech/libmm_plugin_pantech_la-mm-broadband-modem-pantech.lo `test -f 'pantech/mm-broadband-modem-pantech.c' || echo '$(srcdir)/'`pantech/mm-broadband-modem-pantech.c
+
+quectel/libmm_plugin_quectel_la-mm-plugin-quectel.lo: quectel/mm-plugin-quectel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_quectel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT quectel/libmm_plugin_quectel_la-mm-plugin-quectel.lo -MD -MP -MF quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-plugin-quectel.Tpo -c -o quectel/libmm_plugin_quectel_la-mm-plugin-quectel.lo `test -f 'quectel/mm-plugin-quectel.c' || echo '$(srcdir)/'`quectel/mm-plugin-quectel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-plugin-quectel.Tpo quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-plugin-quectel.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='quectel/mm-plugin-quectel.c' object='quectel/libmm_plugin_quectel_la-mm-plugin-quectel.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_quectel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o quectel/libmm_plugin_quectel_la-mm-plugin-quectel.lo `test -f 'quectel/mm-plugin-quectel.c' || echo '$(srcdir)/'`quectel/mm-plugin-quectel.c
+
+quectel/libmm_plugin_quectel_la-mm-shared-quectel.lo: quectel/mm-shared-quectel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_quectel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT quectel/libmm_plugin_quectel_la-mm-shared-quectel.lo -MD -MP -MF quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-shared-quectel.Tpo -c -o quectel/libmm_plugin_quectel_la-mm-shared-quectel.lo `test -f 'quectel/mm-shared-quectel.c' || echo '$(srcdir)/'`quectel/mm-shared-quectel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-shared-quectel.Tpo quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-shared-quectel.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='quectel/mm-shared-quectel.c' object='quectel/libmm_plugin_quectel_la-mm-shared-quectel.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_quectel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o quectel/libmm_plugin_quectel_la-mm-shared-quectel.lo `test -f 'quectel/mm-shared-quectel.c' || echo '$(srcdir)/'`quectel/mm-shared-quectel.c
+
+quectel/libmm_plugin_quectel_la-mm-broadband-modem-quectel.lo: quectel/mm-broadband-modem-quectel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_quectel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT quectel/libmm_plugin_quectel_la-mm-broadband-modem-quectel.lo -MD -MP -MF quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-quectel.Tpo -c -o quectel/libmm_plugin_quectel_la-mm-broadband-modem-quectel.lo `test -f 'quectel/mm-broadband-modem-quectel.c' || echo '$(srcdir)/'`quectel/mm-broadband-modem-quectel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-quectel.Tpo quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-quectel.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='quectel/mm-broadband-modem-quectel.c' object='quectel/libmm_plugin_quectel_la-mm-broadband-modem-quectel.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_quectel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o quectel/libmm_plugin_quectel_la-mm-broadband-modem-quectel.lo `test -f 'quectel/mm-broadband-modem-quectel.c' || echo '$(srcdir)/'`quectel/mm-broadband-modem-quectel.c
+
+quectel/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.lo: quectel/mm-broadband-modem-qmi-quectel.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_quectel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT quectel/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.lo -MD -MP -MF quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.Tpo -c -o quectel/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.lo `test -f 'quectel/mm-broadband-modem-qmi-quectel.c' || echo '$(srcdir)/'`quectel/mm-broadband-modem-qmi-quectel.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.Tpo quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='quectel/mm-broadband-modem-qmi-quectel.c' object='quectel/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_quectel_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o quectel/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.lo `test -f 'quectel/mm-broadband-modem-qmi-quectel.c' || echo '$(srcdir)/'`quectel/mm-broadband-modem-qmi-quectel.c
+
+samsung/libmm_plugin_samsung_la-mm-plugin-samsung.lo: samsung/mm-plugin-samsung.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_samsung_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT samsung/libmm_plugin_samsung_la-mm-plugin-samsung.lo -MD -MP -MF samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-plugin-samsung.Tpo -c -o samsung/libmm_plugin_samsung_la-mm-plugin-samsung.lo `test -f 'samsung/mm-plugin-samsung.c' || echo '$(srcdir)/'`samsung/mm-plugin-samsung.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-plugin-samsung.Tpo samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-plugin-samsung.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='samsung/mm-plugin-samsung.c' object='samsung/libmm_plugin_samsung_la-mm-plugin-samsung.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_samsung_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o samsung/libmm_plugin_samsung_la-mm-plugin-samsung.lo `test -f 'samsung/mm-plugin-samsung.c' || echo '$(srcdir)/'`samsung/mm-plugin-samsung.c
+
+samsung/libmm_plugin_samsung_la-mm-broadband-modem-samsung.lo: samsung/mm-broadband-modem-samsung.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_samsung_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT samsung/libmm_plugin_samsung_la-mm-broadband-modem-samsung.lo -MD -MP -MF samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-broadband-modem-samsung.Tpo -c -o samsung/libmm_plugin_samsung_la-mm-broadband-modem-samsung.lo `test -f 'samsung/mm-broadband-modem-samsung.c' || echo '$(srcdir)/'`samsung/mm-broadband-modem-samsung.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-broadband-modem-samsung.Tpo samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-broadband-modem-samsung.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='samsung/mm-broadband-modem-samsung.c' object='samsung/libmm_plugin_samsung_la-mm-broadband-modem-samsung.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_samsung_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o samsung/libmm_plugin_samsung_la-mm-broadband-modem-samsung.lo `test -f 'samsung/mm-broadband-modem-samsung.c' || echo '$(srcdir)/'`samsung/mm-broadband-modem-samsung.c
+
+sierra/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.lo: sierra/mm-plugin-sierra-legacy.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_sierra_legacy_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sierra/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.lo -MD -MP -MF sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.Tpo -c -o sierra/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.lo `test -f 'sierra/mm-plugin-sierra-legacy.c' || echo '$(srcdir)/'`sierra/mm-plugin-sierra-legacy.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.Tpo sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sierra/mm-plugin-sierra-legacy.c' object='sierra/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_sierra_legacy_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sierra/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.lo `test -f 'sierra/mm-plugin-sierra-legacy.c' || echo '$(srcdir)/'`sierra/mm-plugin-sierra-legacy.c
+
+sierra/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.lo: sierra/mm-broadband-modem-sierra-icera.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_sierra_legacy_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sierra/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.lo -MD -MP -MF sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.Tpo -c -o sierra/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.lo `test -f 'sierra/mm-broadband-modem-sierra-icera.c' || echo '$(srcdir)/'`sierra/mm-broadband-modem-sierra-icera.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.Tpo sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sierra/mm-broadband-modem-sierra-icera.c' object='sierra/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_sierra_legacy_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sierra/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.lo `test -f 'sierra/mm-broadband-modem-sierra-icera.c' || echo '$(srcdir)/'`sierra/mm-broadband-modem-sierra-icera.c
+
+sierra/libmm_plugin_sierra_la-mm-plugin-sierra.lo: sierra/mm-plugin-sierra.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_sierra_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sierra/libmm_plugin_sierra_la-mm-plugin-sierra.lo -MD -MP -MF sierra/$(DEPDIR)/libmm_plugin_sierra_la-mm-plugin-sierra.Tpo -c -o sierra/libmm_plugin_sierra_la-mm-plugin-sierra.lo `test -f 'sierra/mm-plugin-sierra.c' || echo '$(srcdir)/'`sierra/mm-plugin-sierra.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sierra/$(DEPDIR)/libmm_plugin_sierra_la-mm-plugin-sierra.Tpo sierra/$(DEPDIR)/libmm_plugin_sierra_la-mm-plugin-sierra.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sierra/mm-plugin-sierra.c' object='sierra/libmm_plugin_sierra_la-mm-plugin-sierra.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_sierra_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sierra/libmm_plugin_sierra_la-mm-plugin-sierra.lo `test -f 'sierra/mm-plugin-sierra.c' || echo '$(srcdir)/'`sierra/mm-plugin-sierra.c
+
+simtech/libmm_plugin_simtech_la-mm-plugin-simtech.lo: simtech/mm-plugin-simtech.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_simtech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT simtech/libmm_plugin_simtech_la-mm-plugin-simtech.lo -MD -MP -MF simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-plugin-simtech.Tpo -c -o simtech/libmm_plugin_simtech_la-mm-plugin-simtech.lo `test -f 'simtech/mm-plugin-simtech.c' || echo '$(srcdir)/'`simtech/mm-plugin-simtech.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-plugin-simtech.Tpo simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-plugin-simtech.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simtech/mm-plugin-simtech.c' object='simtech/libmm_plugin_simtech_la-mm-plugin-simtech.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_simtech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o simtech/libmm_plugin_simtech_la-mm-plugin-simtech.lo `test -f 'simtech/mm-plugin-simtech.c' || echo '$(srcdir)/'`simtech/mm-plugin-simtech.c
+
+simtech/libmm_plugin_simtech_la-mm-broadband-modem-simtech.lo: simtech/mm-broadband-modem-simtech.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_simtech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT simtech/libmm_plugin_simtech_la-mm-broadband-modem-simtech.lo -MD -MP -MF simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-broadband-modem-simtech.Tpo -c -o simtech/libmm_plugin_simtech_la-mm-broadband-modem-simtech.lo `test -f 'simtech/mm-broadband-modem-simtech.c' || echo '$(srcdir)/'`simtech/mm-broadband-modem-simtech.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-broadband-modem-simtech.Tpo simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-broadband-modem-simtech.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simtech/mm-broadband-modem-simtech.c' object='simtech/libmm_plugin_simtech_la-mm-broadband-modem-simtech.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_simtech_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o simtech/libmm_plugin_simtech_la-mm-broadband-modem-simtech.lo `test -f 'simtech/mm-broadband-modem-simtech.c' || echo '$(srcdir)/'`simtech/mm-broadband-modem-simtech.c
+
+telit/libmm_plugin_telit_la-mm-plugin-telit.lo: telit/mm-plugin-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT telit/libmm_plugin_telit_la-mm-plugin-telit.lo -MD -MP -MF telit/$(DEPDIR)/libmm_plugin_telit_la-mm-plugin-telit.Tpo -c -o telit/libmm_plugin_telit_la-mm-plugin-telit.lo `test -f 'telit/mm-plugin-telit.c' || echo '$(srcdir)/'`telit/mm-plugin-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) telit/$(DEPDIR)/libmm_plugin_telit_la-mm-plugin-telit.Tpo telit/$(DEPDIR)/libmm_plugin_telit_la-mm-plugin-telit.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='telit/mm-plugin-telit.c' object='telit/libmm_plugin_telit_la-mm-plugin-telit.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o telit/libmm_plugin_telit_la-mm-plugin-telit.lo `test -f 'telit/mm-plugin-telit.c' || echo '$(srcdir)/'`telit/mm-plugin-telit.c
+
+thuraya/libmm_plugin_thuraya_la-mm-plugin-thuraya.lo: thuraya/mm-plugin-thuraya.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_thuraya_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thuraya/libmm_plugin_thuraya_la-mm-plugin-thuraya.lo -MD -MP -MF thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-plugin-thuraya.Tpo -c -o thuraya/libmm_plugin_thuraya_la-mm-plugin-thuraya.lo `test -f 'thuraya/mm-plugin-thuraya.c' || echo '$(srcdir)/'`thuraya/mm-plugin-thuraya.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-plugin-thuraya.Tpo thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-plugin-thuraya.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='thuraya/mm-plugin-thuraya.c' object='thuraya/libmm_plugin_thuraya_la-mm-plugin-thuraya.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_thuraya_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thuraya/libmm_plugin_thuraya_la-mm-plugin-thuraya.lo `test -f 'thuraya/mm-plugin-thuraya.c' || echo '$(srcdir)/'`thuraya/mm-plugin-thuraya.c
+
+thuraya/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.lo: thuraya/mm-broadband-modem-thuraya.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_thuraya_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thuraya/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.lo -MD -MP -MF thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.Tpo -c -o thuraya/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.lo `test -f 'thuraya/mm-broadband-modem-thuraya.c' || echo '$(srcdir)/'`thuraya/mm-broadband-modem-thuraya.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.Tpo thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='thuraya/mm-broadband-modem-thuraya.c' object='thuraya/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_thuraya_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thuraya/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.lo `test -f 'thuraya/mm-broadband-modem-thuraya.c' || echo '$(srcdir)/'`thuraya/mm-broadband-modem-thuraya.c
+
+ublox/libmm_plugin_ublox_la-mm-plugin-ublox.lo: ublox/mm-plugin-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ublox/libmm_plugin_ublox_la-mm-plugin-ublox.lo -MD -MP -MF ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-plugin-ublox.Tpo -c -o ublox/libmm_plugin_ublox_la-mm-plugin-ublox.lo `test -f 'ublox/mm-plugin-ublox.c' || echo '$(srcdir)/'`ublox/mm-plugin-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-plugin-ublox.Tpo ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-plugin-ublox.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ublox/mm-plugin-ublox.c' object='ublox/libmm_plugin_ublox_la-mm-plugin-ublox.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ublox/libmm_plugin_ublox_la-mm-plugin-ublox.lo `test -f 'ublox/mm-plugin-ublox.c' || echo '$(srcdir)/'`ublox/mm-plugin-ublox.c
+
+ublox/libmm_plugin_ublox_la-mm-call-ublox.lo: ublox/mm-call-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ublox/libmm_plugin_ublox_la-mm-call-ublox.lo -MD -MP -MF ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-call-ublox.Tpo -c -o ublox/libmm_plugin_ublox_la-mm-call-ublox.lo `test -f 'ublox/mm-call-ublox.c' || echo '$(srcdir)/'`ublox/mm-call-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-call-ublox.Tpo ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-call-ublox.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ublox/mm-call-ublox.c' object='ublox/libmm_plugin_ublox_la-mm-call-ublox.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ublox/libmm_plugin_ublox_la-mm-call-ublox.lo `test -f 'ublox/mm-call-ublox.c' || echo '$(srcdir)/'`ublox/mm-call-ublox.c
+
+ublox/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.lo: ublox/mm-broadband-bearer-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ublox/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.lo -MD -MP -MF ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.Tpo -c -o ublox/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.lo `test -f 'ublox/mm-broadband-bearer-ublox.c' || echo '$(srcdir)/'`ublox/mm-broadband-bearer-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.Tpo ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ublox/mm-broadband-bearer-ublox.c' object='ublox/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ublox/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.lo `test -f 'ublox/mm-broadband-bearer-ublox.c' || echo '$(srcdir)/'`ublox/mm-broadband-bearer-ublox.c
+
+ublox/libmm_plugin_ublox_la-mm-broadband-modem-ublox.lo: ublox/mm-broadband-modem-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ublox/libmm_plugin_ublox_la-mm-broadband-modem-ublox.lo -MD -MP -MF ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-modem-ublox.Tpo -c -o ublox/libmm_plugin_ublox_la-mm-broadband-modem-ublox.lo `test -f 'ublox/mm-broadband-modem-ublox.c' || echo '$(srcdir)/'`ublox/mm-broadband-modem-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-modem-ublox.Tpo ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-modem-ublox.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ublox/mm-broadband-modem-ublox.c' object='ublox/libmm_plugin_ublox_la-mm-broadband-modem-ublox.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ublox/libmm_plugin_ublox_la-mm-broadband-modem-ublox.lo `test -f 'ublox/mm-broadband-modem-ublox.c' || echo '$(srcdir)/'`ublox/mm-broadband-modem-ublox.c
+
+ublox/libmm_plugin_ublox_la-mm-sim-ublox.lo: ublox/mm-sim-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ublox/libmm_plugin_ublox_la-mm-sim-ublox.lo -MD -MP -MF ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-sim-ublox.Tpo -c -o ublox/libmm_plugin_ublox_la-mm-sim-ublox.lo `test -f 'ublox/mm-sim-ublox.c' || echo '$(srcdir)/'`ublox/mm-sim-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-sim-ublox.Tpo ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-sim-ublox.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ublox/mm-sim-ublox.c' object='ublox/libmm_plugin_ublox_la-mm-sim-ublox.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_ublox_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ublox/libmm_plugin_ublox_la-mm-sim-ublox.lo `test -f 'ublox/mm-sim-ublox.c' || echo '$(srcdir)/'`ublox/mm-sim-ublox.c
+
+via/libmm_plugin_via_la-mm-plugin-via.lo: via/mm-plugin-via.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_via_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT via/libmm_plugin_via_la-mm-plugin-via.lo -MD -MP -MF via/$(DEPDIR)/libmm_plugin_via_la-mm-plugin-via.Tpo -c -o via/libmm_plugin_via_la-mm-plugin-via.lo `test -f 'via/mm-plugin-via.c' || echo '$(srcdir)/'`via/mm-plugin-via.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) via/$(DEPDIR)/libmm_plugin_via_la-mm-plugin-via.Tpo via/$(DEPDIR)/libmm_plugin_via_la-mm-plugin-via.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='via/mm-plugin-via.c' object='via/libmm_plugin_via_la-mm-plugin-via.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_via_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o via/libmm_plugin_via_la-mm-plugin-via.lo `test -f 'via/mm-plugin-via.c' || echo '$(srcdir)/'`via/mm-plugin-via.c
+
+via/libmm_plugin_via_la-mm-broadband-modem-via.lo: via/mm-broadband-modem-via.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_via_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT via/libmm_plugin_via_la-mm-broadband-modem-via.lo -MD -MP -MF via/$(DEPDIR)/libmm_plugin_via_la-mm-broadband-modem-via.Tpo -c -o via/libmm_plugin_via_la-mm-broadband-modem-via.lo `test -f 'via/mm-broadband-modem-via.c' || echo '$(srcdir)/'`via/mm-broadband-modem-via.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) via/$(DEPDIR)/libmm_plugin_via_la-mm-broadband-modem-via.Tpo via/$(DEPDIR)/libmm_plugin_via_la-mm-broadband-modem-via.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='via/mm-broadband-modem-via.c' object='via/libmm_plugin_via_la-mm-broadband-modem-via.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_via_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o via/libmm_plugin_via_la-mm-broadband-modem-via.lo `test -f 'via/mm-broadband-modem-via.c' || echo '$(srcdir)/'`via/mm-broadband-modem-via.c
+
+wavecom/libmm_plugin_wavecom_la-mm-plugin-wavecom.lo: wavecom/mm-plugin-wavecom.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_wavecom_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT wavecom/libmm_plugin_wavecom_la-mm-plugin-wavecom.lo -MD -MP -MF wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-plugin-wavecom.Tpo -c -o wavecom/libmm_plugin_wavecom_la-mm-plugin-wavecom.lo `test -f 'wavecom/mm-plugin-wavecom.c' || echo '$(srcdir)/'`wavecom/mm-plugin-wavecom.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-plugin-wavecom.Tpo wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-plugin-wavecom.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='wavecom/mm-plugin-wavecom.c' object='wavecom/libmm_plugin_wavecom_la-mm-plugin-wavecom.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_wavecom_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o wavecom/libmm_plugin_wavecom_la-mm-plugin-wavecom.lo `test -f 'wavecom/mm-plugin-wavecom.c' || echo '$(srcdir)/'`wavecom/mm-plugin-wavecom.c
+
+wavecom/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.lo: wavecom/mm-broadband-modem-wavecom.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_wavecom_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT wavecom/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.lo -MD -MP -MF wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.Tpo -c -o wavecom/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.lo `test -f 'wavecom/mm-broadband-modem-wavecom.c' || echo '$(srcdir)/'`wavecom/mm-broadband-modem-wavecom.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.Tpo wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='wavecom/mm-broadband-modem-wavecom.c' object='wavecom/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_wavecom_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o wavecom/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.lo `test -f 'wavecom/mm-broadband-modem-wavecom.c' || echo '$(srcdir)/'`wavecom/mm-broadband-modem-wavecom.c
+
+x22x/libmm_plugin_x22x_la-mm-plugin-x22x.lo: x22x/mm-plugin-x22x.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_x22x_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT x22x/libmm_plugin_x22x_la-mm-plugin-x22x.lo -MD -MP -MF x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-plugin-x22x.Tpo -c -o x22x/libmm_plugin_x22x_la-mm-plugin-x22x.lo `test -f 'x22x/mm-plugin-x22x.c' || echo '$(srcdir)/'`x22x/mm-plugin-x22x.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-plugin-x22x.Tpo x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-plugin-x22x.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x22x/mm-plugin-x22x.c' object='x22x/libmm_plugin_x22x_la-mm-plugin-x22x.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_x22x_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o x22x/libmm_plugin_x22x_la-mm-plugin-x22x.lo `test -f 'x22x/mm-plugin-x22x.c' || echo '$(srcdir)/'`x22x/mm-plugin-x22x.c
+
+x22x/libmm_plugin_x22x_la-mm-broadband-modem-x22x.lo: x22x/mm-broadband-modem-x22x.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_x22x_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT x22x/libmm_plugin_x22x_la-mm-broadband-modem-x22x.lo -MD -MP -MF x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-broadband-modem-x22x.Tpo -c -o x22x/libmm_plugin_x22x_la-mm-broadband-modem-x22x.lo `test -f 'x22x/mm-broadband-modem-x22x.c' || echo '$(srcdir)/'`x22x/mm-broadband-modem-x22x.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-broadband-modem-x22x.Tpo x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-broadband-modem-x22x.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='x22x/mm-broadband-modem-x22x.c' object='x22x/libmm_plugin_x22x_la-mm-broadband-modem-x22x.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_x22x_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o x22x/libmm_plugin_x22x_la-mm-broadband-modem-x22x.lo `test -f 'x22x/mm-broadband-modem-x22x.c' || echo '$(srcdir)/'`x22x/mm-broadband-modem-x22x.c
+
+zte/libmm_plugin_zte_la-mm-plugin-zte.lo: zte/mm-plugin-zte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_zte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT zte/libmm_plugin_zte_la-mm-plugin-zte.lo -MD -MP -MF zte/$(DEPDIR)/libmm_plugin_zte_la-mm-plugin-zte.Tpo -c -o zte/libmm_plugin_zte_la-mm-plugin-zte.lo `test -f 'zte/mm-plugin-zte.c' || echo '$(srcdir)/'`zte/mm-plugin-zte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) zte/$(DEPDIR)/libmm_plugin_zte_la-mm-plugin-zte.Tpo zte/$(DEPDIR)/libmm_plugin_zte_la-mm-plugin-zte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='zte/mm-plugin-zte.c' object='zte/libmm_plugin_zte_la-mm-plugin-zte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_zte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o zte/libmm_plugin_zte_la-mm-plugin-zte.lo `test -f 'zte/mm-plugin-zte.c' || echo '$(srcdir)/'`zte/mm-plugin-zte.c
+
+zte/libmm_plugin_zte_la-mm-common-zte.lo: zte/mm-common-zte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_zte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT zte/libmm_plugin_zte_la-mm-common-zte.lo -MD -MP -MF zte/$(DEPDIR)/libmm_plugin_zte_la-mm-common-zte.Tpo -c -o zte/libmm_plugin_zte_la-mm-common-zte.lo `test -f 'zte/mm-common-zte.c' || echo '$(srcdir)/'`zte/mm-common-zte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) zte/$(DEPDIR)/libmm_plugin_zte_la-mm-common-zte.Tpo zte/$(DEPDIR)/libmm_plugin_zte_la-mm-common-zte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='zte/mm-common-zte.c' object='zte/libmm_plugin_zte_la-mm-common-zte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_zte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o zte/libmm_plugin_zte_la-mm-common-zte.lo `test -f 'zte/mm-common-zte.c' || echo '$(srcdir)/'`zte/mm-common-zte.c
+
+zte/libmm_plugin_zte_la-mm-broadband-modem-zte.lo: zte/mm-broadband-modem-zte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_zte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT zte/libmm_plugin_zte_la-mm-broadband-modem-zte.lo -MD -MP -MF zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte.Tpo -c -o zte/libmm_plugin_zte_la-mm-broadband-modem-zte.lo `test -f 'zte/mm-broadband-modem-zte.c' || echo '$(srcdir)/'`zte/mm-broadband-modem-zte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte.Tpo zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='zte/mm-broadband-modem-zte.c' object='zte/libmm_plugin_zte_la-mm-broadband-modem-zte.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_zte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o zte/libmm_plugin_zte_la-mm-broadband-modem-zte.lo `test -f 'zte/mm-broadband-modem-zte.c' || echo '$(srcdir)/'`zte/mm-broadband-modem-zte.c
+
+zte/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.lo: zte/mm-broadband-modem-zte-icera.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_zte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT zte/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.lo -MD -MP -MF zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.Tpo -c -o zte/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.lo `test -f 'zte/mm-broadband-modem-zte-icera.c' || echo '$(srcdir)/'`zte/mm-broadband-modem-zte-icera.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.Tpo zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='zte/mm-broadband-modem-zte-icera.c' object='zte/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_plugin_zte_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o zte/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.lo `test -f 'zte/mm-broadband-modem-zte-icera.c' || echo '$(srcdir)/'`zte/mm-broadband-modem-zte-icera.c
+
+tests/libmm_test_common_la-test-fixture.lo: tests/test-fixture.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_test_common_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/libmm_test_common_la-test-fixture.lo -MD -MP -MF tests/$(DEPDIR)/libmm_test_common_la-test-fixture.Tpo -c -o tests/libmm_test_common_la-test-fixture.lo `test -f 'tests/test-fixture.c' || echo '$(srcdir)/'`tests/test-fixture.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/libmm_test_common_la-test-fixture.Tpo tests/$(DEPDIR)/libmm_test_common_la-test-fixture.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/test-fixture.c' object='tests/libmm_test_common_la-test-fixture.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_test_common_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/libmm_test_common_la-test-fixture.lo `test -f 'tests/test-fixture.c' || echo '$(srcdir)/'`tests/test-fixture.c
+
+tests/libmm_test_common_la-test-port-context.lo: tests/test-port-context.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_test_common_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT tests/libmm_test_common_la-test-port-context.lo -MD -MP -MF tests/$(DEPDIR)/libmm_test_common_la-test-port-context.Tpo -c -o tests/libmm_test_common_la-test-port-context.lo `test -f 'tests/test-port-context.c' || echo '$(srcdir)/'`tests/test-port-context.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) tests/$(DEPDIR)/libmm_test_common_la-test-port-context.Tpo tests/$(DEPDIR)/libmm_test_common_la-test-port-context.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tests/test-port-context.c' object='tests/libmm_test_common_la-test-port-context.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_test_common_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tests/libmm_test_common_la-test-port-context.lo `test -f 'tests/test-port-context.c' || echo '$(srcdir)/'`tests/test-port-context.c
+
+telit/libmm_utils_telit_la-mm-common-telit.lo: telit/mm-common-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_utils_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT telit/libmm_utils_telit_la-mm-common-telit.lo -MD -MP -MF telit/$(DEPDIR)/libmm_utils_telit_la-mm-common-telit.Tpo -c -o telit/libmm_utils_telit_la-mm-common-telit.lo `test -f 'telit/mm-common-telit.c' || echo '$(srcdir)/'`telit/mm-common-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) telit/$(DEPDIR)/libmm_utils_telit_la-mm-common-telit.Tpo telit/$(DEPDIR)/libmm_utils_telit_la-mm-common-telit.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='telit/mm-common-telit.c' object='telit/libmm_utils_telit_la-mm-common-telit.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_utils_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o telit/libmm_utils_telit_la-mm-common-telit.lo `test -f 'telit/mm-common-telit.c' || echo '$(srcdir)/'`telit/mm-common-telit.c
+
+telit/libmm_utils_telit_la-mm-broadband-modem-telit.lo: telit/mm-broadband-modem-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_utils_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT telit/libmm_utils_telit_la-mm-broadband-modem-telit.lo -MD -MP -MF telit/$(DEPDIR)/libmm_utils_telit_la-mm-broadband-modem-telit.Tpo -c -o telit/libmm_utils_telit_la-mm-broadband-modem-telit.lo `test -f 'telit/mm-broadband-modem-telit.c' || echo '$(srcdir)/'`telit/mm-broadband-modem-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) telit/$(DEPDIR)/libmm_utils_telit_la-mm-broadband-modem-telit.Tpo telit/$(DEPDIR)/libmm_utils_telit_la-mm-broadband-modem-telit.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='telit/mm-broadband-modem-telit.c' object='telit/libmm_utils_telit_la-mm-broadband-modem-telit.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmm_utils_telit_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o telit/libmm_utils_telit_la-mm-broadband-modem-telit.lo `test -f 'telit/mm-broadband-modem-telit.c' || echo '$(srcdir)/'`telit/mm-broadband-modem-telit.c
+
+altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.o: altair/tests/test-modem-helpers-altair-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_altair_lte_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.o -MD -MP -MF altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Tpo -c -o altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.o `test -f 'altair/tests/test-modem-helpers-altair-lte.c' || echo '$(srcdir)/'`altair/tests/test-modem-helpers-altair-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Tpo altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altair/tests/test-modem-helpers-altair-lte.c' object='altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_altair_lte_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.o `test -f 'altair/tests/test-modem-helpers-altair-lte.c' || echo '$(srcdir)/'`altair/tests/test-modem-helpers-altair-lte.c
+
+altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.obj: altair/tests/test-modem-helpers-altair-lte.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_altair_lte_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.obj -MD -MP -MF altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Tpo -c -o altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.obj `if test -f 'altair/tests/test-modem-helpers-altair-lte.c'; then $(CYGPATH_W) 'altair/tests/test-modem-helpers-altair-lte.c'; else $(CYGPATH_W) '$(srcdir)/altair/tests/test-modem-helpers-altair-lte.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Tpo altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='altair/tests/test-modem-helpers-altair-lte.c' object='altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_altair_lte_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o altair/tests/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.obj `if test -f 'altair/tests/test-modem-helpers-altair-lte.c'; then $(CYGPATH_W) 'altair/tests/test-modem-helpers-altair-lte.c'; else $(CYGPATH_W) '$(srcdir)/altair/tests/test-modem-helpers-altair-lte.c'; fi`
+
+cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.o: cinterion/tests/test-modem-helpers-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_cinterion_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.o -MD -MP -MF cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Tpo -c -o cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.o `test -f 'cinterion/tests/test-modem-helpers-cinterion.c' || echo '$(srcdir)/'`cinterion/tests/test-modem-helpers-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Tpo cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cinterion/tests/test-modem-helpers-cinterion.c' object='cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_cinterion_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.o `test -f 'cinterion/tests/test-modem-helpers-cinterion.c' || echo '$(srcdir)/'`cinterion/tests/test-modem-helpers-cinterion.c
+
+cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.obj: cinterion/tests/test-modem-helpers-cinterion.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_cinterion_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.obj -MD -MP -MF cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Tpo -c -o cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.obj `if test -f 'cinterion/tests/test-modem-helpers-cinterion.c'; then $(CYGPATH_W) 'cinterion/tests/test-modem-helpers-cinterion.c'; else $(CYGPATH_W) '$(srcdir)/cinterion/tests/test-modem-helpers-cinterion.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Tpo cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='cinterion/tests/test-modem-helpers-cinterion.c' object='cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_cinterion_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cinterion/tests/test_modem_helpers_cinterion-test-modem-helpers-cinterion.obj `if test -f 'cinterion/tests/test-modem-helpers-cinterion.c'; then $(CYGPATH_W) 'cinterion/tests/test-modem-helpers-cinterion.c'; else $(CYGPATH_W) '$(srcdir)/cinterion/tests/test-modem-helpers-cinterion.c'; fi`
+
+huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.o: huawei/tests/test-modem-helpers-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_huawei_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.o -MD -MP -MF huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Tpo -c -o huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.o `test -f 'huawei/tests/test-modem-helpers-huawei.c' || echo '$(srcdir)/'`huawei/tests/test-modem-helpers-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Tpo huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='huawei/tests/test-modem-helpers-huawei.c' object='huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_huawei_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.o `test -f 'huawei/tests/test-modem-helpers-huawei.c' || echo '$(srcdir)/'`huawei/tests/test-modem-helpers-huawei.c
+
+huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.obj: huawei/tests/test-modem-helpers-huawei.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_huawei_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.obj -MD -MP -MF huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Tpo -c -o huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.obj `if test -f 'huawei/tests/test-modem-helpers-huawei.c'; then $(CYGPATH_W) 'huawei/tests/test-modem-helpers-huawei.c'; else $(CYGPATH_W) '$(srcdir)/huawei/tests/test-modem-helpers-huawei.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Tpo huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='huawei/tests/test-modem-helpers-huawei.c' object='huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_huawei_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o huawei/tests/test_modem_helpers_huawei-test-modem-helpers-huawei.obj `if test -f 'huawei/tests/test-modem-helpers-huawei.c'; then $(CYGPATH_W) 'huawei/tests/test-modem-helpers-huawei.c'; else $(CYGPATH_W) '$(srcdir)/huawei/tests/test-modem-helpers-huawei.c'; fi`
+
+icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.o: icera/tests/test-modem-helpers-icera.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_icera_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.o -MD -MP -MF icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Tpo -c -o icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.o `test -f 'icera/tests/test-modem-helpers-icera.c' || echo '$(srcdir)/'`icera/tests/test-modem-helpers-icera.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Tpo icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='icera/tests/test-modem-helpers-icera.c' object='icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_icera_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.o `test -f 'icera/tests/test-modem-helpers-icera.c' || echo '$(srcdir)/'`icera/tests/test-modem-helpers-icera.c
+
+icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.obj: icera/tests/test-modem-helpers-icera.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_icera_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.obj -MD -MP -MF icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Tpo -c -o icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.obj `if test -f 'icera/tests/test-modem-helpers-icera.c'; then $(CYGPATH_W) 'icera/tests/test-modem-helpers-icera.c'; else $(CYGPATH_W) '$(srcdir)/icera/tests/test-modem-helpers-icera.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Tpo icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='icera/tests/test-modem-helpers-icera.c' object='icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_icera_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o icera/tests/test_modem_helpers_icera-test-modem-helpers-icera.obj `if test -f 'icera/tests/test-modem-helpers-icera.c'; then $(CYGPATH_W) 'icera/tests/test-modem-helpers-icera.c'; else $(CYGPATH_W) '$(srcdir)/icera/tests/test-modem-helpers-icera.c'; fi`
+
+linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.o: linktop/tests/test-modem-helpers-linktop.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_linktop_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.o -MD -MP -MF linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Tpo -c -o linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.o `test -f 'linktop/tests/test-modem-helpers-linktop.c' || echo '$(srcdir)/'`linktop/tests/test-modem-helpers-linktop.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Tpo linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='linktop/tests/test-modem-helpers-linktop.c' object='linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_linktop_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.o `test -f 'linktop/tests/test-modem-helpers-linktop.c' || echo '$(srcdir)/'`linktop/tests/test-modem-helpers-linktop.c
+
+linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.obj: linktop/tests/test-modem-helpers-linktop.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_linktop_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.obj -MD -MP -MF linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Tpo -c -o linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.obj `if test -f 'linktop/tests/test-modem-helpers-linktop.c'; then $(CYGPATH_W) 'linktop/tests/test-modem-helpers-linktop.c'; else $(CYGPATH_W) '$(srcdir)/linktop/tests/test-modem-helpers-linktop.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Tpo linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='linktop/tests/test-modem-helpers-linktop.c' object='linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_linktop_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o linktop/tests/test_modem_helpers_linktop-test-modem-helpers-linktop.obj `if test -f 'linktop/tests/test-modem-helpers-linktop.c'; then $(CYGPATH_W) 'linktop/tests/test-modem-helpers-linktop.c'; else $(CYGPATH_W) '$(srcdir)/linktop/tests/test-modem-helpers-linktop.c'; fi`
+
+mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.o: mbm/tests/test-modem-helpers-mbm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_mbm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.o -MD -MP -MF mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Tpo -c -o mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.o `test -f 'mbm/tests/test-modem-helpers-mbm.c' || echo '$(srcdir)/'`mbm/tests/test-modem-helpers-mbm.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Tpo mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mbm/tests/test-modem-helpers-mbm.c' object='mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_mbm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.o `test -f 'mbm/tests/test-modem-helpers-mbm.c' || echo '$(srcdir)/'`mbm/tests/test-modem-helpers-mbm.c
+
+mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.obj: mbm/tests/test-modem-helpers-mbm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_mbm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.obj -MD -MP -MF mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Tpo -c -o mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.obj `if test -f 'mbm/tests/test-modem-helpers-mbm.c'; then $(CYGPATH_W) 'mbm/tests/test-modem-helpers-mbm.c'; else $(CYGPATH_W) '$(srcdir)/mbm/tests/test-modem-helpers-mbm.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Tpo mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mbm/tests/test-modem-helpers-mbm.c' object='mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_mbm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mbm/tests/test_modem_helpers_mbm-test-modem-helpers-mbm.obj `if test -f 'mbm/tests/test-modem-helpers-mbm.c'; then $(CYGPATH_W) 'mbm/tests/test-modem-helpers-mbm.c'; else $(CYGPATH_W) '$(srcdir)/mbm/tests/test-modem-helpers-mbm.c'; fi`
+
+sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.o: sierra/tests/test-modem-helpers-sierra.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_sierra_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.o -MD -MP -MF sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Tpo -c -o sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.o `test -f 'sierra/tests/test-modem-helpers-sierra.c' || echo '$(srcdir)/'`sierra/tests/test-modem-helpers-sierra.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Tpo sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sierra/tests/test-modem-helpers-sierra.c' object='sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_sierra_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.o `test -f 'sierra/tests/test-modem-helpers-sierra.c' || echo '$(srcdir)/'`sierra/tests/test-modem-helpers-sierra.c
+
+sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.obj: sierra/tests/test-modem-helpers-sierra.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_sierra_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.obj -MD -MP -MF sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Tpo -c -o sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.obj `if test -f 'sierra/tests/test-modem-helpers-sierra.c'; then $(CYGPATH_W) 'sierra/tests/test-modem-helpers-sierra.c'; else $(CYGPATH_W) '$(srcdir)/sierra/tests/test-modem-helpers-sierra.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Tpo sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sierra/tests/test-modem-helpers-sierra.c' object='sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_sierra_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o sierra/tests/test_modem_helpers_sierra-test-modem-helpers-sierra.obj `if test -f 'sierra/tests/test-modem-helpers-sierra.c'; then $(CYGPATH_W) 'sierra/tests/test-modem-helpers-sierra.c'; else $(CYGPATH_W) '$(srcdir)/sierra/tests/test-modem-helpers-sierra.c'; fi`
+
+telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.o: telit/tests/test-mm-modem-helpers-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_telit_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.o -MD -MP -MF telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Tpo -c -o telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.o `test -f 'telit/tests/test-mm-modem-helpers-telit.c' || echo '$(srcdir)/'`telit/tests/test-mm-modem-helpers-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Tpo telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='telit/tests/test-mm-modem-helpers-telit.c' object='telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_telit_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.o `test -f 'telit/tests/test-mm-modem-helpers-telit.c' || echo '$(srcdir)/'`telit/tests/test-mm-modem-helpers-telit.c
+
+telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.obj: telit/tests/test-mm-modem-helpers-telit.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_telit_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.obj -MD -MP -MF telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Tpo -c -o telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.obj `if test -f 'telit/tests/test-mm-modem-helpers-telit.c'; then $(CYGPATH_W) 'telit/tests/test-mm-modem-helpers-telit.c'; else $(CYGPATH_W) '$(srcdir)/telit/tests/test-mm-modem-helpers-telit.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Tpo telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='telit/tests/test-mm-modem-helpers-telit.c' object='telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_telit_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o telit/tests/test_modem_helpers_telit-test-mm-modem-helpers-telit.obj `if test -f 'telit/tests/test-mm-modem-helpers-telit.c'; then $(CYGPATH_W) 'telit/tests/test-mm-modem-helpers-telit.c'; else $(CYGPATH_W) '$(srcdir)/telit/tests/test-mm-modem-helpers-telit.c'; fi`
+
+thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.o: thuraya/tests/test-mm-modem-helpers-thuraya.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_thuraya_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.o -MD -MP -MF thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Tpo -c -o thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.o `test -f 'thuraya/tests/test-mm-modem-helpers-thuraya.c' || echo '$(srcdir)/'`thuraya/tests/test-mm-modem-helpers-thuraya.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Tpo thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='thuraya/tests/test-mm-modem-helpers-thuraya.c' object='thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_thuraya_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.o `test -f 'thuraya/tests/test-mm-modem-helpers-thuraya.c' || echo '$(srcdir)/'`thuraya/tests/test-mm-modem-helpers-thuraya.c
+
+thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.obj: thuraya/tests/test-mm-modem-helpers-thuraya.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_thuraya_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.obj -MD -MP -MF thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Tpo -c -o thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.obj `if test -f 'thuraya/tests/test-mm-modem-helpers-thuraya.c'; then $(CYGPATH_W) 'thuraya/tests/test-mm-modem-helpers-thuraya.c'; else $(CYGPATH_W) '$(srcdir)/thuraya/tests/test-mm-modem-helpers-thuraya.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Tpo thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='thuraya/tests/test-mm-modem-helpers-thuraya.c' object='thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_thuraya_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o thuraya/tests/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.obj `if test -f 'thuraya/tests/test-mm-modem-helpers-thuraya.c'; then $(CYGPATH_W) 'thuraya/tests/test-mm-modem-helpers-thuraya.c'; else $(CYGPATH_W) '$(srcdir)/thuraya/tests/test-mm-modem-helpers-thuraya.c'; fi`
+
+ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.o: ublox/tests/test-modem-helpers-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_ublox_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.o -MD -MP -MF ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Tpo -c -o ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.o `test -f 'ublox/tests/test-modem-helpers-ublox.c' || echo '$(srcdir)/'`ublox/tests/test-modem-helpers-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Tpo ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ublox/tests/test-modem-helpers-ublox.c' object='ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_ublox_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.o `test -f 'ublox/tests/test-modem-helpers-ublox.c' || echo '$(srcdir)/'`ublox/tests/test-modem-helpers-ublox.c
+
+ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.obj: ublox/tests/test-modem-helpers-ublox.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_ublox_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.obj -MD -MP -MF ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Tpo -c -o ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.obj `if test -f 'ublox/tests/test-modem-helpers-ublox.c'; then $(CYGPATH_W) 'ublox/tests/test-modem-helpers-ublox.c'; else $(CYGPATH_W) '$(srcdir)/ublox/tests/test-modem-helpers-ublox.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Tpo ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ublox/tests/test-modem-helpers-ublox.c' object='ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_ublox_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ublox/tests/test_modem_helpers_ublox-test-modem-helpers-ublox.obj `if test -f 'ublox/tests/test-modem-helpers-ublox.c'; then $(CYGPATH_W) 'ublox/tests/test-modem-helpers-ublox.c'; else $(CYGPATH_W) '$(srcdir)/ublox/tests/test-modem-helpers-ublox.c'; fi`
+
+xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.o: xmm/tests/test-modem-helpers-xmm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_xmm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.o -MD -MP -MF xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Tpo -c -o xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.o `test -f 'xmm/tests/test-modem-helpers-xmm.c' || echo '$(srcdir)/'`xmm/tests/test-modem-helpers-xmm.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Tpo xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xmm/tests/test-modem-helpers-xmm.c' object='xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_xmm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.o `test -f 'xmm/tests/test-modem-helpers-xmm.c' || echo '$(srcdir)/'`xmm/tests/test-modem-helpers-xmm.c
+
+xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.obj: xmm/tests/test-modem-helpers-xmm.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_xmm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.obj -MD -MP -MF xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Tpo -c -o xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.obj `if test -f 'xmm/tests/test-modem-helpers-xmm.c'; then $(CYGPATH_W) 'xmm/tests/test-modem-helpers-xmm.c'; else $(CYGPATH_W) '$(srcdir)/xmm/tests/test-modem-helpers-xmm.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Tpo xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xmm/tests/test-modem-helpers-xmm.c' object='xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_modem_helpers_xmm_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xmm/tests/test_modem_helpers_xmm-test-modem-helpers-xmm.obj `if test -f 'xmm/tests/test-modem-helpers-xmm.c'; then $(CYGPATH_W) 'xmm/tests/test-modem-helpers-xmm.c'; else $(CYGPATH_W) '$(srcdir)/xmm/tests/test-modem-helpers-xmm.c'; fi`
+
+generic/tests/test_service_generic-test-service-generic.o: generic/tests/test-service-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_service_generic_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT generic/tests/test_service_generic-test-service-generic.o -MD -MP -MF generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Tpo -c -o generic/tests/test_service_generic-test-service-generic.o `test -f 'generic/tests/test-service-generic.c' || echo '$(srcdir)/'`generic/tests/test-service-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Tpo generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='generic/tests/test-service-generic.c' object='generic/tests/test_service_generic-test-service-generic.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_service_generic_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o generic/tests/test_service_generic-test-service-generic.o `test -f 'generic/tests/test-service-generic.c' || echo '$(srcdir)/'`generic/tests/test-service-generic.c
+
+generic/tests/test_service_generic-test-service-generic.obj: generic/tests/test-service-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_service_generic_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT generic/tests/test_service_generic-test-service-generic.obj -MD -MP -MF generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Tpo -c -o generic/tests/test_service_generic-test-service-generic.obj `if test -f 'generic/tests/test-service-generic.c'; then $(CYGPATH_W) 'generic/tests/test-service-generic.c'; else $(CYGPATH_W) '$(srcdir)/generic/tests/test-service-generic.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Tpo generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='generic/tests/test-service-generic.c' object='generic/tests/test_service_generic-test-service-generic.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_service_generic_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o generic/tests/test_service_generic-test-service-generic.obj `if test -f 'generic/tests/test-service-generic.c'; then $(CYGPATH_W) 'generic/tests/test-service-generic.c'; else $(CYGPATH_W) '$(srcdir)/generic/tests/test-service-generic.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+ -rm -rf altair/.libs altair/_libs
+ -rm -rf anydata/.libs anydata/_libs
+ -rm -rf cinterion/.libs cinterion/_libs
+ -rm -rf dell/.libs dell/_libs
+ -rm -rf fibocom/.libs fibocom/_libs
+ -rm -rf generic/.libs generic/_libs
+ -rm -rf haier/.libs haier/_libs
+ -rm -rf huawei/.libs huawei/_libs
+ -rm -rf icera/.libs icera/_libs
+ -rm -rf iridium/.libs iridium/_libs
+ -rm -rf linktop/.libs linktop/_libs
+ -rm -rf longcheer/.libs longcheer/_libs
+ -rm -rf mbm/.libs mbm/_libs
+ -rm -rf motorola/.libs motorola/_libs
+ -rm -rf mtk/.libs mtk/_libs
+ -rm -rf nokia/.libs nokia/_libs
+ -rm -rf novatel/.libs novatel/_libs
+ -rm -rf option/.libs option/_libs
+ -rm -rf pantech/.libs pantech/_libs
+ -rm -rf quectel/.libs quectel/_libs
+ -rm -rf samsung/.libs samsung/_libs
+ -rm -rf sierra/.libs sierra/_libs
+ -rm -rf simtech/.libs simtech/_libs
+ -rm -rf telit/.libs telit/_libs
+ -rm -rf tests/.libs tests/_libs
+ -rm -rf thuraya/.libs thuraya/_libs
+ -rm -rf ublox/.libs ublox/_libs
+ -rm -rf via/.libs via/_libs
+ -rm -rf wavecom/.libs wavecom/_libs
+ -rm -rf x22x/.libs x22x/_libs
+ -rm -rf xmm/.libs xmm/_libs
+ -rm -rf zte/.libs zte/_libs
+install-dist_udevrulesDATA: $(dist_udevrules_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(udevrulesdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(udevrulesdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevrulesdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(udevrulesdir)" || exit $$?; \
+ done
+
+uninstall-dist_udevrulesDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(udevrulesdir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-am
+all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(udevrulesdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f altair/$(DEPDIR)/$(am__dirstamp)
+ -rm -f altair/$(am__dirstamp)
+ -rm -f altair/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f altair/tests/$(am__dirstamp)
+ -rm -f anydata/$(DEPDIR)/$(am__dirstamp)
+ -rm -f anydata/$(am__dirstamp)
+ -rm -f cinterion/$(DEPDIR)/$(am__dirstamp)
+ -rm -f cinterion/$(am__dirstamp)
+ -rm -f cinterion/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f cinterion/tests/$(am__dirstamp)
+ -rm -f dell/$(DEPDIR)/$(am__dirstamp)
+ -rm -f dell/$(am__dirstamp)
+ -rm -f fibocom/$(DEPDIR)/$(am__dirstamp)
+ -rm -f fibocom/$(am__dirstamp)
+ -rm -f generic/$(DEPDIR)/$(am__dirstamp)
+ -rm -f generic/$(am__dirstamp)
+ -rm -f generic/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f generic/tests/$(am__dirstamp)
+ -rm -f haier/$(DEPDIR)/$(am__dirstamp)
+ -rm -f haier/$(am__dirstamp)
+ -rm -f huawei/$(DEPDIR)/$(am__dirstamp)
+ -rm -f huawei/$(am__dirstamp)
+ -rm -f huawei/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f huawei/tests/$(am__dirstamp)
+ -rm -f icera/$(DEPDIR)/$(am__dirstamp)
+ -rm -f icera/$(am__dirstamp)
+ -rm -f icera/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f icera/tests/$(am__dirstamp)
+ -rm -f iridium/$(DEPDIR)/$(am__dirstamp)
+ -rm -f iridium/$(am__dirstamp)
+ -rm -f linktop/$(DEPDIR)/$(am__dirstamp)
+ -rm -f linktop/$(am__dirstamp)
+ -rm -f linktop/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f linktop/tests/$(am__dirstamp)
+ -rm -f longcheer/$(DEPDIR)/$(am__dirstamp)
+ -rm -f longcheer/$(am__dirstamp)
+ -rm -f mbm/$(DEPDIR)/$(am__dirstamp)
+ -rm -f mbm/$(am__dirstamp)
+ -rm -f mbm/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f mbm/tests/$(am__dirstamp)
+ -rm -f motorola/$(DEPDIR)/$(am__dirstamp)
+ -rm -f motorola/$(am__dirstamp)
+ -rm -f mtk/$(DEPDIR)/$(am__dirstamp)
+ -rm -f mtk/$(am__dirstamp)
+ -rm -f nokia/$(DEPDIR)/$(am__dirstamp)
+ -rm -f nokia/$(am__dirstamp)
+ -rm -f novatel/$(DEPDIR)/$(am__dirstamp)
+ -rm -f novatel/$(am__dirstamp)
+ -rm -f option/$(DEPDIR)/$(am__dirstamp)
+ -rm -f option/$(am__dirstamp)
+ -rm -f pantech/$(DEPDIR)/$(am__dirstamp)
+ -rm -f pantech/$(am__dirstamp)
+ -rm -f quectel/$(DEPDIR)/$(am__dirstamp)
+ -rm -f quectel/$(am__dirstamp)
+ -rm -f samsung/$(DEPDIR)/$(am__dirstamp)
+ -rm -f samsung/$(am__dirstamp)
+ -rm -f sierra/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sierra/$(am__dirstamp)
+ -rm -f sierra/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f sierra/tests/$(am__dirstamp)
+ -rm -f simtech/$(DEPDIR)/$(am__dirstamp)
+ -rm -f simtech/$(am__dirstamp)
+ -rm -f telit/$(DEPDIR)/$(am__dirstamp)
+ -rm -f telit/$(am__dirstamp)
+ -rm -f telit/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f telit/tests/$(am__dirstamp)
+ -rm -f tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f tests/$(am__dirstamp)
+ -rm -f thuraya/$(DEPDIR)/$(am__dirstamp)
+ -rm -f thuraya/$(am__dirstamp)
+ -rm -f thuraya/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f thuraya/tests/$(am__dirstamp)
+ -rm -f ublox/$(DEPDIR)/$(am__dirstamp)
+ -rm -f ublox/$(am__dirstamp)
+ -rm -f ublox/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f ublox/tests/$(am__dirstamp)
+ -rm -f via/$(DEPDIR)/$(am__dirstamp)
+ -rm -f via/$(am__dirstamp)
+ -rm -f wavecom/$(DEPDIR)/$(am__dirstamp)
+ -rm -f wavecom/$(am__dirstamp)
+ -rm -f x22x/$(DEPDIR)/$(am__dirstamp)
+ -rm -f x22x/$(am__dirstamp)
+ -rm -f xmm/$(DEPDIR)/$(am__dirstamp)
+ -rm -f xmm/$(am__dirstamp)
+ -rm -f xmm/tests/$(DEPDIR)/$(am__dirstamp)
+ -rm -f xmm/tests/$(am__dirstamp)
+ -rm -f zte/$(DEPDIR)/$(am__dirstamp)
+ -rm -f zte/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ clean-noinstPROGRAMS clean-pkglibLTLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+ -rm -f altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.Plo
+ -rm -f altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.Plo
+ -rm -f altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.Plo
+ -rm -f altair/$(DEPDIR)/mm-modem-helpers-altair-lte.Plo
+ -rm -f altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Po
+ -rm -f anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-broadband-modem-anydata.Plo
+ -rm -f anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-plugin-anydata.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-plugin-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-shared-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/mm-modem-helpers-cinterion.Plo
+ -rm -f cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Po
+ -rm -f dell/$(DEPDIR)/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.Plo
+ -rm -f dell/$(DEPDIR)/libmm_plugin_dell_la-mm-plugin-dell.Plo
+ -rm -f fibocom/$(DEPDIR)/libmm_plugin_fibocom_la-mm-plugin-fibocom.Plo
+ -rm -f generic/$(DEPDIR)/libmm_plugin_generic_la-mm-plugin-generic.Plo
+ -rm -f generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Po
+ -rm -f haier/$(DEPDIR)/libmm_plugin_haier_la-mm-plugin-haier.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-modem-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-call-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-plugin-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-sim-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/mm-modem-helpers-huawei.Plo
+ -rm -f huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Po
+ -rm -f icera/$(DEPDIR)/mm-broadband-bearer-icera.Plo
+ -rm -f icera/$(DEPDIR)/mm-broadband-modem-icera.Plo
+ -rm -f icera/$(DEPDIR)/mm-modem-helpers-icera.Plo
+ -rm -f icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Po
+ -rm -f iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-bearer-iridium.Plo
+ -rm -f iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-broadband-modem-iridium.Plo
+ -rm -f iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-plugin-iridium.Plo
+ -rm -f iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-sim-iridium.Plo
+ -rm -f linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-broadband-modem-linktop.Plo
+ -rm -f linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-plugin-linktop.Plo
+ -rm -f linktop/$(DEPDIR)/mm-modem-helpers-linktop.Plo
+ -rm -f linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Po
+ -rm -f longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.Plo
+ -rm -f longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-plugin-longcheer.Plo
+ -rm -f mbm/$(DEPDIR)/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.Plo
+ -rm -f mbm/$(DEPDIR)/mm-broadband-bearer-mbm.Plo
+ -rm -f mbm/$(DEPDIR)/mm-broadband-modem-mbm.Plo
+ -rm -f mbm/$(DEPDIR)/mm-modem-helpers-mbm.Plo
+ -rm -f mbm/$(DEPDIR)/mm-sim-mbm.Plo
+ -rm -f mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Po
+ -rm -f motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-broadband-modem-motorola.Plo
+ -rm -f motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-plugin-motorola.Plo
+ -rm -f mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-broadband-modem-mtk.Plo
+ -rm -f mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-plugin-mtk.Plo
+ -rm -f nokia/$(DEPDIR)/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.Plo
+ -rm -f nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-broadband-modem-nokia.Plo
+ -rm -f nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-plugin-nokia.Plo
+ -rm -f nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-sim-nokia.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_la-mm-plugin-novatel.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.Plo
+ -rm -f novatel/$(DEPDIR)/mm-broadband-modem-novatel.Plo
+ -rm -f novatel/$(DEPDIR)/mm-common-novatel.Plo
+ -rm -f option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.Plo
+ -rm -f option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-modem-hso.Plo
+ -rm -f option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-plugin-hso.Plo
+ -rm -f option/$(DEPDIR)/libmm_plugin_option_la-mm-plugin-option.Plo
+ -rm -f option/$(DEPDIR)/mm-broadband-modem-option.Plo
+ -rm -f pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-broadband-modem-pantech.Plo
+ -rm -f pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-plugin-pantech.Plo
+ -rm -f pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-sim-pantech.Plo
+ -rm -f quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.Plo
+ -rm -f quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-quectel.Plo
+ -rm -f quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-plugin-quectel.Plo
+ -rm -f quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-shared-quectel.Plo
+ -rm -f samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-broadband-modem-samsung.Plo
+ -rm -f samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-plugin-samsung.Plo
+ -rm -f sierra/$(DEPDIR)/libmm_plugin_sierra_la-mm-plugin-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.Plo
+ -rm -f sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.Plo
+ -rm -f sierra/$(DEPDIR)/mm-broadband-bearer-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/mm-broadband-modem-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/mm-common-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/mm-modem-helpers-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/mm-sim-sierra.Plo
+ -rm -f sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Po
+ -rm -f simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-broadband-modem-simtech.Plo
+ -rm -f simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-plugin-simtech.Plo
+ -rm -f telit/$(DEPDIR)/libhelpers_telit_la-mm-modem-helpers-telit.Plo
+ -rm -f telit/$(DEPDIR)/libhelpers_telit_la-mm-telit-enums-types.Plo
+ -rm -f telit/$(DEPDIR)/libmm_plugin_telit_la-mm-plugin-telit.Plo
+ -rm -f telit/$(DEPDIR)/libmm_utils_telit_la-mm-broadband-modem-telit.Plo
+ -rm -f telit/$(DEPDIR)/libmm_utils_telit_la-mm-common-telit.Plo
+ -rm -f telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Po
+ -rm -f tests/$(DEPDIR)/libmm_test_common_la-test-fixture.Plo
+ -rm -f tests/$(DEPDIR)/libmm_test_common_la-test-port-context.Plo
+ -rm -f tests/$(DEPDIR)/test-udev-rules.Po
+ -rm -f thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.Plo
+ -rm -f thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-plugin-thuraya.Plo
+ -rm -f thuraya/$(DEPDIR)/mm-modem-helpers-thuraya.Plo
+ -rm -f thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Po
+ -rm -f ublox/$(DEPDIR)/libhelpers_ublox_la-mm-modem-helpers-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libhelpers_ublox_la-mm-ublox-enums-types.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-modem-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-call-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-plugin-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-sim-ublox.Plo
+ -rm -f ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Po
+ -rm -f via/$(DEPDIR)/libmm_plugin_via_la-mm-broadband-modem-via.Plo
+ -rm -f via/$(DEPDIR)/libmm_plugin_via_la-mm-plugin-via.Plo
+ -rm -f wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.Plo
+ -rm -f wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-plugin-wavecom.Plo
+ -rm -f x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-broadband-modem-x22x.Plo
+ -rm -f x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-plugin-x22x.Plo
+ -rm -f xmm/$(DEPDIR)/mm-broadband-modem-mbim-xmm.Plo
+ -rm -f xmm/$(DEPDIR)/mm-broadband-modem-xmm.Plo
+ -rm -f xmm/$(DEPDIR)/mm-modem-helpers-xmm.Plo
+ -rm -f xmm/$(DEPDIR)/mm-shared-xmm.Plo
+ -rm -f xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Po
+ -rm -f zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.Plo
+ -rm -f zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte.Plo
+ -rm -f zte/$(DEPDIR)/libmm_plugin_zte_la-mm-common-zte.Plo
+ -rm -f zte/$(DEPDIR)/libmm_plugin_zte_la-mm-plugin-zte.Plo
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_udevrulesDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-pkglibLTLIBRARIES
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-bearer-altair-lte.Plo
+ -rm -f altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-broadband-modem-altair-lte.Plo
+ -rm -f altair/$(DEPDIR)/libmm_plugin_altair_lte_la-mm-plugin-altair-lte.Plo
+ -rm -f altair/$(DEPDIR)/mm-modem-helpers-altair-lte.Plo
+ -rm -f altair/tests/$(DEPDIR)/test_modem_helpers_altair_lte-test-modem-helpers-altair-lte.Po
+ -rm -f anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-broadband-modem-anydata.Plo
+ -rm -f anydata/$(DEPDIR)/libmm_plugin_anydata_la-mm-plugin-anydata.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-bearer-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-broadband-modem-qmi-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-plugin-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/libmm_plugin_cinterion_la-mm-shared-cinterion.Plo
+ -rm -f cinterion/$(DEPDIR)/mm-modem-helpers-cinterion.Plo
+ -rm -f cinterion/tests/$(DEPDIR)/test_modem_helpers_cinterion-test-modem-helpers-cinterion.Po
+ -rm -f dell/$(DEPDIR)/libmm_plugin_dell_la-mm-broadband-modem-dell-dw5821e.Plo
+ -rm -f dell/$(DEPDIR)/libmm_plugin_dell_la-mm-plugin-dell.Plo
+ -rm -f fibocom/$(DEPDIR)/libmm_plugin_fibocom_la-mm-plugin-fibocom.Plo
+ -rm -f generic/$(DEPDIR)/libmm_plugin_generic_la-mm-plugin-generic.Plo
+ -rm -f generic/tests/$(DEPDIR)/test_service_generic-test-service-generic.Po
+ -rm -f haier/$(DEPDIR)/libmm_plugin_haier_la-mm-plugin-haier.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-bearer-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-broadband-modem-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-call-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-plugin-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/libmm_plugin_huawei_la-mm-sim-huawei.Plo
+ -rm -f huawei/$(DEPDIR)/mm-modem-helpers-huawei.Plo
+ -rm -f huawei/tests/$(DEPDIR)/test_modem_helpers_huawei-test-modem-helpers-huawei.Po
+ -rm -f icera/$(DEPDIR)/mm-broadband-bearer-icera.Plo
+ -rm -f icera/$(DEPDIR)/mm-broadband-modem-icera.Plo
+ -rm -f icera/$(DEPDIR)/mm-modem-helpers-icera.Plo
+ -rm -f icera/tests/$(DEPDIR)/test_modem_helpers_icera-test-modem-helpers-icera.Po
+ -rm -f iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-bearer-iridium.Plo
+ -rm -f iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-broadband-modem-iridium.Plo
+ -rm -f iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-plugin-iridium.Plo
+ -rm -f iridium/$(DEPDIR)/libmm_plugin_iridium_la-mm-sim-iridium.Plo
+ -rm -f linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-broadband-modem-linktop.Plo
+ -rm -f linktop/$(DEPDIR)/libmm_plugin_linktop_la-mm-plugin-linktop.Plo
+ -rm -f linktop/$(DEPDIR)/mm-modem-helpers-linktop.Plo
+ -rm -f linktop/tests/$(DEPDIR)/test_modem_helpers_linktop-test-modem-helpers-linktop.Po
+ -rm -f longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-broadband-modem-longcheer.Plo
+ -rm -f longcheer/$(DEPDIR)/libmm_plugin_longcheer_la-mm-plugin-longcheer.Plo
+ -rm -f mbm/$(DEPDIR)/libmm_plugin_ericsson_mbm_la-mm-plugin-mbm.Plo
+ -rm -f mbm/$(DEPDIR)/mm-broadband-bearer-mbm.Plo
+ -rm -f mbm/$(DEPDIR)/mm-broadband-modem-mbm.Plo
+ -rm -f mbm/$(DEPDIR)/mm-modem-helpers-mbm.Plo
+ -rm -f mbm/$(DEPDIR)/mm-sim-mbm.Plo
+ -rm -f mbm/tests/$(DEPDIR)/test_modem_helpers_mbm-test-modem-helpers-mbm.Po
+ -rm -f motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-broadband-modem-motorola.Plo
+ -rm -f motorola/$(DEPDIR)/libmm_plugin_motorola_la-mm-plugin-motorola.Plo
+ -rm -f mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-broadband-modem-mtk.Plo
+ -rm -f mtk/$(DEPDIR)/libmm_plugin_mtk_la-mm-plugin-mtk.Plo
+ -rm -f nokia/$(DEPDIR)/libmm_plugin_nokia_icera_la-mm-plugin-nokia-icera.Plo
+ -rm -f nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-broadband-modem-nokia.Plo
+ -rm -f nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-plugin-nokia.Plo
+ -rm -f nokia/$(DEPDIR)/libmm_plugin_nokia_la-mm-sim-nokia.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_la-mm-plugin-novatel.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-bearer-novatel-lte.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-broadband-modem-novatel-lte.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-plugin-novatel-lte.Plo
+ -rm -f novatel/$(DEPDIR)/libmm_plugin_novatel_lte_la-mm-sim-novatel-lte.Plo
+ -rm -f novatel/$(DEPDIR)/mm-broadband-modem-novatel.Plo
+ -rm -f novatel/$(DEPDIR)/mm-common-novatel.Plo
+ -rm -f option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-bearer-hso.Plo
+ -rm -f option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-broadband-modem-hso.Plo
+ -rm -f option/$(DEPDIR)/libmm_plugin_option_hso_la-mm-plugin-hso.Plo
+ -rm -f option/$(DEPDIR)/libmm_plugin_option_la-mm-plugin-option.Plo
+ -rm -f option/$(DEPDIR)/mm-broadband-modem-option.Plo
+ -rm -f pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-broadband-modem-pantech.Plo
+ -rm -f pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-plugin-pantech.Plo
+ -rm -f pantech/$(DEPDIR)/libmm_plugin_pantech_la-mm-sim-pantech.Plo
+ -rm -f quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-qmi-quectel.Plo
+ -rm -f quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-broadband-modem-quectel.Plo
+ -rm -f quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-plugin-quectel.Plo
+ -rm -f quectel/$(DEPDIR)/libmm_plugin_quectel_la-mm-shared-quectel.Plo
+ -rm -f samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-broadband-modem-samsung.Plo
+ -rm -f samsung/$(DEPDIR)/libmm_plugin_samsung_la-mm-plugin-samsung.Plo
+ -rm -f sierra/$(DEPDIR)/libmm_plugin_sierra_la-mm-plugin-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-broadband-modem-sierra-icera.Plo
+ -rm -f sierra/$(DEPDIR)/libmm_plugin_sierra_legacy_la-mm-plugin-sierra-legacy.Plo
+ -rm -f sierra/$(DEPDIR)/mm-broadband-bearer-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/mm-broadband-modem-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/mm-common-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/mm-modem-helpers-sierra.Plo
+ -rm -f sierra/$(DEPDIR)/mm-sim-sierra.Plo
+ -rm -f sierra/tests/$(DEPDIR)/test_modem_helpers_sierra-test-modem-helpers-sierra.Po
+ -rm -f simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-broadband-modem-simtech.Plo
+ -rm -f simtech/$(DEPDIR)/libmm_plugin_simtech_la-mm-plugin-simtech.Plo
+ -rm -f telit/$(DEPDIR)/libhelpers_telit_la-mm-modem-helpers-telit.Plo
+ -rm -f telit/$(DEPDIR)/libhelpers_telit_la-mm-telit-enums-types.Plo
+ -rm -f telit/$(DEPDIR)/libmm_plugin_telit_la-mm-plugin-telit.Plo
+ -rm -f telit/$(DEPDIR)/libmm_utils_telit_la-mm-broadband-modem-telit.Plo
+ -rm -f telit/$(DEPDIR)/libmm_utils_telit_la-mm-common-telit.Plo
+ -rm -f telit/tests/$(DEPDIR)/test_modem_helpers_telit-test-mm-modem-helpers-telit.Po
+ -rm -f tests/$(DEPDIR)/libmm_test_common_la-test-fixture.Plo
+ -rm -f tests/$(DEPDIR)/libmm_test_common_la-test-port-context.Plo
+ -rm -f tests/$(DEPDIR)/test-udev-rules.Po
+ -rm -f thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-broadband-modem-thuraya.Plo
+ -rm -f thuraya/$(DEPDIR)/libmm_plugin_thuraya_la-mm-plugin-thuraya.Plo
+ -rm -f thuraya/$(DEPDIR)/mm-modem-helpers-thuraya.Plo
+ -rm -f thuraya/tests/$(DEPDIR)/test_modem_helpers_thuraya-test-mm-modem-helpers-thuraya.Po
+ -rm -f ublox/$(DEPDIR)/libhelpers_ublox_la-mm-modem-helpers-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libhelpers_ublox_la-mm-ublox-enums-types.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-bearer-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-broadband-modem-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-call-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-plugin-ublox.Plo
+ -rm -f ublox/$(DEPDIR)/libmm_plugin_ublox_la-mm-sim-ublox.Plo
+ -rm -f ublox/tests/$(DEPDIR)/test_modem_helpers_ublox-test-modem-helpers-ublox.Po
+ -rm -f via/$(DEPDIR)/libmm_plugin_via_la-mm-broadband-modem-via.Plo
+ -rm -f via/$(DEPDIR)/libmm_plugin_via_la-mm-plugin-via.Plo
+ -rm -f wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-broadband-modem-wavecom.Plo
+ -rm -f wavecom/$(DEPDIR)/libmm_plugin_wavecom_la-mm-plugin-wavecom.Plo
+ -rm -f x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-broadband-modem-x22x.Plo
+ -rm -f x22x/$(DEPDIR)/libmm_plugin_x22x_la-mm-plugin-x22x.Plo
+ -rm -f xmm/$(DEPDIR)/mm-broadband-modem-mbim-xmm.Plo
+ -rm -f xmm/$(DEPDIR)/mm-broadband-modem-xmm.Plo
+ -rm -f xmm/$(DEPDIR)/mm-modem-helpers-xmm.Plo
+ -rm -f xmm/$(DEPDIR)/mm-shared-xmm.Plo
+ -rm -f xmm/tests/$(DEPDIR)/test_modem_helpers_xmm-test-modem-helpers-xmm.Po
+ -rm -f zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte-icera.Plo
+ -rm -f zte/$(DEPDIR)/libmm_plugin_zte_la-mm-broadband-modem-zte.Plo
+ -rm -f zte/$(DEPDIR)/libmm_plugin_zte_la-mm-common-zte.Plo
+ -rm -f zte/$(DEPDIR)/libmm_plugin_zte_la-mm-plugin-zte.Plo
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_udevrulesDATA uninstall-pkglibLTLIBRARIES
+
+.MAKE: all check check-am install install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
+ check-local clean clean-generic clean-libtool \
+ clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
+ clean-pkglibLTLIBRARIES cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am \
+ install-dist_udevrulesDATA install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-pkglibLTLIBRARIES install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-dist_udevrulesDATA \
+ uninstall-pkglibLTLIBRARIES
+
+.PRECIOUS: Makefile
+
+
+### testing rules
+
+# test: run all tests in cwd and subdirs
+test: test-nonrecursive
+ @ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done
+
+# test-nonrecursive: run tests only in cwd
+test-nonrecursive: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS}
+
+# test-report: run tests in subdirs and generate report
+# perf-report: run tests in subdirs with -m perf and generate report
+# full-report: like test-report: with -m perf and -m slow
+test-report perf-report full-report: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || { \
+ case $@ in \
+ test-report) test_options="-k";; \
+ perf-report) test_options="-k -m=perf";; \
+ full-report) test_options="-k -m=perf -m=slow";; \
+ esac ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
+ elif test -n "${TEST_PROGS}" ; then \
+ ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
+ fi ; \
+ }
+ @ ignore_logdir=true ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
+ ignore_logdir=false ; \
+ fi ; \
+ if test -d "$(top_srcdir)/.git" ; then \
+ REVISION=`git describe` ; \
+ else \
+ REVISION=$(VERSION) ; \
+ fi ; \
+ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done ; \
+ $$ignore_logdir || { \
+ echo '<?xml version="1.0"?>' > $@.xml ; \
+ echo '<report-collection>' >> $@.xml ; \
+ echo '<info>' >> $@.xml ; \
+ echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
+ echo ' <version>$(VERSION)</version>' >> $@.xml ; \
+ echo " <revision>$$REVISION</revision>" >> $@.xml ; \
+ echo '</info>' >> $@.xml ; \
+ for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
+ sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
+ done ; \
+ echo >> $@.xml ; \
+ echo '</report-collection>' >> $@.xml ; \
+ rm -rf "$$GTESTER_LOGDIR"/ ; \
+ ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
+ }
+.PHONY: test test-report perf-report full-report test-nonrecursive
+
+# run tests in cwd as part of make check
+check-local: test-nonrecursive
+
+telit/mm-telit-enums-types.h: Makefile.am $(TELIT_ENUMS_INPUTS) $(top_srcdir)/build-aux/mm-enums-template.h
+ $(AM_V_GEN) \
+ $(MKDIR_P) telit; \
+ $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-modem-helpers-telit.h\"\n#ifndef __MM_TELIT_ENUMS_TYPES_H__\n#define __MM_TELIT_ENUMS_TYPES_H__\n" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.h \
+ --ftail "#endif /* __MM_TELIT_ENUMS_TYPES_H__ */\n" \
+ $(TELIT_ENUMS_INPUTS) > $@
+
+telit/mm-telit-enums-types.c: Makefile.am $(top_srcdir)/build-aux/mm-enums-template.c telit/mm-telit-enums-types.h
+ $(AM_V_GEN) \
+ $(MKDIR_P) telit; \
+ $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-telit-enums-types.h\"" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.c \
+ $(TELIT_ENUMS_INPUTS) > $@
+
+ublox/mm-ublox-enums-types.h: Makefile.am $(UBLOX_ENUMS_INPUTS) $(top_srcdir)/build-aux/mm-enums-template.h
+ $(AM_V_GEN) \
+ $(MKDIR_P) ublox; \
+ $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-modem-helpers-ublox.h\"\n#ifndef __MM_UBLOX_ENUMS_TYPES_H__\n#define __MM_UBLOX_ENUMS_TYPES_H__\n" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.h \
+ --ftail "#endif /* __MM_UBLOX_ENUMS_TYPES_H__ */\n" \
+ $(UBLOX_ENUMS_INPUTS) > $@
+
+ublox/mm-ublox-enums-types.c: Makefile.am $(top_srcdir)/build-aux/mm-enums-template.c ublox/mm-ublox-enums-types.h
+ $(AM_V_GEN) \
+ $(MKDIR_P) ublox; \
+ $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-ublox-enums-types.h\"" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.c \
+ $(UBLOX_ENUMS_INPUTS) > $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/plugins/ublox/README b/plugins/ublox/README
deleted file mode 100644
index 573be2ce..00000000
--- a/plugins/ublox/README
+++ /dev/null
@@ -1,162 +0,0 @@
-
-The 'ublox' plugin is originally targeted for the u-blox TOBY-L2 series,
-although it may be used with other kind of devices likely without many issues.
-
-=====================================
- USB profiles and networking modes
-=====================================
-
-The TOBY-L2 devices may work in multiple different USB profiles:
-
- * AT+UUSBCONF=0: fairly back-compatible profile, where only cdc-acm TTYs are
- exposed. ModemManager will default to PPP for the connection setup when in
- this profile.
-
- * AT+UUSBCONF=2: ECM profile, where multiple cdc-acm TTYs are exposed along
- with a ECM network interface.
-
- * AT+UUSBCONF=3: RNDIS profile, where one cdc-acm TTY and a RNDIS network
- interface are exposed. This is the default factory-programmed value.
-
-When a profile with a network interface (ECM or RNDIS) is in use, the device may
-work in multiple networking modes:
-
- * AT+UBMCONF=1: Router mode, with a built-in DHCP server running behind the
- network interface. The network interface will be assigned an IP address from
- a subnet managed by the device itself. This is the default factory-programmed
- value. E.g.:
-
- $ ip addr
- 9: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
- link/ether 02:07:01:15:00:0b brd ff:ff:ff:ff:ff:ff
- inet 192.168.1.100/24 brd 192.168.1.255 scope global dynamic usb0
- valid_lft 43009sec preferred_lft 43009sec
-
- $ ip route
- default via 192.168.1.1 dev usb0 proto static metric 700
- 192.168.1.0/24 dev usb0 proto kernel scope link src 192.168.1.100 metric 700
-
- * AT+UBMCONF=2: Bridge mode, where static IP addressing and routing must be
- performed once connected. The network interface will be assigned the same IP
- address provided by the network operator. The plugin uses 'AT+UIPADDR=N' the
- default gateway IP settings and 'AT++CGCONTRDP=N' to retrieve the interface
- IP settings and DNS setup.
-
- $ ip addr
- 11: usb0: <BROADCAST,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
- link/ether 02:07:01:15:00:0b brd ff:ff:ff:ff:ff:ff
- inet 47.59.109.26/32 brd 47.59.109.26 scope global usb0
- valid_lft forever preferred_lft forever
-
- $ ip route
- default via 47.59.109.229 dev usb0 proto static metric 700
- 47.59.109.26 dev usb0 proto kernel scope link src 47.59.109.26 metric 700
- 47.59.109.229 dev usb0 proto static scope link metric 700
-
-The 'ublox' plugin in ModemManager works with any of the previous combinations
-seamlessly. It is assumed that the device doesn't change either USB profile or
-networking mode once it has been detected and processed by ModemManager.
-
-NOTE: If manually selecting different USB profiles or networking modes, remember
-to reset the module before assuming the new settings have been applied. E.g.,
-using plain mmcli commands:
- $ sudo mmcli -m 0 --command="AT+UUSBCONF=3"
- $ sudo mmcli -m 0 --reset
-
-=================================
- Connection setup
-=================================
-
-The plugin allows to connect to specific APNs in the usual way (i.e. by creating
-a PDP context for the specific APN), and then activating the PDP context with
-'AT+CGACT=[CID]'.
-
-Authentication settings of the APN (user, password, authentication type) are
-also supported via the 'AT+UAUTHREQ' command.
-
-The plugin doesn't currently support reporting as auto-connected the default LTE
-bearer.
-
-========================================
- Connection monitoring and statistics
-========================================
-
-The status of the connection of the specific PDP context is monitored
-periodically using 'AT+CGACT?', in order to detect network-originated
-disconnections. This implementation is given in the Generic broadband bearer
-implementation, and is not ublox-specific.
-
-If the device supports it, connection TX/RX statistics will also be periodically
-loaded using the AT+UGCNTRD command. Note, though, that the TOBY-L2 doesn't seem
-to support this information via control commands.
-
-===========================================
- Supported and current mode combinations
-===========================================
-
-The full list of supported mode combinations is loaded using 'AT+URAT=?', and
-then filtered by device product name to remove technologies not supported in
-several devices. E.g. the standard TOBY-L2 list of supported mode combinations
-will include all 2G, 3G and 4G, but if the device is a L201, 2G support will be
-removed from the list.
-
-The current mode combination in use is loaded using 'AT+URAT?', and the setting
-may be changed using the 'AT+URAT=X' request.
-
-In order to be able to update this setting, the device will be put in low-power
-mode ('AT+CFUN=4'), then the setting update will be run, and finally the device
-will recover the previous functionality mode it was in (e.g. 'AT+CFUN=1' if it
-was in full functionality mode).
-
-===============================
- Supported and current bands
-===============================
-
-The full list of supported bands is hardcoded based on the supported modes of the
-device. There is no runtime loading of which are the supported bands because the
-'AT+UBANDSEL=?' command gives different results depending on the current access
-technology (i.e. there is no single full list of supported bands reported).
-
-The current list of bands is loaded via the 'AT+UBANDSEL?' command, and the
-setting may be changed using the 'AT+UBANDSEL=X' request.
-
-In order to be able to update this setting, the device will be put in low-power
-mode ('AT+CFUN=4'), then the setting update will be run, and finally the device
-will recover the previous functionality mode it was in (e.g. 'AT+CFUN=1' if it
-was in full functionality mode).
-
-======================
- Functionality mode
-======================
-
-The plugin implements a custom 'AT+CFUN?' response parser because it provides
-multiple modes that may be treated as 'low-power' by ModemManager (e.g. mode
-'0' is minimum functionality, mode '4' is airplane mode and mode '19' is
-minimum functionality with SIM deactivated).
-
-The plugin implements power-on ('AT+CFUN=1'), power-down ('AT+CFUN=4'), reset
-('AT+CFUN=16') and power-off ('AT+CPWROFF'). As usual, a reset will trigger a
-power cycle of the device, and the power-off will render the modem unusable
-until it's power cycled externally.
-
-====================================
- Network registration and quality
-====================================
-
-The LTE specific 'AT+CEREG' registration checks will be enabled by default if
-the module supports LTE. Additionally, a custom 'CREG/CGREG/CEREG' state number
-parser is provided to support u-blox specific reported states (e.g. state '6'
-to indicate 'sms only registration' on the '+CREG' indications for the CS
-network when on LTE).
-
-The plugin implements the extended Signal interface, providing RSSI, RSCP, Ec/Io
-and RSRQ measurements obtained with the 'AT+CESQ' command.
-
-==================
- PIN management
-==================
-
-A custom method to load the PIN/PUK remaining attempts is implemented based on
-the 'AT+UPINCNT' command.
-
-Have fun!
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644
index 00000000..38c293d2
--- /dev/null
+++ b/po/Makefile.in.in
@@ -0,0 +1,483 @@
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved. This file is offered as-is,
+# without any warranty.
+#
+# Origin: gettext-0.19.8
+GETTEXT_MACRO_VERSION = 0.19
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SED = @SED@
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+# When building gettext-tools, we prefer to use the built programs
+# rather than installed programs. However, we can't do that when we
+# are cross compiling.
+CROSS_COMPILING = @CROSS_COMPILING@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+ @echo "$(MSGFMT) -c -o $@ $<"; \
+ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+ @lang=`echo $* | sed -e 's,.*/,,'`; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+ sed -e '/^#/d' $< > t-$@
+ mv t-$@ $@
+
+
+all: all-@USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+ test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+ exit 1; \
+ }
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+ @$(CHECK_MACRO_VERSION)
+ test ! -f $(srcdir)/$(DOMAIN).pot || \
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+ echo "touch stamp-po" && \
+ echo timestamp > stamp-poT && \
+ mv stamp-poT stamp-po; \
+ }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ package_gnu="$(PACKAGE_GNU)"; \
+ test -n "$$package_gnu" || { \
+ if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+ LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
+ -size -10000000c -exec grep 'GNU @PACKAGE@' \
+ /dev/null '{}' ';' 2>/dev/null; \
+ else \
+ LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+ fi; \
+ } | grep -v 'libtool:' >/dev/null; then \
+ package_gnu=yes; \
+ else \
+ package_gnu=no; \
+ fi; \
+ }; \
+ if test "$$package_gnu" = "yes"; then \
+ package_prefix='GNU '; \
+ else \
+ package_prefix=''; \
+ fi; \
+ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+ else \
+ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+ fi; \
+ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ *) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --package-name="$${package_prefix}@PACKAGE@" \
+ --package-version='@VERSION@' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ esac
+ test ! -f $(DOMAIN).po || { \
+ if test -f $(srcdir)/$(DOMAIN).pot-header; then \
+ sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
+ cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
+ rm -f $(DOMAIN).1po; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+ else \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ else \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+ $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(POFILESDEPS)
+ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+ if test -f "$(srcdir)/$${lang}.po"; then \
+ test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) \
+ && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+ esac; \
+ }; \
+ else \
+ $(MAKE) $${lang}.po-create; \
+ fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+install-data-no: all
+install-data-yes: all
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+ fi; \
+ done; \
+ done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+installdirs-data-no:
+installdirs-data-yes:
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ fi; \
+ done; \
+ done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+uninstall-data-no:
+uninstall-data-yes:
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ done; \
+ done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+ rm -f remove-potcdate.sed
+ rm -f stamp-poT
+ rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+ rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+ rm -f Makefile Makefile.in POTFILES *.mo
+
+maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ rm -f stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+ test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
+ @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
+ dists="$(DISTFILES)"; \
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ dists="$$dists Makevars.template"; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ dists="$$dists $(DOMAIN).pot stamp-po"; \
+ fi; \
+ if test -f $(srcdir)/ChangeLog; then \
+ dists="$$dists ChangeLog"; \
+ fi; \
+ for i in 0 1 2 3 4 5 6 7 8 9; do \
+ if test -f $(srcdir)/ChangeLog.$$i; then \
+ dists="$$dists ChangeLog.$$i"; \
+ fi; \
+ done; \
+ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+ for file in $$dists; do \
+ if test -f $$file; then \
+ cp -p $$file $(distdir) || exit 1; \
+ else \
+ cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+ fi; \
+ done
+
+update-po: Makefile
+ $(MAKE) $(DOMAIN).pot-update
+ test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+ $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+ @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+ exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ esac; \
+ }; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "msgmerge for $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+ @:
+
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+ cd $(top_builddir) \
+ && @SHELL@ ./config.status $(subdir)/$@.in po-directories
+
+force:
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/po/ModemManager.pot b/po/ModemManager.pot
new file mode 100644
index 00000000..b55324aa
--- /dev/null
+++ b/po/ModemManager.pot
@@ -0,0 +1,92 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR The ModemManager developers.
+# This file is distributed under the same license as the ModemManager package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: ModemManager 1.10.0\n"
+"Report-Msgid-Bugs-To: modemmanager-devel@lists.freedesktop.org\n"
+"POT-Creation-Date: 2019-01-17 16:15+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:13
+msgid "Control the Modem Manager daemon"
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:14
+msgid "System policy prevents controlling the Modem Manager."
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:22
+msgid "Unlock and control a mobile broadband device"
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:23
+msgid ""
+"System policy prevents unlocking or controlling the mobile broadband device."
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:31
+msgid "Add, modify, and delete mobile broadband contacts"
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:32
+msgid ""
+"System policy prevents adding, modifying, or deleting this device's contacts."
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:40
+msgid "Send, save, modify, and delete text messages"
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:41
+msgid ""
+"System policy prevents sending or manipulating this device's text messages."
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:49
+msgid "Accept incoming voice calls or start outgoing voice calls."
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:50
+msgid "System policy prevents voice calls."
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:58
+msgid "Enable and view geographic location and positioning information"
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:59
+msgid ""
+"System policy prevents enabling or viewing geographic location information."
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:67
+msgid "Query and utilize network information and services"
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:68
+msgid ""
+"System policy prevents querying or utilizing network information and "
+"services."
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:76
+msgid "Query and manage firmware on a mobile broadband device"
+msgstr ""
+
+#: data/org.freedesktop.ModemManager1.policy.in.in:77
+msgid "System policy prevents querying or managing this device's firmware."
+msgstr ""
+
+#: src/mm-sleep-monitor.c:114
+msgid "ModemManager needs to reset devices"
+msgstr ""
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
deleted file mode 100644
index 8675cb27..00000000
--- a/po/POTFILES.skip
+++ /dev/null
@@ -1,2 +0,0 @@
-data/org.freedesktop.ModemManager1.policy.in
-data/tests/org.freedesktop.ModemManager1.service.in
diff --git a/po/Rules-quot b/po/Rules-quot
new file mode 100644
index 00000000..baf65285
--- /dev/null
+++ b/po/Rules-quot
@@ -0,0 +1,58 @@
+# This file, Rules-quot, can be copied and used freely without restrictions.
+# Special Makefile rules for English message catalogs with quotation marks.
+
+DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+
+.SUFFIXES: .insert-header .po-update-en
+
+en@quot.po-create:
+ $(MAKE) en@quot.po-update
+en@boldquot.po-create:
+ $(MAKE) en@boldquot.po-update
+
+en@quot.po-update: en@quot.po-update-en
+en@boldquot.po-update: en@boldquot.po-update-en
+
+.insert-header.po-update-en:
+ @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ ll=`echo $$lang | sed -e 's/@.*//'`; \
+ LC_ALL=C; export LC_ALL; \
+ cd $(srcdir); \
+ if $(MSGINIT) $(MSGINIT_OPTIONS) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null \
+ | $(SED) -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | \
+ { case `$(MSGFILTER) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-8] | 0.1[0-8].*) \
+ $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed \
+ ;; \
+ *) \
+ $(MSGFILTER) `echo $$lang | sed -e 's/.*@//'` \
+ ;; \
+ esac } 2>/dev/null > $$tmpdir/$$lang.new.po \
+ ; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "creation of $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+en@quot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+
+en@boldquot.insert-header: insert-header.sin
+ sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+
+mostlyclean: mostlyclean-quot
+mostlyclean-quot:
+ rm -f *.insert-header
diff --git a/po/boldquot.sed b/po/boldquot.sed
new file mode 100644
index 00000000..4b937aa5
--- /dev/null
+++ b/po/boldquot.sed
@@ -0,0 +1,10 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
+s/“/“/g
+s/”/”/g
+s/‘/‘/g
+s/’/’/g
diff --git a/po/cs.gmo b/po/cs.gmo
new file mode 100644
index 00000000..d0d84c3a
--- /dev/null
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/de.gmo b/po/de.gmo
new file mode 100644
index 00000000..23c64815
--- /dev/null
+++ b/po/de.gmo
Binary files differ
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
new file mode 100644
index 00000000..fedb6a06
--- /dev/null
+++ b/po/en@boldquot.header
@@ -0,0 +1,25 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
+# This catalog furthermore displays the text between the quotation marks in
+# bold face, assuming the VT100/XTerm escape sequences.
+#
diff --git a/po/en@quot.header b/po/en@quot.header
new file mode 100644
index 00000000..a9647fc3
--- /dev/null
+++ b/po/en@quot.header
@@ -0,0 +1,22 @@
+# All this catalog "translates" are quotation characters.
+# The msgids must be ASCII and therefore cannot contain real quotation
+# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+# and double quote (0x22). These substitutes look strange; see
+# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+#
+# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+# It also translates pairs of apostrophe (0x27) to
+# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+# and pairs of quotation mark (0x22) to
+# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+#
+# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+# When output to an ISO-8859-1 terminal, the single quotation marks are
+# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+# grave/acute accent (by libiconv), and the double quotation marks are
+# transliterated to 0x22.
+# When output to an ASCII terminal, the single quotation marks are
+# transliterated to apostrophes, and the double quotation marks are
+# transliterated to 0x22.
+#
diff --git a/po/fr.gmo b/po/fr.gmo
new file mode 100644
index 00000000..eed0852f
--- /dev/null
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fur.gmo b/po/fur.gmo
new file mode 100644
index 00000000..85bb3dff
--- /dev/null
+++ b/po/fur.gmo
Binary files differ
diff --git a/po/hu.gmo b/po/hu.gmo
new file mode 100644
index 00000000..2cc75223
--- /dev/null
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/id.gmo b/po/id.gmo
new file mode 100644
index 00000000..c7286a9f
--- /dev/null
+++ b/po/id.gmo
Binary files differ
diff --git a/po/insert-header.sin b/po/insert-header.sin
new file mode 100644
index 00000000..b26de01f
--- /dev/null
+++ b/po/insert-header.sin
@@ -0,0 +1,23 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/it.gmo b/po/it.gmo
new file mode 100644
index 00000000..b1e739c7
--- /dev/null
+++ b/po/it.gmo
Binary files differ
diff --git a/po/pl.gmo b/po/pl.gmo
new file mode 100644
index 00000000..45bff54d
--- /dev/null
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
new file mode 100644
index 00000000..6c2a01d9
--- /dev/null
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/quot.sed b/po/quot.sed
new file mode 100644
index 00000000..0122c463
--- /dev/null
+++ b/po/quot.sed
@@ -0,0 +1,6 @@
+s/"\([^"]*\)"/“\1”/g
+s/`\([^`']*\)'/‘\1’/g
+s/ '\([^`']*\)' / ‘\1’ /g
+s/ '\([^`']*\)'$/ ‘\1’/g
+s/^'\([^`']*\)' /‘\1’ /g
+s/“”/""/g
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
new file mode 100644
index 00000000..2436c49e
--- /dev/null
+++ b/po/remove-potcdate.sin
@@ -0,0 +1,19 @@
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/sk.gmo b/po/sk.gmo
new file mode 100644
index 00000000..e00e3411
--- /dev/null
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/stamp-po b/po/stamp-po
new file mode 100644
index 00000000..9788f702
--- /dev/null
+++ b/po/stamp-po
@@ -0,0 +1 @@
+timestamp
diff --git a/po/sv.gmo b/po/sv.gmo
new file mode 100644
index 00000000..e91aed26
--- /dev/null
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/tr.gmo b/po/tr.gmo
new file mode 100644
index 00000000..fc87a449
--- /dev/null
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/uk.gmo b/po/uk.gmo
new file mode 100644
index 00000000..e6c512eb
--- /dev/null
+++ b/po/uk.gmo
Binary files differ
diff --git a/src/Makefile.in b/src/Makefile.in
new file mode 100644
index 00000000..fe4a82a3
--- /dev/null
+++ b/src/Makefile.in
@@ -0,0 +1,2314 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+sbin_PROGRAMS = ModemManager$(EXEEXT)
+@WITH_QMI_TRUE@am__append_1 = $(QMI_CFLAGS)
+@WITH_QMI_TRUE@am__append_2 = $(QMI_LIBS)
+@WITH_MBIM_TRUE@am__append_3 = $(MBIM_CFLAGS)
+@WITH_MBIM_TRUE@am__append_4 = $(MBIM_LIBS)
+@WITH_POLKIT_TRUE@am__append_5 = $(POLKIT_CFLAGS)
+@WITH_POLKIT_TRUE@am__append_6 = $(POLKIT_LIBS)
+@WITH_SYSTEMD_JOURNAL_TRUE@am__append_7 = $(LIBSYSTEMD_CFLAGS)
+@WITH_SYSTEMD_JOURNAL_TRUE@am__append_8 = $(LIBSYSTEMD_LIBS)
+@WITH_QMI_TRUE@am__append_9 = \
+@WITH_QMI_TRUE@ mm-modem-helpers-qmi.c \
+@WITH_QMI_TRUE@ mm-modem-helpers-qmi.h \
+@WITH_QMI_TRUE@ $(NULL)
+
+@WITH_MBIM_TRUE@am__append_10 = \
+@WITH_MBIM_TRUE@ mm-modem-helpers-mbim.c \
+@WITH_MBIM_TRUE@ mm-modem-helpers-mbim.h \
+@WITH_MBIM_TRUE@ $(NULL)
+
+@WITH_UDEV_TRUE@am__append_11 = \
+@WITH_UDEV_TRUE@ kerneldevice/mm-kernel-device-udev.h \
+@WITH_UDEV_TRUE@ kerneldevice/mm-kernel-device-udev.c \
+@WITH_UDEV_TRUE@ $(NULL)
+
+@WITH_QMI_TRUE@am__append_12 = \
+@WITH_QMI_TRUE@ mm-port-qmi.c \
+@WITH_QMI_TRUE@ mm-port-qmi.h \
+@WITH_QMI_TRUE@ $(NULL)
+
+@WITH_MBIM_TRUE@am__append_13 = \
+@WITH_MBIM_TRUE@ mm-port-mbim.c \
+@WITH_MBIM_TRUE@ mm-port-mbim.h \
+@WITH_MBIM_TRUE@ $(NULL)
+
+
+# Additional Polkit support
+@WITH_POLKIT_TRUE@am__append_14 = mm-auth-provider-polkit.h mm-auth-provider-polkit.c
+
+# Additional suspend/resume support via systemd
+@WITH_SYSTEMD_SUSPEND_RESUME_TRUE@am__append_15 = mm-sleep-monitor.h mm-sleep-monitor.c
+
+# Additional QMI support in ModemManager
+@WITH_QMI_TRUE@am__append_16 = \
+@WITH_QMI_TRUE@ mm-shared-qmi.h \
+@WITH_QMI_TRUE@ mm-shared-qmi.c \
+@WITH_QMI_TRUE@ mm-sms-qmi.h \
+@WITH_QMI_TRUE@ mm-sms-qmi.c \
+@WITH_QMI_TRUE@ mm-sim-qmi.h \
+@WITH_QMI_TRUE@ mm-sim-qmi.c \
+@WITH_QMI_TRUE@ mm-bearer-qmi.h \
+@WITH_QMI_TRUE@ mm-bearer-qmi.c \
+@WITH_QMI_TRUE@ mm-broadband-modem-qmi.h \
+@WITH_QMI_TRUE@ mm-broadband-modem-qmi.c \
+@WITH_QMI_TRUE@ $(NULL)
+
+
+# Additional MBIM support in ModemManager
+@WITH_MBIM_TRUE@am__append_17 = \
+@WITH_MBIM_TRUE@ mm-sms-mbim.h \
+@WITH_MBIM_TRUE@ mm-sms-mbim.c \
+@WITH_MBIM_TRUE@ mm-sim-mbim.h \
+@WITH_MBIM_TRUE@ mm-sim-mbim.c \
+@WITH_MBIM_TRUE@ mm-bearer-mbim.h \
+@WITH_MBIM_TRUE@ mm-bearer-mbim.c \
+@WITH_MBIM_TRUE@ mm-broadband-modem-mbim.h \
+@WITH_MBIM_TRUE@ mm-broadband-modem-mbim.c \
+@WITH_MBIM_TRUE@ $(NULL)
+
+subdir = src
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(udevrulesdir)"
+PROGRAMS = $(sbin_PROGRAMS)
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libhelpers_la_LIBADD =
+am__libhelpers_la_SOURCES_DIST = mm-error-helpers.c mm-error-helpers.h \
+ mm-modem-helpers.c mm-modem-helpers.h mm-charsets.c \
+ mm-charsets.h mm-sms-part.h mm-sms-part.c mm-sms-part-3gpp.h \
+ mm-sms-part-3gpp.c mm-sms-part-cdma.h mm-sms-part-cdma.c \
+ mm-modem-helpers-qmi.c mm-modem-helpers-qmi.h \
+ mm-modem-helpers-mbim.c mm-modem-helpers-mbim.h
+@WITH_QMI_TRUE@am__objects_1 = mm-modem-helpers-qmi.lo
+@WITH_MBIM_TRUE@am__objects_2 = mm-modem-helpers-mbim.lo
+am_libhelpers_la_OBJECTS = mm-error-helpers.lo mm-modem-helpers.lo \
+ mm-charsets.lo mm-sms-part.lo mm-sms-part-3gpp.lo \
+ mm-sms-part-cdma.lo $(am__objects_1) $(am__objects_2)
+am__objects_3 = mm-helper-enums-types.lo
+nodist_libhelpers_la_OBJECTS = $(am__objects_3)
+libhelpers_la_OBJECTS = $(am_libhelpers_la_OBJECTS) \
+ $(nodist_libhelpers_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libkerneldevice_la_DEPENDENCIES = \
+ $(top_builddir)/libmm-glib/libmm-glib.la
+am__libkerneldevice_la_SOURCES_DIST = kerneldevice/mm-kernel-device.h \
+ kerneldevice/mm-kernel-device.c \
+ kerneldevice/mm-kernel-device-generic.h \
+ kerneldevice/mm-kernel-device-generic.c \
+ kerneldevice/mm-kernel-device-generic-rules.h \
+ kerneldevice/mm-kernel-device-generic-rules.c \
+ kerneldevice/mm-kernel-device-udev.h \
+ kerneldevice/mm-kernel-device-udev.c
+am__dirstamp = $(am__leading_dot)dirstamp
+@WITH_UDEV_TRUE@am__objects_4 = kerneldevice/libkerneldevice_la-mm-kernel-device-udev.lo
+am_libkerneldevice_la_OBJECTS = \
+ kerneldevice/libkerneldevice_la-mm-kernel-device.lo \
+ kerneldevice/libkerneldevice_la-mm-kernel-device-generic.lo \
+ kerneldevice/libkerneldevice_la-mm-kernel-device-generic-rules.lo \
+ $(am__objects_4)
+libkerneldevice_la_OBJECTS = $(am_libkerneldevice_la_OBJECTS)
+libport_la_DEPENDENCIES = $(top_builddir)/libqcdm/src/libqcdm.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(builddir)/libhelpers.la $(builddir)/libkerneldevice.la
+am__libport_la_SOURCES_DIST = mm-port.c mm-port.h mm-port-serial.c \
+ mm-port-serial.h mm-port-serial-at.c mm-port-serial-at.h \
+ mm-port-serial-qcdm.c mm-port-serial-qcdm.h \
+ mm-port-serial-gps.c mm-port-serial-gps.h mm-serial-parsers.c \
+ mm-serial-parsers.h mm-port-qmi.c mm-port-qmi.h mm-port-mbim.c \
+ mm-port-mbim.h
+@WITH_QMI_TRUE@am__objects_5 = mm-port-qmi.lo
+@WITH_MBIM_TRUE@am__objects_6 = mm-port-mbim.lo
+am_libport_la_OBJECTS = mm-port.lo mm-port-serial.lo \
+ mm-port-serial-at.lo mm-port-serial-qcdm.lo \
+ mm-port-serial-gps.lo mm-serial-parsers.lo $(am__objects_5) \
+ $(am__objects_6)
+am__objects_7 = mm-port-enums-types.lo
+nodist_libport_la_OBJECTS = $(am__objects_7)
+libport_la_OBJECTS = $(am_libport_la_OBJECTS) \
+ $(nodist_libport_la_OBJECTS)
+am__ModemManager_SOURCES_DIST = main.c mm-context.h mm-context.c \
+ mm-log.c mm-log.h mm-utils.h mm-private-boxed-types.h \
+ mm-private-boxed-types.c mm-auth.h mm-auth.c \
+ mm-auth-provider.h mm-auth-provider.c mm-filter.h mm-filter.c \
+ mm-base-manager.c mm-base-manager.h mm-device.c mm-device.h \
+ mm-plugin-manager.c mm-plugin-manager.h mm-base-sim.h \
+ mm-base-sim.c mm-base-bearer.h mm-base-bearer.c \
+ mm-broadband-bearer.h mm-broadband-bearer.c mm-bearer-list.h \
+ mm-bearer-list.c mm-base-modem-at.h mm-base-modem-at.c \
+ mm-base-modem.h mm-base-modem.c mm-base-sms.h mm-base-sms.c \
+ mm-base-call.h mm-base-call.c mm-sms-list.h mm-sms-list.c \
+ mm-call-list.h mm-call-list.c mm-iface-modem.h \
+ mm-iface-modem.c mm-iface-modem-3gpp.h mm-iface-modem-3gpp.c \
+ mm-iface-modem-3gpp-ussd.h mm-iface-modem-3gpp-ussd.c \
+ mm-iface-modem-cdma.h mm-iface-modem-cdma.c \
+ mm-iface-modem-simple.h mm-iface-modem-simple.c \
+ mm-iface-modem-location.h mm-iface-modem-location.c \
+ mm-iface-modem-messaging.h mm-iface-modem-messaging.c \
+ mm-iface-modem-voice.h mm-iface-modem-voice.c \
+ mm-iface-modem-time.h mm-iface-modem-time.c \
+ mm-iface-modem-firmware.h mm-iface-modem-firmware.c \
+ mm-iface-modem-signal.h mm-iface-modem-signal.c \
+ mm-iface-modem-oma.h mm-iface-modem-oma.c mm-broadband-modem.h \
+ mm-broadband-modem.c mm-port-probe.h mm-port-probe.c \
+ mm-port-probe-at.h mm-port-probe-at.c mm-plugin.c mm-plugin.h \
+ mm-auth-provider-polkit.h mm-auth-provider-polkit.c \
+ mm-sleep-monitor.h mm-sleep-monitor.c mm-shared-qmi.h \
+ mm-shared-qmi.c mm-sms-qmi.h mm-sms-qmi.c mm-sim-qmi.h \
+ mm-sim-qmi.c mm-bearer-qmi.h mm-bearer-qmi.c \
+ mm-broadband-modem-qmi.h mm-broadband-modem-qmi.c \
+ mm-sms-mbim.h mm-sms-mbim.c mm-sim-mbim.h mm-sim-mbim.c \
+ mm-bearer-mbim.h mm-bearer-mbim.c mm-broadband-modem-mbim.h \
+ mm-broadband-modem-mbim.c
+@WITH_POLKIT_TRUE@am__objects_8 = ModemManager-mm-auth-provider-polkit.$(OBJEXT)
+@WITH_SYSTEMD_SUSPEND_RESUME_TRUE@am__objects_9 = ModemManager-mm-sleep-monitor.$(OBJEXT)
+@WITH_QMI_TRUE@am__objects_10 = ModemManager-mm-shared-qmi.$(OBJEXT) \
+@WITH_QMI_TRUE@ ModemManager-mm-sms-qmi.$(OBJEXT) \
+@WITH_QMI_TRUE@ ModemManager-mm-sim-qmi.$(OBJEXT) \
+@WITH_QMI_TRUE@ ModemManager-mm-bearer-qmi.$(OBJEXT) \
+@WITH_QMI_TRUE@ ModemManager-mm-broadband-modem-qmi.$(OBJEXT)
+@WITH_MBIM_TRUE@am__objects_11 = ModemManager-mm-sms-mbim.$(OBJEXT) \
+@WITH_MBIM_TRUE@ ModemManager-mm-sim-mbim.$(OBJEXT) \
+@WITH_MBIM_TRUE@ ModemManager-mm-bearer-mbim.$(OBJEXT) \
+@WITH_MBIM_TRUE@ ModemManager-mm-broadband-modem-mbim.$(OBJEXT)
+am_ModemManager_OBJECTS = ModemManager-main.$(OBJEXT) \
+ ModemManager-mm-context.$(OBJEXT) \
+ ModemManager-mm-log.$(OBJEXT) \
+ ModemManager-mm-private-boxed-types.$(OBJEXT) \
+ ModemManager-mm-auth.$(OBJEXT) \
+ ModemManager-mm-auth-provider.$(OBJEXT) \
+ ModemManager-mm-filter.$(OBJEXT) \
+ ModemManager-mm-base-manager.$(OBJEXT) \
+ ModemManager-mm-device.$(OBJEXT) \
+ ModemManager-mm-plugin-manager.$(OBJEXT) \
+ ModemManager-mm-base-sim.$(OBJEXT) \
+ ModemManager-mm-base-bearer.$(OBJEXT) \
+ ModemManager-mm-broadband-bearer.$(OBJEXT) \
+ ModemManager-mm-bearer-list.$(OBJEXT) \
+ ModemManager-mm-base-modem-at.$(OBJEXT) \
+ ModemManager-mm-base-modem.$(OBJEXT) \
+ ModemManager-mm-base-sms.$(OBJEXT) \
+ ModemManager-mm-base-call.$(OBJEXT) \
+ ModemManager-mm-sms-list.$(OBJEXT) \
+ ModemManager-mm-call-list.$(OBJEXT) \
+ ModemManager-mm-iface-modem.$(OBJEXT) \
+ ModemManager-mm-iface-modem-3gpp.$(OBJEXT) \
+ ModemManager-mm-iface-modem-3gpp-ussd.$(OBJEXT) \
+ ModemManager-mm-iface-modem-cdma.$(OBJEXT) \
+ ModemManager-mm-iface-modem-simple.$(OBJEXT) \
+ ModemManager-mm-iface-modem-location.$(OBJEXT) \
+ ModemManager-mm-iface-modem-messaging.$(OBJEXT) \
+ ModemManager-mm-iface-modem-voice.$(OBJEXT) \
+ ModemManager-mm-iface-modem-time.$(OBJEXT) \
+ ModemManager-mm-iface-modem-firmware.$(OBJEXT) \
+ ModemManager-mm-iface-modem-signal.$(OBJEXT) \
+ ModemManager-mm-iface-modem-oma.$(OBJEXT) \
+ ModemManager-mm-broadband-modem.$(OBJEXT) \
+ ModemManager-mm-port-probe.$(OBJEXT) \
+ ModemManager-mm-port-probe-at.$(OBJEXT) \
+ ModemManager-mm-plugin.$(OBJEXT) $(am__objects_8) \
+ $(am__objects_9) $(am__objects_10) $(am__objects_11)
+am__objects_12 = ModemManager-mm-daemon-enums-types.$(OBJEXT)
+nodist_ModemManager_OBJECTS = $(am__objects_12)
+ModemManager_OBJECTS = $(am_ModemManager_OBJECTS) \
+ $(nodist_ModemManager_OBJECTS)
+ModemManager_DEPENDENCIES = $(top_builddir)/libqcdm/src/libqcdm.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(top_builddir)/libmm-glib/generated/tests/libmm-test-generated.la \
+ $(builddir)/libport.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/ModemManager-main.Po \
+ ./$(DEPDIR)/ModemManager-mm-auth-provider-polkit.Po \
+ ./$(DEPDIR)/ModemManager-mm-auth-provider.Po \
+ ./$(DEPDIR)/ModemManager-mm-auth.Po \
+ ./$(DEPDIR)/ModemManager-mm-base-bearer.Po \
+ ./$(DEPDIR)/ModemManager-mm-base-call.Po \
+ ./$(DEPDIR)/ModemManager-mm-base-manager.Po \
+ ./$(DEPDIR)/ModemManager-mm-base-modem-at.Po \
+ ./$(DEPDIR)/ModemManager-mm-base-modem.Po \
+ ./$(DEPDIR)/ModemManager-mm-base-sim.Po \
+ ./$(DEPDIR)/ModemManager-mm-base-sms.Po \
+ ./$(DEPDIR)/ModemManager-mm-bearer-list.Po \
+ ./$(DEPDIR)/ModemManager-mm-bearer-mbim.Po \
+ ./$(DEPDIR)/ModemManager-mm-bearer-qmi.Po \
+ ./$(DEPDIR)/ModemManager-mm-broadband-bearer.Po \
+ ./$(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Po \
+ ./$(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Po \
+ ./$(DEPDIR)/ModemManager-mm-broadband-modem.Po \
+ ./$(DEPDIR)/ModemManager-mm-call-list.Po \
+ ./$(DEPDIR)/ModemManager-mm-context.Po \
+ ./$(DEPDIR)/ModemManager-mm-daemon-enums-types.Po \
+ ./$(DEPDIR)/ModemManager-mm-device.Po \
+ ./$(DEPDIR)/ModemManager-mm-filter.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-cdma.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-firmware.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-location.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-messaging.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-oma.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-signal.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-simple.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-time.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem-voice.Po \
+ ./$(DEPDIR)/ModemManager-mm-iface-modem.Po \
+ ./$(DEPDIR)/ModemManager-mm-log.Po \
+ ./$(DEPDIR)/ModemManager-mm-plugin-manager.Po \
+ ./$(DEPDIR)/ModemManager-mm-plugin.Po \
+ ./$(DEPDIR)/ModemManager-mm-port-probe-at.Po \
+ ./$(DEPDIR)/ModemManager-mm-port-probe.Po \
+ ./$(DEPDIR)/ModemManager-mm-private-boxed-types.Po \
+ ./$(DEPDIR)/ModemManager-mm-shared-qmi.Po \
+ ./$(DEPDIR)/ModemManager-mm-sim-mbim.Po \
+ ./$(DEPDIR)/ModemManager-mm-sim-qmi.Po \
+ ./$(DEPDIR)/ModemManager-mm-sleep-monitor.Po \
+ ./$(DEPDIR)/ModemManager-mm-sms-list.Po \
+ ./$(DEPDIR)/ModemManager-mm-sms-mbim.Po \
+ ./$(DEPDIR)/ModemManager-mm-sms-qmi.Po \
+ ./$(DEPDIR)/mm-charsets.Plo ./$(DEPDIR)/mm-error-helpers.Plo \
+ ./$(DEPDIR)/mm-helper-enums-types.Plo \
+ ./$(DEPDIR)/mm-modem-helpers-mbim.Plo \
+ ./$(DEPDIR)/mm-modem-helpers-qmi.Plo \
+ ./$(DEPDIR)/mm-modem-helpers.Plo \
+ ./$(DEPDIR)/mm-port-enums-types.Plo \
+ ./$(DEPDIR)/mm-port-mbim.Plo ./$(DEPDIR)/mm-port-qmi.Plo \
+ ./$(DEPDIR)/mm-port-serial-at.Plo \
+ ./$(DEPDIR)/mm-port-serial-gps.Plo \
+ ./$(DEPDIR)/mm-port-serial-qcdm.Plo \
+ ./$(DEPDIR)/mm-port-serial.Plo ./$(DEPDIR)/mm-port.Plo \
+ ./$(DEPDIR)/mm-serial-parsers.Plo \
+ ./$(DEPDIR)/mm-sms-part-3gpp.Plo \
+ ./$(DEPDIR)/mm-sms-part-cdma.Plo ./$(DEPDIR)/mm-sms-part.Plo \
+ kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic-rules.Plo \
+ kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic.Plo \
+ kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-udev.Plo \
+ kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device.Plo
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libhelpers_la_SOURCES) $(nodist_libhelpers_la_SOURCES) \
+ $(libkerneldevice_la_SOURCES) $(libport_la_SOURCES) \
+ $(nodist_libport_la_SOURCES) $(ModemManager_SOURCES) \
+ $(nodist_ModemManager_SOURCES)
+DIST_SOURCES = $(am__libhelpers_la_SOURCES_DIST) \
+ $(am__libkerneldevice_la_SOURCES_DIST) \
+ $(am__libport_la_SOURCES_DIST) \
+ $(am__ModemManager_SOURCES_DIST)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+DATA = $(udevrules_DATA)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir distdir-am
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = . tests
+
+################################################################################
+# helpers library
+################################################################################
+
+################################################################################
+# kerneldevice library
+################################################################################
+
+################################################################################
+# ports library
+################################################################################
+noinst_LTLIBRARIES = libhelpers.la libkerneldevice.la libport.la
+EXTRA_DIST = $(udevrules_DATA)
+
+# Request to build enum types before anything else
+
+# Request to build enum types before anything else
+
+# Request to build enum types before anything else
+BUILT_SOURCES = $(HELPER_ENUMS_GENERATED) $(PORT_ENUMS_GENERATED) \
+ $(DAEMON_ENUMS_GENERATED)
+CLEANFILES = $(HELPER_ENUMS_GENERATED) $(PORT_ENUMS_GENERATED) \
+ $(DAEMON_ENUMS_GENERATED)
+AM_CFLAGS = $(MM_CFLAGS) $(CODE_COVERAGE_CFLAGS) $(GUDEV_CFLAGS) \
+ -I$(top_srcdir) -I$(top_srcdir)/include \
+ -I$(top_builddir)/include -I$(top_srcdir)/libqcdm/src \
+ -I$(top_srcdir)/libmm-glib \
+ -I${top_builddir}/libmm-glib/generated \
+ -I${top_builddir}/libmm-glib/generated/tests \
+ -I$(srcdir)/kerneldevice $(NULL) $(am__append_1) \
+ $(am__append_3) $(am__append_5) $(am__append_7)
+AM_LDFLAGS = $(MM_LIBS) $(CODE_COVERAGE_LDFLAGS) $(GUDEV_LIBS) $(NULL) \
+ $(am__append_2) $(am__append_4) $(am__append_6) \
+ $(am__append_8)
+
+################################################################################
+# generic udev rules
+################################################################################
+udevrulesdir = $(UDEV_BASE_DIR)/rules.d
+udevrules_DATA = \
+ 77-mm-usb-device-blacklist.rules \
+ 77-mm-pcmcia-device-blacklist.rules \
+ 77-mm-usb-serial-adapters-greylist.rules \
+ 80-mm-candidate.rules \
+ $(NULL)
+
+HELPER_ENUMS_INPUTS = \
+ $(srcdir)/mm-sms-part.h \
+ $(srcdir)/mm-modem-helpers.h \
+ $(NULL)
+
+HELPER_ENUMS_GENERATED = \
+ mm-helper-enums-types.h \
+ mm-helper-enums-types.c \
+ $(NULL)
+
+libhelpers_la_SOURCES = mm-error-helpers.c mm-error-helpers.h \
+ mm-modem-helpers.c mm-modem-helpers.h mm-charsets.c \
+ mm-charsets.h mm-sms-part.h mm-sms-part.c mm-sms-part-3gpp.h \
+ mm-sms-part-3gpp.c mm-sms-part-cdma.h mm-sms-part-cdma.c \
+ $(NULL) $(am__append_9) $(am__append_10)
+nodist_libhelpers_la_SOURCES = $(HELPER_ENUMS_GENERATED)
+libkerneldevice_la_CPPFLAGS = \
+ -DUDEVRULESDIR=\"$(udevrulesdir)\" \
+ $(NULL)
+
+libkerneldevice_la_SOURCES = kerneldevice/mm-kernel-device.h \
+ kerneldevice/mm-kernel-device.c \
+ kerneldevice/mm-kernel-device-generic.h \
+ kerneldevice/mm-kernel-device-generic.c \
+ kerneldevice/mm-kernel-device-generic-rules.h \
+ kerneldevice/mm-kernel-device-generic-rules.c $(NULL) \
+ $(am__append_11)
+libkerneldevice_la_LIBADD = \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(NULL)
+
+PORT_ENUMS_INPUTS = \
+ $(srcdir)/mm-port.h \
+ $(srcdir)/mm-port-serial-at.h \
+ $(NULL)
+
+PORT_ENUMS_GENERATED = \
+ mm-port-enums-types.h \
+ mm-port-enums-types.c \
+ $(NULL)
+
+libport_la_SOURCES = mm-port.c mm-port.h mm-port-serial.c \
+ mm-port-serial.h mm-port-serial-at.c mm-port-serial-at.h \
+ mm-port-serial-qcdm.c mm-port-serial-qcdm.h \
+ mm-port-serial-gps.c mm-port-serial-gps.h mm-serial-parsers.c \
+ mm-serial-parsers.h $(NULL) $(am__append_12) $(am__append_13)
+nodist_libport_la_SOURCES = $(PORT_ENUMS_GENERATED)
+libport_la_LIBADD = \
+ $(top_builddir)/libqcdm/src/libqcdm.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(builddir)/libhelpers.la \
+ $(builddir)/libkerneldevice.la \
+ $(NULL)
+
+DAEMON_ENUMS_INPUTS = \
+ $(srcdir)/mm-filter.h \
+ $(srcdir)/mm-base-bearer.h \
+ $(srcdir)/mm-port-probe.h \
+ $(NULL)
+
+DAEMON_ENUMS_GENERATED = \
+ mm-daemon-enums-types.h \
+ mm-daemon-enums-types.c \
+ $(NULL)
+
+ModemManager_CPPFLAGS = \
+ -DPLUGINDIR=\"$(pkglibdir)\" \
+ $(NULL)
+
+ModemManager_LDADD = \
+ $(top_builddir)/libqcdm/src/libqcdm.la \
+ $(top_builddir)/libmm-glib/libmm-glib.la \
+ $(top_builddir)/libmm-glib/generated/tests/libmm-test-generated.la \
+ $(builddir)/libport.la \
+ $(NULL)
+
+ModemManager_SOURCES = main.c mm-context.h mm-context.c mm-log.c \
+ mm-log.h mm-utils.h mm-private-boxed-types.h \
+ mm-private-boxed-types.c mm-auth.h mm-auth.c \
+ mm-auth-provider.h mm-auth-provider.c mm-filter.h mm-filter.c \
+ mm-base-manager.c mm-base-manager.h mm-device.c mm-device.h \
+ mm-plugin-manager.c mm-plugin-manager.h mm-base-sim.h \
+ mm-base-sim.c mm-base-bearer.h mm-base-bearer.c \
+ mm-broadband-bearer.h mm-broadband-bearer.c mm-bearer-list.h \
+ mm-bearer-list.c mm-base-modem-at.h mm-base-modem-at.c \
+ mm-base-modem.h mm-base-modem.c mm-base-sms.h mm-base-sms.c \
+ mm-base-call.h mm-base-call.c mm-sms-list.h mm-sms-list.c \
+ mm-call-list.h mm-call-list.c mm-iface-modem.h \
+ mm-iface-modem.c mm-iface-modem-3gpp.h mm-iface-modem-3gpp.c \
+ mm-iface-modem-3gpp-ussd.h mm-iface-modem-3gpp-ussd.c \
+ mm-iface-modem-cdma.h mm-iface-modem-cdma.c \
+ mm-iface-modem-simple.h mm-iface-modem-simple.c \
+ mm-iface-modem-location.h mm-iface-modem-location.c \
+ mm-iface-modem-messaging.h mm-iface-modem-messaging.c \
+ mm-iface-modem-voice.h mm-iface-modem-voice.c \
+ mm-iface-modem-time.h mm-iface-modem-time.c \
+ mm-iface-modem-firmware.h mm-iface-modem-firmware.c \
+ mm-iface-modem-signal.h mm-iface-modem-signal.c \
+ mm-iface-modem-oma.h mm-iface-modem-oma.c mm-broadband-modem.h \
+ mm-broadband-modem.c mm-port-probe.h mm-port-probe.c \
+ mm-port-probe-at.h mm-port-probe-at.c mm-plugin.c mm-plugin.h \
+ $(NULL) $(am__append_14) $(am__append_15) $(am__append_16) \
+ $(am__append_17)
+nodist_ModemManager_SOURCES = $(DAEMON_ENUMS_GENERATED)
+all: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-sbinPROGRAMS: $(sbin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(sbindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(sbindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ || test -f $$p1 \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-sbinPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(sbindir)" && rm -f $$files
+
+clean-sbinPROGRAMS:
+ @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libhelpers.la: $(libhelpers_la_OBJECTS) $(libhelpers_la_DEPENDENCIES) $(EXTRA_libhelpers_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libhelpers_la_OBJECTS) $(libhelpers_la_LIBADD) $(LIBS)
+kerneldevice/$(am__dirstamp):
+ @$(MKDIR_P) kerneldevice
+ @: > kerneldevice/$(am__dirstamp)
+kerneldevice/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) kerneldevice/$(DEPDIR)
+ @: > kerneldevice/$(DEPDIR)/$(am__dirstamp)
+kerneldevice/libkerneldevice_la-mm-kernel-device.lo: \
+ kerneldevice/$(am__dirstamp) \
+ kerneldevice/$(DEPDIR)/$(am__dirstamp)
+kerneldevice/libkerneldevice_la-mm-kernel-device-generic.lo: \
+ kerneldevice/$(am__dirstamp) \
+ kerneldevice/$(DEPDIR)/$(am__dirstamp)
+kerneldevice/libkerneldevice_la-mm-kernel-device-generic-rules.lo: \
+ kerneldevice/$(am__dirstamp) \
+ kerneldevice/$(DEPDIR)/$(am__dirstamp)
+kerneldevice/libkerneldevice_la-mm-kernel-device-udev.lo: \
+ kerneldevice/$(am__dirstamp) \
+ kerneldevice/$(DEPDIR)/$(am__dirstamp)
+
+libkerneldevice.la: $(libkerneldevice_la_OBJECTS) $(libkerneldevice_la_DEPENDENCIES) $(EXTRA_libkerneldevice_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libkerneldevice_la_OBJECTS) $(libkerneldevice_la_LIBADD) $(LIBS)
+
+libport.la: $(libport_la_OBJECTS) $(libport_la_DEPENDENCIES) $(EXTRA_libport_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(LINK) $(libport_la_OBJECTS) $(libport_la_LIBADD) $(LIBS)
+
+ModemManager$(EXEEXT): $(ModemManager_OBJECTS) $(ModemManager_DEPENDENCIES) $(EXTRA_ModemManager_DEPENDENCIES)
+ @rm -f ModemManager$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(ModemManager_OBJECTS) $(ModemManager_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f kerneldevice/*.$(OBJEXT)
+ -rm -f kerneldevice/*.lo
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-auth-provider-polkit.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-auth-provider.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-auth.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-base-bearer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-base-call.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-base-manager.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-base-modem-at.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-base-modem.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-base-sim.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-base-sms.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-bearer-list.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-bearer-mbim.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-bearer-qmi.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-broadband-bearer.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-broadband-modem.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-call-list.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-context.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-daemon-enums-types.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-device.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-filter.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-cdma.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-firmware.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-location.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-messaging.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-oma.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-signal.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-simple.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-time.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem-voice.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-iface-modem.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-log.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-plugin-manager.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-plugin.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-port-probe-at.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-port-probe.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-private-boxed-types.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-shared-qmi.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-sim-mbim.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-sim-qmi.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-sleep-monitor.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-sms-list.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-sms-mbim.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ModemManager-mm-sms-qmi.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-charsets.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-error-helpers.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-helper-enums-types.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-modem-helpers-mbim.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-modem-helpers-qmi.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-modem-helpers.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-port-enums-types.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-port-mbim.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-port-qmi.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-port-serial-at.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-port-serial-gps.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-port-serial-qcdm.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-port-serial.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-port.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-serial-parsers.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-sms-part-3gpp.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-sms-part-cdma.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-sms-part.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic-rules.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-udev.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device.Plo@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+kerneldevice/libkerneldevice_la-mm-kernel-device.lo: kerneldevice/mm-kernel-device.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkerneldevice_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kerneldevice/libkerneldevice_la-mm-kernel-device.lo -MD -MP -MF kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device.Tpo -c -o kerneldevice/libkerneldevice_la-mm-kernel-device.lo `test -f 'kerneldevice/mm-kernel-device.c' || echo '$(srcdir)/'`kerneldevice/mm-kernel-device.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device.Tpo kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kerneldevice/mm-kernel-device.c' object='kerneldevice/libkerneldevice_la-mm-kernel-device.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkerneldevice_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o kerneldevice/libkerneldevice_la-mm-kernel-device.lo `test -f 'kerneldevice/mm-kernel-device.c' || echo '$(srcdir)/'`kerneldevice/mm-kernel-device.c
+
+kerneldevice/libkerneldevice_la-mm-kernel-device-generic.lo: kerneldevice/mm-kernel-device-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkerneldevice_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kerneldevice/libkerneldevice_la-mm-kernel-device-generic.lo -MD -MP -MF kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic.Tpo -c -o kerneldevice/libkerneldevice_la-mm-kernel-device-generic.lo `test -f 'kerneldevice/mm-kernel-device-generic.c' || echo '$(srcdir)/'`kerneldevice/mm-kernel-device-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic.Tpo kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kerneldevice/mm-kernel-device-generic.c' object='kerneldevice/libkerneldevice_la-mm-kernel-device-generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkerneldevice_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o kerneldevice/libkerneldevice_la-mm-kernel-device-generic.lo `test -f 'kerneldevice/mm-kernel-device-generic.c' || echo '$(srcdir)/'`kerneldevice/mm-kernel-device-generic.c
+
+kerneldevice/libkerneldevice_la-mm-kernel-device-generic-rules.lo: kerneldevice/mm-kernel-device-generic-rules.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkerneldevice_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kerneldevice/libkerneldevice_la-mm-kernel-device-generic-rules.lo -MD -MP -MF kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic-rules.Tpo -c -o kerneldevice/libkerneldevice_la-mm-kernel-device-generic-rules.lo `test -f 'kerneldevice/mm-kernel-device-generic-rules.c' || echo '$(srcdir)/'`kerneldevice/mm-kernel-device-generic-rules.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic-rules.Tpo kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic-rules.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kerneldevice/mm-kernel-device-generic-rules.c' object='kerneldevice/libkerneldevice_la-mm-kernel-device-generic-rules.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkerneldevice_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o kerneldevice/libkerneldevice_la-mm-kernel-device-generic-rules.lo `test -f 'kerneldevice/mm-kernel-device-generic-rules.c' || echo '$(srcdir)/'`kerneldevice/mm-kernel-device-generic-rules.c
+
+kerneldevice/libkerneldevice_la-mm-kernel-device-udev.lo: kerneldevice/mm-kernel-device-udev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkerneldevice_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT kerneldevice/libkerneldevice_la-mm-kernel-device-udev.lo -MD -MP -MF kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-udev.Tpo -c -o kerneldevice/libkerneldevice_la-mm-kernel-device-udev.lo `test -f 'kerneldevice/mm-kernel-device-udev.c' || echo '$(srcdir)/'`kerneldevice/mm-kernel-device-udev.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-udev.Tpo kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-udev.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='kerneldevice/mm-kernel-device-udev.c' object='kerneldevice/libkerneldevice_la-mm-kernel-device-udev.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libkerneldevice_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o kerneldevice/libkerneldevice_la-mm-kernel-device-udev.lo `test -f 'kerneldevice/mm-kernel-device-udev.c' || echo '$(srcdir)/'`kerneldevice/mm-kernel-device-udev.c
+
+ModemManager-main.o: main.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-main.o -MD -MP -MF $(DEPDIR)/ModemManager-main.Tpo -c -o ModemManager-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-main.Tpo $(DEPDIR)/ModemManager-main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='ModemManager-main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c
+
+ModemManager-main.obj: main.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-main.obj -MD -MP -MF $(DEPDIR)/ModemManager-main.Tpo -c -o ModemManager-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-main.Tpo $(DEPDIR)/ModemManager-main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='ModemManager-main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi`
+
+ModemManager-mm-context.o: mm-context.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-context.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-context.Tpo -c -o ModemManager-mm-context.o `test -f 'mm-context.c' || echo '$(srcdir)/'`mm-context.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-context.Tpo $(DEPDIR)/ModemManager-mm-context.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-context.c' object='ModemManager-mm-context.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-context.o `test -f 'mm-context.c' || echo '$(srcdir)/'`mm-context.c
+
+ModemManager-mm-context.obj: mm-context.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-context.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-context.Tpo -c -o ModemManager-mm-context.obj `if test -f 'mm-context.c'; then $(CYGPATH_W) 'mm-context.c'; else $(CYGPATH_W) '$(srcdir)/mm-context.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-context.Tpo $(DEPDIR)/ModemManager-mm-context.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-context.c' object='ModemManager-mm-context.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-context.obj `if test -f 'mm-context.c'; then $(CYGPATH_W) 'mm-context.c'; else $(CYGPATH_W) '$(srcdir)/mm-context.c'; fi`
+
+ModemManager-mm-log.o: mm-log.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-log.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-log.Tpo -c -o ModemManager-mm-log.o `test -f 'mm-log.c' || echo '$(srcdir)/'`mm-log.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-log.Tpo $(DEPDIR)/ModemManager-mm-log.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-log.c' object='ModemManager-mm-log.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-log.o `test -f 'mm-log.c' || echo '$(srcdir)/'`mm-log.c
+
+ModemManager-mm-log.obj: mm-log.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-log.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-log.Tpo -c -o ModemManager-mm-log.obj `if test -f 'mm-log.c'; then $(CYGPATH_W) 'mm-log.c'; else $(CYGPATH_W) '$(srcdir)/mm-log.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-log.Tpo $(DEPDIR)/ModemManager-mm-log.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-log.c' object='ModemManager-mm-log.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-log.obj `if test -f 'mm-log.c'; then $(CYGPATH_W) 'mm-log.c'; else $(CYGPATH_W) '$(srcdir)/mm-log.c'; fi`
+
+ModemManager-mm-private-boxed-types.o: mm-private-boxed-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-private-boxed-types.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-private-boxed-types.Tpo -c -o ModemManager-mm-private-boxed-types.o `test -f 'mm-private-boxed-types.c' || echo '$(srcdir)/'`mm-private-boxed-types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-private-boxed-types.Tpo $(DEPDIR)/ModemManager-mm-private-boxed-types.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-private-boxed-types.c' object='ModemManager-mm-private-boxed-types.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-private-boxed-types.o `test -f 'mm-private-boxed-types.c' || echo '$(srcdir)/'`mm-private-boxed-types.c
+
+ModemManager-mm-private-boxed-types.obj: mm-private-boxed-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-private-boxed-types.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-private-boxed-types.Tpo -c -o ModemManager-mm-private-boxed-types.obj `if test -f 'mm-private-boxed-types.c'; then $(CYGPATH_W) 'mm-private-boxed-types.c'; else $(CYGPATH_W) '$(srcdir)/mm-private-boxed-types.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-private-boxed-types.Tpo $(DEPDIR)/ModemManager-mm-private-boxed-types.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-private-boxed-types.c' object='ModemManager-mm-private-boxed-types.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-private-boxed-types.obj `if test -f 'mm-private-boxed-types.c'; then $(CYGPATH_W) 'mm-private-boxed-types.c'; else $(CYGPATH_W) '$(srcdir)/mm-private-boxed-types.c'; fi`
+
+ModemManager-mm-auth.o: mm-auth.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-auth.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-auth.Tpo -c -o ModemManager-mm-auth.o `test -f 'mm-auth.c' || echo '$(srcdir)/'`mm-auth.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-auth.Tpo $(DEPDIR)/ModemManager-mm-auth.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-auth.c' object='ModemManager-mm-auth.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-auth.o `test -f 'mm-auth.c' || echo '$(srcdir)/'`mm-auth.c
+
+ModemManager-mm-auth.obj: mm-auth.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-auth.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-auth.Tpo -c -o ModemManager-mm-auth.obj `if test -f 'mm-auth.c'; then $(CYGPATH_W) 'mm-auth.c'; else $(CYGPATH_W) '$(srcdir)/mm-auth.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-auth.Tpo $(DEPDIR)/ModemManager-mm-auth.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-auth.c' object='ModemManager-mm-auth.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-auth.obj `if test -f 'mm-auth.c'; then $(CYGPATH_W) 'mm-auth.c'; else $(CYGPATH_W) '$(srcdir)/mm-auth.c'; fi`
+
+ModemManager-mm-auth-provider.o: mm-auth-provider.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-auth-provider.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-auth-provider.Tpo -c -o ModemManager-mm-auth-provider.o `test -f 'mm-auth-provider.c' || echo '$(srcdir)/'`mm-auth-provider.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-auth-provider.Tpo $(DEPDIR)/ModemManager-mm-auth-provider.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-auth-provider.c' object='ModemManager-mm-auth-provider.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-auth-provider.o `test -f 'mm-auth-provider.c' || echo '$(srcdir)/'`mm-auth-provider.c
+
+ModemManager-mm-auth-provider.obj: mm-auth-provider.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-auth-provider.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-auth-provider.Tpo -c -o ModemManager-mm-auth-provider.obj `if test -f 'mm-auth-provider.c'; then $(CYGPATH_W) 'mm-auth-provider.c'; else $(CYGPATH_W) '$(srcdir)/mm-auth-provider.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-auth-provider.Tpo $(DEPDIR)/ModemManager-mm-auth-provider.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-auth-provider.c' object='ModemManager-mm-auth-provider.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-auth-provider.obj `if test -f 'mm-auth-provider.c'; then $(CYGPATH_W) 'mm-auth-provider.c'; else $(CYGPATH_W) '$(srcdir)/mm-auth-provider.c'; fi`
+
+ModemManager-mm-filter.o: mm-filter.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-filter.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-filter.Tpo -c -o ModemManager-mm-filter.o `test -f 'mm-filter.c' || echo '$(srcdir)/'`mm-filter.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-filter.Tpo $(DEPDIR)/ModemManager-mm-filter.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-filter.c' object='ModemManager-mm-filter.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-filter.o `test -f 'mm-filter.c' || echo '$(srcdir)/'`mm-filter.c
+
+ModemManager-mm-filter.obj: mm-filter.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-filter.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-filter.Tpo -c -o ModemManager-mm-filter.obj `if test -f 'mm-filter.c'; then $(CYGPATH_W) 'mm-filter.c'; else $(CYGPATH_W) '$(srcdir)/mm-filter.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-filter.Tpo $(DEPDIR)/ModemManager-mm-filter.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-filter.c' object='ModemManager-mm-filter.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-filter.obj `if test -f 'mm-filter.c'; then $(CYGPATH_W) 'mm-filter.c'; else $(CYGPATH_W) '$(srcdir)/mm-filter.c'; fi`
+
+ModemManager-mm-base-manager.o: mm-base-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-manager.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-manager.Tpo -c -o ModemManager-mm-base-manager.o `test -f 'mm-base-manager.c' || echo '$(srcdir)/'`mm-base-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-manager.Tpo $(DEPDIR)/ModemManager-mm-base-manager.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-manager.c' object='ModemManager-mm-base-manager.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-manager.o `test -f 'mm-base-manager.c' || echo '$(srcdir)/'`mm-base-manager.c
+
+ModemManager-mm-base-manager.obj: mm-base-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-manager.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-manager.Tpo -c -o ModemManager-mm-base-manager.obj `if test -f 'mm-base-manager.c'; then $(CYGPATH_W) 'mm-base-manager.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-manager.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-manager.Tpo $(DEPDIR)/ModemManager-mm-base-manager.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-manager.c' object='ModemManager-mm-base-manager.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-manager.obj `if test -f 'mm-base-manager.c'; then $(CYGPATH_W) 'mm-base-manager.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-manager.c'; fi`
+
+ModemManager-mm-device.o: mm-device.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-device.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-device.Tpo -c -o ModemManager-mm-device.o `test -f 'mm-device.c' || echo '$(srcdir)/'`mm-device.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-device.Tpo $(DEPDIR)/ModemManager-mm-device.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-device.c' object='ModemManager-mm-device.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-device.o `test -f 'mm-device.c' || echo '$(srcdir)/'`mm-device.c
+
+ModemManager-mm-device.obj: mm-device.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-device.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-device.Tpo -c -o ModemManager-mm-device.obj `if test -f 'mm-device.c'; then $(CYGPATH_W) 'mm-device.c'; else $(CYGPATH_W) '$(srcdir)/mm-device.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-device.Tpo $(DEPDIR)/ModemManager-mm-device.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-device.c' object='ModemManager-mm-device.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-device.obj `if test -f 'mm-device.c'; then $(CYGPATH_W) 'mm-device.c'; else $(CYGPATH_W) '$(srcdir)/mm-device.c'; fi`
+
+ModemManager-mm-plugin-manager.o: mm-plugin-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-plugin-manager.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-plugin-manager.Tpo -c -o ModemManager-mm-plugin-manager.o `test -f 'mm-plugin-manager.c' || echo '$(srcdir)/'`mm-plugin-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-plugin-manager.Tpo $(DEPDIR)/ModemManager-mm-plugin-manager.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-plugin-manager.c' object='ModemManager-mm-plugin-manager.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-plugin-manager.o `test -f 'mm-plugin-manager.c' || echo '$(srcdir)/'`mm-plugin-manager.c
+
+ModemManager-mm-plugin-manager.obj: mm-plugin-manager.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-plugin-manager.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-plugin-manager.Tpo -c -o ModemManager-mm-plugin-manager.obj `if test -f 'mm-plugin-manager.c'; then $(CYGPATH_W) 'mm-plugin-manager.c'; else $(CYGPATH_W) '$(srcdir)/mm-plugin-manager.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-plugin-manager.Tpo $(DEPDIR)/ModemManager-mm-plugin-manager.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-plugin-manager.c' object='ModemManager-mm-plugin-manager.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-plugin-manager.obj `if test -f 'mm-plugin-manager.c'; then $(CYGPATH_W) 'mm-plugin-manager.c'; else $(CYGPATH_W) '$(srcdir)/mm-plugin-manager.c'; fi`
+
+ModemManager-mm-base-sim.o: mm-base-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-sim.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-sim.Tpo -c -o ModemManager-mm-base-sim.o `test -f 'mm-base-sim.c' || echo '$(srcdir)/'`mm-base-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-sim.Tpo $(DEPDIR)/ModemManager-mm-base-sim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-sim.c' object='ModemManager-mm-base-sim.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-sim.o `test -f 'mm-base-sim.c' || echo '$(srcdir)/'`mm-base-sim.c
+
+ModemManager-mm-base-sim.obj: mm-base-sim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-sim.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-sim.Tpo -c -o ModemManager-mm-base-sim.obj `if test -f 'mm-base-sim.c'; then $(CYGPATH_W) 'mm-base-sim.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-sim.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-sim.Tpo $(DEPDIR)/ModemManager-mm-base-sim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-sim.c' object='ModemManager-mm-base-sim.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-sim.obj `if test -f 'mm-base-sim.c'; then $(CYGPATH_W) 'mm-base-sim.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-sim.c'; fi`
+
+ModemManager-mm-base-bearer.o: mm-base-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-bearer.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-bearer.Tpo -c -o ModemManager-mm-base-bearer.o `test -f 'mm-base-bearer.c' || echo '$(srcdir)/'`mm-base-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-bearer.Tpo $(DEPDIR)/ModemManager-mm-base-bearer.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-bearer.c' object='ModemManager-mm-base-bearer.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-bearer.o `test -f 'mm-base-bearer.c' || echo '$(srcdir)/'`mm-base-bearer.c
+
+ModemManager-mm-base-bearer.obj: mm-base-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-bearer.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-bearer.Tpo -c -o ModemManager-mm-base-bearer.obj `if test -f 'mm-base-bearer.c'; then $(CYGPATH_W) 'mm-base-bearer.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-bearer.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-bearer.Tpo $(DEPDIR)/ModemManager-mm-base-bearer.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-bearer.c' object='ModemManager-mm-base-bearer.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-bearer.obj `if test -f 'mm-base-bearer.c'; then $(CYGPATH_W) 'mm-base-bearer.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-bearer.c'; fi`
+
+ModemManager-mm-broadband-bearer.o: mm-broadband-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-broadband-bearer.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-broadband-bearer.Tpo -c -o ModemManager-mm-broadband-bearer.o `test -f 'mm-broadband-bearer.c' || echo '$(srcdir)/'`mm-broadband-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-broadband-bearer.Tpo $(DEPDIR)/ModemManager-mm-broadband-bearer.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-broadband-bearer.c' object='ModemManager-mm-broadband-bearer.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-broadband-bearer.o `test -f 'mm-broadband-bearer.c' || echo '$(srcdir)/'`mm-broadband-bearer.c
+
+ModemManager-mm-broadband-bearer.obj: mm-broadband-bearer.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-broadband-bearer.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-broadband-bearer.Tpo -c -o ModemManager-mm-broadband-bearer.obj `if test -f 'mm-broadband-bearer.c'; then $(CYGPATH_W) 'mm-broadband-bearer.c'; else $(CYGPATH_W) '$(srcdir)/mm-broadband-bearer.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-broadband-bearer.Tpo $(DEPDIR)/ModemManager-mm-broadband-bearer.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-broadband-bearer.c' object='ModemManager-mm-broadband-bearer.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-broadband-bearer.obj `if test -f 'mm-broadband-bearer.c'; then $(CYGPATH_W) 'mm-broadband-bearer.c'; else $(CYGPATH_W) '$(srcdir)/mm-broadband-bearer.c'; fi`
+
+ModemManager-mm-bearer-list.o: mm-bearer-list.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-bearer-list.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-bearer-list.Tpo -c -o ModemManager-mm-bearer-list.o `test -f 'mm-bearer-list.c' || echo '$(srcdir)/'`mm-bearer-list.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-bearer-list.Tpo $(DEPDIR)/ModemManager-mm-bearer-list.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer-list.c' object='ModemManager-mm-bearer-list.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-bearer-list.o `test -f 'mm-bearer-list.c' || echo '$(srcdir)/'`mm-bearer-list.c
+
+ModemManager-mm-bearer-list.obj: mm-bearer-list.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-bearer-list.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-bearer-list.Tpo -c -o ModemManager-mm-bearer-list.obj `if test -f 'mm-bearer-list.c'; then $(CYGPATH_W) 'mm-bearer-list.c'; else $(CYGPATH_W) '$(srcdir)/mm-bearer-list.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-bearer-list.Tpo $(DEPDIR)/ModemManager-mm-bearer-list.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer-list.c' object='ModemManager-mm-bearer-list.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-bearer-list.obj `if test -f 'mm-bearer-list.c'; then $(CYGPATH_W) 'mm-bearer-list.c'; else $(CYGPATH_W) '$(srcdir)/mm-bearer-list.c'; fi`
+
+ModemManager-mm-base-modem-at.o: mm-base-modem-at.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-modem-at.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-modem-at.Tpo -c -o ModemManager-mm-base-modem-at.o `test -f 'mm-base-modem-at.c' || echo '$(srcdir)/'`mm-base-modem-at.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-modem-at.Tpo $(DEPDIR)/ModemManager-mm-base-modem-at.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-modem-at.c' object='ModemManager-mm-base-modem-at.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-modem-at.o `test -f 'mm-base-modem-at.c' || echo '$(srcdir)/'`mm-base-modem-at.c
+
+ModemManager-mm-base-modem-at.obj: mm-base-modem-at.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-modem-at.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-modem-at.Tpo -c -o ModemManager-mm-base-modem-at.obj `if test -f 'mm-base-modem-at.c'; then $(CYGPATH_W) 'mm-base-modem-at.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-modem-at.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-modem-at.Tpo $(DEPDIR)/ModemManager-mm-base-modem-at.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-modem-at.c' object='ModemManager-mm-base-modem-at.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-modem-at.obj `if test -f 'mm-base-modem-at.c'; then $(CYGPATH_W) 'mm-base-modem-at.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-modem-at.c'; fi`
+
+ModemManager-mm-base-modem.o: mm-base-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-modem.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-modem.Tpo -c -o ModemManager-mm-base-modem.o `test -f 'mm-base-modem.c' || echo '$(srcdir)/'`mm-base-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-modem.Tpo $(DEPDIR)/ModemManager-mm-base-modem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-modem.c' object='ModemManager-mm-base-modem.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-modem.o `test -f 'mm-base-modem.c' || echo '$(srcdir)/'`mm-base-modem.c
+
+ModemManager-mm-base-modem.obj: mm-base-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-modem.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-modem.Tpo -c -o ModemManager-mm-base-modem.obj `if test -f 'mm-base-modem.c'; then $(CYGPATH_W) 'mm-base-modem.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-modem.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-modem.Tpo $(DEPDIR)/ModemManager-mm-base-modem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-modem.c' object='ModemManager-mm-base-modem.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-modem.obj `if test -f 'mm-base-modem.c'; then $(CYGPATH_W) 'mm-base-modem.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-modem.c'; fi`
+
+ModemManager-mm-base-sms.o: mm-base-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-sms.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-sms.Tpo -c -o ModemManager-mm-base-sms.o `test -f 'mm-base-sms.c' || echo '$(srcdir)/'`mm-base-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-sms.Tpo $(DEPDIR)/ModemManager-mm-base-sms.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-sms.c' object='ModemManager-mm-base-sms.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-sms.o `test -f 'mm-base-sms.c' || echo '$(srcdir)/'`mm-base-sms.c
+
+ModemManager-mm-base-sms.obj: mm-base-sms.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-sms.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-sms.Tpo -c -o ModemManager-mm-base-sms.obj `if test -f 'mm-base-sms.c'; then $(CYGPATH_W) 'mm-base-sms.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-sms.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-sms.Tpo $(DEPDIR)/ModemManager-mm-base-sms.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-sms.c' object='ModemManager-mm-base-sms.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-sms.obj `if test -f 'mm-base-sms.c'; then $(CYGPATH_W) 'mm-base-sms.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-sms.c'; fi`
+
+ModemManager-mm-base-call.o: mm-base-call.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-call.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-call.Tpo -c -o ModemManager-mm-base-call.o `test -f 'mm-base-call.c' || echo '$(srcdir)/'`mm-base-call.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-call.Tpo $(DEPDIR)/ModemManager-mm-base-call.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-call.c' object='ModemManager-mm-base-call.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-call.o `test -f 'mm-base-call.c' || echo '$(srcdir)/'`mm-base-call.c
+
+ModemManager-mm-base-call.obj: mm-base-call.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-base-call.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-base-call.Tpo -c -o ModemManager-mm-base-call.obj `if test -f 'mm-base-call.c'; then $(CYGPATH_W) 'mm-base-call.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-call.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-base-call.Tpo $(DEPDIR)/ModemManager-mm-base-call.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-base-call.c' object='ModemManager-mm-base-call.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-base-call.obj `if test -f 'mm-base-call.c'; then $(CYGPATH_W) 'mm-base-call.c'; else $(CYGPATH_W) '$(srcdir)/mm-base-call.c'; fi`
+
+ModemManager-mm-sms-list.o: mm-sms-list.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sms-list.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-sms-list.Tpo -c -o ModemManager-mm-sms-list.o `test -f 'mm-sms-list.c' || echo '$(srcdir)/'`mm-sms-list.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sms-list.Tpo $(DEPDIR)/ModemManager-mm-sms-list.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sms-list.c' object='ModemManager-mm-sms-list.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sms-list.o `test -f 'mm-sms-list.c' || echo '$(srcdir)/'`mm-sms-list.c
+
+ModemManager-mm-sms-list.obj: mm-sms-list.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sms-list.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-sms-list.Tpo -c -o ModemManager-mm-sms-list.obj `if test -f 'mm-sms-list.c'; then $(CYGPATH_W) 'mm-sms-list.c'; else $(CYGPATH_W) '$(srcdir)/mm-sms-list.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sms-list.Tpo $(DEPDIR)/ModemManager-mm-sms-list.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sms-list.c' object='ModemManager-mm-sms-list.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sms-list.obj `if test -f 'mm-sms-list.c'; then $(CYGPATH_W) 'mm-sms-list.c'; else $(CYGPATH_W) '$(srcdir)/mm-sms-list.c'; fi`
+
+ModemManager-mm-call-list.o: mm-call-list.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-call-list.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-call-list.Tpo -c -o ModemManager-mm-call-list.o `test -f 'mm-call-list.c' || echo '$(srcdir)/'`mm-call-list.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-call-list.Tpo $(DEPDIR)/ModemManager-mm-call-list.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-call-list.c' object='ModemManager-mm-call-list.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-call-list.o `test -f 'mm-call-list.c' || echo '$(srcdir)/'`mm-call-list.c
+
+ModemManager-mm-call-list.obj: mm-call-list.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-call-list.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-call-list.Tpo -c -o ModemManager-mm-call-list.obj `if test -f 'mm-call-list.c'; then $(CYGPATH_W) 'mm-call-list.c'; else $(CYGPATH_W) '$(srcdir)/mm-call-list.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-call-list.Tpo $(DEPDIR)/ModemManager-mm-call-list.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-call-list.c' object='ModemManager-mm-call-list.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-call-list.obj `if test -f 'mm-call-list.c'; then $(CYGPATH_W) 'mm-call-list.c'; else $(CYGPATH_W) '$(srcdir)/mm-call-list.c'; fi`
+
+ModemManager-mm-iface-modem.o: mm-iface-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem.Tpo -c -o ModemManager-mm-iface-modem.o `test -f 'mm-iface-modem.c' || echo '$(srcdir)/'`mm-iface-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem.Tpo $(DEPDIR)/ModemManager-mm-iface-modem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem.c' object='ModemManager-mm-iface-modem.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem.o `test -f 'mm-iface-modem.c' || echo '$(srcdir)/'`mm-iface-modem.c
+
+ModemManager-mm-iface-modem.obj: mm-iface-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem.Tpo -c -o ModemManager-mm-iface-modem.obj `if test -f 'mm-iface-modem.c'; then $(CYGPATH_W) 'mm-iface-modem.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem.Tpo $(DEPDIR)/ModemManager-mm-iface-modem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem.c' object='ModemManager-mm-iface-modem.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem.obj `if test -f 'mm-iface-modem.c'; then $(CYGPATH_W) 'mm-iface-modem.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem.c'; fi`
+
+ModemManager-mm-iface-modem-3gpp.o: mm-iface-modem-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-3gpp.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Tpo -c -o ModemManager-mm-iface-modem-3gpp.o `test -f 'mm-iface-modem-3gpp.c' || echo '$(srcdir)/'`mm-iface-modem-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-3gpp.c' object='ModemManager-mm-iface-modem-3gpp.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-3gpp.o `test -f 'mm-iface-modem-3gpp.c' || echo '$(srcdir)/'`mm-iface-modem-3gpp.c
+
+ModemManager-mm-iface-modem-3gpp.obj: mm-iface-modem-3gpp.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-3gpp.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Tpo -c -o ModemManager-mm-iface-modem-3gpp.obj `if test -f 'mm-iface-modem-3gpp.c'; then $(CYGPATH_W) 'mm-iface-modem-3gpp.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-3gpp.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-3gpp.c' object='ModemManager-mm-iface-modem-3gpp.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-3gpp.obj `if test -f 'mm-iface-modem-3gpp.c'; then $(CYGPATH_W) 'mm-iface-modem-3gpp.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-3gpp.c'; fi`
+
+ModemManager-mm-iface-modem-3gpp-ussd.o: mm-iface-modem-3gpp-ussd.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-3gpp-ussd.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Tpo -c -o ModemManager-mm-iface-modem-3gpp-ussd.o `test -f 'mm-iface-modem-3gpp-ussd.c' || echo '$(srcdir)/'`mm-iface-modem-3gpp-ussd.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-3gpp-ussd.c' object='ModemManager-mm-iface-modem-3gpp-ussd.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-3gpp-ussd.o `test -f 'mm-iface-modem-3gpp-ussd.c' || echo '$(srcdir)/'`mm-iface-modem-3gpp-ussd.c
+
+ModemManager-mm-iface-modem-3gpp-ussd.obj: mm-iface-modem-3gpp-ussd.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-3gpp-ussd.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Tpo -c -o ModemManager-mm-iface-modem-3gpp-ussd.obj `if test -f 'mm-iface-modem-3gpp-ussd.c'; then $(CYGPATH_W) 'mm-iface-modem-3gpp-ussd.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-3gpp-ussd.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-3gpp-ussd.c' object='ModemManager-mm-iface-modem-3gpp-ussd.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-3gpp-ussd.obj `if test -f 'mm-iface-modem-3gpp-ussd.c'; then $(CYGPATH_W) 'mm-iface-modem-3gpp-ussd.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-3gpp-ussd.c'; fi`
+
+ModemManager-mm-iface-modem-cdma.o: mm-iface-modem-cdma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-cdma.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-cdma.Tpo -c -o ModemManager-mm-iface-modem-cdma.o `test -f 'mm-iface-modem-cdma.c' || echo '$(srcdir)/'`mm-iface-modem-cdma.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-cdma.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-cdma.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-cdma.c' object='ModemManager-mm-iface-modem-cdma.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-cdma.o `test -f 'mm-iface-modem-cdma.c' || echo '$(srcdir)/'`mm-iface-modem-cdma.c
+
+ModemManager-mm-iface-modem-cdma.obj: mm-iface-modem-cdma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-cdma.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-cdma.Tpo -c -o ModemManager-mm-iface-modem-cdma.obj `if test -f 'mm-iface-modem-cdma.c'; then $(CYGPATH_W) 'mm-iface-modem-cdma.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-cdma.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-cdma.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-cdma.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-cdma.c' object='ModemManager-mm-iface-modem-cdma.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-cdma.obj `if test -f 'mm-iface-modem-cdma.c'; then $(CYGPATH_W) 'mm-iface-modem-cdma.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-cdma.c'; fi`
+
+ModemManager-mm-iface-modem-simple.o: mm-iface-modem-simple.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-simple.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-simple.Tpo -c -o ModemManager-mm-iface-modem-simple.o `test -f 'mm-iface-modem-simple.c' || echo '$(srcdir)/'`mm-iface-modem-simple.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-simple.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-simple.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-simple.c' object='ModemManager-mm-iface-modem-simple.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-simple.o `test -f 'mm-iface-modem-simple.c' || echo '$(srcdir)/'`mm-iface-modem-simple.c
+
+ModemManager-mm-iface-modem-simple.obj: mm-iface-modem-simple.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-simple.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-simple.Tpo -c -o ModemManager-mm-iface-modem-simple.obj `if test -f 'mm-iface-modem-simple.c'; then $(CYGPATH_W) 'mm-iface-modem-simple.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-simple.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-simple.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-simple.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-simple.c' object='ModemManager-mm-iface-modem-simple.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-simple.obj `if test -f 'mm-iface-modem-simple.c'; then $(CYGPATH_W) 'mm-iface-modem-simple.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-simple.c'; fi`
+
+ModemManager-mm-iface-modem-location.o: mm-iface-modem-location.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-location.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-location.Tpo -c -o ModemManager-mm-iface-modem-location.o `test -f 'mm-iface-modem-location.c' || echo '$(srcdir)/'`mm-iface-modem-location.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-location.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-location.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-location.c' object='ModemManager-mm-iface-modem-location.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-location.o `test -f 'mm-iface-modem-location.c' || echo '$(srcdir)/'`mm-iface-modem-location.c
+
+ModemManager-mm-iface-modem-location.obj: mm-iface-modem-location.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-location.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-location.Tpo -c -o ModemManager-mm-iface-modem-location.obj `if test -f 'mm-iface-modem-location.c'; then $(CYGPATH_W) 'mm-iface-modem-location.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-location.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-location.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-location.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-location.c' object='ModemManager-mm-iface-modem-location.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-location.obj `if test -f 'mm-iface-modem-location.c'; then $(CYGPATH_W) 'mm-iface-modem-location.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-location.c'; fi`
+
+ModemManager-mm-iface-modem-messaging.o: mm-iface-modem-messaging.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-messaging.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-messaging.Tpo -c -o ModemManager-mm-iface-modem-messaging.o `test -f 'mm-iface-modem-messaging.c' || echo '$(srcdir)/'`mm-iface-modem-messaging.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-messaging.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-messaging.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-messaging.c' object='ModemManager-mm-iface-modem-messaging.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-messaging.o `test -f 'mm-iface-modem-messaging.c' || echo '$(srcdir)/'`mm-iface-modem-messaging.c
+
+ModemManager-mm-iface-modem-messaging.obj: mm-iface-modem-messaging.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-messaging.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-messaging.Tpo -c -o ModemManager-mm-iface-modem-messaging.obj `if test -f 'mm-iface-modem-messaging.c'; then $(CYGPATH_W) 'mm-iface-modem-messaging.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-messaging.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-messaging.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-messaging.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-messaging.c' object='ModemManager-mm-iface-modem-messaging.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-messaging.obj `if test -f 'mm-iface-modem-messaging.c'; then $(CYGPATH_W) 'mm-iface-modem-messaging.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-messaging.c'; fi`
+
+ModemManager-mm-iface-modem-voice.o: mm-iface-modem-voice.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-voice.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-voice.Tpo -c -o ModemManager-mm-iface-modem-voice.o `test -f 'mm-iface-modem-voice.c' || echo '$(srcdir)/'`mm-iface-modem-voice.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-voice.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-voice.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-voice.c' object='ModemManager-mm-iface-modem-voice.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-voice.o `test -f 'mm-iface-modem-voice.c' || echo '$(srcdir)/'`mm-iface-modem-voice.c
+
+ModemManager-mm-iface-modem-voice.obj: mm-iface-modem-voice.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-voice.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-voice.Tpo -c -o ModemManager-mm-iface-modem-voice.obj `if test -f 'mm-iface-modem-voice.c'; then $(CYGPATH_W) 'mm-iface-modem-voice.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-voice.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-voice.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-voice.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-voice.c' object='ModemManager-mm-iface-modem-voice.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-voice.obj `if test -f 'mm-iface-modem-voice.c'; then $(CYGPATH_W) 'mm-iface-modem-voice.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-voice.c'; fi`
+
+ModemManager-mm-iface-modem-time.o: mm-iface-modem-time.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-time.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-time.Tpo -c -o ModemManager-mm-iface-modem-time.o `test -f 'mm-iface-modem-time.c' || echo '$(srcdir)/'`mm-iface-modem-time.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-time.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-time.c' object='ModemManager-mm-iface-modem-time.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-time.o `test -f 'mm-iface-modem-time.c' || echo '$(srcdir)/'`mm-iface-modem-time.c
+
+ModemManager-mm-iface-modem-time.obj: mm-iface-modem-time.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-time.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-time.Tpo -c -o ModemManager-mm-iface-modem-time.obj `if test -f 'mm-iface-modem-time.c'; then $(CYGPATH_W) 'mm-iface-modem-time.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-time.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-time.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-time.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-time.c' object='ModemManager-mm-iface-modem-time.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-time.obj `if test -f 'mm-iface-modem-time.c'; then $(CYGPATH_W) 'mm-iface-modem-time.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-time.c'; fi`
+
+ModemManager-mm-iface-modem-firmware.o: mm-iface-modem-firmware.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-firmware.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-firmware.Tpo -c -o ModemManager-mm-iface-modem-firmware.o `test -f 'mm-iface-modem-firmware.c' || echo '$(srcdir)/'`mm-iface-modem-firmware.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-firmware.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-firmware.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-firmware.c' object='ModemManager-mm-iface-modem-firmware.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-firmware.o `test -f 'mm-iface-modem-firmware.c' || echo '$(srcdir)/'`mm-iface-modem-firmware.c
+
+ModemManager-mm-iface-modem-firmware.obj: mm-iface-modem-firmware.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-firmware.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-firmware.Tpo -c -o ModemManager-mm-iface-modem-firmware.obj `if test -f 'mm-iface-modem-firmware.c'; then $(CYGPATH_W) 'mm-iface-modem-firmware.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-firmware.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-firmware.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-firmware.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-firmware.c' object='ModemManager-mm-iface-modem-firmware.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-firmware.obj `if test -f 'mm-iface-modem-firmware.c'; then $(CYGPATH_W) 'mm-iface-modem-firmware.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-firmware.c'; fi`
+
+ModemManager-mm-iface-modem-signal.o: mm-iface-modem-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-signal.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-signal.Tpo -c -o ModemManager-mm-iface-modem-signal.o `test -f 'mm-iface-modem-signal.c' || echo '$(srcdir)/'`mm-iface-modem-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-signal.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-signal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-signal.c' object='ModemManager-mm-iface-modem-signal.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-signal.o `test -f 'mm-iface-modem-signal.c' || echo '$(srcdir)/'`mm-iface-modem-signal.c
+
+ModemManager-mm-iface-modem-signal.obj: mm-iface-modem-signal.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-signal.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-signal.Tpo -c -o ModemManager-mm-iface-modem-signal.obj `if test -f 'mm-iface-modem-signal.c'; then $(CYGPATH_W) 'mm-iface-modem-signal.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-signal.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-signal.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-signal.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-signal.c' object='ModemManager-mm-iface-modem-signal.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-signal.obj `if test -f 'mm-iface-modem-signal.c'; then $(CYGPATH_W) 'mm-iface-modem-signal.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-signal.c'; fi`
+
+ModemManager-mm-iface-modem-oma.o: mm-iface-modem-oma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-oma.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-oma.Tpo -c -o ModemManager-mm-iface-modem-oma.o `test -f 'mm-iface-modem-oma.c' || echo '$(srcdir)/'`mm-iface-modem-oma.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-oma.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-oma.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-oma.c' object='ModemManager-mm-iface-modem-oma.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-oma.o `test -f 'mm-iface-modem-oma.c' || echo '$(srcdir)/'`mm-iface-modem-oma.c
+
+ModemManager-mm-iface-modem-oma.obj: mm-iface-modem-oma.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-iface-modem-oma.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-iface-modem-oma.Tpo -c -o ModemManager-mm-iface-modem-oma.obj `if test -f 'mm-iface-modem-oma.c'; then $(CYGPATH_W) 'mm-iface-modem-oma.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-oma.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-iface-modem-oma.Tpo $(DEPDIR)/ModemManager-mm-iface-modem-oma.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-iface-modem-oma.c' object='ModemManager-mm-iface-modem-oma.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-iface-modem-oma.obj `if test -f 'mm-iface-modem-oma.c'; then $(CYGPATH_W) 'mm-iface-modem-oma.c'; else $(CYGPATH_W) '$(srcdir)/mm-iface-modem-oma.c'; fi`
+
+ModemManager-mm-broadband-modem.o: mm-broadband-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-broadband-modem.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-broadband-modem.Tpo -c -o ModemManager-mm-broadband-modem.o `test -f 'mm-broadband-modem.c' || echo '$(srcdir)/'`mm-broadband-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-broadband-modem.Tpo $(DEPDIR)/ModemManager-mm-broadband-modem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-broadband-modem.c' object='ModemManager-mm-broadband-modem.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-broadband-modem.o `test -f 'mm-broadband-modem.c' || echo '$(srcdir)/'`mm-broadband-modem.c
+
+ModemManager-mm-broadband-modem.obj: mm-broadband-modem.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-broadband-modem.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-broadband-modem.Tpo -c -o ModemManager-mm-broadband-modem.obj `if test -f 'mm-broadband-modem.c'; then $(CYGPATH_W) 'mm-broadband-modem.c'; else $(CYGPATH_W) '$(srcdir)/mm-broadband-modem.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-broadband-modem.Tpo $(DEPDIR)/ModemManager-mm-broadband-modem.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-broadband-modem.c' object='ModemManager-mm-broadband-modem.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-broadband-modem.obj `if test -f 'mm-broadband-modem.c'; then $(CYGPATH_W) 'mm-broadband-modem.c'; else $(CYGPATH_W) '$(srcdir)/mm-broadband-modem.c'; fi`
+
+ModemManager-mm-port-probe.o: mm-port-probe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-port-probe.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-port-probe.Tpo -c -o ModemManager-mm-port-probe.o `test -f 'mm-port-probe.c' || echo '$(srcdir)/'`mm-port-probe.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-port-probe.Tpo $(DEPDIR)/ModemManager-mm-port-probe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-port-probe.c' object='ModemManager-mm-port-probe.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-port-probe.o `test -f 'mm-port-probe.c' || echo '$(srcdir)/'`mm-port-probe.c
+
+ModemManager-mm-port-probe.obj: mm-port-probe.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-port-probe.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-port-probe.Tpo -c -o ModemManager-mm-port-probe.obj `if test -f 'mm-port-probe.c'; then $(CYGPATH_W) 'mm-port-probe.c'; else $(CYGPATH_W) '$(srcdir)/mm-port-probe.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-port-probe.Tpo $(DEPDIR)/ModemManager-mm-port-probe.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-port-probe.c' object='ModemManager-mm-port-probe.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-port-probe.obj `if test -f 'mm-port-probe.c'; then $(CYGPATH_W) 'mm-port-probe.c'; else $(CYGPATH_W) '$(srcdir)/mm-port-probe.c'; fi`
+
+ModemManager-mm-port-probe-at.o: mm-port-probe-at.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-port-probe-at.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-port-probe-at.Tpo -c -o ModemManager-mm-port-probe-at.o `test -f 'mm-port-probe-at.c' || echo '$(srcdir)/'`mm-port-probe-at.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-port-probe-at.Tpo $(DEPDIR)/ModemManager-mm-port-probe-at.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-port-probe-at.c' object='ModemManager-mm-port-probe-at.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-port-probe-at.o `test -f 'mm-port-probe-at.c' || echo '$(srcdir)/'`mm-port-probe-at.c
+
+ModemManager-mm-port-probe-at.obj: mm-port-probe-at.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-port-probe-at.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-port-probe-at.Tpo -c -o ModemManager-mm-port-probe-at.obj `if test -f 'mm-port-probe-at.c'; then $(CYGPATH_W) 'mm-port-probe-at.c'; else $(CYGPATH_W) '$(srcdir)/mm-port-probe-at.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-port-probe-at.Tpo $(DEPDIR)/ModemManager-mm-port-probe-at.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-port-probe-at.c' object='ModemManager-mm-port-probe-at.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-port-probe-at.obj `if test -f 'mm-port-probe-at.c'; then $(CYGPATH_W) 'mm-port-probe-at.c'; else $(CYGPATH_W) '$(srcdir)/mm-port-probe-at.c'; fi`
+
+ModemManager-mm-plugin.o: mm-plugin.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-plugin.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-plugin.Tpo -c -o ModemManager-mm-plugin.o `test -f 'mm-plugin.c' || echo '$(srcdir)/'`mm-plugin.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-plugin.Tpo $(DEPDIR)/ModemManager-mm-plugin.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-plugin.c' object='ModemManager-mm-plugin.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-plugin.o `test -f 'mm-plugin.c' || echo '$(srcdir)/'`mm-plugin.c
+
+ModemManager-mm-plugin.obj: mm-plugin.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-plugin.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-plugin.Tpo -c -o ModemManager-mm-plugin.obj `if test -f 'mm-plugin.c'; then $(CYGPATH_W) 'mm-plugin.c'; else $(CYGPATH_W) '$(srcdir)/mm-plugin.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-plugin.Tpo $(DEPDIR)/ModemManager-mm-plugin.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-plugin.c' object='ModemManager-mm-plugin.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-plugin.obj `if test -f 'mm-plugin.c'; then $(CYGPATH_W) 'mm-plugin.c'; else $(CYGPATH_W) '$(srcdir)/mm-plugin.c'; fi`
+
+ModemManager-mm-auth-provider-polkit.o: mm-auth-provider-polkit.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-auth-provider-polkit.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-auth-provider-polkit.Tpo -c -o ModemManager-mm-auth-provider-polkit.o `test -f 'mm-auth-provider-polkit.c' || echo '$(srcdir)/'`mm-auth-provider-polkit.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-auth-provider-polkit.Tpo $(DEPDIR)/ModemManager-mm-auth-provider-polkit.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-auth-provider-polkit.c' object='ModemManager-mm-auth-provider-polkit.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-auth-provider-polkit.o `test -f 'mm-auth-provider-polkit.c' || echo '$(srcdir)/'`mm-auth-provider-polkit.c
+
+ModemManager-mm-auth-provider-polkit.obj: mm-auth-provider-polkit.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-auth-provider-polkit.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-auth-provider-polkit.Tpo -c -o ModemManager-mm-auth-provider-polkit.obj `if test -f 'mm-auth-provider-polkit.c'; then $(CYGPATH_W) 'mm-auth-provider-polkit.c'; else $(CYGPATH_W) '$(srcdir)/mm-auth-provider-polkit.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-auth-provider-polkit.Tpo $(DEPDIR)/ModemManager-mm-auth-provider-polkit.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-auth-provider-polkit.c' object='ModemManager-mm-auth-provider-polkit.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-auth-provider-polkit.obj `if test -f 'mm-auth-provider-polkit.c'; then $(CYGPATH_W) 'mm-auth-provider-polkit.c'; else $(CYGPATH_W) '$(srcdir)/mm-auth-provider-polkit.c'; fi`
+
+ModemManager-mm-sleep-monitor.o: mm-sleep-monitor.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sleep-monitor.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-sleep-monitor.Tpo -c -o ModemManager-mm-sleep-monitor.o `test -f 'mm-sleep-monitor.c' || echo '$(srcdir)/'`mm-sleep-monitor.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sleep-monitor.Tpo $(DEPDIR)/ModemManager-mm-sleep-monitor.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sleep-monitor.c' object='ModemManager-mm-sleep-monitor.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sleep-monitor.o `test -f 'mm-sleep-monitor.c' || echo '$(srcdir)/'`mm-sleep-monitor.c
+
+ModemManager-mm-sleep-monitor.obj: mm-sleep-monitor.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sleep-monitor.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-sleep-monitor.Tpo -c -o ModemManager-mm-sleep-monitor.obj `if test -f 'mm-sleep-monitor.c'; then $(CYGPATH_W) 'mm-sleep-monitor.c'; else $(CYGPATH_W) '$(srcdir)/mm-sleep-monitor.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sleep-monitor.Tpo $(DEPDIR)/ModemManager-mm-sleep-monitor.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sleep-monitor.c' object='ModemManager-mm-sleep-monitor.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sleep-monitor.obj `if test -f 'mm-sleep-monitor.c'; then $(CYGPATH_W) 'mm-sleep-monitor.c'; else $(CYGPATH_W) '$(srcdir)/mm-sleep-monitor.c'; fi`
+
+ModemManager-mm-shared-qmi.o: mm-shared-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-shared-qmi.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-shared-qmi.Tpo -c -o ModemManager-mm-shared-qmi.o `test -f 'mm-shared-qmi.c' || echo '$(srcdir)/'`mm-shared-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-shared-qmi.Tpo $(DEPDIR)/ModemManager-mm-shared-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-shared-qmi.c' object='ModemManager-mm-shared-qmi.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-shared-qmi.o `test -f 'mm-shared-qmi.c' || echo '$(srcdir)/'`mm-shared-qmi.c
+
+ModemManager-mm-shared-qmi.obj: mm-shared-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-shared-qmi.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-shared-qmi.Tpo -c -o ModemManager-mm-shared-qmi.obj `if test -f 'mm-shared-qmi.c'; then $(CYGPATH_W) 'mm-shared-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-shared-qmi.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-shared-qmi.Tpo $(DEPDIR)/ModemManager-mm-shared-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-shared-qmi.c' object='ModemManager-mm-shared-qmi.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-shared-qmi.obj `if test -f 'mm-shared-qmi.c'; then $(CYGPATH_W) 'mm-shared-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-shared-qmi.c'; fi`
+
+ModemManager-mm-sms-qmi.o: mm-sms-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sms-qmi.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-sms-qmi.Tpo -c -o ModemManager-mm-sms-qmi.o `test -f 'mm-sms-qmi.c' || echo '$(srcdir)/'`mm-sms-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sms-qmi.Tpo $(DEPDIR)/ModemManager-mm-sms-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sms-qmi.c' object='ModemManager-mm-sms-qmi.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sms-qmi.o `test -f 'mm-sms-qmi.c' || echo '$(srcdir)/'`mm-sms-qmi.c
+
+ModemManager-mm-sms-qmi.obj: mm-sms-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sms-qmi.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-sms-qmi.Tpo -c -o ModemManager-mm-sms-qmi.obj `if test -f 'mm-sms-qmi.c'; then $(CYGPATH_W) 'mm-sms-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-sms-qmi.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sms-qmi.Tpo $(DEPDIR)/ModemManager-mm-sms-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sms-qmi.c' object='ModemManager-mm-sms-qmi.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sms-qmi.obj `if test -f 'mm-sms-qmi.c'; then $(CYGPATH_W) 'mm-sms-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-sms-qmi.c'; fi`
+
+ModemManager-mm-sim-qmi.o: mm-sim-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sim-qmi.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-sim-qmi.Tpo -c -o ModemManager-mm-sim-qmi.o `test -f 'mm-sim-qmi.c' || echo '$(srcdir)/'`mm-sim-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sim-qmi.Tpo $(DEPDIR)/ModemManager-mm-sim-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sim-qmi.c' object='ModemManager-mm-sim-qmi.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sim-qmi.o `test -f 'mm-sim-qmi.c' || echo '$(srcdir)/'`mm-sim-qmi.c
+
+ModemManager-mm-sim-qmi.obj: mm-sim-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sim-qmi.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-sim-qmi.Tpo -c -o ModemManager-mm-sim-qmi.obj `if test -f 'mm-sim-qmi.c'; then $(CYGPATH_W) 'mm-sim-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-sim-qmi.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sim-qmi.Tpo $(DEPDIR)/ModemManager-mm-sim-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sim-qmi.c' object='ModemManager-mm-sim-qmi.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sim-qmi.obj `if test -f 'mm-sim-qmi.c'; then $(CYGPATH_W) 'mm-sim-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-sim-qmi.c'; fi`
+
+ModemManager-mm-bearer-qmi.o: mm-bearer-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-bearer-qmi.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-bearer-qmi.Tpo -c -o ModemManager-mm-bearer-qmi.o `test -f 'mm-bearer-qmi.c' || echo '$(srcdir)/'`mm-bearer-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-bearer-qmi.Tpo $(DEPDIR)/ModemManager-mm-bearer-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer-qmi.c' object='ModemManager-mm-bearer-qmi.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-bearer-qmi.o `test -f 'mm-bearer-qmi.c' || echo '$(srcdir)/'`mm-bearer-qmi.c
+
+ModemManager-mm-bearer-qmi.obj: mm-bearer-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-bearer-qmi.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-bearer-qmi.Tpo -c -o ModemManager-mm-bearer-qmi.obj `if test -f 'mm-bearer-qmi.c'; then $(CYGPATH_W) 'mm-bearer-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-bearer-qmi.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-bearer-qmi.Tpo $(DEPDIR)/ModemManager-mm-bearer-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer-qmi.c' object='ModemManager-mm-bearer-qmi.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-bearer-qmi.obj `if test -f 'mm-bearer-qmi.c'; then $(CYGPATH_W) 'mm-bearer-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-bearer-qmi.c'; fi`
+
+ModemManager-mm-broadband-modem-qmi.o: mm-broadband-modem-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-broadband-modem-qmi.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Tpo -c -o ModemManager-mm-broadband-modem-qmi.o `test -f 'mm-broadband-modem-qmi.c' || echo '$(srcdir)/'`mm-broadband-modem-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Tpo $(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-broadband-modem-qmi.c' object='ModemManager-mm-broadband-modem-qmi.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-broadband-modem-qmi.o `test -f 'mm-broadband-modem-qmi.c' || echo '$(srcdir)/'`mm-broadband-modem-qmi.c
+
+ModemManager-mm-broadband-modem-qmi.obj: mm-broadband-modem-qmi.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-broadband-modem-qmi.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Tpo -c -o ModemManager-mm-broadband-modem-qmi.obj `if test -f 'mm-broadband-modem-qmi.c'; then $(CYGPATH_W) 'mm-broadband-modem-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-broadband-modem-qmi.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Tpo $(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-broadband-modem-qmi.c' object='ModemManager-mm-broadband-modem-qmi.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-broadband-modem-qmi.obj `if test -f 'mm-broadband-modem-qmi.c'; then $(CYGPATH_W) 'mm-broadband-modem-qmi.c'; else $(CYGPATH_W) '$(srcdir)/mm-broadband-modem-qmi.c'; fi`
+
+ModemManager-mm-sms-mbim.o: mm-sms-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sms-mbim.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-sms-mbim.Tpo -c -o ModemManager-mm-sms-mbim.o `test -f 'mm-sms-mbim.c' || echo '$(srcdir)/'`mm-sms-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sms-mbim.Tpo $(DEPDIR)/ModemManager-mm-sms-mbim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sms-mbim.c' object='ModemManager-mm-sms-mbim.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sms-mbim.o `test -f 'mm-sms-mbim.c' || echo '$(srcdir)/'`mm-sms-mbim.c
+
+ModemManager-mm-sms-mbim.obj: mm-sms-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sms-mbim.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-sms-mbim.Tpo -c -o ModemManager-mm-sms-mbim.obj `if test -f 'mm-sms-mbim.c'; then $(CYGPATH_W) 'mm-sms-mbim.c'; else $(CYGPATH_W) '$(srcdir)/mm-sms-mbim.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sms-mbim.Tpo $(DEPDIR)/ModemManager-mm-sms-mbim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sms-mbim.c' object='ModemManager-mm-sms-mbim.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sms-mbim.obj `if test -f 'mm-sms-mbim.c'; then $(CYGPATH_W) 'mm-sms-mbim.c'; else $(CYGPATH_W) '$(srcdir)/mm-sms-mbim.c'; fi`
+
+ModemManager-mm-sim-mbim.o: mm-sim-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sim-mbim.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-sim-mbim.Tpo -c -o ModemManager-mm-sim-mbim.o `test -f 'mm-sim-mbim.c' || echo '$(srcdir)/'`mm-sim-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sim-mbim.Tpo $(DEPDIR)/ModemManager-mm-sim-mbim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sim-mbim.c' object='ModemManager-mm-sim-mbim.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sim-mbim.o `test -f 'mm-sim-mbim.c' || echo '$(srcdir)/'`mm-sim-mbim.c
+
+ModemManager-mm-sim-mbim.obj: mm-sim-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-sim-mbim.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-sim-mbim.Tpo -c -o ModemManager-mm-sim-mbim.obj `if test -f 'mm-sim-mbim.c'; then $(CYGPATH_W) 'mm-sim-mbim.c'; else $(CYGPATH_W) '$(srcdir)/mm-sim-mbim.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-sim-mbim.Tpo $(DEPDIR)/ModemManager-mm-sim-mbim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-sim-mbim.c' object='ModemManager-mm-sim-mbim.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-sim-mbim.obj `if test -f 'mm-sim-mbim.c'; then $(CYGPATH_W) 'mm-sim-mbim.c'; else $(CYGPATH_W) '$(srcdir)/mm-sim-mbim.c'; fi`
+
+ModemManager-mm-bearer-mbim.o: mm-bearer-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-bearer-mbim.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-bearer-mbim.Tpo -c -o ModemManager-mm-bearer-mbim.o `test -f 'mm-bearer-mbim.c' || echo '$(srcdir)/'`mm-bearer-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-bearer-mbim.Tpo $(DEPDIR)/ModemManager-mm-bearer-mbim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer-mbim.c' object='ModemManager-mm-bearer-mbim.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-bearer-mbim.o `test -f 'mm-bearer-mbim.c' || echo '$(srcdir)/'`mm-bearer-mbim.c
+
+ModemManager-mm-bearer-mbim.obj: mm-bearer-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-bearer-mbim.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-bearer-mbim.Tpo -c -o ModemManager-mm-bearer-mbim.obj `if test -f 'mm-bearer-mbim.c'; then $(CYGPATH_W) 'mm-bearer-mbim.c'; else $(CYGPATH_W) '$(srcdir)/mm-bearer-mbim.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-bearer-mbim.Tpo $(DEPDIR)/ModemManager-mm-bearer-mbim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-bearer-mbim.c' object='ModemManager-mm-bearer-mbim.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-bearer-mbim.obj `if test -f 'mm-bearer-mbim.c'; then $(CYGPATH_W) 'mm-bearer-mbim.c'; else $(CYGPATH_W) '$(srcdir)/mm-bearer-mbim.c'; fi`
+
+ModemManager-mm-broadband-modem-mbim.o: mm-broadband-modem-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-broadband-modem-mbim.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Tpo -c -o ModemManager-mm-broadband-modem-mbim.o `test -f 'mm-broadband-modem-mbim.c' || echo '$(srcdir)/'`mm-broadband-modem-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Tpo $(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-broadband-modem-mbim.c' object='ModemManager-mm-broadband-modem-mbim.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-broadband-modem-mbim.o `test -f 'mm-broadband-modem-mbim.c' || echo '$(srcdir)/'`mm-broadband-modem-mbim.c
+
+ModemManager-mm-broadband-modem-mbim.obj: mm-broadband-modem-mbim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-broadband-modem-mbim.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Tpo -c -o ModemManager-mm-broadband-modem-mbim.obj `if test -f 'mm-broadband-modem-mbim.c'; then $(CYGPATH_W) 'mm-broadband-modem-mbim.c'; else $(CYGPATH_W) '$(srcdir)/mm-broadband-modem-mbim.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Tpo $(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-broadband-modem-mbim.c' object='ModemManager-mm-broadband-modem-mbim.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-broadband-modem-mbim.obj `if test -f 'mm-broadband-modem-mbim.c'; then $(CYGPATH_W) 'mm-broadband-modem-mbim.c'; else $(CYGPATH_W) '$(srcdir)/mm-broadband-modem-mbim.c'; fi`
+
+ModemManager-mm-daemon-enums-types.o: mm-daemon-enums-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-daemon-enums-types.o -MD -MP -MF $(DEPDIR)/ModemManager-mm-daemon-enums-types.Tpo -c -o ModemManager-mm-daemon-enums-types.o `test -f 'mm-daemon-enums-types.c' || echo '$(srcdir)/'`mm-daemon-enums-types.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-daemon-enums-types.Tpo $(DEPDIR)/ModemManager-mm-daemon-enums-types.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-daemon-enums-types.c' object='ModemManager-mm-daemon-enums-types.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-daemon-enums-types.o `test -f 'mm-daemon-enums-types.c' || echo '$(srcdir)/'`mm-daemon-enums-types.c
+
+ModemManager-mm-daemon-enums-types.obj: mm-daemon-enums-types.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ModemManager-mm-daemon-enums-types.obj -MD -MP -MF $(DEPDIR)/ModemManager-mm-daemon-enums-types.Tpo -c -o ModemManager-mm-daemon-enums-types.obj `if test -f 'mm-daemon-enums-types.c'; then $(CYGPATH_W) 'mm-daemon-enums-types.c'; else $(CYGPATH_W) '$(srcdir)/mm-daemon-enums-types.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ModemManager-mm-daemon-enums-types.Tpo $(DEPDIR)/ModemManager-mm-daemon-enums-types.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mm-daemon-enums-types.c' object='ModemManager-mm-daemon-enums-types.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(ModemManager_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ModemManager-mm-daemon-enums-types.obj `if test -f 'mm-daemon-enums-types.c'; then $(CYGPATH_W) 'mm-daemon-enums-types.c'; else $(CYGPATH_W) '$(srcdir)/mm-daemon-enums-types.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+ -rm -rf kerneldevice/.libs kerneldevice/_libs
+install-udevrulesDATA: $(udevrules_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(udevrulesdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(udevrulesdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevrulesdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(udevrulesdir)" || exit $$?; \
+ done
+
+uninstall-udevrulesDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(udevrulesdir)'; $(am__uninstall_files_from_dir)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(udevrulesdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f kerneldevice/$(DEPDIR)/$(am__dirstamp)
+ -rm -f kerneldevice/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+ clean-sbinPROGRAMS mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -f ./$(DEPDIR)/ModemManager-main.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-auth-provider-polkit.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-auth-provider.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-auth.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-bearer.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-call.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-manager.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-modem-at.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-modem.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-sim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-sms.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-bearer-list.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-bearer-mbim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-bearer-qmi.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-broadband-bearer.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-broadband-modem.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-call-list.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-context.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-daemon-enums-types.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-device.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-filter.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-cdma.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-firmware.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-location.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-messaging.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-oma.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-signal.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-simple.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-time.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-voice.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-log.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-plugin-manager.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-plugin.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-port-probe-at.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-port-probe.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-private-boxed-types.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-shared-qmi.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sim-mbim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sim-qmi.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sleep-monitor.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sms-list.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sms-mbim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sms-qmi.Po
+ -rm -f ./$(DEPDIR)/mm-charsets.Plo
+ -rm -f ./$(DEPDIR)/mm-error-helpers.Plo
+ -rm -f ./$(DEPDIR)/mm-helper-enums-types.Plo
+ -rm -f ./$(DEPDIR)/mm-modem-helpers-mbim.Plo
+ -rm -f ./$(DEPDIR)/mm-modem-helpers-qmi.Plo
+ -rm -f ./$(DEPDIR)/mm-modem-helpers.Plo
+ -rm -f ./$(DEPDIR)/mm-port-enums-types.Plo
+ -rm -f ./$(DEPDIR)/mm-port-mbim.Plo
+ -rm -f ./$(DEPDIR)/mm-port-qmi.Plo
+ -rm -f ./$(DEPDIR)/mm-port-serial-at.Plo
+ -rm -f ./$(DEPDIR)/mm-port-serial-gps.Plo
+ -rm -f ./$(DEPDIR)/mm-port-serial-qcdm.Plo
+ -rm -f ./$(DEPDIR)/mm-port-serial.Plo
+ -rm -f ./$(DEPDIR)/mm-port.Plo
+ -rm -f ./$(DEPDIR)/mm-serial-parsers.Plo
+ -rm -f ./$(DEPDIR)/mm-sms-part-3gpp.Plo
+ -rm -f ./$(DEPDIR)/mm-sms-part-cdma.Plo
+ -rm -f ./$(DEPDIR)/mm-sms-part.Plo
+ -rm -f kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic-rules.Plo
+ -rm -f kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic.Plo
+ -rm -f kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-udev.Plo
+ -rm -f kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device.Plo
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-udevrulesDATA
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-sbinPROGRAMS
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f ./$(DEPDIR)/ModemManager-main.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-auth-provider-polkit.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-auth-provider.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-auth.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-bearer.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-call.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-manager.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-modem-at.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-modem.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-sim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-base-sms.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-bearer-list.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-bearer-mbim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-bearer-qmi.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-broadband-bearer.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-broadband-modem-mbim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-broadband-modem-qmi.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-broadband-modem.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-call-list.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-context.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-daemon-enums-types.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-device.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-filter.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-3gpp-ussd.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-3gpp.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-cdma.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-firmware.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-location.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-messaging.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-oma.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-signal.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-simple.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-time.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem-voice.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-iface-modem.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-log.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-plugin-manager.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-plugin.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-port-probe-at.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-port-probe.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-private-boxed-types.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-shared-qmi.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sim-mbim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sim-qmi.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sleep-monitor.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sms-list.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sms-mbim.Po
+ -rm -f ./$(DEPDIR)/ModemManager-mm-sms-qmi.Po
+ -rm -f ./$(DEPDIR)/mm-charsets.Plo
+ -rm -f ./$(DEPDIR)/mm-error-helpers.Plo
+ -rm -f ./$(DEPDIR)/mm-helper-enums-types.Plo
+ -rm -f ./$(DEPDIR)/mm-modem-helpers-mbim.Plo
+ -rm -f ./$(DEPDIR)/mm-modem-helpers-qmi.Plo
+ -rm -f ./$(DEPDIR)/mm-modem-helpers.Plo
+ -rm -f ./$(DEPDIR)/mm-port-enums-types.Plo
+ -rm -f ./$(DEPDIR)/mm-port-mbim.Plo
+ -rm -f ./$(DEPDIR)/mm-port-qmi.Plo
+ -rm -f ./$(DEPDIR)/mm-port-serial-at.Plo
+ -rm -f ./$(DEPDIR)/mm-port-serial-gps.Plo
+ -rm -f ./$(DEPDIR)/mm-port-serial-qcdm.Plo
+ -rm -f ./$(DEPDIR)/mm-port-serial.Plo
+ -rm -f ./$(DEPDIR)/mm-port.Plo
+ -rm -f ./$(DEPDIR)/mm-serial-parsers.Plo
+ -rm -f ./$(DEPDIR)/mm-sms-part-3gpp.Plo
+ -rm -f ./$(DEPDIR)/mm-sms-part-cdma.Plo
+ -rm -f ./$(DEPDIR)/mm-sms-part.Plo
+ -rm -f kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic-rules.Plo
+ -rm -f kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-generic.Plo
+ -rm -f kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device-udev.Plo
+ -rm -f kerneldevice/$(DEPDIR)/libkerneldevice_la-mm-kernel-device.Plo
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-sbinPROGRAMS uninstall-udevrulesDATA
+
+.MAKE: $(am__recursive_targets) all check install install-am \
+ install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--depfiles check check-am clean clean-generic clean-libtool \
+ clean-noinstLTLIBRARIES clean-sbinPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-sbinPROGRAMS install-strip \
+ install-udevrulesDATA installcheck installcheck-am installdirs \
+ installdirs-am maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-sbinPROGRAMS uninstall-udevrulesDATA
+
+.PRECIOUS: Makefile
+
+
+mm-helper-enums-types.h: Makefile.am $(HELPER_ENUMS_INPUTS) $(top_srcdir)/build-aux/mm-enums-template.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-sms-part.h\"\n#include \"mm-modem-helpers.h\"\n#ifndef __MM_HELPER_ENUMS_TYPES_H__\n#define __MM_HELPER_ENUMS_TYPES_H__\n" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.h \
+ --ftail "#endif /* __MM_HELPER_ENUMS_TYPES_H__ */\n" \
+ $(HELPER_ENUMS_INPUTS) > $@
+
+mm-helper-enums-types.c: Makefile.am $(top_srcdir)/build-aux/mm-enums-template.c mm-helper-enums-types.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-helper-enums-types.h\"" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.c \
+ $(HELPER_ENUMS_INPUTS) > $@
+
+mm-port-enums-types.h: Makefile.am $(PORT_ENUMS_INPUTS) $(top_srcdir)/build-aux/mm-enums-template.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-port.h\"\n#include \"mm-port-serial-at.h\"\n#ifndef __MM_PORT_ENUMS_TYPES_H__\n#define __MM_PORT_ENUMS_TYPES_H__\n" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.h \
+ --ftail "#endif /* __MM_PORT_ENUMS_TYPES_H__ */\n" \
+ $(PORT_ENUMS_INPUTS) > $@
+
+mm-port-enums-types.c: Makefile.am $(top_srcdir)/build-aux/mm-enums-template.c mm-port-enums-types.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-port-enums-types.h\"" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.c \
+ $(PORT_ENUMS_INPUTS) > $@
+
+mm-daemon-enums-types.h: Makefile.am $(DAEMON_ENUMS_INPUTS) $(top_srcdir)/build-aux/mm-enums-template.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-filter.h\"\n#include \"mm-base-bearer.h\"\n#include \"mm-port-probe.h\"\n#ifndef __MM_DAEMON_ENUMS_TYPES_H__\n#define __MM_DAEMON_ENUMS_TYPES_H__\n" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.h \
+ --ftail "#endif /* __MM_DAEMON_ENUMS_TYPES_H__ */\n" \
+ $(DAEMON_ENUMS_INPUTS) > $@
+
+mm-daemon-enums-types.c: Makefile.am $(top_srcdir)/build-aux/mm-enums-template.c mm-daemon-enums-types.h
+ $(AM_V_GEN) $(GLIB_MKENUMS) \
+ --fhead "#include \"mm-daemon-enums-types.h\"" \
+ --template $(top_srcdir)/build-aux/mm-enums-template.c \
+ $(DAEMON_ENUMS_INPUTS) > $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in
new file mode 100644
index 00000000..45e1cfa0
--- /dev/null
+++ b/src/tests/Makefile.in
@@ -0,0 +1,886 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@WITH_QMI_TRUE@am__append_1 = $(QMI_CFLAGS)
+@WITH_QMI_TRUE@am__append_2 = $(QMI_LIBS)
+@WITH_MBIM_TRUE@am__append_3 = $(MBIM_CFLAGS)
+@WITH_MBIM_TRUE@am__append_4 = $(MBIM_LIBS)
+noinst_PROGRAMS = test-modem-helpers$(EXEEXT) test-charsets$(EXEEXT) \
+ test-qcdm-serial-port$(EXEEXT) test-at-serial-port$(EXEEXT) \
+ test-sms-part-3gpp$(EXEEXT) test-sms-part-cdma$(EXEEXT) \
+ test-udev-rules$(EXEEXT) $(am__EXEEXT_1)
+@WITH_QMI_TRUE@am__append_5 = test-modem-helpers-qmi
+subdir = src/tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+@WITH_QMI_TRUE@am__EXEEXT_1 = test-modem-helpers-qmi$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+test_at_serial_port_SOURCES = test-at-serial-port.c
+test_at_serial_port_OBJECTS = test-at-serial-port.$(OBJEXT)
+test_at_serial_port_LDADD = $(LDADD)
+test_at_serial_port_DEPENDENCIES = $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/src/libport.la \
+ $(top_builddir)/src/libkerneldevice.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+test_charsets_SOURCES = test-charsets.c
+test_charsets_OBJECTS = test-charsets.$(OBJEXT)
+test_charsets_LDADD = $(LDADD)
+test_charsets_DEPENDENCIES = $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/src/libport.la \
+ $(top_builddir)/src/libkerneldevice.la
+test_modem_helpers_SOURCES = test-modem-helpers.c
+test_modem_helpers_OBJECTS = test-modem-helpers.$(OBJEXT)
+test_modem_helpers_LDADD = $(LDADD)
+test_modem_helpers_DEPENDENCIES = $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/src/libport.la \
+ $(top_builddir)/src/libkerneldevice.la
+test_modem_helpers_qmi_SOURCES = test-modem-helpers-qmi.c
+test_modem_helpers_qmi_OBJECTS = test-modem-helpers-qmi.$(OBJEXT)
+test_modem_helpers_qmi_LDADD = $(LDADD)
+test_modem_helpers_qmi_DEPENDENCIES = \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/src/libport.la \
+ $(top_builddir)/src/libkerneldevice.la
+test_qcdm_serial_port_SOURCES = test-qcdm-serial-port.c
+test_qcdm_serial_port_OBJECTS = test-qcdm-serial-port.$(OBJEXT)
+test_qcdm_serial_port_LDADD = $(LDADD)
+test_qcdm_serial_port_DEPENDENCIES = \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/src/libport.la \
+ $(top_builddir)/src/libkerneldevice.la
+test_sms_part_3gpp_SOURCES = test-sms-part-3gpp.c
+test_sms_part_3gpp_OBJECTS = test-sms-part-3gpp.$(OBJEXT)
+test_sms_part_3gpp_LDADD = $(LDADD)
+test_sms_part_3gpp_DEPENDENCIES = $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/src/libport.la \
+ $(top_builddir)/src/libkerneldevice.la
+test_sms_part_cdma_SOURCES = test-sms-part-cdma.c
+test_sms_part_cdma_OBJECTS = test-sms-part-cdma.$(OBJEXT)
+test_sms_part_cdma_LDADD = $(LDADD)
+test_sms_part_cdma_DEPENDENCIES = $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/src/libport.la \
+ $(top_builddir)/src/libkerneldevice.la
+test_udev_rules_SOURCES = test-udev-rules.c
+test_udev_rules_OBJECTS = test-udev-rules.$(OBJEXT)
+test_udev_rules_LDADD = $(LDADD)
+test_udev_rules_DEPENDENCIES = $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/src/libport.la \
+ $(top_builddir)/src/libkerneldevice.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/test-at-serial-port.Po \
+ ./$(DEPDIR)/test-charsets.Po \
+ ./$(DEPDIR)/test-modem-helpers-qmi.Po \
+ ./$(DEPDIR)/test-modem-helpers.Po \
+ ./$(DEPDIR)/test-qcdm-serial-port.Po \
+ ./$(DEPDIR)/test-sms-part-3gpp.Po \
+ ./$(DEPDIR)/test-sms-part-cdma.Po \
+ ./$(DEPDIR)/test-udev-rules.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = test-at-serial-port.c test-charsets.c test-modem-helpers.c \
+ test-modem-helpers-qmi.c test-qcdm-serial-port.c \
+ test-sms-part-3gpp.c test-sms-part-cdma.c test-udev-rules.c
+DIST_SOURCES = test-at-serial-port.c test-charsets.c \
+ test-modem-helpers.c test-modem-helpers-qmi.c \
+ test-qcdm-serial-port.c test-sms-part-3gpp.c \
+ test-sms-part-cdma.c test-udev-rules.c
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
+ $(top_srcdir)/gtester.make
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+GTESTER = gtester
+GTESTER_REPORT = gtester-report
+
+# initialize variables for unconditional += appending
+EXTRA_DIST =
+TEST_PROGS = $(noinst_PROGRAMS)
+
+################################################################################
+# common
+################################################################################
+AM_CFLAGS = $(MM_CFLAGS) $(CODE_COVERAGE_CFLAGS) -I$(top_srcdir) \
+ -I$(top_srcdir)/include -I$(top_builddir)/include \
+ -I$(top_srcdir)/libqcdm/src -I$(top_srcdir)/libmm-glib \
+ -I${top_builddir}/libmm-glib/generated -I${top_srcdir}/src/ \
+ -I${top_builddir}/src/ -I${top_srcdir}/src/kerneldevice \
+ -DTESTUDEVRULESDIR=\"${top_srcdir}/src/\" $(NULL) \
+ $(am__append_1) $(am__append_3)
+LDADD = \
+ $(top_builddir)/src/libhelpers.la \
+ $(top_builddir)/src/libport.la \
+ $(top_builddir)/src/libkerneldevice.la \
+ $(NULL)
+
+AM_LDFLAGS = $(MM_LIBS) $(CODE_COVERAGE_LDFLAGS) -lutil $(NULL) \
+ $(am__append_2) $(am__append_4)
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtester.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/tests/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu src/tests/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+$(top_srcdir)/gtester.make $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+test-at-serial-port$(EXEEXT): $(test_at_serial_port_OBJECTS) $(test_at_serial_port_DEPENDENCIES) $(EXTRA_test_at_serial_port_DEPENDENCIES)
+ @rm -f test-at-serial-port$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_at_serial_port_OBJECTS) $(test_at_serial_port_LDADD) $(LIBS)
+
+test-charsets$(EXEEXT): $(test_charsets_OBJECTS) $(test_charsets_DEPENDENCIES) $(EXTRA_test_charsets_DEPENDENCIES)
+ @rm -f test-charsets$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_charsets_OBJECTS) $(test_charsets_LDADD) $(LIBS)
+
+test-modem-helpers$(EXEEXT): $(test_modem_helpers_OBJECTS) $(test_modem_helpers_DEPENDENCIES) $(EXTRA_test_modem_helpers_DEPENDENCIES)
+ @rm -f test-modem-helpers$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_OBJECTS) $(test_modem_helpers_LDADD) $(LIBS)
+
+test-modem-helpers-qmi$(EXEEXT): $(test_modem_helpers_qmi_OBJECTS) $(test_modem_helpers_qmi_DEPENDENCIES) $(EXTRA_test_modem_helpers_qmi_DEPENDENCIES)
+ @rm -f test-modem-helpers-qmi$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_modem_helpers_qmi_OBJECTS) $(test_modem_helpers_qmi_LDADD) $(LIBS)
+
+test-qcdm-serial-port$(EXEEXT): $(test_qcdm_serial_port_OBJECTS) $(test_qcdm_serial_port_DEPENDENCIES) $(EXTRA_test_qcdm_serial_port_DEPENDENCIES)
+ @rm -f test-qcdm-serial-port$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_qcdm_serial_port_OBJECTS) $(test_qcdm_serial_port_LDADD) $(LIBS)
+
+test-sms-part-3gpp$(EXEEXT): $(test_sms_part_3gpp_OBJECTS) $(test_sms_part_3gpp_DEPENDENCIES) $(EXTRA_test_sms_part_3gpp_DEPENDENCIES)
+ @rm -f test-sms-part-3gpp$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_sms_part_3gpp_OBJECTS) $(test_sms_part_3gpp_LDADD) $(LIBS)
+
+test-sms-part-cdma$(EXEEXT): $(test_sms_part_cdma_OBJECTS) $(test_sms_part_cdma_DEPENDENCIES) $(EXTRA_test_sms_part_cdma_DEPENDENCIES)
+ @rm -f test-sms-part-cdma$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_sms_part_cdma_OBJECTS) $(test_sms_part_cdma_LDADD) $(LIBS)
+
+test-udev-rules$(EXEEXT): $(test_udev_rules_OBJECTS) $(test_udev_rules_DEPENDENCIES) $(EXTRA_test_udev_rules_DEPENDENCIES)
+ @rm -f test-udev-rules$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(test_udev_rules_OBJECTS) $(test_udev_rules_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-at-serial-port.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-charsets.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-modem-helpers-qmi.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-modem-helpers.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-qcdm-serial-port.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sms-part-3gpp.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-sms-part-cdma.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-udev-rules.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-local
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/test-at-serial-port.Po
+ -rm -f ./$(DEPDIR)/test-charsets.Po
+ -rm -f ./$(DEPDIR)/test-modem-helpers-qmi.Po
+ -rm -f ./$(DEPDIR)/test-modem-helpers.Po
+ -rm -f ./$(DEPDIR)/test-qcdm-serial-port.Po
+ -rm -f ./$(DEPDIR)/test-sms-part-3gpp.Po
+ -rm -f ./$(DEPDIR)/test-sms-part-cdma.Po
+ -rm -f ./$(DEPDIR)/test-udev-rules.Po
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/test-at-serial-port.Po
+ -rm -f ./$(DEPDIR)/test-charsets.Po
+ -rm -f ./$(DEPDIR)/test-modem-helpers-qmi.Po
+ -rm -f ./$(DEPDIR)/test-modem-helpers.Po
+ -rm -f ./$(DEPDIR)/test-qcdm-serial-port.Po
+ -rm -f ./$(DEPDIR)/test-sms-part-3gpp.Po
+ -rm -f ./$(DEPDIR)/test-sms-part-cdma.Po
+ -rm -f ./$(DEPDIR)/test-udev-rules.Po
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am \
+ check-local clean clean-generic clean-libtool \
+ clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+### testing rules
+
+# test: run all tests in cwd and subdirs
+test: test-nonrecursive
+ @ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done
+
+# test-nonrecursive: run tests only in cwd
+test-nonrecursive: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS}
+
+# test-report: run tests in subdirs and generate report
+# perf-report: run tests in subdirs with -m perf and generate report
+# full-report: like test-report: with -m perf and -m slow
+test-report perf-report full-report: ${TEST_PROGS}
+ @test -z "${TEST_PROGS}" || { \
+ case $@ in \
+ test-report) test_options="-k";; \
+ perf-report) test_options="-k -m=perf";; \
+ full-report) test_options="-k -m=perf -m=slow";; \
+ esac ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
+ elif test -n "${TEST_PROGS}" ; then \
+ ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
+ fi ; \
+ }
+ @ ignore_logdir=true ; \
+ if test -z "$$GTESTER_LOGDIR" ; then \
+ GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
+ ignore_logdir=false ; \
+ fi ; \
+ if test -d "$(top_srcdir)/.git" ; then \
+ REVISION=`git describe` ; \
+ else \
+ REVISION=$(VERSION) ; \
+ fi ; \
+ for subdir in $(SUBDIRS) . ; do \
+ test "$$subdir" = "." -o "$$subdir" = "po" || \
+ ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
+ done ; \
+ $$ignore_logdir || { \
+ echo '<?xml version="1.0"?>' > $@.xml ; \
+ echo '<report-collection>' >> $@.xml ; \
+ echo '<info>' >> $@.xml ; \
+ echo ' <package>$(PACKAGE)</package>' >> $@.xml ; \
+ echo ' <version>$(VERSION)</version>' >> $@.xml ; \
+ echo " <revision>$$REVISION</revision>" >> $@.xml ; \
+ echo '</info>' >> $@.xml ; \
+ for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
+ sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
+ done ; \
+ echo >> $@.xml ; \
+ echo '</report-collection>' >> $@.xml ; \
+ rm -rf "$$GTESTER_LOGDIR"/ ; \
+ ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
+ }
+.PHONY: test test-report perf-report full-report test-nonrecursive
+
+# run tests in cwd as part of make check
+check-local: test-nonrecursive
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/test/Makefile.in b/test/Makefile.in
new file mode 100644
index 00000000..b06c88cd
--- /dev/null
+++ b/test/Makefile.in
@@ -0,0 +1,795 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = $(am__EXEEXT_1) mmtty$(EXEEXT) mmrules$(EXEEXT)
+
+################################################################################
+# lsudev
+################################################################################
+@WITH_UDEV_TRUE@am__append_1 = lsudev
+subdir = test
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+@WITH_UDEV_TRUE@am__EXEEXT_1 = lsudev$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+am__lsudev_SOURCES_DIST = lsudev.c
+@WITH_UDEV_TRUE@am_lsudev_OBJECTS = lsudev-lsudev.$(OBJEXT)
+lsudev_OBJECTS = $(am_lsudev_OBJECTS)
+am__DEPENDENCIES_1 =
+@WITH_UDEV_TRUE@lsudev_DEPENDENCIES = $(am__DEPENDENCIES_1)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+am_mmrules_OBJECTS = mmrules-mmrules.$(OBJEXT)
+mmrules_OBJECTS = $(am_mmrules_OBJECTS)
+mmrules_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(top_builddir)/src/libkerneldevice.la
+am_mmtty_OBJECTS = mmtty-mmtty.$(OBJEXT)
+mmtty_OBJECTS = $(am_mmtty_OBJECTS)
+mmtty_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(top_builddir)/src/libport.la
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/lsudev-lsudev.Po \
+ ./$(DEPDIR)/mmrules-mmrules.Po ./$(DEPDIR)/mmtty-mmtty.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(lsudev_SOURCES) $(mmrules_SOURCES) $(mmtty_SOURCES)
+DIST_SOURCES = $(am__lsudev_SOURCES_DIST) $(mmrules_SOURCES) \
+ $(mmtty_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+################################################################################
+# mmcli-test-sms
+################################################################################
+EXTRA_DIST = mmcli-test-sms
+@WITH_UDEV_TRUE@lsudev_SOURCES = lsudev.c
+@WITH_UDEV_TRUE@lsudev_CPPFLAGS = $(GUDEV_CFLAGS)
+@WITH_UDEV_TRUE@lsudev_LDADD = $(GUDEV_LIBS)
+mmtty_SOURCES = mmtty.c
+mmtty_CPPFLAGS = \
+ $(MM_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/src \
+ -I$(top_srcdir)/src/kerneldevice \
+ -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
+ -I$(top_srcdir)/libmm-glib \
+ -I$(top_srcdir)/libmm-glib/generated \
+ -I$(top_builddir)/libmm-glib/generated
+
+mmtty_LDADD = \
+ $(MM_LIBS) \
+ $(top_builddir)/src/libport.la \
+ $(NULL)
+
+mmrules_SOURCES = mmrules.c
+mmrules_CPPFLAGS = \
+ $(MM_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/src \
+ -I$(top_srcdir)/src/kerneldevice \
+ -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
+ -I$(top_srcdir)/libmm-glib \
+ -I$(top_srcdir)/libmm-glib/generated \
+ -I$(top_builddir)/libmm-glib/generated
+
+mmrules_LDADD = \
+ $(MM_LIBS) \
+ $(top_builddir)/src/libkerneldevice.la \
+ $(NULL)
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu test/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+lsudev$(EXEEXT): $(lsudev_OBJECTS) $(lsudev_DEPENDENCIES) $(EXTRA_lsudev_DEPENDENCIES)
+ @rm -f lsudev$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(lsudev_OBJECTS) $(lsudev_LDADD) $(LIBS)
+
+mmrules$(EXEEXT): $(mmrules_OBJECTS) $(mmrules_DEPENDENCIES) $(EXTRA_mmrules_DEPENDENCIES)
+ @rm -f mmrules$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(mmrules_OBJECTS) $(mmrules_LDADD) $(LIBS)
+
+mmtty$(EXEEXT): $(mmtty_OBJECTS) $(mmtty_DEPENDENCIES) $(EXTRA_mmtty_DEPENDENCIES)
+ @rm -f mmtty$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(mmtty_OBJECTS) $(mmtty_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lsudev-lsudev.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmrules-mmrules.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmtty-mmtty.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+lsudev-lsudev.o: lsudev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsudev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsudev-lsudev.o -MD -MP -MF $(DEPDIR)/lsudev-lsudev.Tpo -c -o lsudev-lsudev.o `test -f 'lsudev.c' || echo '$(srcdir)/'`lsudev.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsudev-lsudev.Tpo $(DEPDIR)/lsudev-lsudev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lsudev.c' object='lsudev-lsudev.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsudev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsudev-lsudev.o `test -f 'lsudev.c' || echo '$(srcdir)/'`lsudev.c
+
+lsudev-lsudev.obj: lsudev.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsudev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lsudev-lsudev.obj -MD -MP -MF $(DEPDIR)/lsudev-lsudev.Tpo -c -o lsudev-lsudev.obj `if test -f 'lsudev.c'; then $(CYGPATH_W) 'lsudev.c'; else $(CYGPATH_W) '$(srcdir)/lsudev.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lsudev-lsudev.Tpo $(DEPDIR)/lsudev-lsudev.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lsudev.c' object='lsudev-lsudev.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lsudev_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lsudev-lsudev.obj `if test -f 'lsudev.c'; then $(CYGPATH_W) 'lsudev.c'; else $(CYGPATH_W) '$(srcdir)/lsudev.c'; fi`
+
+mmrules-mmrules.o: mmrules.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmrules_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmrules-mmrules.o -MD -MP -MF $(DEPDIR)/mmrules-mmrules.Tpo -c -o mmrules-mmrules.o `test -f 'mmrules.c' || echo '$(srcdir)/'`mmrules.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmrules-mmrules.Tpo $(DEPDIR)/mmrules-mmrules.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmrules.c' object='mmrules-mmrules.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmrules_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmrules-mmrules.o `test -f 'mmrules.c' || echo '$(srcdir)/'`mmrules.c
+
+mmrules-mmrules.obj: mmrules.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmrules_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmrules-mmrules.obj -MD -MP -MF $(DEPDIR)/mmrules-mmrules.Tpo -c -o mmrules-mmrules.obj `if test -f 'mmrules.c'; then $(CYGPATH_W) 'mmrules.c'; else $(CYGPATH_W) '$(srcdir)/mmrules.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmrules-mmrules.Tpo $(DEPDIR)/mmrules-mmrules.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmrules.c' object='mmrules-mmrules.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmrules_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmrules-mmrules.obj `if test -f 'mmrules.c'; then $(CYGPATH_W) 'mmrules.c'; else $(CYGPATH_W) '$(srcdir)/mmrules.c'; fi`
+
+mmtty-mmtty.o: mmtty.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmtty_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmtty-mmtty.o -MD -MP -MF $(DEPDIR)/mmtty-mmtty.Tpo -c -o mmtty-mmtty.o `test -f 'mmtty.c' || echo '$(srcdir)/'`mmtty.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmtty-mmtty.Tpo $(DEPDIR)/mmtty-mmtty.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmtty.c' object='mmtty-mmtty.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmtty_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmtty-mmtty.o `test -f 'mmtty.c' || echo '$(srcdir)/'`mmtty.c
+
+mmtty-mmtty.obj: mmtty.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmtty_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT mmtty-mmtty.obj -MD -MP -MF $(DEPDIR)/mmtty-mmtty.Tpo -c -o mmtty-mmtty.obj `if test -f 'mmtty.c'; then $(CYGPATH_W) 'mmtty.c'; else $(CYGPATH_W) '$(srcdir)/mmtty.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/mmtty-mmtty.Tpo $(DEPDIR)/mmtty-mmtty.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mmtty.c' object='mmtty-mmtty.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mmtty_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmtty-mmtty.obj `if test -f 'mmtty.c'; then $(CYGPATH_W) 'mmtty.c'; else $(CYGPATH_W) '$(srcdir)/mmtty.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/lsudev-lsudev.Po
+ -rm -f ./$(DEPDIR)/mmrules-mmrules.Po
+ -rm -f ./$(DEPDIR)/mmtty-mmtty.Po
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/lsudev-lsudev.Po
+ -rm -f ./$(DEPDIR)/mmrules-mmrules.Po
+ -rm -f ./$(DEPDIR)/mmtty-mmtty.Po
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+ $(NULL)
+ $(NULL)
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/uml290/Makefile.in b/uml290/Makefile.in
new file mode 100644
index 00000000..33fa8c05
--- /dev/null
+++ b/uml290/Makefile.in
@@ -0,0 +1,698 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = uml290mode$(EXEEXT)
+subdir = uml290
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_uml290mode_OBJECTS = uml290mode-uml290mode.$(OBJEXT)
+uml290mode_OBJECTS = $(am_uml290mode_OBJECTS)
+uml290mode_DEPENDENCIES = $(top_builddir)/libqcdm/src/libqcdm.la \
+ $(top_builddir)/libwmc/src/libwmc.la
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__maybe_remake_depfiles = depfiles
+am__depfiles_remade = ./$(DEPDIR)/uml290mode-uml290mode.Po
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(uml290mode_SOURCES)
+DIST_SOURCES = $(uml290mode_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+uml290mode_CPPFLAGS = -I$(top_srcdir)
+uml290mode_LDADD = \
+ $(top_builddir)/libqcdm/src/libqcdm.la \
+ $(top_builddir)/libwmc/src/libwmc.la
+
+uml290mode_SOURCES = uml290mode.c
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu uml290/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu uml290/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+uml290mode$(EXEEXT): $(uml290mode_OBJECTS) $(uml290mode_DEPENDENCIES) $(EXTRA_uml290mode_DEPENDENCIES)
+ @rm -f uml290mode$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(uml290mode_OBJECTS) $(uml290mode_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uml290mode-uml290mode.Po@am__quote@ # am--include-marker
+
+$(am__depfiles_remade):
+ @$(MKDIR_P) $(@D)
+ @echo '# dummy' >$@-t && $(am__mv) $@-t $@
+
+am--depfiles: $(am__depfiles_remade)
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+uml290mode-uml290mode.o: uml290mode.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uml290mode_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uml290mode-uml290mode.o -MD -MP -MF $(DEPDIR)/uml290mode-uml290mode.Tpo -c -o uml290mode-uml290mode.o `test -f 'uml290mode.c' || echo '$(srcdir)/'`uml290mode.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/uml290mode-uml290mode.Tpo $(DEPDIR)/uml290mode-uml290mode.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='uml290mode.c' object='uml290mode-uml290mode.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uml290mode_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uml290mode-uml290mode.o `test -f 'uml290mode.c' || echo '$(srcdir)/'`uml290mode.c
+
+uml290mode-uml290mode.obj: uml290mode.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uml290mode_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT uml290mode-uml290mode.obj -MD -MP -MF $(DEPDIR)/uml290mode-uml290mode.Tpo -c -o uml290mode-uml290mode.obj `if test -f 'uml290mode.c'; then $(CYGPATH_W) 'uml290mode.c'; else $(CYGPATH_W) '$(srcdir)/uml290mode.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/uml290mode-uml290mode.Tpo $(DEPDIR)/uml290mode-uml290mode.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='uml290mode.c' object='uml290mode-uml290mode.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(uml290mode_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o uml290mode-uml290mode.obj `if test -f 'uml290mode.c'; then $(CYGPATH_W) 'uml290mode.c'; else $(CYGPATH_W) '$(srcdir)/uml290mode.c'; fi`
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f ./$(DEPDIR)/uml290mode-uml290mode.Po
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f ./$(DEPDIR)/uml290mode-uml290mode.Po
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
+ clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
+.PRECIOUS: Makefile
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/vapi/Makefile.in b/vapi/Makefile.in
new file mode 100644
index 00000000..e2e17a2e
--- /dev/null
+++ b/vapi/Makefile.in
@@ -0,0 +1,592 @@
+# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = vapi
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ax_code_coverage.m4 \
+ $(top_srcdir)/m4/compiler_warnings.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gtk-doc.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+ $(top_srcdir)/m4/introspection.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
+ $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
+ $(top_srcdir)/m4/vapigen.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(vapidir)"
+DATA = $(vapi_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CODE_COVERAGE_CFLAGS = @CODE_COVERAGE_CFLAGS@
+CODE_COVERAGE_ENABLED = @CODE_COVERAGE_ENABLED@
+CODE_COVERAGE_LDFLAGS = @CODE_COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DBUS_SYS_DIR = @DBUS_SYS_DIR@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GCOV = @GCOV@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GENHTML = @GENHTML@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+LCOV = @LCOV@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMM_GLIB_CFLAGS = @LIBMM_GLIB_CFLAGS@
+LIBMM_GLIB_LIBS = @LIBMM_GLIB_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
+LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
+LIBSYSTEMD_LOGIN_CFLAGS = @LIBSYSTEMD_LOGIN_CFLAGS@
+LIBSYSTEMD_LOGIN_LIBS = @LIBSYSTEMD_LOGIN_LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MBIM_CFLAGS = @MBIM_CFLAGS@
+MBIM_LIBS = @MBIM_LIBS@
+MKDIR_P = @MKDIR_P@
+MMCLI_CFLAGS = @MMCLI_CFLAGS@
+MMCLI_LIBS = @MMCLI_LIBS@
+MM_CFLAGS = @MM_CFLAGS@
+MM_DEFAULT_USER_POLICY = @MM_DEFAULT_USER_POLICY@
+MM_GLIB_LT_AGE = @MM_GLIB_LT_AGE@
+MM_GLIB_LT_CURRENT = @MM_GLIB_LT_CURRENT@
+MM_GLIB_LT_REVISION = @MM_GLIB_LT_REVISION@
+MM_LIBS = @MM_LIBS@
+MM_MAJOR_VERSION = @MM_MAJOR_VERSION@
+MM_MICRO_VERSION = @MM_MICRO_VERSION@
+MM_MINOR_VERSION = @MM_MINOR_VERSION@
+MM_VERSION = @MM_VERSION@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POSUB = @POSUB@
+QMI_CFLAGS = @QMI_CFLAGS@
+QMI_LIBS = @QMI_LIBS@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+SYSTEMD_UNIT_DIR = @SYSTEMD_UNIT_DIR@
+UDEV_BASE_DIR = @UDEV_BASE_DIR@
+USE_NLS = @USE_NLS@
+VAPIGEN = @VAPIGEN@
+VAPIGEN_MAKEFILE = @VAPIGEN_MAKEFILE@
+VAPIGEN_VAPIDIR = @VAPIGEN_VAPIDIR@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+VAPIGEN_VAPIS = libmm-glib.vapi
+@ENABLE_VAPIGEN_TRUE@libmm_glib_vapi_METADATADIRS = $(srcdir)
+@ENABLE_VAPIGEN_TRUE@libmm_glib_vapi_FILES = $(top_builddir)/libmm-glib/ModemManager-1.0.gir
+@ENABLE_VAPIGEN_TRUE@libmm_glib_vapi_VAPIDIRS = $(builddir)
+@ENABLE_VAPIGEN_TRUE@libmm_glib_vapi_DEPS = gio-2.0
+@ENABLE_VAPIGEN_TRUE@vapidir = $(datadir)/vala/vapi
+@ENABLE_VAPIGEN_TRUE@vapi_DATA = $(VAPIGEN_VAPIS) $(VAPIGEN_VAPIS:.vapi=.deps)
+CLEANFILES = $(VAPIGEN_VAPIS)
+EXTRA_DIST = \
+ ModemManager-1.0.metadata \
+ libmm-glib.deps
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu vapi/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu vapi/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-vapiDATA: $(vapi_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(vapi_DATA)'; test -n "$(vapidir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(vapidir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(vapidir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(vapidir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(vapidir)" || exit $$?; \
+ done
+
+uninstall-vapiDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(vapi_DATA)'; test -n "$(vapidir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(vapidir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(vapidir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-vapiDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-vapiDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip install-vapiDATA installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am tags-am uninstall uninstall-am uninstall-vapiDATA
+
+.PRECIOUS: Makefile
+
+
+@ENABLE_VAPIGEN_TRUE@include $(VAPIGEN_MAKEFILE)
+
+@ENABLE_VAPIGEN_TRUE@libmm-glib.vapi: $(top_builddir)/libmm-glib/ModemManager-1.0.gir libmm-glib.deps ModemManager-1.0.metadata
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/vl600/atcom.py b/vl600/atcom.py
deleted file mode 100755
index 74aa151e..00000000
--- a/vl600/atcom.py
+++ /dev/null
@@ -1,171 +0,0 @@
-#! /bin/env python
-# -*- Mode: python; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details:
-#
-# Copyright (C) 2012 Red Hat, Inc.
-#
-
-import os
-import sys
-import select
-import struct
-import string
-from termios import *
-
-debug = False
-
-def lg_pack(data, seqno):
- l = len(data)
-
- fmt = "<"
- fmt += "I" # magic
- fmt += "I" # sequence number
- fmt += "I" # data length
- fmt += "H" # MUX channel
- fmt += "%ds" % l # AT data
-
- # Packets always padded to 4-byte boundaries
- sz = struct.calcsize(fmt)
- padding = 0
- if sz % 4 > 0:
- padding = 4 - (sz % 4)
- fmt += "%ds" % padding
-
- return struct.pack(fmt, 0xa512485a, seqno, l, 0xf011, data, "\0" * padding)
-
-def lg_unpack(data):
- fmt = "<"
- fmt += "I" # magic
- fmt += "I" # sequence number
- fmt += "I" # data length
- fmt += "H" # MUX channel
- fmt += "%ds" % (len(data) - 14) # AT data
-
- (magic, seq, l, chan, resp) = struct.unpack(fmt, data)
- resp = resp[:l]
-
- if magic != 0xa512485a:
- raise Exception("Bad magic: 0x%08x" % magic)
- if chan != 0xf011:
- print "Unhandled channel 0x%04x" % chan
-
- # It appears that we're supposed to ignore any data after \r\n, or if
- # we don't get a \r\n we ignore all of it. The modem adds random
- # data to the end of the response, for example:
- #
- # > 5a 48 12 a5 08 00 00 00 0a 00 00 00 11 f0 41 54 2b 43 45 52 45 47 3f 0a
- # < 5a 48 12 a5 4e 00 00 00 15 00 00 00 11 f0 2b 43 45 52 45 47 3a 20 30 2c 31 0d 0a 00 00 4f 4b 0d 0a 00 47 74
- #
- # where there's a trailing "00 47" (the 0x74 is not included in the packet
- # due to the data length field). The trailing bytes appear totally random
- # in value and length.
-
- # status is last two bytes for most commands if there are trailing bytes
- status = []
- if (resp >= 2):
- statbytes = resp[len(resp) - 2:]
- status = [ ord(statbytes[0]), ord(statbytes[1]) ]
-
- crlf = resp.rfind("\r\n")
- if crlf == -1:
- # if last char is a newline then it's probably an echo, otherwise status
- if resp[len(resp) - 1:] == '\n':
- status = []
- resp = ""
- else:
- if crlf == len(resp) - 2:
- status = []
- resp = resp[:crlf + 2]
-
- return (resp, status)
-
-def dump_raw(data, to_modem):
- if debug:
- line = ""
- if to_modem:
- line += "> "
- else:
- line += "< "
- for c in data:
- line += "%02x " % ord(c)
- print line
-
-def make_printable(data):
- p = ""
- for c in data:
- if c in string.printable and ord(c) >= 32 or c == '\n' or c == '\r':
- p += c
- else:
- p += "<%02x>" % ord(c)
- return p
-
-
-#########################################
-
-if len(sys.argv) != 2 and len(sys.argv) != 3:
- print "Usage: %s <port> [--debug]" % sys.argv[0]
- sys.exit(1)
-
-if len(sys.argv) > 2 and sys.argv[2] == "--debug":
- debug = True
-
-fd = os.open(sys.argv[1], os.O_RDWR)
-
-# read existing port attributes and mask the ones we don't want
-attrs = tcgetattr(fd)
-attrs[0] = attrs[0] & ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON) # iflag
-attrs[1] = attrs[1] & ~OPOST # oflag
-attrs[2] = attrs[2] & ~(CSIZE | PARENB) # cflag
-attrs[3] = attrs[3] & ~(ECHO | ICANON | IEXTEN | ISIG) # lflag
-
-# Set up the attributes we do want
-attrs[2] = attrs[2] | CS8 # cflag
-attrs[4] = B115200 # ispeed
-attrs[5] = B115200 # ospeed
-attrs[6][VMIN] = 1 # cc
-attrs[6][VTIME] = 0 # cc
-tcsetattr(fd, TCSAFLUSH, attrs)
-
-infd = sys.stdin.fileno()
-seqno = 0
-while 1:
- try:
- rfd, wfd, xfd = select.select([ fd, infd ], [], [])
- except KeyboardInterrupt:
- print ""
- break
-
- if fd in rfd:
- data = os.read(fd, 4096)
- dump_raw(data, False)
- (line, status) = lg_unpack(data)
- if line:
- print make_printable(line)
- if (len(status) == 2):
- if status[0] == 0x30 and status[1] == 0x0d:
- print "OK\n"
- elif status[0] == 0x34 and status[1] == 0x0d:
- print "ERROR\n"
- elif status[0] == 0x33 and status[1] == 0x0d:
- print "ERROR\n"
- else:
- print "STAT: 0x%02x 0x%02x" % (status[0], status[1])
-
- if infd in rfd:
- line = os.read(infd, 512)
- if line:
- data = lg_pack(line, seqno)
- seqno += 1
- dump_raw(data, True)
- os.write(fd, data)
-
-os.close(fd)
diff --git a/vl600/vl600.txt b/vl600/vl600.txt
deleted file mode 100644
index 8fdc6045..00000000
--- a/vl600/vl600.txt
+++ /dev/null
@@ -1,396 +0,0 @@
-Device uses an LG L2000 LTE chip and a Qualcomm MDM6800A for CDMA/EVDO.
-
-The firmware flasher tool speaks DIAG and includes a lot of LTE-related
-NV items.
-
-Device has two USB interfaces:
-
-0 - Proprietary ethernet interface
-1 - CDC-ACM serial port
-
-The ACM port speaks a proprietary protocol that MUX-es traffic from the
-following virtual interfaces (according to Windows):
-
-0: LGE LTE DM Port
-1: LGE USB Modem Port
-2: LGE LTE RF Serial Port (com)
-3: LGE CDMA USB Serial Port (com)
-4: LGE CDMA USB GPS NMEA Port (com)
-5: LGE CDMA LBS Serial Port (com)
-
-MUX Header Format
------------------
-
-u32: magic, always [ 0x5a 0x48 0x12 0xa5 ]
-u32: sequence number (unpaired; host and device use separate sequence numbers)
-u32: length (not including this header, but including any padding)
-u16: MUX channel (21 f0: CMD) (11 f0: AT)
-<data>
-
-
-Packets are 4-byte aligned with padding of zeros, and this padding is included
-in the length given in the header.
-
-AT commands may have trailing bytes outside the data length specified in the
-header, obviously these should be ignored. AT commands may also have trailing
-status bytes after the last 0x0D 0x0A which may take the place of OK and
-ERROR in some AT commands. Status bytes include 0x30 0x0d (success) and
-0x34 0x0d (unknown AT command).
-
-CMD packets are terminated with a standard HDLC CRC-16 and 0x7E.
-
-Known CMD numbers are:
-0xf14a - network attach, ethernet port start (use DHCP and IPv6 RA)
-
-
-
-AT SMS Indications
-------------------
-They appear out of nowhere without AT formatting:
-
-MT MSG: "612804xxxx","13/02/13,19:27:11+00",73
-Heyy it's Tiffany i uploaded some pics on my profile on www.hottsites.com
-
-
-Misc AT command notes:
-----------------------
-+VZWMRUE: <entry>,<rat>,<band>,<channel>
-
-%LCNWINFO: <rat>, <roam>, <1x>, <Ev>, <LTE>, <state>, <cause>, <PDNid>
-%LCNWINFO: <rat>, <roam>, <1x>, <Ev>, <LTE>, <state>, <cause>
-<rat> = 6:LTE
-
-
-Reported AT Commands
---------------------
-
-Firmware version VL600ZV8 reports the following supported AT commands in
-response to an AT+CLAC query:
-
-E0V1
-HE1
-E
-Q
-V
-Z
-&F
-S3
-S4
-S5
-CIMI
-GCAP
-CEER
-CPAS
-CSQ
-CLAC
-CGDCONT
-CGDSCONT
-CGTFT
-CGATT
-CGACT
-CGCMOD
-CGDATA
-CGPADDR
-CGEREP
-CSCB
-CSAS
-CRES
-CSDH
-CEREG
-CGEQOS
-CGCONTRDP
-CGSCONTRDP
-CGTFTRDP
-CGEQOSRDP
-CGMI
-CGMM
-CGMR
-CGSN
-GSN
-PWDT
-PTIMER
-PDMA
-PSDRAM
-PSMACTIVE
-PSMT
-PHIMLP
-PURTTX
-PURTRX
-PURTCB
-PFSEL
-PFID
-PFREAD
-PFRW
-PCSMWID
-PCSMCP
-PSYSC
-PCPGB
-PUETH
-PUMDM1
-PUMDM2
-PI2C
-PHIMULPATH
-PHIMTX
-PHIMTXPATH
-PHIMSTOPTX
-PCC5BOOT
-PURTLOOPBACK
-PMEMWRITE
-PMEMREAD
-PMUXLOOPBACK
-PSQ
-PHIMNC
-PUESTATUS
-PSWRESET
-PRFCONTROL
-PCMDBYPASS
-PTM
-PEMUATCI
-PNVTEST
-PNVRD
-PNVWR
-PSWTTST
-PSWT
-PSMTESTIP
-PTESTDATAPATH
-PTXPOWER
-PSPIWRITE
-PSPIREAD
-PLLARCSEND
-PLLARCNV
-PANTDISABLE
-PLLARCSTART
-PLLARCEND
-TURNMODE
-PPHYSTATUS
-PPHYSNR
-PLLARCSTARTEX
-PCPELTIMER
-PCPESTIMER
-PGCTCAL
-CSG
-AUTH
-LTEINIT
-SETIMSI
-SETPLMNID
-SETNPARAM
-ATCMODE
-SETKEY
-SETOP
-&C
-&D
-&E
-&F
-&S
-&V
-&W
-E
-I
-L
-M
-Q
-V
-X
-Z
-T
-P
-\Q
-\S
-\V
-%V
-D
-A
-H
-O
-S0
-S3
-S4
-S5
-S6
-S7
-S8
-S9
-S10
-S11
-S30
-S103
-S104
-+VZWMRUC
-+VZWMRUE
-+VZWAPNE
-+CRSM
-+CSCS
-+CMEE
-+CCLK
-+CLCK
-+COPS
-+CPOL
-+CGDCONT
-+CPBS
-+CPBW
-+CPBR
-+CNMI
-+CMGF
-+CMGC
-+CSCA
-+CSMP
-+CPMS
-+CMGL
-+CMGR
-+CMGW
-+CMGS
-+CMGD
-+CMSS
-+CNMA
-+CMMS
-+CPWD
-+CNUM
-+CIMI
-+CPIN
-+CACM
-+CGSN
-+CFUN
-+CSIM
-+FCLASS
-+ICF
-+IFC
-+IPR
-+GMI
-+GMM
-+GMR
-+GCAP
-+GSN
-+DR
-+DS
-+CMEE
-$QCCLR
-$QCDMG
-$QCDMR
-$QCDNSP
-$QCDNSS
-$QCTER
-$QCSLOT
-$QCPWRDN
-$BREW
-$QCSYSMODE
-$QCCTM
-%ATCTEST
-%HOYATEST
-%EJTEST
-%CHANGTEST
-%TEMPTEST
-%FRST
-%SWV
-%SIMCHECK
-%GPS
-%CMSTATE
-%LCATT
-%LCRSSI
-%LCNWCHK
-%LCNWINFO
-%LCNWP
-%LCPID
-%LCPHPING
-%LCLTESTATE
-%LCLQOS
-%LCCQOS
-%LCDQOS
-%LCTFT
-%LCQOSAC
-%LCQOSRL
-%LCQOSMD
-%LCEMULP
-%LCVER
-%LCPKTSTATS
-%LCPINBLK
-%LCPINUNBLK
-%LCDMBR
-%LCMOD
-%LCMTU
-%LCIMSON
-%LCPINNUM
-%LCCMDT
-%LCFREQ
-%LCRETCTR
-%LCPTMR
-%LCLTEBOOTM
-%WIMSI
-%LCLTEBOOTTIME
-%GMTMR
-%LCIMSSETCFG
-%LCIMSGETCFG
-%LCRST
-%LCAPN
-%LCRPT
-%RSTSQN
-%SetApp
-%SETPIN
-%TSTRFSH
-%LCTCIV
-%LCINTPDNCTL
-%LCIIP
-%GMTT
-%LCINACT
-%RESETEN
-%LCACONMOD
-%LCGMSSCFG
-%SETLOG
-%LCBIPENABLEFLAG
-%LCROAMING
-%LOCGET
-%LOCON
-%LOCOFF
-
-+UART
-+MDN
-+MIN
-+LGPASS
-+LGUSERID
-+LGPASSX
-+PING
-+PINGF
-+PINGD
-+PPPCAR
-+MIPRMNAI
-+PPPPW
-+SKTENABLE
-+PINGA
-$LGTEST
-$QCDMG
-$LGDMGO
-$LGSO
-$LGFRC
-$LGSCI
-$LGSCM
-$LGMTH
-$LGMTS
-$LGMTN
-$LGOTAPA
-$LGNLOCK
-$LGMCCM
-$LGMNCM
-$LGS2M
-$LGS1M
-$LGMCCT
-$LGMNCT
-$LGS2T
-$LGS1T
-$LGMRUCL
-$LGACCOLC
-$LGBYCHAR
-$LGMEID
-$LGMDN
-$LGMIN
-$LGMODEP
-$LGBANDP
-$LGROAMP
-$LGDTB
-$LGPREV
-$LGAKEY
-$LGPWR
-$LGACTV
-$LGTC
-$LGEPRL
-$LGUIMID
-$OTADM
-